ESP32 - Contrôle du ventilateur

Ce tutoriel vous explique comment utiliser un ESP32 pour contrôler un ventilateur.

Il y a deux façons de piloter le ventilateur : un relais ou un module MOSFET. Un relais peut seulement allumer (ON) ou éteindre (OFF) le ventilateur. Un module MOSFET peut le faire aussi, et il peut également changer la vitesse de rotation du ventilateur. Cette page présente les deux façons, étape par étape.

À propos de DC Fan

Brochage

Disposition des broches du ventilateur
image source: diyables.io

Un ventilateur DC 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

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

Comment contrôler un ventilateur

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

Ce tutoriel vous explique comment utiliser l'ESP32 pour allumer/éteindre un ventilateur avec un relais. Le contrôle de la vitesse d'un ventilateur avec un module MOSFET est présenté à la fin de ce tutoriel.

Étant donné que le ventilateur utilise une haute tension, nous ne pouvons pas le connecter directement à l'ESP32, nous devons connecter le ventilateur à l'ESP32 indirectement via un relais. Nous avons des tutoriels spécifiques sur le relais (brochage, fonctionnement, programmation...), apprenez en plus sur le relais dans le ESP32 - Relais.

Le module MOSFET est l'autre choix. Ses broches, son câblage et son principe de fonctionnement sont expliqués dans le tutoriel ESP32 - Module MOSFET.

Relais ou module MOSFET pour un ventilateur

Relais Module MOSFET
Ce que vous pouvez contrôler seulement ON et OFF ON, OFF et la vitesse du ventilateur (PWM)
Bruit un clic à chaque commutation aucun bruit
Vitesse de commutation lente, quelques millisecondes très rapide
Durée de vie les contacts s'usent lentement rien ne bouge à l'intérieur
Type de ventilateur ventilateur CA ou CC ventilateur CC uniquement
Tension d'alimentation du ventilateur toute, dans les limites du relais environ 6V ou plus
Isolation de l'ESP32 oui, la bobine et les contacts sont séparés oui, optocoupleur PC817
Bon choix quand le ventilateur fonctionne en CA, ou ON/OFF suffit un ventilateur CC a besoin d'un contrôle de vitesse

Pour un ventilateur CC 12V, le module MOSFET est le meilleur choix, car vous pouvez faire tourner le ventilateur lentement et silencieusement quand la pleine vitesse n'est pas nécessaire. Le ventilateur 5V ne convient pas au module MOSFET, car le module a besoin d'une alimentation d'environ 6V ou plus. Utilisez le relais pour un ventilateur 5V ou un ventilateur CA.

Diagramme de câblage

  • Comment connecter l'ESP32 et contrôler le ventilateur avec une breadboard (alimenté via le câble USB)
Schéma de câblage du ventilateur ESP32

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

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, consultez les instructions dans le tutoriel suivant : Comment alimenter l'ESP32..

  • Comment connecter l'ESP32 et contrôler le ventilateur avec une breadboard (alimenté via la broche Vin)
Schéma de câblage du ventilateur ESP32

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

Comment connecter l'ESP32 et contrôler le ventilateur
Comment câbler l'ESP32 et contrôler le ventilateur

Code ESP32

Le code ci-dessous active et désactive le ventilateur toutes les 10 secondes.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-controls-fan */ #define RELAY_PIN 16 // ESP32 pin GPIO16, which connects to the fan the via the relay // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin A5 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 10 seconds delay(10000); digitalWrite(RELAY_PIN, LOW); // turn off fan 10 seconds delay(10000); }

Étapes rapides

  • Si c'est la première fois que vous utilisez un ESP32, consultez Installation du logiciel ESP32..
  • Réalisez le câblage comme sur l'image ci-dessus.
  • Connectez la carte ESP32 à votre PC via un câble USB Type-C.
  • Ouvrez Arduino IDE sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
  • Copiez le code ci-dessus et collez-le dans Arduino IDE.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans Arduino IDE.
  • Observez l'état du ventilateur.

Explication du code ligne par ligne

Le code ESP32 ci-dessus contient des explications ligne par ligne. Veuillez lire les commentaires dans le code !

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

Remplaçons maintenant le relais par un module MOSFET. L'ESP32 envoie un signal PWM au module, et le ventilateur 12V tourne plus vite ou plus lentement selon ce signal.

Diagramme de câblage du ventilateur et du module MOSFET

Schéma de câblage de l'ESP32, du ventilateur et du module MOSFET

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

De Vers
GPIO18 de l'ESP32 broche PWM du module
GND de l'ESP32 broche GND du module
Adaptateur 12V + borne + du module
Ventilateur + (fil rouge) borne + du module (avec le + de l'adaptateur)
Ventilateur − (fil noir) borne LOAD du module
Adaptateur 12V − borne − du module

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

Code ESP32 pour la vitesse du ventilateur

Le code fait d'abord tourner le ventilateur à pleine vitesse pendant 2 secondes, puis l'arrête pendant 2 secondes. Ensuite, il augmente la puissance de 10% à 100%, donc le ventilateur tourne de plus en plus vite, puis la baisse de nouveau, donc le ventilateur ralentit. Notez que beaucoup de ventilateurs ne démarrent pas à très faible puissance, donc le ventilateur peut rester immobile à 10% ou 20%.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-controls-fan */ const int MOSFET_PIN = 18; // ESP32 GPIO18 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

  • Configurez l'Arduino IDE et la carte de la même façon que dans les Étapes rapides du relais ci-dessus.
  • Câblez le ventilateur, le module MOSFET et l'adaptateur 12V comme dans le schéma ci-dessus. Gardez l'adaptateur débranché.
  • Copiez le code ci-dessus, collez-le dans Arduino IDE et téléversez-le sur l'ESP32.
  • Branchez l'adaptateur 12V.
  • Ouvrez le Moniteur Série avec une vitesse de transmission de 9600.
  • Écoutez et regardez le ventilateur changer de vitesse, et vérifiez le Moniteur Série.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' 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
ESP32 Dev Module 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 !