Pada kesempatan yang berbahagia kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah sinyal PWM dengan frequency dan duty cycle yang bisa diatur sesuai keinginan. pada contoh kali ini saya menggunakan Frequency 40 Khz dengan Duty Cycle bisa diatur menggunakan potensiometer. fungsi dari alat ini yaitu untuk push pull MOSFET buck atau boost converter, karena rangkaian boost atau buck membutuhkan frequency PWM dan Duty Cycle yang bisa diatur dan sesuai perhitungan. yang perlu diperhatikan yaitu Crystal yang digunakan adalah 16 Mhz agar didapat frequency yang bagus. untuk lebih jelasnya berikut adalah program dan skemanya.
a. Minimum System
b. Potensiometer
c. Program Bascom AVR
$regfile = "m8535.dat"
$crystal = 16000000
Config Adc = Free , Prescaler = 64 , Reference = Avcc
Config Timer1 = Pwm , Pwm = 8 , Compare B Pwm = Clear Up , Prescale = 1
$crystal = 16000000
Config Adc = Free , Prescaler = 64 , Reference = Avcc
Config Timer1 = Pwm , Pwm = 8 , Compare B Pwm = Clear Up , Prescale = 1
'untuk menghasilkan frequency 40 Khz
Const Inisial = &HFFB0
Dim Dataadc As Word
On Timer1 Timer1_isr
Tcnt1l = Low(inisial)
Tcnt1h = High(inisial)
Enable Timer1
Enable Interrupts
Do
Loop
Timer1_isr:
Tcnt1l = Low(inisial)
Tcnt1h = High(inisial)
Dataadc = Getadc(4)
'output di PORTD.4 = OC1B
Pwm1b = Dataadc
Return
Dim Dataadc As Word
On Timer1 Timer1_isr
Tcnt1l = Low(inisial)
Tcnt1h = High(inisial)
Enable Timer1
Enable Interrupts
Do
Loop
Timer1_isr:
Tcnt1l = Low(inisial)
Tcnt1h = High(inisial)
Dataadc = Getadc(4)
'output di PORTD.4 = OC1B
Pwm1b = Dataadc
Return
d. Cara Mengatur Frequency
1. Pertama buka aplikasi KAVRCalc lalu set seperti gambar dibawah ini
2. Untuk menghasilkan Frequency diatas atau dibawah 40 Khz bisa dengan merubah nilai VALUE
3. Setelah dirubah maka pada TCNT Base akan tertera suatu nilai
4. Copy nilai tersebut dan masukkan kedalam program jangan lupa harus diawali &H untuk heksa
5. Atur frequency sesuai keinginan
6. Untuk mengatur duty cycle bisa dengan memberikan nilai langsung seperti berikut
PWM1B = 100
7. Jika ingin menggunakan POTENSIOMETER maka gunakan program berikut
PWM1B = dataadc
e. Gambar Hasilnya
f. VIDEO HASILNYA
Kunjungi juga artikel sayaBelajar kontrol kecepatan motor DC dengan PWM
ReplyDelete