ESP32 - Contrôle de la pompe

Dans ce guide, vous apprendrez comment utiliser une pompe de 12 V avec un ESP32 et MicroPython. En détail, vous apprendrez :

Ce tutoriel vous aidera à créer des systèmes d'arrosage pour les plantes, les aquariums ou les stations de remplissage d'eau.

Vous pouvez commuter la pompe avec un relais ou avec un module MOSFET. Le relais ne fait que démarrer et arrêter la pompe. Le module MOSFET la démarre et l'arrête aussi, mais il peut en plus la faire tourner plus lentement ou plus vite avec le PWM, donc vous contrôlez la quantité d'eau qui circule. Et il ne fait aucun clic. Nous allons construire les deux versions.

Pompe ESP32 MicroPython

À propos de la pompe 12 V

Plan des broches

ESP32 MicroPython - Pinout de la pompe
image source: diyables.io

Une pompe de 12 V possède généralement deux broches.

  • Connectez la broche négative (-) (noire) à la masse de l'alimentation à courant continu.
  • Connectez la broche positive (+) (rouge) à 12 V sur l'alimentation à courant continu.

Comment contrôler une pompe

Une alimentation de 12 V fonctionne parfaitement pour une pompe de 12 V. Pour contrôler la pompe avec un ESP32, connectez un relais entre la pompe et l'ESP32. L'ESP32 utilisera le relais pour mettre la pompe en marche et l'arrêter. Si vous débutez avec les relais ou la programmation MicroPython pour l'ESP32, je vous recommande de consulter le tutoriel ci-dessous :

Vous n'avez jamais utilisé de module MOSFET ? Lisez d'abord ESP32 - Module MOSFET. Il explique les broches, les bornes à vis et le code PWM.

Relais ou module MOSFET pour la pompe

Relais Module MOSFET
Contrôle de la pompe marche ou arrêt marche ou arrêt, plus la vitesse et le débit de la pompe (PWM)
Meilleur usage pompes AC, simple allumé/éteint pompes DC 12 V, contrôle du débit, nombreux démarrages et arrêts
Type de charge AC ou DC DC uniquement
Alimentation de la pompe toute tension prévue pour le relais 6 V ou plus (la grille est alimentée par elle)
Bruit de commutation clic audible aucun
Temps de commutation lent, en millisecondes très court
Usure les contacts s'usent avec le temps aucune pièce mobile
Isolation oui, bobine et contacts oui, optocoupleur PC817

Pour la pompe DC 12 V utilisée ici, choisissez le module MOSFET quand vous voulez régler le débit d'eau, par exemple un débit doux pour les plantes. Si votre pompe fonctionne sur le secteur AC, le relais est la seule option des deux.

Diagramme de câblage

  • Comment connecter l'ESP32 et contrôler la pompe en utilisant une planche d'essai (alimentée via un câble USB)
Schéma de câblage d'une pompe ESP32 MicroPython

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Vous pouvez aussi monter ce circuit sans plaque d'essai. Voici le même câblage :

Schéma de câblage d'une pompe ESP32 MicroPython (sans plaque d'essai)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

  • Comment connecter l'ESP32 et contrôler une pompe en utilisant breadboard (alimenté via la broche Vin)
Schéma de câblage d'une pompe ESP32 MicroPython

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment connecter l'ESP32 et contrôler une pompe
Comment câbler l'ESP32 et contrôler la pompe

Code MicroPython pour ESP32

Le code ci-dessous met la pompe en marche pendant cinq secondes et l'éteint pendant cinq cycles.

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-micropython/esp32-micropython-controls-pump */ from machine import Pin import time RELAY_PIN = 16 # The ESP32 pin GPIO16 connected to the pump via relay pin # Initialize the relay pin as an output relay = Pin(RELAY_PIN, Pin.OUT) # Infinite loop while True: relay.value(1) # Turn on pump for 5 seconds time.sleep(5) relay.value(0) # Turn off pump for 5 seconds time.sleep(5)

Étapes rapides

