Arduino - Contrôle de pompe

Dans ce tutoriel, nous allons apprendre à contrôler une pompe à l'aide d'un Arduino. À partir de ce tutoriel, vous pouvez réaliser un système d'irrigation, un aquarium, un système de remplissage d'eau...

Vous pouvez connecter la pompe à l'Arduino de deux façons. La première utilise un relais, qui peut seulement démarrer et arrêter la pompe. La deuxième utilise un module MOSFET. Il démarre et arrête aussi la pompe, et il peut aussi faire tourner la pompe plus lentement ou plus vite, pour obtenir un petit ou un grand débit d'eau. Le module MOSFET ne fait aucun clic. Les deux façons sont expliquées ci-dessous.

À propos de la pompe 12V

Brochage

Brochage de la pompe Arduino
image source: diyables.io

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

  • Broche négative (-) (noire) : doit être connectée à la GND de l'alimentation DC
  • Broche positive (+) (rouge) : doit être connectée au 12V de l'alimentation DC

Comment contrôler une pompe

Si une pompe de 12V est alimentée par une alimentation de 12V, elle fonctionne. Pour contrôler une pompe, nous devons utiliser un relais entre l'Arduino et la pompe. L'Arduino peut contrôler la pompe via le relais. Si vous ne connaissez pas le relais (brochage, fonctionnement, programmation...), apprenez à propos du relais dans le Arduino - Relais.

Le tutoriel Arduino - Module MOSFET explique le module MOSFET en détail, si vous n'en avez jamais utilisé.

Relais ou module MOSFET pour une pompe 12V

Relais Module MOSFET
Contrôle de la pompe marche ou arrêt marche, arrêt, et vitesse de la pompe / débit d'eau (PWM)
Bruit de l'interrupteur bruit de clic aucun bruit
Vitesse de commutation lente (quelques millisecondes) très rapide
Durée de vie les contacts s'usent avec le temps aucune pièce mobile à l'intérieur
Pompe prise en charge CA ou CC CC uniquement
Tension d'alimentation de la pompe toute, selon la valeur nominale pas en dessous d'environ 6V
Isolation oui (bobine et contacts) oui (optocoupleur PC817)
Meilleur usage les pompes CA, simple marche/arrêt les pompes CC 12V, le contrôle du débit, les commutations fréquentes

Si vous voulez seulement remplir un réservoir ou arroser des plantes, les deux fonctionnent bien. Si vous voulez un débit doux, par exemple dans un aquarium, choisissez le module MOSFET.

Diagramme de câblage

Schéma de câblage de la pompe Arduino

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

Code Arduino

Le code ci-dessous active la pompe pendant cinq secondes et la désactive pendant cinq secondes de manière répétée.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-controls-pump */ // constants won't change const int RELAY_PIN = 3; // the Arduino pin, which connects to the IN pin of relay // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin D3 as an output. pinMode(RELAY_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(RELAY_PIN, HIGH); // turn on pump 5 seconds delay(5000); digitalWrite(RELAY_PIN, LOW); // turn off pump 5 seconds delay(5000); }

Étapes rapides

  • Connectez l'Arduino au PC via le câble USB
  • Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'Arduino
  • Observez l'état de la pompe

Explication du code

Vous pouvez trouver l'explication dans la ligne de commentaires du code Arduino ci-dessus.

Voir plus Arduino - Bouton - Pompe.

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

Cette partie montre la deuxième façon. Le relais est retiré et le module MOSFET commute la pompe, donc l'Arduino peut aussi changer la vitesse de la pompe.

Diagramme de câblage

Schéma de câblage Arduino, pompe 12V et module MOSFET

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

  • Broche PWM du module ← broche 9 d'Arduino
  • Broche GND du module ← GND d'Arduino
  • Borne − du module ← − de l'adaptateur 12V
  • Borne + du module ← + de l'adaptateur 12V et fil rouge (+) de la pompe ensemble
  • Borne LOAD du module ← fil noir (−) de la pompe

La pompe a un moteur à l'intérieur. Placez une diode de roue libre (flyback) (1N4007 ou 1N5819) aux bornes de la pompe : la bande (cathode) vers le + de la pompe, l'autre extrémité vers le − de la pompe.

Code Arduino

Le code est pris du tutoriel sur le module MOSFET, sans changement. D'abord la pompe tourne à pleine puissance pendant 2 secondes et s'arrête pendant 2 secondes. Après cela, la puissance monte de 10% à 100% puis descend à 0%, donc le débit d'eau augmente puis devient plus faible.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-controls-pump */ const int MOSFET_PIN = 9; // Arduino pin connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

Étapes rapides

  • Mettez la pompe dans l'eau. Ne la faites jamais tourner à sec.
  • Câblez la pompe et le module MOSFET comme dans le schéma ci-dessus.
  • Téléversez le code (les étapes de l'IDE sont les mêmes que dans la partie relais).
  • Branchez l'adaptateur secteur 12V.
  • Regardez l'eau qui sort du tuyau : forte, aucune, puis lentement plus forte et plus faible. À faible puissance, la pompe peut s'arrêter. C'est normal.
  • Ouvrez le Moniteur Série (vitesse de transmission 9600) et regardez le résultat.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
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%
Ln 11, Col 1
Arduino Uno on COM15
2

N'oubliez pas : utilisez le module MOSFET seulement pour une pompe CC avec une alimentation d'au moins environ 6V. Une pompe CA a besoin du relais.

Vidéo

Mettez-vous au défi

  • Fabriquez un système d'irrigation automatique en utilisant Arduino, un capteur d'humidité du sol et une pompe
  • Fabriquez un système de remplissage automatique d'eau en utilisant Arduino, un capteur de niveau d'eau et une pompe

Commentaires

※ 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 !