Search Code

Tutorial ESP32 15/55 - Kontrol Kecepatan Motor DC dengan ESP32 L293D | Kit Pembelajaran IoT ESP32 SunFounder

Tutorial ESP32 15/55 - Kontrol Kecepatan Motor DC dengan ESP32 L293D | Kit Pembelajaran IoT ESP32 SunFounder

Tutorial ESP32 15/55 - Kontrol Kecepatan Motor DC dengan ESP32 L293D | Kit Pembelajaran IoT ESP32 SunFounder

Mengontrol motor DC dengan ESP32 mungkin tampak menakutkan, tetapi sebenarnya cukup mudah dilakukan dengan komponen dan pemahaman yang tepat. Dalam tutorial ini, kita akan membuat proyek yang memungkinkan kita mengontrol kecepatan dan arah motor DC menggunakan driver motor L293D. Pada akhirnya, Anda akan memiliki rangkaian yang berfungsi untuk memutar motor maju dan mundur sambil menyesuaikan kecepatannya. Untuk referensi visual, pastikan untuk menonton video di (di video pada 00:00).

Skema motor ESP32-15_L293D

Penjelasan Perangkat Keras

Komponen utama dari proyek ini termasuk mikrokontroler ESP32 dan driver motor L293D. ESP32 adalah mikrokontroler yang kuat dengan kemampuan Wi-Fi dan Bluetooth bawaan, membuatnya cocok untuk aplikasi IoT. ESP32 dapat mengontrol berbagai komponen perangkat keras, termasuk motor, melalui pin GPIO-nya. L293D adalah driver motor jembatan-H ganda yang memungkinkan Anda mengontrol arah dan kecepatan dua motor DC. Setiap jembatan-H dapat menggerakkan motor ke salah satu arah dengan membalik polaritas tegangan yang diterapkan ke terminal motor. Selain itu, L293D dapat menangani arus hingga 600 mA per saluran, membuatnya cocok untuk motor berukuran kecil hingga sedang.

IC Driver Motor L293D

Detail Datasheet

Produsen Texas Instruments
Nomor bagian L293D
Tegangan logika/IO 2,5 – 7 V
Tegangan suplai 4,5 – 36 V
Arus keluaran (per saluran) 600 mA (khas)
Arus puncak (per saluran) 1,2 A (maks)
Panduan frekuensi PWM 20 kHz (khas)
Ambang logika masukan 0,8 V (tinggi), 2,0 V (rendah)
Penurunan tegangan / RDS(on) / saturasi 1,5 V (maks)
Batas termal 150 °C (maks)
Kemasan 16-DIP
Catatan / varian Penggerak setengah-H empat kali lipat

 

  • Pastikan pembuangan panas yang tepat untuk aplikasi arus tinggi.
  • Dekopling suplai daya dengan kapasitor untuk mencegah lonjakan tegangan.
  • Berhati-hatilah dengan pengkabelan untuk mencegah polaritas terbalik.
  • Gunakan PWM untuk kontrol kecepatan guna menghindari panas berlebih.
  • Periksa tegangan terukur motor untuk mencegah kerusakan.

Instruksi Pengkabelan

ESP32-15_L293D_motor_wiring

Untuk menghubungkan ESP32 dan driver motor L293D, mulailah dengan menghubungkan daya. Hubungkan pin 16 dari L293D ke terminal positif suplai daya Anda, dan pin 4 ke ground. Selanjutnya, hubungkan motor: satu terminal ke pin 3 dan yang lainnya ke pin 6 pada L293D. Untuk sinyal kontrol, hubungkan pin GPIO 13 ESP32 ke pin 2 pada L293D dan GPIO pin 14 ke pin 7. Terakhir, pastikan untuk menghubungkan ground ESP32 ke ground L293D untuk memastikan referensi yang sama. Jika video menyebutkan pengkabelan alternatif (di video pada 05:00), pastikan untuk mengikuti perubahan spesifik yang ditunjukkan.

Contoh Kode & Penjelasan

Kode untuk mengontrol motor terdiri dari mendefinisikan pin untuk motor dan mengatur mode mereka. Berikut kutipan dari fungsi setup:

#define motor1A 13
#define motor2A 14

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

Dalam potongan ini, kita mendefinisikan pin kontrol motor sebagai konstanta dan mengaturnya sebagai keluaran dalam fungsi setup. Ini sangat penting karena mempersiapkan pin untuk mengontrol motor. Fungsi loop adalah tempat perilaku motor dikontrol. Berikut bagian kunci dari loop:

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, HIGH);    
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(3000);
}

Kode ini memutar motor ke satu arah selama 2 detik, kemudian membalik arah selama 2 detik lagi, dan akhirnya menghentikan motor selama 3 detik. Loop ini akan berulang tanpa batas, memungkinkan kontrol yang berkelanjutan. Untuk wawasan yang lebih detail dan kode lengkap, lihat program lengkap yang dimuat di bawah artikel.

Demonstrasi / Apa yang Diharapkan

Setelah berhasil menghubungkan kabel dan mengunggah kode, Anda akan melihat motor berputar ke satu arah selama 2 detik, berubah arah selama 2 detik lagi, dan kemudian berhenti selama 3 detik. Jika motor tidak merespons seperti yang diharapkan, periksa kesalahan umum seperti polaritas terbalik atau koneksi pin yang salah (di video pada 08:00). Rangkaian ini menyediakan cara yang sederhana untuk mengontrol kecepatan dan arah motor DC menggunakan ESP32 dan L293D.

Stempel Waktu Video

  • 00:00 Mulai
  • 2:01 Pengenalan motor DC
  • 6:14 Driver motor L293D
  • 9:17 Dokumen Proyek
  • 11:04 Penjelasan Kabel
  • 14:41 Kontrol motor Arduino dengan ESP32
  • 17:10 Memilih Port Arduino untuk papan ESP32
  • 18:52 Demonstrasi proyek
  • 22:08 Kontrol Kecepatan Motor menggunakan ESP32
  • 26:22 Demo Kontrol Kecepatan
  • 28:01 Kode Arduino untuk kontrol Kecepatan dan Arah
  • 29:05 Demonstrasi Kecepatan dan Arah

Gambar

L293D-Motor-Driver-IC
L293D-Motor-Driver-IC
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_wiring
ESP32-15_L293D_motor_wiring
814-ESP32 Tutorial 15/55- Arduino code for L293D motor control
Bahasa: C++
#define motor1A 13
#define motor2A 14

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin as an output.
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

// the loop function runs over and over again forever
void loop() {
  
  // Rotate
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(2000); 

  // Rotate in the opposite direction
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, HIGH);    
  delay(2000); 

  // Stop
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(3000);
}

Hal-hal yang mungkin Anda butuhkan

Sumber daya & referensi

Berkas📁

Lembar Data (pdf)