Voici les instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :

  • Assurez-vous que l’IDE Thonny est installé sur votre ordinateur.
  • Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
  • Si c’est votre première utilisation d’un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
  • Reliez la carte ESP32 à la pompe de 12 V selon le schéma fourni.
  • Reliez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez l’IDE Thonny sur votre ordinateur.
  • Dans l’IDE Thonny, allez dans Outils Options.
  • Sous l’onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. Thonny IDE le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sous Windows ou /dev/ttyACM0 sous Linux).
  • Copiez le code MicroPython fourni et collez-le dans l’éditeur de Thonny.
  • Enregistrez le code sur votre ESP32 en procédant comme suit :
    • Cliquez sur le bouton Enregistrer ou appuyez sur Ctrl+S.
    • Dans la boîte de dialogue d’enregistrement, choisissez Périphérique MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Run (ou appuyez sur F5) pour exécuter le script.
  • Vérifiez que la pompe fonctionne correctement.

Explication du code

Les commentaires du code MicroPython ESP32 ci-dessus expliquent tout.

Comment contrôler le débit de la pompe avec un module MOSFET

Cette section utilise un module MOSFET à la place du relais. En changeant le rapport cyclique du PWM, l'ESP32 règle la vitesse de la pompe, et donc la quantité d'eau qu'elle déplace.

Diagramme de câblage

Schéma de câblage ESP32 MicroPython pompe avec module MOSFET

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Si vous n'utilisez pas de plaque d'essai, câblez-le ainsi :

Schéma de câblage ESP32 MicroPython pompe avec module MOSFET (sans plaque d'essai)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche du module MOSFET Se connecte à
PWM ESP32 GPIO18
GND ESP32 GND
+ adaptateur 12 V + (via la prise jack DC) et fil rouge (+) de la pompe
LOAD fil noir (−) de la pompe
− adaptateur 12 V − (via la prise jack DC)

Le moteur de la pompe est une bobine, donc ajoutez une diode de roue libre (flyback) (1N4007 ou 1N5819) entre les deux fils de la pompe : l'extrémité avec la bande (cathode) vers le fil + de la pompe, l'autre extrémité vers le fil − de la pompe.

Code MicroPython ESP32 - Pompe avec module MOSFET

La pompe tourne d'abord à pleine puissance pendant 2 secondes, puis s'arrête pendant 2 secondes. Ensuite, la puissance monte par paliers de 10 % à 100 %, et le débit d'eau devient plus fort. Puis la puissance descend palier par palier, et le débit devient plus faible jusqu'à l'arrêt.

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-micropython/esp32-micropython-controls-pump */ from machine import Pin, PWM import time MOSFET_PIN = 18 # ESP32 GPIO18 connected to the PWM pin of the MOSFET module pwm = PWM(Pin(MOSFET_PIN), freq=500) # 500 Hz PWM, slow enough for the module's optocoupler pwm.duty_u16(0) # start with the load OFF def set_load(percent): pwm.duty_u16(percent * 65535 // 100) # convert 0-100% to 0-65535 print("Load power: {}%".format(percent)) while True: # turn the load fully ON, then fully OFF print("Load: ON") set_load(100) time.sleep(2) print("Load: OFF") set_load(0) time.sleep(2) # increase the power step by step (PWM) for percent in range(10, 101, 10): set_load(percent) time.sleep(0.5) # decrease the power step by step (PWM) for percent in range(90, -1, -10): set_load(percent) time.sleep(0.5) time.sleep(1)

Étapes rapides

  • Faites la configuration de Thonny et de l'ESP32 décrite dans les étapes rapides du relais ci-dessus.
  • Mettez la pompe dans l'eau. Ne la faites jamais tourner à sec.
  • Connectez tout comme dans le diagramme, mais ne branchez pas encore l'adaptateur 12 V.
  • Enregistrez le code sur l'ESP32 sous le nom main.py.
  • Branchez l'adaptateur 12 V et cliquez sur le bouton vert Run (ou appuyez sur F5).
  • Regardez le débit d'eau et les messages dans le Shell.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

À faible puissance, une pompe peut seulement ronronner sans déplacer d'eau. C'est normal. Elle commence à pomper à un niveau plus élevé.

Rappel : le module MOSFET est réservé aux pompes DC, avec une alimentation d'au moins 6 V environ. Utilisez le relais pour une pompe AC.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !