Search Code

ESP32 Eğitimi 15/55 - ESP32 L293D ile DC Motor Hız Kontrolü | SunFounder'ın ESP32 IoT Öğrenme Kiti

ESP32 Eğitimi 15/55 - ESP32 L293D ile DC Motor Hız Kontrolü | SunFounder'ın ESP32 IoT Öğrenme Kiti

ESP32 Eğitimi 15/55 - ESP32 L293D ile DC Motor Hız Kontrolü | SunFounder'ın ESP32 IoT Öğrenme Kiti

Bir ESP32 ile DC motoru kontrol etmek göz korkutucu görünebilir, ancak doğru bileşenler ve anlayışla oldukça yönetilebilir. Bu eğitimde, L293D motor sürücüsünü kullanarak bir DC motorun hızını ve yönünü kontrol etmemizi sağlayan bir proje oluşturacağız. Sonunda, motorun hızını ayarlarken ileri ve geri döndürebilen çalışan bir kuruluma sahip olacaksınız. Görsel bir referans için videoyu kontrol ettiğinizden emin olun (videoda 00:00'da).

ESP32-15_L293D_motor_şeması

Donanım Açıklaması

Bu projenin ana bileşenleri ESP32 mikrodenetleyicisi ve L293D motor sürücüsüdür. ESP32, yerleşik Wi-Fi ve Bluetooth özelliklerine sahip güçlü bir mikrodenetleyicidir ve IoT uygulamaları için uygundur. GPIO pinleri aracılığıyla motorlar dahil çeşitli donanım bileşenlerini kontrol edebilir. L293D, iki DC motorun yönünü ve hızını kontrol etmenizi sağlayan çift H-köprüsü motor sürücüsüdür. Her H-köprüsü, motor terminallerine uygulanan voltajın polaritesini tersine çevirerek bir motoru her iki yönde de sürebilir. Ek olarak, L293D kanal başına 600 mA'ya kadar akımı kaldırabilir, bu da onu küçük ve orta boy motorlar için uygun hale getirir.

L293D-Motor-Sürücü-IC

Veri Sayfası Ayrıntıları

Üretici Texas Instruments
Parça numarası L293D
Mantık/IO voltajı 2,5 – 7 V
Besleme voltajı 4,5 – 36 V
Çıkış akımı (kanal başına) 600 mA (tipik)
Tepe akımı (kanal başına) 1,2 A (maks)
PWM frekansı kılavuzu 20 kHz (tipik)
Giriş mantık eşikleri 0,8 V (yüksek), 2,0 V (düşük)
Voltaj düşümü / RDS(on) / doyum 1,5 V (maks)
Termal sınırlar 150 °C (maks)
Paket 16-DIP
Notlar / varyantlar Dörtlü yarım-H sürücü

 

  • Yüksek akım uygulamaları için uygun ısı emici kullanımını sağlayın.
  • Voltaj ani yükselmelerini önlemek için güç kaynağını kapasitörlerle ayırın.
  • Ters polariteyi önlemek için kablolamada dikkatli olun.
  • Aşırı ısınmayı önlemek için hız kontrolünde PWM kullanın.
  • Hasarları önlemek için motorun anma voltajını kontrol edin.

Bağlantı Talimatları

ESP32-15_L293D_motor_wiring

ESP32 ve L293D motor sürücüsünü bağlamak için gücü bağlayarak başlayın. L293D'nin 16. pinini güç kaynağınızın pozitif terminaline ve 4. pini toprağa bağlayın. Ardından motoru bağlayın: bir terminali L293D üzerindeki 3. pine ve diğerini 6. pine bağlayın. Kontrol sinyalleri için ESP32'nin GPIO 13 pinini L293D üzerindeki 2. pine ve GPIO 14 pinini 7. pine bağlayın. Son olarak, ortak bir referans sağlamak için ESP32'nin toprağını L293D toprağına bağladığınızdan emin olun. Video alternatif bir bağlantıdan bahsediyorsa (videoda 05:00'da), gösterilen belirli değişiklikleri takip ettiğinizden emin olun.

Kod Örnekleri ve Açıklama

Motoru kontrol etmek için kod, motor için pinleri tanımlamak ve modlarını ayarlamaktan oluşur. İşte kurulum fonksiyonundan bir alıntı:

#define motor1A 13
#define motor2A 14

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

Bu parçada, motor kontrol pinlerini sabitler olarak tanımlıyoruz ve kurulum fonksiyonunda bunları çıkış olarak ayarlıyoruz. Bu, pinleri motoru kontrol etmek için hazırladığı için çok önemlidir. Döngü fonksiyonu, motorun davranışının kontrol edildiği yerdir. İşte döngünün önemli bir kısmı:

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);
}

Bu kod, motoru 2 saniye boyunca bir yönde döndürür, ardından yönü 2 saniye daha tersine çevirir ve son olarak motoru 3 saniye durdurur. Bu döngü süresiz olarak tekrarlanarak sürekli kontrol sağlar. Daha ayrıntılı bilgiler ve tam kod için makalenin altında yüklenen tam programa bakın.

Gösterim / Beklentiler

Bağlantıyı başarıyla yapıp kodu yükledikten sonra, motorun 2 saniye boyunca bir yönde döndüğünü, 2 saniye daha yön değiştirdiğini ve ardından 3 saniye durduğunu görmelisiniz. Motor beklenen şekilde yanıt vermezse, ters polarite veya yanlış pin bağlantıları gibi yaygın hataları kontrol edin (videoda 08:00'da). Bu kurulum, ESP32 ve L293D kullanarak bir DC motorun hızını ve yönünü kontrol etmenin basit bir yolunu sağlar.

Video Zaman Damgaları

  • 00:00 Başlangıç
  • 2:01 DC motoruna giriş
  • 6:14 L293D Motor sürücüsü
  • 9:17 Proje dokümanları
  • 11:04 Bağlantı açıklaması
  • 14:41 ESP32 ile Arduino motor kontrolü
  • 17:10 ESP32 kartı için Arduino portlarını seçme
  • 18:52 Proje gösterimi
  • 22:08 ESP32 kullanarak motor hız kontrolü
  • 26:22 Hız kontrolü gösterimi
  • 28:01 Hız ve yön kontrolü Arduino kodu
  • 29:05 Hız ve yön gösterimi

Görseller

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
Dil: 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);
}

İhtiyacın olabileceğini düşünüyor

Kaynaklar ve referanslar

Dosyalar📁

Veri Sayfası (pdf)