Pages

Saturday, July 24, 2010

PWM (Pulse Width Modulation)

Dalam dunia robotika, khusunya mobile robot saya rasa banyak yang kenal dengan pengontrollan kecepatan dengan menggunakan PWM (Pulse Width Modulation).
Sebenarnya apa PWM itu ya
PWM : Merupakan cara pengontrollan kecepatan berdasarkan pengaturan pelebaran pulsa high dan pulsa low
gambar dapat dilihat seperti di bawah ini
Dari gambar terlihat pada saat kecepatan penuh duty cycle berada pada 5 volt sedangkan pada saat berhenti duty cycle pada posisi 0 dan untuk 50 persen pelebaran pulsa on dan off itu sama sehingga kecepatan motor hanya 50%.


dari aplikasi tersebut saya coba membuat program untuk pengontrollan motor DC disini menggunakan motor DC yang terhubung dengan ATMega8535 menggunakan timer internal PWM milik atmega dengan bahasa pemrogramman bascom AVR. pin yang digunakan OC1A (PD5) atmega 8535

'setting PWM dan pin yang di pakai
'----------------------------------------------------------------------------------
Config Timer1 = Pwm , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down


program diatas untuk mrengatur timer1 sebagai PWM dan Prescale yang digunakan yaitu 64
Kemudian untuk menggerakkan kecepatan motor nilai yang ada OC1A diubah-ubah dari 0 - 255
misal

     OC1A = 120
     wait 1
      OC1A = 255
     wait 1
     OC1A = 30

untuk mengatur kecepatan motor dengan PWM menggunakan bahasa pemrograman bascom AVR hanya dengan PWM internal hanya menggunakan kode diatas.

Terima kasih ya udah baca-baca disini
komen aja jika ada yang ingin ditanyakan

Dedi

Selengkapnya Unduh Disini

2 comments: