Mengontrol Kecepatan Brushed DC Motor
Brushed DC motor menerima dua masukan: V+ dan V-. Arah putarannya bisa diubah dengan cara membalik polaritas dua masukan tersebut. Atau dengan kata lain, arah putaran tergantung pada arah arus yang melalui motor. Tentu saja ini bisa dilakukan secara manual. Namun nggak keren dong. Untuk melakukannya secara otomatis, kita bisa menggunakan H-bridge driver. Adapun kecepatan motor tergantung pada besaran voltase yang diberikan kepadanya.
Kali ini saya akan menjelaskan cara mengontrol brushed DC motor secara “open-loop” dengan menggunakan Arduino.
Untuk mengontrol kecepatan brushed DC motor dengan Arduino, kita membutuhkan komponen-komponen berikut:
- Brushed DC motor
- Arduino Uno
- L298N H-Bridge Driver
- Power supply
- Kabel
Kemudian kita rangkai komponen-komponen tersebut sesuai dengan diagram berikut:

Penjelasan diagram:
H-bridge driver membutuhkan dua supply. Pertama adalah supply untuk motor yang bisa berkisar dari 5V sampai 35V. Ini kita ambilkan dari DC power supply atau baterai dengan besaran voltase yang disesuaikan dengan voltase motor. Kedua adalah supply sebesar 5V sampai 7V untuk mengontrol rangkaian H-bridge. Dalam hal ini kita bisa mengambil 5V dari Arduino Uno. Untuk melakukan hal ini, hubungkan pin 5V dan GND pada bagian “Power” Arduino Uno ke terminal 5V dan GND pada H-Bridge.
Adapun power untuk Arduino Uno bisa di-supply dari USB yang dihubungkan ke komputer atau dari power supply eksternal yang dimasukkan ke pin Vin dan GND. Power untuk Arduino Uno ini tidak digambar dalam rangkaian diatas.
Sinyal kontrol digital dari Arduino dimasukkan ke H-bridge driver. Dalam hal ini ada 3 kabel sinyal kontrol. Pertama adalah sinyal PWM (warna coklat). Ini harus diambil dari PIN Digital PWM (pin bertanda ~). Dalam hal ini kita ambil dari pin 11~. Adapun dua sinyal lainnya (hijau dan pink) bisa diambil dari pin digital yang lainnya, bisa yang biasa ataupun yang PWM. Dalam hal ini kita ambil dari pin 12 dan 13.
Akhirnya, sinyal kontrol untuk motor diambil dari H-bridge driver (dari terminal bertuliskan “Motor A” atau “Motor B”) yang dihubungkan ke terminal positif dan negatif brushed DC motor. Ini bisa dibalik-balik tidak masalah.
Perlu diingat bahwa L298N H-bridge driver dibuat untuk mengontrol dua buah motor. Karena kita sekarang hanya mengontrol satu buah motor, maka kita hanya menggunakan salah satu dari dua kapabilitas tersebut.
Dari rangkaian diatas, kita bisa pahami bahwa Arduino Uno berfungsi sebagai controller. Sinyal kontrol digital yang dikeluarkan oleh Arduino Uno lalu diberikan ke H-bridge driver, yang dalam hal ini memiliki beberapa fungsi sebagai berikut:
- Mengontrol arah putaran motor berdasarkan rangkaian H-bridge yang ada didalamnya.
- Sebagai DAC (digital-to-analog converter), yakni mengubah sinyal kontrol digital Arduino Uno menjadi sinyal kontrol analog yang diberikan kepada motor. Dan sekaligus sebagai penguat sinyal (amplifier).
Bagaimana motor dikontrol melalui Arduino Uno?
Arduino Uno dalam hal ini mengontrol dua hal: arah motor dan kecepatan motor. Arah motor dikontrol dengan cara mengubah nilai pin 12 dan 13 antara HIGH dan LOW. Jika pin 12 = HIGH dan pin 13 = LOW memberikan suatu arah putaran tertentu, maka pin 12 = LOW dan pin 13 = HIGH akan memberikan arah putaran sebaliknya.
Adapun kecepatan motor, sebagaimana dijelaskan diatas, bisa diubah dengan mengatur besaran voltase yang diberikan kepada motor. Ini dilakukan dengan mengatur sinyal PWM pada pin 11~. Ketika sinyal PWM diubah, maka sinyal kontrol (berupa voltase) yang diberikan oleh driver ke motor pun akan berubah, dan ini menyebabkan kecepatan motor berubah.