Setelah mempelajari tentang pulse width modulation (pwm) dan aplikasinya dengan mengendalikan kecepataan motor dc, kali ini kita akan coba menggunakan metode pulse width modulation (pwm) untuk membuat lampu dimmer. Lampu dimmer adalah lampu yang dapat kita atur tingkat intensitas cahaya yang dipancarkan, dengan lampu dimmer kita dapat mengatur intensitas cahaya, mulai dari redup, normal dan sangat terang.
Pada tulisan ini, kita akan coba menerapkan output pwm untuk mengatur intensitas cahaya led, sebagai input kita gunakan potensiometer yang akan menjadi input ke channel ADC (Analog to digital converter). Jadi pada dasarnya rangkaian ini memanfaatkan ADC (Analog to digital converter) sebagai input dan PWM (pulse width modulation) sebagai output yang akan terhubung ke led sebagai lampu dimmer.
Berikut langkah - langkah percobaannya:
1. Buatlah rangkaian seperti pada gambar berikut:
Rangkaian mikrokontroler |
Pada rangkaian sebagai input ADC channel 0 (porta.0) adalah rangkaian pembagi tegangan dengan penggunakan potensiometer (antara 0 volt sampai 5 volt). dan sebagai output, led kita hubungkan ke portd.5 sebagai output pulse width modulation.
Jadi terang dan redupnya led tergantung dari potensiometer, semakin mendekati 5 volt dc tegangan yang masuk ke channel 0 ADC (porta.0) maka semakin terang nyala led danbegtu juga sebaliknya, semakin mendekati 0 volt dc tegangan yang masuk ke channel 0 ADC (porta.0) maka nyala led akan semakin redup.
2. Buatlah listing program menggunakan compiler bascom AVR seperti dibawah ini:
$regfile = "8535def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Input
Config Portd = Output
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Dimmer As Word
Start Adc
Do
Locate 1 , 1
Lcd "Intensitas cahaya"
Locate 2 , 1
Lcd Dimmer
Dimmer = Getadc(0)
Pwm1a = Dimmer
Waitms 50
Loop
End
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Input
Config Portd = Output
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Dimmer As Word
Start Adc
Do
Locate 1 , 1
Lcd "Intensitas cahaya"
Locate 2 , 1
Lcd Dimmer
Dimmer = Getadc(0)
Pwm1a = Dimmer
Waitms 50
Loop
End
Pada program, awalnya kita konfigurasi ADC dan PWM lalu kita samakan nilai ADC = nilai pwm, maka output pwm tergantung dari input ADC yang ada.
3. Compile dan downloadkan program ke mikrokontroler
4. Jalankan program, hasil simulasinya seperti gambar dibawah ini:
4. Jalankan program, hasil simulasinya seperti gambar dibawah ini:
Simulasi led dimmer |