Pengaturan PWM motor menggunakan Arduino

Posted: 18 Januari 2011 in Otomasi dan Robotika
Tag:,

Assalamu’alaikum Wr. Wb.

Wah dah lama nggak nulis. Kali ini saya akan menulis tentang robotika. Jika membuat robot beroda maka syarat utamanya adalah robot bisa berjalan lurus. Jika jalan lurus saja tidak bisa pasti nanti kacau mau di program seperti apapun. Yah salah satu kontrolnya adalah kecepatan robot dengan PWM. Robot ini sebelumnya menggunakan MCU ATMega 8535. Yah saya sendiri belum begitu paham C. Namun ada board Arduino Duemilanove, jadi saya pakai saja.

Oh ya… semua data dan schematic saya share di FB…. http://www.facebook.com/album.php?aid=2061369&id=1479425986&l=750388e57c

bisa di lihat tanpa akun fb koq….

saya belum mengerti C, namun sekilas melihat arduino sepertinya lebih mudah. Bahasanya sepertinya mirip banget dengan Java ato mungkin emang Java. Ini robot yang mengguakan arduino.

sayangnya jika menggunaka Arduino kan pinnya lurus aja. Sedangkan sebelumnya saya pake pin header yang 5×2 itu. jadinya saya buat converter board buat arduino biar langsung colok. Tapi jadinya boardnya kebalik kayak gambar di atas ^_^.

Ini schematic nya

Arduino Converter Board

Arduino Converter Board

sebenarnya ada perubahan dikit. Tapi males ngganti gambar. Yang saya rubah itu posisi dioda untuk pengaman arus bila terbalik dan sensornya itu saya rubah ke pin yang digital I/O.

Lalu ini schematic dari nyambung ke arduino

L298 n Arduino Schematic

L298 n Arduino Schematic

Lalu programmingnya

Code PWM sederhana

Code PWM sederhana

La sekarang penjelasannya🙂

begini robot saya agak kurang lurus kalo jalan. Roda kirinya agak tidak center sehingga jika berjalan dengan pwm yang sama antara kiri dan kanan maka akan belok ke kiri. Penggunaan pwm bisa di pin yang memang dikhususkan untuk pwm. namun sering2 leihat referensi ajah karena sudah kadung saya gunakan pin 5

Notes and Known Issues

The PWM outputs generated on pins 5 and 6 will have higher-than-expected duty cycles. This is because of interactions with the millis() and delay() functions, which share the same internal timer used to generate those PWM outputs. This will be noticed mostly on low duty-cycle settings (e.g 0 – 10) and may result in a value of 0 not fully turning off the output on pins 5 and 6.

yah jadinya nggak bisa lurus banget robotnya. info mengenai PWM ini http://arduino.cc/en/Tutorial/PWM . Iya pin 5 dan 6 pas posisi 0 tidak bisa off. Bilangan pwm ini antara 0 – always off sampai 255 -always on. Yah gak tahu lah kenapa bilangannya sampai itu. pin 5 dan 6 tidak bisa full off sehingga tidak bisa off betulan saat pwm posisi 0. signal pwm nya The frequency of the PWM signal is approximately 490 Hz.

Jika robot saya kiri = 255 kanan = 255 maka akan belok kiri. Namun saya set kiri 2555 dan kanan 254. Yah beda 1 aja bisa buat robot belok he he he. Di set seperti itu menjadikan robot jalannya agak lurus. Ya emang nggak bisa lurus2 amat, namun lumayan lah. Di arduini itu tinggal pakai fungsi2nya. Jadi semakin mempermudah pemprograman. Ada library nya….

Intinya pwm itu mengatur kecepatan dengan lebar pulsa nyala dan mati. Trus kan bisa mengatur kecepatan dengan mengatur tegangan ?? 0 v untuk mati 5 v untuk hidup. Namun kata pak Ir. Totok Winarno guru saya di SMK Telkom itu menjadikan torsi hilang, sehingga digunakan pwm untuk mengatur kecepatan tanpa menghilangkan torsi. Dulu beliau bilang, kalo mau buat robot harus bisa lurus, kayaknya gampang tapi lihan ntar jalannya pasti nyirik / serong  / miring . he he he

fungsi yang digunakan adalah analogWrite() cukup gampang kan ? tinggal memasukkan pin mana dan nilai pwm nya.

Yah dikit2 aja dah. sebenarnya kemaren banyak yang mau saya tulis, namun lupa :p

ya beginilah kalo punya ide nggak langsung ditulis🙂

Nanti dikit2 lagi yah :p

Salam Robotika

Wassalamu’alaikum Wr. Wb.

Komentar
  1. […] Pengaturan PWM motor menggunakan Arduino […]

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s