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).
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.
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 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
#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);
}
Common Course Links
Common Course Files
İhtiyacın olabileceğini düşünüyor
-
AmazonPurchase L293D motor driver ICamzn.to
-
eBay
-
AliExpressPurchase L293D motor driver IC from AliExpresss.click.aliexpress.com
Kaynaklar ve referanslar
-
BelgelendirmeESP32 Tutorial 15/55 - SunFounder motor control documentationdocs.sunfounder.com
Dosyalar📁
Veri Sayfası (pdf)
-
L293d_Quadruple_half_bridge_datasheet
l293d_Quadruple_half_bridge_datasheet.pdf0.34 MB