Posts Tagged ‘program pwm atmega’

Aplikasi PWM Mikrokontroler ATmega8535

PWM (Pulse Width Modulation) Atmega8535

PWM (Pulse Width Modulation) atau modulasi lebar pulsa adalah salah satu keunggulan Timer/Counter yangterdapat pada Atmega8535. Ketiga jenis Timer/Counter pada Atmega8535 dapat menghasilkan pulsa PWM. Pulsa PWM adalah sederetan pulsa yang lebar pulsanya dapat diatur. Pulsa PWM berfungsi mengatur kecepatan motor DC, mengatur gelap terang LED dan aplikasi lainnya. PWM adalah Timer mode Output Compare yang canggih. Mode PWM Timer juga dapat mencacah turun yang berlawanan dengan mode Timer lainnya yang hanya mencacah naik. Pada mode PWM tersebut, Timer mencacah naik hingga mencapai nilai TOP, yaitu 0xFF (255) untuk PWM 8 bit dan 0x3FF (1023) untuk PWM 10 bit. Timer/Counter 0 hanya memiliki PWM 8 bit, sedangkan pada Timer/Counter 1 memiliki 9 bit dan PWM 10 bit, dan Timer/Counter 2 memiliki PWM 8 bit.

Pemilihan mode PWM diseting melalui bit COM01 dan bit COM00 pada register TCCR. Saat COM00 clear dan COM01 set, pin OC0 clear sat timer mencacah diatas Compare Match dan pin OC0 set saat timer mencacah dibawah Compare Match atau non-inverting PWM. Kebalikannya, saat COM00 set dan COM01 juga set, maka pin OC0 set saat timer mencacah dibawah Compare Match atau disebut juga inverting PWM. Agar lebih jelas, perhatikan gambar berikut.

Pulsa PWM inverting dan non-inverting

Pemrograman PWM dengan BASCOM AVR

Fasilitas timer mikrokontroler digunakan untuk pengaturan PWM. Berikut ini pengujian fungsionalitas mikrokontroler Atmega 16 dalam membangkitkan PWM. Penggunanan PWM menggunakan fasilitas overflow pada timer/counter 1.

Listing program untuk mengeluarkan nilai PWM = 0 pada pin OC1A dan OC1B.

Config Timer1 = Pwm , Pwm = 10 , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down   ‘pwm dengan settingan fast pwm 10 bit, mode inverting

Do

Pwm1a = 0 ‘pin OC1A

Pwm1b = 0 ‘pin OC1B

Loop

End

Gambar Gelombang PWM saat 0%

Listing program untuk mengeluarkan nilai PWM = 512 pada pin OC1A dan OC1B.

Config Timer1 = Pwm , Pwm = 10 , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down   ‘pwm dengan settingan fast pwm 10 bit, mode inverting

Do

Pwm1a = 512 ‘pin OC1A

Pwm1b = 512 ‘pin OC1B

Loop

End

Gambar Gelombang PWM saat 50%

nach berikut hasil video pengaturan sinyal PWM nya ^_^

===============================================================

bacaan terkait di blog ini:

1. pengaturan-kecepatan-motor-dc-dengan-mikrokontroler klik disini