Certaines parties de ce site Web ne sont pas encore disponibles dans votre langue. Nous travaillons à résoudre ce problème et nous nous excusons pour tout inconvénient.
Tutoriel ESP32 16/55 - Mini pompe à eau utilisant l'ESP32 et le L293D | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous allons apprendre comment contrôler une pompe à eau de 5V en utilisant le microcontrôleur ESP32 et le driver de moteur L293D. Ce projet est une excellente introduction à l'utilisation des drivers de moteur avec des microcontrôleurs, vous permettant de contrôler des dispositifs qui nécessitent plus de courant que ce qu'un microcontrôleur peut fournir directement. À la fin de ce tutoriel, vous disposerez d'une pompe à eau fonctionnelle qui peut être activée et désactivée de manière programmatique.
L'ESP32 est un microcontrôleur puissant qui dispose de capacités Wi-Fi et Bluetooth intégrées, ce qui le rend adapté aux applications IoT. Le pilote de moteur L293D est utilisé pour contrôler la pompe à eau en gérant le courant élevé nécessaire pour faire fonctionner le moteur. Cette configuration nous permet de démarrer et d'arrêter la pompe tout en garantissant que l'ESP32 reste protégé contre une consommation de courant excessive.
Matériel expliqué
Dans ce projet, nous utilisons le microcontrôleur ESP32, qui est connu pour sa polyvalence et ses options de connectivité. Il peut fonctionner comme un Arduino tout en offrant des fonctionnalités supplémentaires telles que le Wi-Fi et le Bluetooth. Le pilote de moteur L293D agit comme une interface entre l'ESP32 et la pompe à eau, permettant de contrôler le fonctionnement de la pompe sans surcharger le microcontrôleur.
Le L293D dispose de deux ponts en H, ce qui lui permet de contrôler la direction et la vitesse du moteur. Chaque pont en H peut entraîner un moteur dans chaque direction, ce qui le rend adapté aux applications nécessitant un contrôle du moteur. Dans ce cas, nous aurons seulement besoin d'activer la pompe pour qu'elle fonctionne dans une seule direction.
Détails de la fiche technique
Fabricant
Texas Instruments
Numéro de pièce
L293D
Tension logique/IO
4,5 - 36 V
Tension d'alimentation
4,5 - 36 V
Courant de sortie (par canal)
600 mA
Courant de crête (par canal)
1,2 A
Directives de fréquence PWM
1 kHz - 10 kHz
Seuils logiques d'entrée
2 V (haut), 0,8 V (bas)
Chute de tension / RDS(on)/ saturation
1,5 V (max)
Limites thermiques
+150 °C (max)
Colis
DIP-16
Notes / variantes
Comprend des diodes intégrées pour la protection des charges inductives.
Assurez une dissipation de chaleur adéquate pour un fonctionnement continu.
Utilisez des condensateurs découplés pour une alimentation stable.
Soyez prudent avec la tension d'entrée pour éviter tout dommage.
Implémentez le PWM pour le contrôle de la vitesse si nécessaire.
Vérifiez le câblage pour éviter les courts-circuits, surtout avec les charges inductives.
Instructions de câblage
ESP32-16-motor-pump_wiring
Pour câbler l'ESP32 et le pilote de moteur L293D avec la pompe à eau, suivez ces étapes avec attention. Tout d'abord, connectez l'alimentation au L293D. Connectez la broche 1 (broche d'activation pour le moteur A) et la broche 8 (Vcc2) à la source de tension positive (5V). Connectez la broche 4 (masse) à la masse de votre circuit.
Ensuite, connectez l'ESP32 au L293D. Connectez la broche GPIO 13 de l'ESP32 à la broche 2 (entrée 1) du L293D, et la broche GPIO 14 à la broche 7 (entrée 2). Enfin, connectez la pompe à eau à la broche 3 (sortie 1) et à la broche 6 (sortie 2) du L293D. Assurez-vous que toutes les connexions de masse sont reliées ensemble pour un fonctionnement correct. Si vous suivez ces instructions, votre câblage devrait être simple et fonctionnel.
Exemples de code et guide étape par étape
Dans le code, nous définissons les connexions de broche pour le contrôle du moteur. Les identifiantsmotor1Aetmotor2Acorrespondent aux broches GPIO 13 et 14 sur l'ESP32, respectivement. Ces broches contrôleront la pompe à eau via le driver L293D.
Dans lesetup()fonction, nous initialisons les broches de contrôle du moteur en tant que sorties. Cela garantit que nous pouvons envoyer des signaux au driver L293D pour contrôler la pompe. Leloop()la fonction puis contrôle le fonctionnement de la pompe.
void loop() {
digitalWrite(motor1A, HIGH);
digitalWrite(motor2A, LOW);
delay(5);
digitalWrite(motor1A, LOW);
digitalWrite(motor2A, LOW);
delay(2000); // wait for a second
}
Dans leloop()fonction, nous fixonsmotor1Aà HAUT etmotor2Atrop bas pour démarrer la pompe. Après un court délai, nous arrêtons la pompe en mettant les deux broches à l'état bas. Ce cycle se répète indéfiniment, permettant à la pompe de fonctionner pendant une brève période puis de s'arrêter.
Démonstration / À quoi s'attendre
Une fois que vous avez terminé le câblage et téléchargé le code, vous devriez voir la pompe à eau s'activer et se désactiver en cycle. La pompe fonctionnera pendant une courte durée, puis s'arrêtera, créant un motif marche-arrêt. Assurez-vous que votre alimentation est adéquate pour les besoins de la pompe afin d'éviter tout problème (dans la vidéo à 09:30).
Horodatages vidéo
00:00 Début
1:50 Introduction au Projet
3:17 Pourquoi avons-nous besoin du L293D avec Arduino ?
5:47 Câblage pour la pompe à eau expliqué
10:01 Code Arduino expliqué
12:21 Sélectionner le port COM pour l'ESp32 sur Arduino IDE
14:03 Démonstration du fonctionnement de la pompe
15:25 Démonstration avec de l'eau
Images
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
5V DC water pump
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
5V DC water pump
815-ESP32 Tutorial 16/55 - Arduino code to control DC water pump