Mengendalikan Kecepatan Motor DC dengan PWM via Arduino

Salah satu cara untuk mengendalikan motor DC adalah menggunakan PWM (Pulse Width Modulation). Pengendalian motor dengan metode ini adalah dengan cara mengirim tegangan yang diatur lebar pulsanya ke arah motor. Dengan mengatur lebar pulsa ke motor, maka motor seakan-akan disambung-putus ke sumber tegangan sehingga pada akhirnya akan diperoleh kecepatan motor yang diinginkan. Supaya diperoleh pengaturan tegangan yang ‘smooth’ maka frekuensi peng-‘on-off’-an motor juga harus diatur sehingga motor tidak menghentak-hentak laju asnya (jawa : nyendal-nyendal). Dengan demikian dibutuhkan frekuensi yang cukup tinggi dalam penyaklaran pulsa agar pengaturan kecepatan motor lebih halus. Frekuensi ini cukup diset sekali saja (konstan), sedangkan pengaturan kecepatan adalah berdasarkan lebar pulsa (namanya juga PWM he he). Lebar pulsa inilah yang kemudian disebut dengan duty cycle .

Perhatikan gambar di atas, duty cycle 0% adalah sama dengan tidak ada tegangan ke motor, duty cycle 25% adalah sama dengan tegangan 5V diberikan selama seperempat satu frekuensi penuh, duty cycle 50% sama dengan pemberian tegangan 5V selama setengah frekuensi penuh, dan seterusnya. Perhatikan juga bahwa duty cycle 100% adalah sama halnya dengan memberikan tegangan 5V selama satu frekuensi penuh. Ini sama halnya pemberian tegangan ke motor tanpa PWM. Dengan mengatur lebar pulsa (duty cycle) inilah maka kecepatan motor dapat diatur sesuai keinginan.

Berikutnya, karena motor DC membutuhkan arus yang besar maka sebelum masuk ke motor biasanya dibutuhkan sebuah driver yang berfungsi sebagai ‘gateway’ antara controller PWM yang biasanya hanya mengeluarkan arus kecil dan motor DC yang biasanya membutuhkan arus besar. 

Jika Anda menggunakan Arduino sebagai PWM generator, maka untuk motor DC dengan arus kecil (<100mA), Anda bisa langsung menghubungkan pinout Arduino langsung ke motor tersebut. Namun jika motor yang diatur kecepatannya membutuhkan arus yang besar (>100mA) maka Anda harus menggunakan driver supaya Arduino yang mengeluarkan arus kecil dapat mengendalikan motor DC yang membutuhkan arus besar.

Tulisan berikutnya akan membahas tentang program pengendalian kecepatan motor DC menggunakan arduino dan desain sistem driver motor menggunakan transistor/MOSFET/IGBT

Bersambung ….

0 0 votes
Article Rating

Leave a Reply

28 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
eko wahyu santoso

banya artikel anda yang membantu saya. saya ucapkan terima kasih

Fairuz

Selamat malam pak, mau tanya ni melanjutkan Hal yang tadi,,
Apabila ingin mengendalikan Moto DC dengan beban yang besar, untuk Motor Drivernya menggunakan Apa ya?? atau mungkin kalo sudah ada yang berbentuk Module,
dan kalo smpet, sekalian Motor AC.. 🙂
sebelumnya terima kasih bnyak ilmunya pak 😉

bolle

mau tanya juga nih pak, kalo untuk kontrol servo driver menggunakan mikrokontroler apa bisa pak? trims artikelnya sangat membantu.

Andri

Mau tanya. Saya lg buat dimmer menggunakan output pwm arduino. Untuk driver agar bisa di pake ke lampu ac ,saya gunakan solid state relay . tapi ketika keadaan redup malah terjadi kedip kedi . Kira2 itu kenapa ya ?

KHAIRUL HAFIZHAN

