ESP32 - Contrôle du ventilateur

Ce tutoriel vous indique comment contrôler un ventilateur de 12 V ou de 5 V avec un ESP32 et MicroPython. Nous aborderons :

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 sait faire cela aussi, et il peut en plus faire tourner le ventilateur plus vite ou plus lentement avec le PWM, sans aucun bruit de clic. Cette page présente les deux façons.

Ventilateur ESP32 MicroPython

À propos du ventilateur à courant continu

Schéma des broches

Un ventilateur à courant continu est généralement équipé de deux broches.

  • Connectez la broche noire, étiquetée comme négative (-), au fil négatif de l'alimentation à courant continu.
  • Connectez la broche rouge, étiquetée comme positive (+), au fil positif de l'alimentation à courant continu.
Pinout du ventilateur
image source: diyables.io

Assurez-vous que la tension de l'alimentation à courant continu est la même que la tension requise par le ventilateur. Dans ce guide, nous utilisons des ventilateurs qui nécessitent 12 VDC et 5 VDC.

Comment contrôler le ventilateur

  • Lorsqu'un ventilateur à courant continu utilise une alimentation 12 V/5 V, il tourne à pleine vitesse.
  • Lorsqu'un ventilateur à courant continu reçoit un signal PWM 12 V/5 V, vous pouvez ajuster la vitesse du ventilateur.

Dans ce guide, nous allons vous apprendre comment allumer et éteindre un ventilateur à l’aide d’un ESP32. Nous vous montrerons comment contrôler la vitesse du ventilateur dans un autre guide. Pour contrôler le ventilateur, nous connectons un relais entre l’ESP32 et le ventilateur. L’ESP32 contrôle le relais pour contrôler le ventilateur indirectement. Si vous êtes nouveau dans le domaine des relais ou de la programmation MicroPython pour l’ESP32, je vous recommande de consulter le tutoriel ci-dessous :

Vous voulez aussi contrôler la vitesse ? Alors le module MOSFET est la pièce à utiliser. Ses broches et son fonctionnement sont expliqués dans le tutoriel ESP32 - Module MOSFET.

Relais ou module MOSFET pour le ventilateur

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
Durée de vie les contacts métalliques s'usent après de nombreuses commutations rien ne bouge, donc rien ne s'use
Type de ventilateur ventilateurs AC ou DC ventilateurs DC uniquement
Tension d'alimentation du ventilateur toute tension dans la limite du relais environ 6 V ou plus (un ventilateur 5 V ne fonctionnera pas)
Isolation oui, entre la bobine et les contacts oui, grâce à l'optocoupleur PC817
Bon choix pour ventilateurs AC, simple allumé/éteint ventilateurs DC 12 V quand vous voulez contrôler la vitesse

Pour le ventilateur DC 12 V de ce guide, le module MOSFET est le meilleur choix si vous voulez un ventilateur silencieux qui peut tourner à mi-vitesse. Gardez le relais pour un ventilateur AC, ou pour le ventilateur 5 V, car le module MOSFET a besoin d'une tension d'alimentation plus élevée.

Diagramme de câblage

  • Comment connecter l'ESP32 et contrôler le ventilateur en utilisant une planche de prototypage (alimentée via un câble USB)
Schéma de câblage du ventilateur ESP32 MicroPython

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

Le schéma ci-dessous montre les mêmes connexions sans plaque d'essai :

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

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

  • Comment connecter l'ESP32 et piloter le ventilateur en utilisant une planche de prototypage (alimentée via la broche Vin)
Schéma de câblage du ventilateur ESP32 MicroPython

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

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

Code MicroPython pour ESP32

Ce code allume le ventilateur pendant cinq secondes, puis l’éteint pendant encore cinq secondes.

/* * 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-fan */ from machine import Pin import time RELAY_PIN = 16 # The ESP32 pin GPIO16 connected to the fan 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 fan for 5 seconds time.sleep(5) relay.value(0) # Turn off fan for 5 seconds time.sleep(5)

Étapes rapides

Voici les instructions pour configurer et exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :

  • Assurez-vous que l’IDE Thonny est installé sur votre ordinateur.
  • Assurez-vous que le micrologiciel MicroPython est chargé sur votre carte ESP32.
  • Si c’est la première fois que vous utilisez un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
  • Connectez la carte ESP32 au ventilateur selon le schéma fourni.
  • Connectez 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, sélectionnez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le port correct est sélectionné. L’IDE Thonny 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 :
    • Cliquer sur le bouton Enregistrer ou appuyer 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 Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Vérifiez que le ventilateur fonctionne.

Explication du code

Les commentaires dans le code ESP32 MicroPython ci-dessus expliquent les détails.

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

Dans cette partie, le relais est remplacé par un module MOSFET. L'ESP32 envoie maintenant un signal PWM, donc le ventilateur ne fait pas seulement démarrer et s'arrêter. Il peut aussi tourner lentement, vite, ou à toute vitesse entre les deux.

Diagramme de câblage

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

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

Pas de plaque d'essai ? Le même circuit peut être câblé sans, comme ci-dessous :

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

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

De Vers
ESP32 GPIO18 Broche PWM du module MOSFET
ESP32 GND Broche GND du module MOSFET
Adaptateur 12 V + (via la prise jack DC) Borne +
Fil rouge (+) du ventilateur Borne + (partagée avec le + de l'adaptateur)
Fil noir (−) du ventilateur Borne LOAD
Adaptateur 12 V − (via la prise jack DC) Borne −

Un ventilateur a une bobine de moteur à l'intérieur. Placez une diode de roue libre (flyback) (1N4007 ou 1N5819) entre les deux fils du ventilateur. L'extrémité avec la bande (cathode) va au fil + du ventilateur, et l'autre extrémité va au fil − du ventilateur. Cela protège le MOSFET des pics de tension.

Code MicroPython ESP32 - Vitesse du ventilateur avec module MOSFET

Le ventilateur tourne à pleine vitesse pendant 2 secondes et s'arrête pendant 2 secondes. Ensuite, le script augmente la puissance de 10 % à 100 %, et vous entendez le ventilateur accélérer. Après cela, il diminue de nouveau la puissance, et le ventilateur ralentit 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-fan */ 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

  • Configurez Thonny et l'ESP32 de la même façon que dans les étapes rapides du relais ci-dessus.
  • Câblez le ventilateur, le module MOSFET et la prise jack DC comme indiqué sur le diagramme. Gardez l'adaptateur 12 V débranché.
  • Collez le code dans Thonny et enregistrez-le sur l'ESP32 sous le nom main.py.
  • Branchez l'adaptateur 12 V.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5).
  • Écoutez le ventilateur et regardez le Shell dans Thonny.
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 ≡

Certains ventilateurs ne démarrent pas à 10 % ou 20 %. C'est normal. Ils commencent à tourner à un niveau de puissance plus élevé.

※ Note:

Le module MOSFET fonctionne uniquement en courant continu (DC), et il a besoin d'une alimentation du ventilateur d'environ 6 V ou plus. Pour un ventilateur AC, utilisez le 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 !