Arduino - Contrôle du ventilateur

Arduino peut non seulement allumer/éteindre le ventilateur, mais aussi contrôler la vitesse du ventilateur.

Dans ce tutoriel, nous allons apprendre à allumer/éteindre un ventilateur en utilisant Arduino.

Il y a deux façons de piloter le ventilateur : un relais ou un module MOSFET. Un relais est un simple interrupteur, donc le ventilateur est soit complètement allumé, soit complètement éteint. Un module MOSFET peut faire la même chose, et il peut aussi régler la vitesse du ventilateur avec le PWM, sans aucun bruit de clic. Cette page présente les deux façons : d'abord le relais, puis le module MOSFET.

À propos de DC Fan

Brochage

Un ventilateur CC a généralement deux broches :

  • Broche négative (-) (noire) : doit être connectée au fil négatif de l'alimentation CC
  • Broche positive (+) (rouge) : doit être connectée au fil positif de l'alimentation CC
Brochage du ventilateur
image source: diyables.io

La tension de l'alimentation CC doit être égale à la tension spécifiée par le ventilateur. Dans ce tutoriel, nous utiliserons des ventilateurs de 12VDC et de 5VDC.

Comment contrôler un ventilateur

  • Si le ventilateur à courant continu est alimenté par une alimentation de 12V/5V, il fonctionne à pleine vitesse.
  • Si le ventilateur à courant continu est alimenté par un signal PWM de 12V/5V, la vitesse du ventilateur peut être contrôlée.

Dans la première partie de ce tutoriel, nous allons apprendre à allumer/éteindre un ventilateur en utilisant Arduino avec un relais. Le contrôle de la vitesse du ventilateur est présenté dans la partie MOSFET, vers la fin. Pour allumer/éteindre un ventilateur, nous devons utiliser un relais entre l'Arduino et le ventilateur. Arduino peut allumer/éteindre le ventilateur via le relais. Si vous ne connaissez pas le relais (brochage, fonctionnement, comment programmer...), apprenez à propos du relais dans le Arduino - Relais.

Vous découvrez le module MOSFET ? Ses broches et son fonctionnement sont expliqués dans le tutoriel Arduino - Module MOSFET.

Relais ou module MOSFET pour un ventilateur CC

Relais Module MOSFET
Ce que vous pouvez contrôler ventilateur allumé ou éteint ventilateur allumé ou éteint, plus la vitesse du ventilateur (PWM)
Bruit un clic à chaque commutation aucun bruit
Vitesse de commutation lente, quelques millisecondes très rapide
Usure les contacts s'usent après de nombreuses commutations rien ne bouge, donc rien ne s'use
Type de ventilateur ventilateur CA ou CC ventilateur CC uniquement
Alimentation du ventilateur toute tension prévue pour le relais environ 6V ou plus
Isolation oui, entre la bobine et les contacts oui, par un optocoupleur PC817
Bon choix pour les ventilateurs CA, ou un ventilateur qui n'a besoin que de ON/OFF les ventilateurs CC 12V qui ont besoin d'un contrôle de vitesse

Pour un ventilateur CC 12V, le module MOSFET est généralement le meilleur choix, car vous pouvez faire tourner le ventilateur lentement et silencieusement quand la pleine vitesse n'est pas nécessaire. Un ventilateur 5V est trop faible pour le module, donc gardez le relais pour lui. Gardez aussi le relais pour un ventilateur CA.

Diagramme de câblage

Schéma de câblage du ventilateur Arduino

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

Vous voulez que le câblage reste bien en place ? Dans ce cas, utilisez un Proto Screw Terminal Block Shield ou un Screw Shield V2. Il se branche sur la carte Arduino et donne un bornier à vis à chaque broche. Voir le schéma ci-dessous pour la version avec le screw shield.

Schéma de câblage du ventilateur Arduino (Screw Shield V2)

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

Code Arduino

Le code ci-dessous active le ventilateur pendant cinq secondes et le 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-fan */ // 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 fan 5 seconds delay(5000); digitalWrite(RELAY_PIN, LOW); // turn off fan 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 charger le code sur l'Arduino
  • Observez l'état du ventilateur

Explication du code

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

Comment contrôler la vitesse du ventilateur avec un module MOSFET

Remplaçons maintenant le relais par un module MOSFET. Arduino peut alors changer la vitesse du ventilateur, et pas seulement l'allumer et l'éteindre.

Diagramme de câblage

Schéma de câblage Arduino, ventilateur et module MOSFET

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

De Vers (module MOSFET)
Broche Arduino 9 PWM
GND Arduino GND
Adaptateur 12V + +
Fil rouge du ventilateur (+) + (la même borne que le + de l'adaptateur)
Fil noir du ventilateur (−) LOAD
Adaptateur 12V − −

Un ventilateur a une bobine de moteur à l'intérieur, donc ajoutez une diode de roue libre (flyback) (1N4007 ou 1N5819) aux bornes des fils du ventilateur. Le côté avec la bande (cathode) va au + du ventilateur, l'autre côté au − du ventilateur. Si le ventilateur a un troisième fil jaune, laissez-le libre.

Code Arduino - Contrôle de la vitesse du ventilateur

Ce code est le même que celui du tutoriel sur le module MOSFET. Le ventilateur tourne à pleine vitesse pendant 2 secondes et s'arrête pendant 2 secondes. Ensuite, il accélère pas à pas de 10% à 100%, puis ralentit de nouveau jusqu'à 0%.

/* * 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-fan */ 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

  • Câblez le ventilateur et le module MOSFET comme indiqué dans le schéma ci-dessus.
  • Faites les mêmes étapes de l'IDE Arduino que dans la partie relais ci-dessus, mais copiez et téléversez ce nouveau code.
  • Branchez l'adaptateur secteur 12V.
  • Écoutez le ventilateur : il tourne vite, s'arrête, puis devient lentement plus rapide et plus lent. À très faible puissance (en dessous d'environ 30%), le ventilateur peut ne pas tourner du tout. 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

Astuce : le module MOSFET fonctionne uniquement en CC et demande une alimentation du ventilateur d'environ 6V ou plus. Pour un ventilateur CA, utilisez le relais.

Vidéo

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 !