mas saya mau nanya mas, saya mau bikin alat pengontrol gas amonia mengguanakan arduino, jadi say mau mengatur kecepatan udara berdasarkan kapasitas ppm yang terbaca oleh arduino, jadi cara nya gimana mas, makasih

KHAIRUL HAFIZHAN

terimakasih jawabannya mas, rencana saya pakai sensor mq-135 untuk pembacaan kadar amoniak disuatu ruangan, lalu berapa kadar amonia yang terbaca, maka kpas akan berputar secara otomatis mas, misal amonia terbaca 20 ppm, maka kipas berputar 50 % dari putaran nominal kipas, lalu amonia terbaca sebesar 25 ppm, dan kipas berputar 70 % dari putaran nominal kipas, programnya di arduino gimana tu mas?

Toni

Mohon bantuannya mas.
1 LDR dan 1 motor dc dengan control PWM.
Bagaimana ketika LDR yang “SELALU” disinari cahaya matahari dan mencapai nilai yang diinginkan lalu motor hanya hidup sekian detik lalu mati (motor tidak bergerak lagi). Codingannya kaya gimana iya mas?

Toni

Mohon bantuannya mas ajie.
Boleh minta emailnya gak mas ajie untuk koreksi letak kesalahan program saya untuk projek TA tentang solar tracker dengan komponen yang digunakan 3 sensor LDR, modul L298N dan satu motor DC ?
Dan kira-kira sensor LDR tanpa rangkaian komparator, bisa kontrol motor dc gak mas ajie berdasarkan posisi cahaya matahari?
Hehehe kapan2 deh mas saya beli bukunya mas ajie.

Ilant

MET pagi gan… Maaf mengganggu dikit.. saya mau nanya.. klo membuat pengecualian pada program arduino untuk membaca LDR 1 dan LDR 2 dan seterusnya.. pada saat LDR 1 tdk mendapat sinar yg tegak lurus untuk mengendalikan motor ke arah derajat yg di tentukan, maka arduino akan membaca LDR berikutnya dan seterusnya.. dan ketika LDR berikutnya yg dibaca arduino mendapat sinar yg tegak lurus dan memerintahkan motor bergerak ke arah yg di tuju lalu stop dan seterusnya… ? mohon bantuannya gan… Thanks GBU.

sembiring kembaren

mau nanya mas….
kalau mau kontrol kecepatan Motor DC dengan L298N melalui PWM. caranya bagai mana mas. soalnya saya dah bingung dengan program saya. dah dibuat analogWrite(pinA, 122) juga ngak ngaruh. pas saya buka situs mas contoh programnya ngak bisa dilihat.
mohon pencerahannya mas buat tugas saya….

sembiring kembaren

pin ENA = 6;
pin IN1 = 13;
pin IN2 = 10;
pin ENB = 7;
Pin IN3 = 9;
pin In4 = 8;
kontrol maju mundur bisa mas melalui digitalWrite. tapi kontrol kecepatanya yang masih susah. pas di uji selalu ngak bisa di kontrol. robot mobil yang saya buat menggunakan 4 roda, belakang penggerak dan depan arah mobil mas.
mohon pencerahannya mas

KIKI

Maaf mas mau tanya bagaimana cara menghubungkan arduino dan potensio pada alat pwm motor dc 40A sebagai alat pengendali kecepatan pada mobil tersebut?
terima kasih mas

Chandra

permisi mas numpang tanya
saya ada proyek akhir nih “Alat peniris minyak pada keripik singkong”, dan saya ingin mengendalikan kecepatan putaran motor DC
dan torsinya -+ 3kg
saya masih bingung dengan rangkaiannya dan bahan apa saja yang diperlukan
barang kali mas bisa membantu saya menyelesaikan proyek akhir saya 🙂

yusuf

mohon maaf mas, apakah artikel ini sudah ada lanjutaannya ?
terimakasih

28
0
Would love your thoughts, please comment.x
()
x