Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Senin, 08 Juni 2026

Arduino DC Motor - Cara Mengontrol Kecepatan dan Arah Motor DC Menggunakan Driver L298N

Motor DC merupakan salah satu jenis motor yang paling sering digunakan dalam proyek Arduino. Motor ini banyak ditemukan pada robot beroda, mobil RC, kipas, pompa air, conveyor mini, dan berbagai sistem otomasi lainnya. Meskipun terlihat sederhana, motor DC tidak dapat langsung dihubungkan ke pin Arduino. Dibutuhkan driver motor untuk menyediakan arus yang cukup sekaligus memungkinkan Arduino mengontrol kecepatan dan arah putaran motor. Pada tutorial ini, Anda akan mempelajari cara kerja motor DC, cara mengontrol arah putaran motor DC, cara mengontrol kecepatan motor DC menggunakan PWM, cara menggunakan driver motor L298N bersama Arduino, dan cara mengendalikan satu atau dua motor DC secara independen.

Perangkat Keras yang Dibutuhkan

- Arduino Uno R3

- Kabel USB

- Motor DC 5V atau 12V

- Driver motor L298N    

- Adaptor DC sesuai tegangan motor

- Socket adaptor DC

- Kabel jumper   

 

Baca juga: Arduino dan Buzzer Aktif 12V - Cara Mengontrol Alarm Menggunakan Relay 

Mengenal Motor DC


Motor DC (Direct Current Motor) adalah motor listrik yang bekerja menggunakan arus searah (DC). Ketika diberikan tegangan, motor akan mengubah energi listrik menjadi energi mekanik berupa putaran poros. Karena konstruksinya yang sederhana dan harganya relatif murah, motor DC menjadi pilihan utama dalam berbagai proyek elektronika dan robotika.

1. Pin Motor DC

Motor DC pada umumnya memiliki dua terminal utama yang digunakan sebagai jalur suplai daya. Kedua terminal ini terhubung langsung ke bagian internal motor dan berfungsi untuk menghasilkan putaran ketika diberikan tegangan listrik. Pada banyak motor DC, terminal positif sering ditandai dengan kabel berwarna merah, sedangkan terminal negatif biasanya menggunakan kabel berwarna hitam, meskipun warna kabel dapat berbeda tergantung produsennya. Berbeda dengan servo motor atau motor stepper yang memiliki jalur kontrol khusus, motor DC hanya membutuhkan dua terminal daya untuk beroperasi. Arah putaran motor ditentukan oleh polaritas tegangan yang diberikan pada kedua terminal tersebut. Jika polaritas dibalik, arah putaran motor juga akan berubah. Selain itu, kecepatan putaran motor dapat diatur dengan mengubah besar tegangan yang diberikan atau menggunakan teknik PWM (Pulse Width Modulation) melalui rangkaian driver motor. Dengan karakteristik yang sederhana ini, motor DC menjadi salah satu jenis motor yang paling banyak digunakan dalam berbagai aplikasi elektronika dan robotika.

2. Cara Kerja Motor DC

Motor DC bekerja dengan mengubah energi listrik menjadi energi mekanik berupa putaran poros motor. Ketika tegangan DC diberikan pada terminal motor, arus listrik akan mengalir melalui kumparan di dalam motor dan menghasilkan medan magnet. Interaksi antara medan magnet tersebut dengan magnet permanen di dalam motor akan menghasilkan gaya yang menyebabkan rotor berputar.

 

Arah putaran motor ditentukan oleh arah aliran arus yang melewati kumparan. Jika polaritas sumber tegangan diubah, arah aliran arus juga akan berubah sehingga motor akan berputar ke arah yang berlawanan. Inilah alasan mengapa motor DC dapat dengan mudah dikendalikan untuk berputar maju maupun mundur hanya dengan membalik polaritas tegangannya.

 

Selain arah putaran, besar tegangan yang diberikan juga memengaruhi kecepatan motor. Secara umum, semakin tinggi tegangan yang diterapkan, semakin tinggi pula kecepatan putaran yang dihasilkan. Sebaliknya, penurunan tegangan akan membuat putaran motor menjadi lebih lambat.

 

Meskipun kecepatan motor dapat diatur dengan mengubah nilai tegangan secara langsung, metode ini jarang digunakan dalam sistem modern karena kurang efisien dan sulit menghasilkan pengaturan yang stabil. Oleh karena itu, sebagian besar aplikasi menggunakan teknik Pulse Width Modulation (PWM) untuk mengontrol kecepatan motor. Dengan PWM, tegangan rata-rata yang diterima motor dapat diatur melalui perubahan lebar pulsa tanpa harus mengubah sumber tegangan utama, sehingga pengendalian kecepatan menjadi lebih mudah, efisien, dan presisi.

