Ignorer et passer au contenu

Livraison offerte à partir de 50€

Contents Menu Expand Light mode Dark mode Auto light/dark mode

Piloter des appareils électriques avec un relais et un ESP32 en MicroPython

relay SRD-03VDC-SL-C Songle

Si vous souhaitez réaliser des projets domotiques DIY, le relais est essentiel. En le couplant avec une ESP32 connecté en WiFi, vous pouvez contrôler directement les appareils ménagers depuis votre téléphone, ordinateur ou même à distance depuis Internet.

Avertissement

Cependant, manipuler des tensions secteurs peut être très dangereux. Si vous devez l’utiliser, faites-le avec la plus grande prudence et pour une utilisation continue, il est préférable d’opter pour des modules relais de qualité et de confirmer son installation par un professionnel avant toute utilisation.

Prendre en main un relais

Utiliser un relais est très simple, surtout quand il est vendu sous forme de module près à l’emploi.

Note

Je vous recommande vivement d’utiliser un module qui incorpore un relais avec son circuit minimal plutôt que d’utiliser le relais seul et de fabriquer vous-même le circuit pour la partie logique (le relais en lui-même ne s’adapte pas à une breadboard et ne doit pas être placé dessus de toute façon).

Présentation et fonctionnement d’un relais

Si vous n’avez jamais utilisé de relais auparavant ou si vous êtes curieux de comprendre comment il fonctionne, ses utilisations et ses limites, je vous recommande vivement de lire l’article théorique sur le fonctionnement d’un relais .

Brièvement, c’est un interrupteur mécanique que l’on contrôle via l’ESP32 pour allumer/éteindre un circuit électrique puissant en courant continu (bandes LED RGB, pompes) ou un appareil connecté au secteur 220V (ventilateurs, lumières, appareils de chauffage).

Note

Si le but est de très fréquemment allumer et éteindre un moteur, le montage à transistor serait plus approprié (pour du courant continu bien sûr).

Branchement avec le relais SRD-05VDC-SL-C

Dans la plupart des kits Arduino, les modules utilisent le relais SRD-05VDC-SL-C du fabricant Songle . Il existe en général deux variétés : un module avec un seul relais et un autre avec plusieurs relais en même temps. Si vous avez prévu de piloter séparément plusieurs circuits de puissance dans un projet, prenez plutôt le module multirelais.

Note

Le modèle SRD-05VDC- SL-C est conçu pour être alimenté en 5V, mais si vous utilisez une ESP32 alimentée par une batterie LiPo, la tension disponible sera généralement comprise entre 3.3V et 4.2V. Dans ce cas, le modèle SRD-03VDC SL-C, qui s’alimente en 3.3V, est plus approprié.

schéma circuit relais esp32 code Arduino

Circuit électrique à réaliser

Avertissement

Lorsqu’un relais est utilisé, les masses de la partie logique et de la partie puissance sont complètement séparées et ne doivent jamais être reliées, surtout si le circuit est alimenté en 220V alternatif.

Correspondance des broches

Module Relais

ESP32

S

32

VCC

5V

GND

GND

Le modèle SRD-05VDC-SL-C comporte 3 broches pour piloter le relais :

  • La broche de signal S pour piloter le relais, qu’on relie à une broche de l’ESP32.

  • La broche d’alimentation que l’on relie au 5V de l’ESP32. (Ou au 3V3 si c’est le module SRD-03VDC -SL-C).

  • La dernière broche, représenté par - est la masse, que l’on relie à une broche GND .

Il y a également un bornier à 3 plots à la sortie côté puissance

  • NC : Normally Closed, en français Contact Normalement Fermé.

  • COM : La broche du milieu, appelé commun (COM).

  • NO : Normally Open : Contact Normallement Ouvert

schéma interne relais

Bornes en sortie du relais

L’appareil du circuit de puissance sera relié à la borne COM et NO ou NC selon l’application. Si vous optez pour NO , le relais sera par défaut ouvert (le circuit électrique ne sera pas fermé). Il n’y aura fermeture du circuit que lorsque le relais sera activé par un signal.

Par contre, en choisissant les bornes COM et NC , le circuit sera par défaut fermé : le dispositif branché sera alimenté. Quand le relais sera activé, le circuit s’ouvrira, et l’appareil branché s’arrêtera de fonctionner.

Il est plus prudent de choisir le mode le moins dangereux en cas de défaut de commande (ou si le relais est en panne). Par exemple, s’il s’agit d’alimenter une résistance chauffante, il est préférable que le circuit reste ouvert si le relais ne fonctionne plus correctement.

Note

Je vous suggère donc d’utiliser la combinaison COM et NO si c’est pour actionner ponctuellement un appareil (lampe, moteur, pompe).

Voici un exemple d’utilisation d’un relais pour allumer un gros ventilateur d’ordinateur, alimenté en 12V.

pilotage d’un ventilateur via un relais depuis un esp32

Les bornes NO et COM sont utilisées pour cette configuration

Contrôler le relais avec du Python sur l’ESP32

Le script MicroPython est très simple, c’est comme si on devait allumer ou éteindre une LED. Le code est identique au script blink .

from machine import Pin
import time

pin_relay = Pin(32, mode=Pin.OUT)

while True:
    pin_relay.on()
    time.sleep_ms(200)
    pin_relay.off()
    time.sleep_ms(5000)

Et voici ce que cela donne avec le circuit proposé :

pilotage d’un ventilateur via un relais depuis un esp32

Note

Le module dispose d’une LED pour connaître l’état du relais. Elle s’allume lorsque le relais est activé.

Des modules relais avancés multicanaux

module relai multicanaux

Il existe une variété de modules relais disponibles, allant d’un à huit canaux. Chaque module peut contrôler un nombre correspondant de sorties et contient en général un relais bleu SRD-05VDC-SL-C.

Séparer complètement l’ESP32 du relais avec les optocoupleurs

Les modèles comportant au moins deux canaux intègrent en général un optocoupleur afin d’isoler complètement le relais de l’ESP32.

Note

Un optocoupleur permet d’isoler complètement un signal logique avec un émetteur et un récepteur sensible à la lumière.

Cette section est réservée aux abonnés. Il vous reste 75% à découvrir.

Devenir membre premium

Déjà abonné ? Connectez-vous

Nous utilisons des cookies pour que votre visite sur la boutique soit la plus agréable possible. Politique de confidentialité