Sabtu, 04 Februari 2012

Akses PWM dengan menggunakan Bascom AVR

PWM (Pulse Width Modulation), menggunakan bentuk gelombang kotak dengan duty cycle tertentu. Pada artikel Akses PWM dengan menggunakan Bascom AVR ini akan saya bahas tentang PWM yang saya aplikasikan ke dalam sebuah led dan ditampilkan pada CRO dengan simulasi proteus. Untuk PWM aplikasi yang sederhana dapat digunakan untuk mengendalikan kecerahan lampu led dan mengatur kecepatan motor. contoh bentuk pulsa PWM pada gambar PWM.

pwm
PWM
Pada gambar PWM, ditunjukkan contoh PWM dengan duty cycle 50%, jika pulsa tersebut diberikan ke LED atau motor DC maka kecerahan led 50% atau kecepatan motor nya 50%. Duty cycle 50% berarti lebar pulsa HIGH dan LOW nya sama.

Duty cycle dapat diatur dengan menggunakan fasilitas timer pada mikrokontroler. Pada atmega32 memiliki luaran PWM yang tersambung ke Timer1 melalui port : OC1A pada PortD.4 dan OC1B pada portD.5
Luaran PWM tersebut memiliki pengeturan terpisah (masing2 duty cycle nya berbeda) walaupun akan bekerja pada frekuensi yang sama. Terdapat 3 mode yaitu mode 8,9,10 bit.
mode 8 bit, mencacah dari 0 sampai 255
mode 9 bit, mencacah dari 0 sampai 511
mode 10 bit, mencacah dari 0 sampai 1023

bentuk pulsa
Bentuk Pulsa
Akses PWM dengan menggunakan Bascom AVR
Berikut listing pemrograman dengan BASCOM AVR nya :
'program akses PWM
' mirza dhanu s
$regfile = "m32def.dat"
$crystal = 11059200
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1024 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Up
Pwm1a = 51
Pwm1b = 51

Akses PWM dengan menggunakan Bascom AVR
dengan rangkaian sebagai berikut :
rangkaian
Rangkaian PWM

Config Timer1 = Pwm , Pwm = 8 , Prescale = 1024 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Up
perintah diatas merupakan syntax untuk configurasi timer1 untuk pWM pada Bascom AVR. digunakan TImer1, dengan PMW mode 8 bit, Prescale 1024, Compare A PWM = clear down maksutnya PWM dengan mode inverting, dapat dilihat pada gambar bentuk pulsa. dan Compare A PWM = clear up dengan mode non inverting atau berkebalikan dengan nilai nya.


Pwm1a = 51
Pwm1b = 51
perintah ini digunakan untuk mengeluarkan sebuah nilai pulsa sebesar 51. Dilihat pada gambar Bentuk Pulsa, nilai maksimum pada program ini adalah 255 karena menggunakan mode 8 bit. nilai tertentu makstnya nilai dari PWM nya. pada program nilai PWM nya sebesar 51 maka hasilnya seperti berikut :


hasil


Akses PWM dengan menggunakan Bascom AVR Hasilnya led akan seolah-olah berkedip dalam simulasi nya dan terbentuk gelombang kotak pada CRO, gelombang yang atas menggunakan mode inversi sedangkan gelombang yang bawah menggunakan mode non-inversi masing-masing dengan duty cycle 20%.

untuk simulasi dengan proteus nya dapat didownload disini
dan program nya disini

Sekian dulu artikel Akses PWM dengan menggunakan Bascom AVR, semoga bermanfaat.
Bagaimana menurut Anda? silahkan beri komentar...
Artikel Terkait Lainnya :


2 komentar:

Mas gan aku request cara pake timer1 dong...

Kalau pakai atmega8 g mana mas ,

Posting Komentar

Silahkan berkomentar

Site Search