3. Mengapa Motor DC Tidak Bisa Langsung Dihubungkan ke Arduino?

Banyak pemula beranggapan bahwa motor DC 5V dapat langsung dihubungkan ke pin Arduino karena keduanya sama-sama menggunakan tegangan 5V. Padahal, masalah utamanya bukan terletak pada tegangan, melainkan pada kebutuhan arus. Pin Arduino hanya mampu menyediakan arus dalam jumlah kecil, sedangkan motor DC membutuhkan arus yang jauh lebih besar terutama saat mulai berputar. Jika motor dihubungkan langsung ke Arduino, motor mungkin tidak dapat berputar dengan baik atau bahkan berisiko merusak mikrokontroler. Karena alasan tersebut, diperlukan driver motor sebagai perantara antara Arduino dan motor DC.

Fungsi Driver Motor

1. Driver bertugas memperkuat sinyal PWM dari Arduino sehingga motor memperoleh tegangan dan arus yang cukup untuk beroperasi.

2. Driver memungkinkan Arduino membalik polaritas tegangan yang diberikan ke motor sehingga arah putaran dapat dikendalikan melalui program.

 

Saat ini tersedia berbagai modul driver motor DC yang dapat digunakan untuk mengendalikan kecepatan dan arah putaran motor menggunakan mikrokontroler. Masing-masing driver memiliki karakteristik, kapasitas arus, dan fitur yang berbeda sehingga dapat dipilih sesuai kebutuhan proyek.

Beberapa driver motor yang cukup populer di kalangan hobiis, pelajar, maupun pengembang sistem embedded antara lain L293D, L298N, TB6612FNG, dan BTS7960. Driver-driver tersebut banyak digunakan pada aplikasi robotika, kendaraan otomatis, sistem conveyor, serta berbagai proyek otomasi lainnya.

 

Pada pembahasan kali ini, fokus akan diberikan pada penggunaan L298N karena modul ini memiliki rangkaian yang sederhana, mudah diprogram, serta banyak tersedia di pasaran dengan harga yang relatif terjangkau. Selain itu, L298N juga mampu mengendalikan dua motor DC sekaligus sehingga sangat cocok untuk berbagai proyek robot dan sistem penggerak berbasis Arduino.

Mengenal Driver Motor L298N

L298N merupakan modul driver motor berbasis IC H-Bridge yang mampu mengendalikan dua motor DC secara independen. Selain motor DC, modul ini juga dapat digunakan untuk mengendalikan beberapa jenis motor stepper. Keunggulan utama L298N adalah kemampuannya mengontrol arah dan kecepatan dua motor sekaligus hanya menggunakan beberapa pin Arduino.

Pin Penting pada Modul L298N

Modul L298N memiliki beberapa pin yang sering digunakan saat mengendalikan motor DC.

a. Pin Catu Daya

- VCC digunakan untuk memberikan tegangan ke motor.

- GND digunakan sebagai ground bersama.

- 5V digunakan untuk memberi daya pada rangkaian logika modul.

b. Kanal Motor A

- ENA digunakan untuk mengatur kecepatan motor A melalui PWM.

- IN1 dan IN2 digunakan untuk mengatur arah putaran motor A.

- OUT1 dan OUT2 dihubungkan ke motor A.

c. Kanal Motor B

- ENB digunakan untuk mengatur kecepatan motor B.

- IN3 dan IN4 digunakan untuk mengatur arah putaran motor B.

- OUT3 dan OUT4 dihubungkan ke motor B. 

Karena modul memiliki dua kanal, Anda dapat mengendalikan dua motor DC secara bersamaan menggunakan satu modul L298N.

Cara Mengontrol Kecepatan Motor DC

Kecepatan motor DC diatur melalui pin ENA menggunakan sinyal PWM dari Arduino. Untuk itu, pin ENA harus dihubungkan ke pin PWM Arduino, misalnya pin D9.

Contoh perintah:

 

analogWrite(ENA_PIN, speed);


Nilai speed berada pada rentang 0 hingga 255.

- Nilai 0 membuat motor berhenti.

- Nilai 128 menghasilkan kecepatan sekitar 50%.

- Nilai 255 menghasilkan kecepatan maksimum. 

Semakin besar nilai PWM yang diberikan, semakin cepat motor berputar.

Wiring Diagram Motor DC dengan Driver L298N


Cara Mengontrol Arah Putaran Motor DC

