Raspberry Pi - Pompe

Ce tutoriel vous explique comment utiliser un Raspberry Pi pour contrôler une pompe. Vous pouvez le modifier pour créer un système d'irrigation, un aquarium, un système de remplissage d'eau ...

La pompe peut être contrôlée de deux façons. La première façon utilise un relais, qui ne fait que démarrer et arrêter la pompe. La deuxième façon utilise un module MOSFET. Il démarre et arrête aussi la pompe, mais il peut aussi changer la vitesse de la pompe, vous pouvez donc choisir la quantité d'eau qui coule. Il ne fait aucun bruit de clic. Les deux façons sont expliquées sur cette page.

Préparation du matériel

1×Raspberry Pi 5
1×Relais
1×Alternativement: MOSFET Module (AOD4184, LR7843 or FR120N)
1×12V Pompe
1×Vinyl Tube
1×Adaptateur secteur 12V
1×Connecteur d'alimentation DC
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de la pompe 12V

Le brochage de la pompe

Raspberry Pi Pump brochage
image source: diyables.io

La pompe 12V a généralement deux broches :

  • La broche négative (noire) doit être connectée à la terre de l'alimentation électrique en courant continu.
  • La broche positive (rouge) doit être reliée au 12V de l'alimentation électrique en courant continu.

Comment contrôler une pompe avec un Raspberry Pi

Pour faire fonctionner une pompe 12V, elle doit être alimentée par une alimentation 12V. Un relais doit être utilisé pour contrôler la pompe à partir d'un Raspberry Pi. Le Raspberry Pi peut ensuite être utilisé pour contrôler la pompe via le relais.

Si vous n'êtes pas familier avec les relais (brochage, fonctionnement, programmation, etc.), veuillez vous référer au Raspberry Pi - Relais. pour plus d'informations.

Pour découvrir le module MOSFET (brochage, fonctionnement, programmation), consultez le tutoriel Raspberry Pi - Module MOSFET.

Relais ou module MOSFET pour une pompe

Relais Module MOSFET
Contrôle de la pompe démarrer ou arrêter seulement démarrer, arrêter, et débit (vitesse de la pompe) par PWM
Durée de vie limitée, les contacts s'usent longue, il n'y a pas de pièces mobiles
Bruit un clic à chaque commutation silencieux
Vitesse de commutation lente (millisecondes) très rapide
Pompes prises en charge pompes CA et CC pompes CC uniquement
Alimentation de la pompe tout ce qui est dans la limite du relais 6V ou plus est nécessaire
Isolation oui (bobine et contacts) oui (optocoupleur PC817)
À choisir quand la pompe fonctionne en CA, ou vous avez seulement besoin de ON/OFF vous avez une pompe CC 12V et vous voulez régler le débit

Avec la pompe CC 12V de ce tutoriel, les deux façons fonctionnent. Choisissez le module MOSFET si vous voulez un débit doux, par exemple pour arroser des plantes lentement ou pour remplir un petit verre sans éclaboussures.

Diagramme de câblage

Schéma de câblage de la pompe Raspberry Pi

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

Code Raspberry Pi pour contrôler la pompe

Le code ci-dessous allume la pompe pendant cinq secondes, puis l'éteint pendant cinq secondes, de manière répétée.

Étapes rapides

  • Assurez-vous d'avoir installé Raspbian ou un autre système d'exploitation compatible Raspberry Pi sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous devez installer des bibliothèques.
  • Si c'est la première fois que vous utilisez un Raspberry Pi, voir Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Voir comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Créez un fichier de script Python pump.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-pump import RPi.GPIO as GPIO import time # Set the GPIO mode (BCM or BOARD) GPIO.setmode(GPIO.BCM) # Define the GPIO pin controls the pump via the relay module RELAY_PIN = 12 # Set the relay pin as an output pin GPIO.setup(RELAY_PIN, GPIO.OUT) try: # Run the loop function indefinitely while True: # Turn the relay ON (HIGH) to turn on the pump GPIO.output(RELAY_PIN, GPIO.HIGH) time.sleep(5) # Wait for 5 seconds # Turn the relay OFF (LOW) to turn off the pump GPIO.output(RELAY_PIN, GPIO.LOW) time.sleep(5) # Wait for 5 seconds except KeyboardInterrupt: # If the user presses Ctrl+C, clean up the GPIO configuration GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 pump.py
  • Vérifiez l'état de la pompe.

Le script s'exécute dans une boucle infinie en continu jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Explication du Code

Consultez l'explication ligne par ligne contenue dans les commentaires du code source !

Consultez Raspberry Pi - Bouton - Pompe. pour apprendre à faire fonctionner une pompe 10 secondes après avoir appuyé sur un bouton.

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

Ici, un module MOSFET est utilisé à la place du relais. Le Raspberry Pi lui envoie des impulsions PWM, et la vitesse de la pompe suit le rapport cyclique : un rapport cyclique plus élevé signifie plus de débit d'eau.

Diagramme de câblage

Schéma de câblage de la pompe à eau Raspberry Pi avec module MOSFET

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

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi

Côté commande :

  • PWM du module MOSFET → GPIO16 du Raspberry Pi (broche 36)
  • GND du module MOSFET → GND du Raspberry Pi (broche 34)

Côté alimentation :

  • Borne + → positif de l'adaptateur 12V et fil rouge de la pompe (les deux fils dans la même borne)
  • Borne LOAD → fil noir de la pompe
  • Borne − → négatif de l'adaptateur 12V
  • Le moteur de la pompe est une bobine, ajoutez donc une diode de roue libre (flyback) 1N5819 ou 1N4007 à ses bornes. Mettez l'extrémité avec la bande (cathode) sur le fil positif de la pompe.

Code Raspberry Pi

Nous réutilisons le script du tutoriel du module MOSFET. Il fait fonctionner la pompe à plein débit pendant 2 secondes, l'arrête pendant 2 secondes, puis augmente le débit de 10 % à 100 % et le redescend à 0 %.

Étapes rapides

  • Suivez la préparation des étapes rapides du relais ci-dessus (système d'exploitation, SSH, RPi.GPIO).
  • Mettez la pompe dans l'eau et câblez-la au module MOSFET comme dans le schéma ci-dessus.
  • Créez un fichier script Python MosfetModule.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-pump import RPi.GPIO as GPIO import time MOSFET_PIN = 16 # GPIO16 (pin 36) connected to the PWM pin of the MOSFET module GPIO.setmode(GPIO.BCM) GPIO.setup(MOSFET_PIN, GPIO.OUT) pwm = GPIO.PWM(MOSFET_PIN, 500) # 500 Hz PWM, slow enough for the module's optocoupler pwm.start(0) # start with the load OFF def set_load(percent): pwm.ChangeDutyCycle(percent) print("Load power: {}%".format(percent)) try: 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) except KeyboardInterrupt: pass finally: pwm.stop() GPIO.cleanup()
  • Branchez l'adaptateur 12V. Ensuite, exécutez :
python3 MosfetModule.py
  • Regardez l'eau qui sort du tube. Le débit est fort, puis s'arrête, puis augmente petit à petit et devient de nouveau plus faible. À un faible rapport cyclique, la pompe peut ne pas pousser d'eau du tout.
  • Le terminal affiche :
PuTTY - Raspberry Pi
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%

N'oubliez pas : le module MOSFET est pour les pompes CC avec une alimentation d'environ 6V ou plus. Une pompe CA a besoin du relais.

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 !