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
Posted by Wanna be on Mei 5, 2010 at 11:32 pm
Mo nanya nih lowongan y klo d ui link y pa nih??
hehe…
cie fahmi kpn nih d lntik y wordpress y…
udh da skuran ga nih……
Posted by fahmizaleeits on Juli 27, 2010 at 9:55 pm
wah..kamu yg kul d UI malah nanya ke q…harusnya kamu yg kasih tau q…q tunggu kabarnya lo…..
Posted by eddy ismanto on Juli 13, 2010 at 3:47 pm
Mas,
gimana cara untuk menghitung/counter jumlah pulsa yang diterima dalam waktu satu menit dan ditampilkan di LCD???
mohon bantuannya,
Email j ke
eddyismanto@ymail.com
Posted by fahmizaleeits on Juli 27, 2010 at 9:57 pm
cara nya tinggal dicounterja pake fasilitas TIMER atmega bisa….trus…itu juga pengaruh ma clock frekuensi mikro yang kita pake…
Posted by rizal on Desember 23, 2010 at 8:19 pm
mas, bleh minta rangkaian USB downloader+firmware sma driverny buat windows 7 dong.
thank you.
Posted by fahmizaleeits on Januari 1, 2011 at 10:55 am
gak punya driver buat windows 7 mas
Posted by Mas Iswanto on Februari 27, 2011 at 6:46 am
Bos, ini aku sharekan untuk mengakses PWM dengan ATMEGA16 menggunakan codevision
http://iswanto.staff.umy.ac.id/2011/02/27/mengakses-pwm-atmega16-dengan-codevision/
Posted by fahmizaleeits on Maret 1, 2011 at 3:46 pm
trims atas kunjungan dan sharing ilmunya mas is 😀
Posted by praditya on Maret 17, 2011 at 4:17 pm
mas, saya mau bikin sinyal picu bwt inverter 50Hz SPWM, caranya gmn y mas? thx
Posted by fahmizaleeits on Maret 20, 2011 at 3:48 pm
maaf ane belum bisa bantu mas:D
Posted by Pengaturan Kecepatan Motor DC Dengan MikrokontroleC « Media Pembelajaran Online on Maret 31, 2011 at 10:50 pm
[…] pengaturan kecepatan yang digunakan adalah dengan menggunakan teknik PWM (Pulse Width Modulation), salah satu teknik untuk mengatur kecepatan motor DC yang umum digunakan. […]
Posted by fahmizaleeits on April 9, 2011 at 6:10 pm
Trims pak, udah ikut nyebarin ilmu, semoga bermanfat bagi banyak orang 😀
Posted by zainal muttaqin on September 10, 2011 at 3:33 pm
mas,aq butuh contoh program pembacaan encoder pada avr 8535.bisa bantu gak?
Posted by fahmizaleeits on Oktober 1, 2011 at 11:30 am
tergantung pulsa encodermu seperti apa?
Posted by bingung on Oktober 21, 2011 at 11:32 pm
infonya sangat membantu 😀
mo nanya nih mas.. masih awam banget.. mdh2an tauu. biar arah motor dc itu puterannya berbalik arah gmana yah ngontrolnya?? jadi abis berputer ke arah kanan dalam waktu tertentu.. dia balik berputer ke arah berlawanan dan seterusnnya secara bergantian.. gmana yah ^^
Posted by fahmizaleeits on Oktober 23, 2011 at 6:21 pm
pada prinsipnya untuk mengatur arah putaran motor dc dapat dilakukan dengan membalik tegangan yg masuk ke sikat motor ato arah arus yg masuk ke jangkar motor kita balik, tapi cara ini dapat meribetkan kita, oleh karena itu kita gunakan driver motor (IC l293d, l298 konfigurasi h-bridge transistor) yang dapat mengatur arah putar dan kecepatan putar motor dengan prinsip PWM 😀
Posted by jumadi on Oktober 19, 2014 at 2:48 pm
Pakai relay kaki 8 lebih mudah mas bro…..
Posted by mario on Desember 11, 2011 at 4:06 pm
cara mengatur kecepetan motor brushless g mana ya?? mohon pencerahaannya
Posted by Fahmizal on Januari 1, 2012 at 3:56 pm
dari pengalaman ane…mirip seperti memprogram motor servo mas… cuma ada pemicu awalnya buat aktifin driver motor brushlessnya mas ^_^
Posted by mario on Januari 3, 2012 at 12:46 am
oohh gitu ya mass..kalau ic buat bridge tipe motor brushless ap tu mas ??:D
Posted by Fahmizal on Januari 4, 2012 at 2:01 pm
kemaren ane cuma beli mas driver motor brushlessnya… jadi tinggal program aja mas more information : http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1523
Posted by v13k on Februari 20, 2012 at 2:17 pm
Mas sy refer ya blognya 🙂 trims http://ngooprek.com/blog/tutorials/
Posted by Fahmizal on Februari 20, 2012 at 8:30 pm
okay dengan senang hati ^_^
Posted by fery on Februari 28, 2012 at 8:29 am
Assalamu’alaykum. Mas boleh nanya nggak?? Minimum system Untuk ATMEGA8535 itu beli langsung jadi ada nggak ya??
maaf mas sy kurang tahu, maklum baru belajar mikrokontroler.. 🙂
Sy bermukim disekitar wilayah surabaya dan sidoarjo..
Posted by tommy on Maret 24, 2012 at 11:36 pm
saya ada schematik minsis atmega8535
minta emailnya nanti sy kirim
Posted by tommy on Maret 24, 2012 at 11:34 pm
mas mau tanya
gimana caranya ngeluarin frekwensi dari atmeega8535 dan bisa di atur freqwensinya pake potensio tp bukan kaya PWM,prinsipnya simulasi encoder
tnx
Posted by nanda on Maret 28, 2012 at 8:27 pm
q mau tanya…
bedanya Aplikasi PWM Mikrokontroler Atmega8535 ma ATmega16 tu pa??????
Posted by ellan on Mei 22, 2012 at 4:22 pm
mas mau nanya… saya punya masalah dengan arah putaran motor menggunakan PWM. bagaimana cara mengubah arah putaran motor??? terima kasih… mungkin mas bisa memberikan jawaban dengan contoh program… 😀
Posted by rawian on Juni 6, 2012 at 10:26 pm
mas tolong buat kan program line follower menggunakan atmega 8535 dengan bahasa C Avr donk…………lg butuh mas…???
plishhh……….mas lg butuh ne???
kirim ke email ne: rawiananakmarkas@gmail.com
Posted by cosaba on Oktober 14, 2012 at 8:25 pm
klo mengotrol kecepatan motor dengan input dari output sinyal emg yang berbeda-beda bagaimana caranya
Posted by Mikrokontroler untuk mengatur kecepatan motor DC | nurrisomudin11 on Januari 7, 2014 at 7:25 am
[…] pengaturan kecepatan yang digunakan adalah dengan menggunakan teknik PWM(Pulse Width Modulation), salah satu teknik untuk mengatur kecepatan motor DC yang umum digunakan. […]
Posted by Febri Sagama on Mei 9, 2015 at 10:34 am
siapa tau dijawab.. sy masih disuruh ngerangkai simulasi dengan menggunakan atmeg8535, sensor PIR, sensor LM35, dan motor dc.. judul tugas akhir sy adalah “sistem kontrol lampu dan pendingin ruangan berbasis mikro kontroler” nah sy sudah tau pin timer/counter dpat mengatur kecepatan motor dengan mode PWM tp yg sy ingin tanyakn jd timer brapa yg bs dijadiin input untuk mengatur kecepatan motor…?? maaf gagal paham :’)
Posted by Muhammad Aldrin on September 15, 2017 at 4:42 pm
Ada berapa channel PWM mas yang bisa digunakan di mikrokontroler?