kendali kecepatan motor dc avr-pwm dengan timer avr … · yg lebih besar dari 5 vdc. ... untuk...

18
AVR ATmega8 Sistem Timer pada ATmega 8 dapat dipergunakan untuk membangkitkan sinyal PWM Terdapat 3 sumber PWM (melalui pin OC1A, OC1B, dan OC2 yg ada 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

Upload: vucong

Post on 03-Mar-2019

242 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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

Page 2: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

AVR ATmega8� Fast PWM Timer 2

Kuliah SBM 2016 13

Page 3: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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

Page 4: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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)

Page 5: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

AVR ATmega8� Phase Correct PWM Timer 2

Kuliah SBM 2016 16

Page 6: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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

Page 7: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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.

Page 8: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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

Page 9: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

L298� Kemasan yang ada

Kuliah SBM 2016 20

Page 10: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

L298� Blok Diagram

Kuliah SBM 2016 21

Page 11: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

L298� Fungsi tiap Pin

Kuliah SBM 2016 22

Page 12: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

L298� Pengaturan Motor

Kuliah SBM 2016 23

Page 13: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

Modul L298� Untuk memudahkan bisa digunakan modul L298 sbb

Kuliah SBM 2016 24

Page 14: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

Contoh Koneksi dengan UADUINO

Kuliah SBM 2016 25

Page 15: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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

Page 16: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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

Page 17: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

PENGATURAN KECEPATAN MOTOR� Dengan bantuan Codewizard

� Pengaturan kecepatan dilakukan dengan mengubah nilai register OCR1A dan OCR1B

Kuliah SBM 2016 28

Page 18: Kendali kecepatan Motor DC AVR-PWM dengan Timer AVR … · yg lebih besar dari 5 Vdc. ... Untuk dapat menggerakkan motor DC diperlukan rangkaian driver Sesuaikan tegangan dan arus

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