Arah putaran motor ditentukan oleh kombinasi logika pada pin IN1 dan IN2. Jika pin IN1 bernilai HIGH dan IN2 bernilai LOW, motor akan berputar ke satu arah.

 

digitalWrite(IN1_PIN, HIGH);

digitalWrite(IN2_PIN, LOW);


Sebaliknya, jika pin IN1 bernilai LOW dan IN2 bernilai HIGH, motor akan berputar ke arah yang berlawanan.

 

digitalWrite(IN1_PIN, LOW);

digitalWrite(IN2_PIN, HIGH);


Apabila arah putaran tidak sesuai dengan yang diinginkan, cukup tukar kabel motor pada pin OUT1 dan OUT2 atau ubah logika kontrol pada program.

Cara Menghentikan Motor DC

Motor DC dapat dihentikan dengan beberapa cara. Cara pertama adalah menurunkan nilai PWM menjadi nol.

 

analogWrite(ENA_PIN, 0);


Cara kedua adalah memberikan logika yang sama pada pin IN1 dan IN2.

 

digitalWrite(IN1_PIN, LOW);

digitalWrite(IN2_PIN, LOW);


atau

 

digitalWrite(IN1_PIN, HIGH);

digitalWrite(IN2_PIN, HIGH);


Kedua metode tersebut akan menghentikan putaran motor.

Menghubungkan Arduino dengan L298N

Sebelum melakukan pemasangan kabel, lepaskan seluruh jumper yang terdapat pada modul L298N agar fungsi PWM dapat digunakan secara penuh.

Hubungkan:

- ENA ke pin PWM Arduino (misalnya D9).

- IN1 ke pin D6 Arduino.

- IN2 ke pin D5 Arduino.

- OUT1 dan OUT2 ke motor DC.

- VCC ke adaptor motor.

- GND ke ground bersama.

Pastikan tegangan adaptor sesuai dengan spesifikasi motor yang digunakan.

Program Arduino Mengontrol Motor DC

Program berikut akan mempercepat motor secara bertahap, menjalankan motor pada kecepatan maksimum, membalik arah putaran, menjalankan motor pada arah sebaliknya, dan mengurangi kecepatan hingga berhenti. 

 

const int ENA_PIN = 9;

const int IN1_PIN = 6;

const int IN2_PIN = 5;


void setup() {

  pinMode(ENA_PIN, OUTPUT);

  pinMode(IN1_PIN, OUTPUT);

  pinMode(IN2_PIN, OUTPUT);

}


void loop() {


  digitalWrite(IN1_PIN, HIGH);

  digitalWrite(IN2_PIN, LOW);


  for (int speed = 0; speed <= 255; speed++) {

    analogWrite(ENA_PIN, speed);

    delay(10);

  }


  delay(1000);


  digitalWrite(IN1_PIN, LOW);

  digitalWrite(IN2_PIN, HIGH);


  delay(1000);


  for (int speed = 255; speed >= 0; speed--) {

    analogWrite(ENA_PIN, speed);

    delay(10);

  }


  delay(1000);

}


Cara Menjalankan Program

1. Lepaskan seluruh jumper pada modul L298N. 

2. Hubungkan rangkaian sesuai diagram pengkabelan.

3. Hubungkan Arduino ke komputer menggunakan kabel USB.

4. Buka Arduino IDE.

5. Salin program di atas.

6. Pilih board dan port yang sesuai.

7. Klik tombol Upload.

Setelah program berjalan, motor akan berakselerasi secara bertahap, berputar pada kecepatan maksimum, kemudian membalik arah dan akhirnya melambat hingga berhenti sebelum mengulangi proses tersebut.

Kontrol Kecepatan Presisi Menggunakan Encoder

Pada tutorial ini, kecepatan motor dikontrol menggunakan PWM sehingga menghasilkan kecepatan relatif terhadap kecepatan maksimum motor. Namun metode ini belum mampu menjamin kecepatan absolut, misalnya tepat 100 RPM atau 300 RPM. Untuk mendapatkan kontrol kecepatan yang lebih presisi, diperlukan sensor tambahan berupa rotary encoder. Encoder memberikan umpan balik mengenai kecepatan aktual motor yang kemudian diproses menggunakan metode kontrol tertutup seperti PID (Proportional Integral Derivative). Teknik ini banyak digunakan pada robot, kendaraan otomatis, dan sistem industri yang membutuhkan akurasi tinggi.

 

Baca juga: Motor Arduino - Mengenal Motor Servo, Motor Stepper, dan Motor DC

 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.  

0 on: "Arduino DC Motor - Cara Mengontrol Kecepatan dan Arah Motor DC Menggunakan Driver L298N"