Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk...
Transcript of Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk...
AVR ATmega8� Sistem Timer pada ATmega 8 dapat dipergunakan untuk
membangkitkan sinyal PWM
� Terdapat 3 sumber PWM (melalui pin OC1A, OC1B, dan OC2 ygada di PB.1, PB.2, PB.3)
Timer 2 dapat digunakan untuk membangkitkan sinyal PWM 8
Kuliah SBM 2016 12
� Timer 2 dapat digunakan untuk membangkitkan sinyal PWM 8 bit, karena Timer 2 adalah timer/counter 8 bit
� Timer 1 dapat digunakan untuk membangkitkan sinyal PWM 16 bit, karena timer 1 adalah timer/counter 16 bit
� Dapat dipilih dua mode PWM
� Fast PWM
� Phase Correct PWM
AVR ATmega8� Fast PWM Timer 2
Kuliah SBM 2016 13
AVR ATmega8
� Fast PWM Timer 2, digunakan untuk membangkitkan sinyal PWM frekuensitinggi, karena sinyal yg digunakan adalah single slope(berbeda dgn PWM lainnya).
� Sinyal single slope ini diperoleh dari counter yang menaikkan cacahannyadari BOTTOM (00h) s/d MAX (FFh/255) kemudian memulai lagi dariBOTTOM dan seterusnya.
� Pada mode non-inverting, kondisi pin Output Compare (OCn) akan di-clear (dinolkan) ketika terjadi Compare Match (nilai yg sama) antara TCNTn dan
Kuliah SBM 2016 14
(dinolkan) ketika terjadi Compare Match (nilai yg sama) antara TCNTn danOCRn, serta di-set (dibuat bernilai 1) pada saat BOTTOM. Pada mode inverting, kondisi output di-set saat Compare Match dan di-clear saatBOTTOM.
� Timing diagram untuk mode fast PWM tampak pd halaman sebelumnya.
� Diagram tersebut menunjukkan bagaimana PWM non-inverting dan PWM inverting.
� Garis horizontal kecil pada slope(sisi miring) TCNTn menunjukkanterjadinya compare match antara OCRn dan TCNTn.
� Sinyal PWM, yaitu gelombang kotak dengan duty cycle yg dapatdiubah/diatur adalah sinyal yg muncul pada pin OCn
AVR ATmega8� Untuk mengubah duty cycle yg harus dilakukan
adalah dengan mengubah nilai OCRn, semakin besarnilai OCRn maka duty cycle juga akan semakin besar. Jika OCRn bernilai 0 maka diperoleh duty cycle 0%,jika bernilai 255 akan diperoleh duty cycle 100%.
Kuliah SBM 2016 15
0%,jika bernilai 255 akan diperoleh duty cycle 100%.� Tegangan maximal yg bisa diperoleh dari keluaran
PWM mikrokontroler hanya terbatas 5 Vdc, namunjika sinyal PWM ini digunakan untuk mengendalikanrangkaian driver yg memiliki tegangan catu lebih dari5 Vdc, kita dapat memperoleh tegangan yg bervariasiyg lebih besar dari 5 Vdc.(Tegangan keluaran tersebutakan merupakan hasil perkalian duty cycle dengantegangan catu)
AVR ATmega8� Phase Correct PWM Timer 2
Kuliah SBM 2016 16
AVR ATmega8
� Phase Correct PWM Timer 2 secara prinsip hampir sama
dengan fast PWM, namun sinyal yg digunakan sinyal dual
slope.
� Sinyal dual slope ini diperoleh dari counter yang
Kuliah SBM 2016 17
� Sinyal dual slope ini diperoleh dari counter yang
menaikkan cacahannya dari BOTTOM (00h) s/d MAX
(FFh/255) kemudian menghitung mundur/turun dari MAX
ke BOTTOM dan naik lagi menuju MAX dan seterusnya
AVR ATmega8
� Untuk PWM yg menggunakan Timer 1, secara prinsip
sama dengan Timer 2, namun batas cacahan MAX bernilai
16 bit, yaitu FFFFh/65535 dan
� Register yg digunakan untuk mengatur duty cycle yaitu
Kuliah SBM 2016 18
� Register yg digunakan untuk mengatur duty cycle yaitu
OCR1A dan OCR1B juga memiliki lebar 16 bit
� Dengan kata lain Timer 1 menyediakan pembangkit PWM
yg jauh lebih teliti karena menggunakan register 16 bit.
Contoh Aplikasi
� Untuk dapat menggerakkan motor DC diperlukan
rangkaian driver
� Sesuaikan tegangan dan arus rangkaian driver dengan
motor DC yg digunakan
Kuliah SBM 2016 19
motor DC yg digunakan
� Rangkaian dapat disusun dari sejumlah transistor dan
dioda
� Dapat pula digunakan IC driver motor, misalnya: L293D,
L298
L298� Kemasan yang ada
Kuliah SBM 2016 20
L298� Blok Diagram
Kuliah SBM 2016 21
L298� Fungsi tiap Pin
Kuliah SBM 2016 22
L298� Pengaturan Motor
Kuliah SBM 2016 23
Modul L298� Untuk memudahkan bisa digunakan modul L298 sbb
Kuliah SBM 2016 24
Contoh Koneksi dengan UADUINO
Kuliah SBM 2016 25
LOGIKA PENGENDALIAN MOTOR
� Perhatikan PORT ATMEGA 8 yang terhubung ke IN1, IN2,
ENA, IN3, IN4 dan ENB dari L298
� PORTB.0==IN1, PORTB.3==IN2, PORTB.1==ENA,
PORTB.4==IN3, PORTB.5==IN4, PORTB.2==ENB
� Untuk memutar motor yang kita lakukan adalah
memberika logika yang sesuai pada masing-masing PORT
tersebut di atastersebut di atas
� IN1 dan IN2 serta ENA untuk mengatur Motor Kanan
� IN3 dan IN4 serta ENB untuk mengatur Motor Kiri
Kuliah SBM 2016 26
PENGATURAN KECEPATAN MOTOR
� Untuk dapat mengatur kecepatan putar motor maka kita
lakukan pengaturan pada ENA dan ENB
� Kita berikan sinyal PWM pada ENA dan ENB
� Kecepatan Motor diatur dengan mengatur duty cycle
PWM pada ENA dan ENB
� Kita bangkitkan sinyal PWM dengan PWM Timer 1 � Kita bangkitkan sinyal PWM dengan PWM Timer 1
ATMEGA8
� Gunakan yang sederhana yaitu FAST PWM
Kuliah SBM 2016 27
PENGATURAN KECEPATAN MOTOR� Dengan bantuan Codewizard
� Pengaturan kecepatan dilakukan dengan mengubah nilai register OCR1A dan OCR1B
Kuliah SBM 2016 28
Referensi� www.hpinfotech.com
� CodeVisionAVR User manual
� M. Ary Heryanto, Ir. Wisnu Adi P, Pemrograman Bahasa C
untuk Mikrokontroler ATmega 8535, Penerbit Andi
Kuliah SBM 2016 29
untuk Mikrokontroler ATmega 8535, Penerbit Andi
� ATMEL, 2003, AVR Technical documentation Series, Atmel