ok langsung aja ane kasik tutorialnya :
PERCOBAAN :
percobaan ke 1
Generator Gelombang dengan Adjustable Duty cycle
Generator Gelombang dengan Adjustable Duty cycle
Pada percobaan kali ini akan
dibuat program untuk mengeluarka n gelombang kotak pada pada pin 9 (OC1A) .
Gelombang yang akan dikeluarkan pada pin 9 adalah gelombang berbentuk k otak
dengan duty cycle dapat diatur lebarny a. Lebar duty cycle akan
diatur oleh poten siometer yang terhubung pada pin A0. Pada percobaan kali ini
akan digunakan fungsi analogWrite yang berfungsi untuk m engeluarkan sinyal
gelombang pada pin Pu lse Width Modulation (PWM).
jadi, pada percobaan x ini kita belum mengunakan timer untuk membangkitkan signal. tapi kita hanya memanfaatkan PWM.
jadi, pada percobaan x ini kita belum mengunakan timer untuk membangkitkan signal. tapi kita hanya memanfaatkan PWM.
how to make :
1_ buatlah rangkaian di bawah ini
2_ buatlah program di bawah ini, lalu compile dan masukan .hex ke dalam proteus
int val = 0;
void setup()
{
Serial.begin(9600);
pinMode(9, OUTPUT);
}
void loop() {
val =
analogRead(A0);
analogWrite(9, val/4);
Serial.print("PWM
Value = ");
Serial.println(val,DEC);
delay(500);
}
kesimpulan : rangkaian di atas dan program di atas berfungsi untuk mengeluarkan duty cycle... duty cycle adalah selisih dari t2 dan t1 atau selisi waktu gelombang saat keadaan high dan keadaan low jadi rumusnya adalah T= th +tl , D= th/T * 100%. dan nilai duty cycle pada program di atas dapat di atur dengan mengunakan potensio meter.
berikut merupakan video tutorialnya :
percobaan ke 2
Generator Gelombang dengan
Adjustable Frekuensi
Pada percobaan ka li ini
gelombang yang akan dikeluarkan pada pin 9 adalah gelombang berbentuk k otak
dengan duty cycle yang besarnya tetap yaitu 50%, namun besarnya
frekuensi dapat berubah-ubah. Perubahan frekuensi akan diatur oleh
potensiometer yang te rhubung pada pin A0. Program pada perco baan kali ini
akan menggunakan konfigu rasi register untuk mengeluarkan sinyal ge
lombang pada pin PWM.
how to make :
1_ rangkailah rangkaian di bawah ini
2_buatlah program dibawah ini
int setCycles;
void set(int cycles) { char oldSREG;
int dutyCycle = cycles * 0.5; if (dutyCycle
< 6) {
dutyCycle = 6;
}
if (dutyCycle > 1015) { dutyCycle
= 1015;
}
if (cycles < 50) { cycles = 50;
}
oldSREG = SREG;
cli();
ICR1 = cycles; OCR1A = dutyCycle; SREG = oldSREG;
}
void setup() { TCCR1A = 0;
TCCR1B = _BV(WGM13);
TCCR1B &=
~(_BV(CS10) | _BV(CS11) | _BV(CS12)); TCCR1B |= _BV(CS10);
DDRB |=
_BV(PORTB1); TCCR1A |= _BV(COM1A1);
}
void loop() {
int temp_cycles =
analogRead(A0); if (temp_cycles != setCycles )
{
setCycles =
temp_cycles; set(setCycles);
}
}
3_ jalankan simulasinya dan amati bentu gelombangya
==> kesimpulan dari percobaan 2 adalah : program pada percobaan 2 digunakan untuk mengatur keluaran frekuensinya dan duty cyclenya tetap sebesar 50% tidak bisa di ubah lagi.
berikut merupakan video tutorialnya:
percobaan ke 3:
PWM dengan Adjustable
Frekuensi dan Duty cycle (7 KHz sampai 300 KHz)
Pada percobaan ka li ini
gelombang yang akan dikeluarkan pada pin 9 adalah gelombang berbentuk k otak
dengan duty cycle dan frekuensi yang d apat berubah-ubah. Perubahan
frekuensi akan diatur oleh potensiometer yang terhub ung pada pin A0. Perubahan
duty cycle akan diatur oleh potensiometer yang terhu bung pada pin A1.
Program pada percobaan kali ini akan menggunakan konfigur asi register
untuk mengeluarkan sinyal ge lombang pada pin PWM.
how to make :
1_buatlah rangkaian di bawah ini :
2_buatlah program di bawa ini:
int setCycles; int setDuty;
void set(int cycles, float duty) { char oldSREG;
int dutyCycle = cycles * duty; if (dutyCycle
< 6) {
dutyCycle = 6;
}
if (dutyCycle > 1015) { dutyCycle
= 1015;
}
if (cycles < 50) { cycles = 50;
}
oldSREG = SREG;
cli();
ICR1 = cycles;
OCR1A = dutyCycle; SREG = oldSREG;
}
void setup() { TCCR1A = 0;
TCCR1B = _BV(WGM13);
TCCR1B &=
~(_BV(CS10) | _BV(CS11) | _BV(CS12)); TCCR1B |= _BV(CS10);
DDRB |=
_BV(PORTB1); TCCR1A |= _BV(COM1A1);
}
void loop() {
int temp_cycles =
analogRead(A0); int temp_duty = analogRead(A1);
if (temp_cycles != setCycles || temp_duty != setDuty) { setCycles = temp_cycles;
setDuty =
temp_duty; set(setCycles, setDuty / 1024.0);
}
}
3_ jalankan simulasi dan amati apa yang terjadi.
==> kesimpulan dari percobaan ke 3 adalah : percobaan ini berfungsi untuk mengatur besar duty cycle dan besar frekuensi gelombang keluaranya....pada potensio di pin A0 digunakan untuk mengatur frekuensinya, sedangkan pada pin A1 digunakan untuk mengatur duty cycle yang di inginkan.
berikut merupakan video tutorialnya:
demikianlah pos kali new
semoga kalian terhibur, mav kalau masih banyak kekurangan...
semoga kalian terhibur, mav kalau masih banyak kekurangan...
Tidak ada komentar:
Posting Komentar