Search Code

ESP32 Eğitimi 16/55 - ESP32 ve L293D ile Mini Su Pompası | SunFounder'ın ESP32 IoT Öğrenme Kiti

ESP32 Eğitimi 16/55 - ESP32 ve L293D ile Mini Su Pompası | SunFounder'ın ESP32 IoT Öğrenme Kiti

Bu eğitimde, ESP32 mikrodenetleyicisini ve L293D motor sürücüsünü kullanarak 5V su pompasını nasıl kontrol edeceğimizi öğreneceğiz. Bu proje, motor sürücülerini mikrodenetleyicilerle kullanmaya harika bir giriştir ve bir mikrodenetleyicinin doğrudan sağlayabileceğinden daha fazla akım gerektiren cihazları kontrol etmenizi sağlar. Bu eğitimin sonunda, programatik olarak açılıp kapatılabilen çalışan bir su pompasına sahip olacaksınız.

ESP32, yerleşik Wi-Fi ve Bluetooth özellikleriyle gelen güçlü bir mikrodenetleyicidir ve IoT uygulamaları için uygundur. L293D motor sürücüsü, motoru çalıştırmak için gereken daha yüksek akımı yöneterek su pompasını kontrol etmek için kullanılır. Bu kurulum, ESP32'nin aşırı akım çekiminden güvende kalmasını sağlarken pompayı başlatmamıza ve durdurmamıza olanak tanır.

Donanım Açıklaması

Bu projede, çok yönlülüğü ve bağlantı seçenekleriyle bilinen ESP32 mikrodenetleyicisini kullanıyoruz. Bir Arduino gibi çalışabilirken Wi-Fi ve Bluetooth gibi ek özellikler sunar. L293D motor sürücüsü, ESP32 ile su pompası arasında bir arayüz görevi görür ve mikrodenetleyiciyi aşırı yüklemeden pompanın çalışmasını kontrol etmeye olanak tanır.

L293D, iki H-köprüsüne sahiptir ve motorun yönünü ve hızını kontrol etmesini sağlar. Her H-köprüsü, bir motoru her iki yönde de sürebilir ve bu da motor kontrolünün gerekli olduğu uygulamalar için uygun hale getirir. Bu durumda, pompayı yalnızca tek yönde çalıştırmamız gerekecek.

Veri Sayfası Detayları

ÜreticiTexas Instruments
Parça numarasıL293D
Mantık/IO voltajı4.5 - 36 V
Besleme voltajı4.5 - 36 V
Çıkış akımı (kanal başına)600 mA
Tepe akımı (kanal başına)1.2 A
PWM frekans kılavuzu1 kHz - 10 kHz
Giriş mantık eşikleri2 V (yüksek), 0.8 V (düşük)
Voltaj düşümü / RDS(on) / doyum1.5 V (maks)
Termal limitler+150 °C (maks)
PaketDIP-16
Notlar / varyantlarEndüktif yük koruması için yerleşik diyotlar içerir

  • Sürekli çalışma için uygun ısı dağılımını sağlayın.
  • Stabil güç kaynağı için dekuplaj kapasitörleri kullanın.
  • Hasarı önlemek için giriş voltajına dikkat edin.
  • Gerekirse hız kontrolü için PWM uygulayın.
  • Özellikle endüktif yüklerde kısa devreleri önlemek için kablolamayı kontrol edin.

Kablolama Talimatları

ESP32-16-motor-pump_wiring

ESP32 ve L293D motor sürücüsünü su pompasıyla bağlamak için şu adımları dikkatlice izleyin. İlk olarak, güç kaynağını L293D'ye bağlayın. Pin 1'i (motor A için etkinleştirme pini) ve pin 8'i (Vcc2) pozitif voltaj kaynağına (5V) bağlayın. Pin 4'ü (toprak) devrenizin toprağına bağlayın.

Ardından, ESP32'yi L293D'ye bağlayın. ESP32'den GPIO pin 13'ü L293D üzerindeki pin 2'ye (giriş 1) ve GPIO pin 14'ü pin 7'ye (giriş 2) bağlayın. Son olarak, su pompasını L293D'nin pin 3'üne (çıkış 1) ve pin 6'sına (çıkış 2) bağlayın. Doğru çalışma için tüm toprak bağlantılarının birbirine bağlı olduğundan emin olun. Bu talimatları izlerseniz, kablolamanız basit ve işlevsel olmalıdır.

Kod Örnekleri ve Açıklaması

Kodda, motor kontrolü için pin bağlantılarını tanımlıyoruz. motor1A ve motor2A tanımlayıcıları, ESP32 üzerindeki sırasıyla GPIO pin 13 ve 14'e karşılık gelir. Bu pinler, su pompasını L293D sürücüsü aracılığıyla kontrol edecektir.

#define motor1A 13
#define motor2A 14

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

setup() fonksiyonunda, motor kontrol pinlerini çıkış olarak başlatıyoruz. Bu, pompayı kontrol etmek için L293D sürücüsüne sinyal gönderebilmemizi sağlar. loop() fonksiyonu daha sonra pompanın çalışmasını kontrol eder.

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(5);
  
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(2000); // bir saniye bekle
}

loop() fonksiyonunda, pompayı başlatmak için motor1A'yı HIGH ve motor2A'yı LOW olarak ayarlıyoruz. Kısa bir gecikmeden sonra, her iki pini de LOW yaparak pompayı durduruyoruz. Bu döngü süresiz olarak tekrarlanır ve pompanın kısa bir süre çalışıp ardından durmasını sağlar.

Gösterim / Beklentiler

Kablolamayı tamamladıktan ve kodu yükledikten sonra, su pompasının bir döngü içinde açılıp kapandığını görmelisiniz. Pompa kısa bir süre çalışacak, ardından duracak ve bir açma-kapama deseni oluşturacaktır. Herhangi bir sorunu önlemek için güç kaynağınızın pompanın gereksinimleri için yeterli olduğundan emin olun (videoda 09:30'da).

Video Zaman Damgaları

  • 00:00 Başlangıç
  • 1:50 Proje Tanıtımı
  • 3:17 Neden Arduino ile L293D'ye ihtiyacımız var?
  • 5:47 Su pompası kablolaması açıklandı
  • 10:01 Arduino kodu açıklandı
  • 12:21 Arduino IDE'de ESP32 için COM portu seçimi
  • 14:03 Pompayı çalıştırma gösterimi
  • 15:25 Su ile gösterim

Görseller

ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
ESP32-16-motor-pump_wiring
5V DC water pump
5V DC water pump
815-ESP32 Tutorial 16/55 - Arduino code to control DC water pump
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(5);

  // Stop
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(2000); // wait for a second
}

Kaynaklar ve referanslar

Dosyalar📁

Veri Sayfası (pdf)