ESP32 - Contrôle de l'élément chauffant

Ce tutoriel vous explique comment contrôler un élément chauffant avec l’ESP32 et MicroPython. En détail, nous apprendrons :

Un élément chauffant peut être piloté par un relais ou par un module MOSFET. Le relais n'offre que deux états : chauffe à pleine puissance, ou pas de chauffe. Le module MOSFET l'allume et l'éteint aussi, mais avec le PWM il peut ne donner à l'élément qu'une partie de la puissance, donc vous pouvez choisir un niveau de chaleur plus bas. Il est silencieux, et il ne s'use pas quand il commute de nombreuses fois. Nous passons en revue les deux méthodes ci-dessous.

Élément chauffant pour ESP32 MicroPython

À propos de l'élément chauffant

Schéma des broches

Pinout de l'élément chauffant ESP32 MicroPython

Un élément chauffant comporte généralement deux broches :

  • Connectez la broche positive (+) (rouge) à l'alimentation CC de 12 V.
  • Connectez la broche négative (-) (noire) à la masse (GND) de l'alimentation CC de 12 V.

Comment contrôler l'élément chauffant

Lorsqu'un élément chauffant de 12 V est connecté à une source d'alimentation de 12 V, il produit de la chaleur. Pour contrôler l'élément chauffant avec un ESP32, nous utilisons un relais. L'ESP32 envoie des signaux au relais, qui contrôle ensuite l'élément chauffant. Si vous avez besoin de plus d'informations sur le fonctionnement d'un relais, sa configuration de broches ou la façon de le mettre en place, consultez le ESP32 - Relais..

La deuxième option est un module MOSFET. Le guide ESP32 - Module MOSFET présente son brochage, les trois versions de puce, et comment le PWM change la puissance.

Relais ou module MOSFET pour l'élément chauffant

Relais Module MOSFET
Contrôle de la chaleur pleine chaleur ou pas de chaleur pleine chaleur, pas de chaleur, ou un niveau de chaleur intermédiaire (PWM)
Commutation fréquente (par exemple, pour garder une température fixe) les contacts s'usent plus vite aucun problème, il n'a pas de pièces mobiles
Bruit clics silencieux
Vitesse lente (millisecondes) très rapide
Type d'alimentation AC ou DC DC uniquement
Alimentation minimale pas de minimum (dans la limite du relais) environ 6 V, car la grille reçoit sa tension de cette alimentation
Isolation oui (la bobine et les contacts sont séparés) oui (optocoupleur PC817)
À utiliser pour radiateurs AC, simple allumé/éteint radiateurs DC 12 V, contrôle du niveau de chaleur, commutation fréquente

Si votre élément chauffant fonctionne en 12 V DC, le module MOSFET est un bon choix. Il peut garder un niveau de chaleur plus bas, et il peut s'allumer et s'éteindre toute la journée pour garder une température sans s'user. Pour un radiateur sur secteur (AC), vous devez rester avec le relais.

Diagramme de câblage

  • Comment connecter l'ESP32 et contrôler l'élément chauffant en utilisant planche de prototypage (alimenté par câble USB)
Schéma de câblage de l'élément chauffant ESP32 MicroPython

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

  • Comment connecter l'ESP32 et contrôler un élément chauffant en utilisant une planche de prototypage (alimentée via la broche Vin)
Schéma de câblage de l'élément chauffant pour ESP32 sous MicroPython

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

Comment connecter l'ESP32 et contrôler un élément chauffant
Comment câbler l'ESP32 et le contrôle de l'élément chauffant

Code MicroPython pour ESP32

Ce code met l'élément chauffant sous tension pendant cinq secondes, puis l'éteint pendant cinq secondes également, et cela en continu.

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

Étapes rapides

Voici les instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Confirmez que le firmware 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 à l'élément chauffant selon le diagramme 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, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. L'IDE Thonny le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur 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:
    • En cliquant sur le bouton Enregistrer ou en appuyant 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 la température de l'élément chauffant.

WARNING

Faites attention, car une mauvaise manipulation peut causer des brûlures ou même provoquer un incendie à la maison. Votre sécurité est très importante. Si vous n'êtes pas sûr, n'essayez pas de le faire vous-même — demandez l'aide de quelqu'un d'expérimenté. Nous ne sommes pas responsables de votre sécurité.

Explication du code

L'explication se trouve dans la section des commentaires au-dessus de ce code MicroPython ESP32.

Code MicroPython ESP32 - Contrôler l'élément chauffant avec un module MOSFET

Remplaçons maintenant le relais par un module MOSFET. Avec un signal PWM de l'ESP32, l'élément chauffant peut fonctionner à 30 %, 50 %, ou à tout autre niveau de puissance, pas seulement à pleine puissance.

Diagramme de câblage

Schéma de câblage ESP32 MicroPython élément chauffant et module MOSFET

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

Faites ces connexions :

  • GPIO18 de l'ESP32 → broche PWM du module
  • GND de l'ESP32 → broche GND du module
  • Adaptateur 12 V + (via la prise jack DC) → borne +
  • Fil rouge (+) de l'élément chauffant → aussi la borne +
  • Fil noir (−) de l'élément chauffant → borne LOAD
  • Adaptateur 12 V − (via la prise jack DC) → borne −

Un élément chauffant n'a pas de bobine, donc vous n'avez pas besoin d'une diode de roue libre (flyback) ici.

Code MicroPython

À chaque boucle, l'élément reçoit la pleine puissance pendant 2 secondes, puis aucune puissance pendant 2 secondes. Après cela, la puissance monte de 10 % à 100 % puis redescend. Un élément chauffant change de température lentement, donc vous sentirez le changement seulement après un certain temps, pas à chaque étape.

/* * 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-heating-element */ 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

  • Préparez Thonny et l'ESP32 comme décrit dans les étapes rapides du relais.
  • Câblez l'élément chauffant au module MOSFET en suivant le diagramme, sans brancher l'adaptateur 12 V pour l'instant.
  • Copiez le code dans Thonny et enregistrez-le sur l'ESP32 sous le nom main.py.
  • Branchez l'adaptateur 12 V, puis cliquez sur Exécuter (ou appuyez sur F5).
  • Lisez le niveau de puissance dans le Shell. Ne touchez pas l'élément chauffant pour le vérifier.
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 ≡

Astuce : le module MOSFET est réservé aux radiateurs DC, et l'alimentation doit être d'environ 6 V ou plus. Un radiateur peut consommer un courant important, donc vérifiez que la puce de votre module ne devient pas trop chaude.

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 !