Sommaire

Pilotage d'un relais sur Raspberry Pi

Après avoir positionner stratégiquement mon ventilateur dans ma chambre, je suis assez embêter à l’idée de devoir me rendre au pied de ce dernier pour l’allumer ou l’éteindre. Je vais donc le “domotiser” avec un RPi et un relais. J’essayerais plus tard de le rendre autonome (avec un ESP8266 à la place du Raspberry Pi).

Présentation d’un relais

Un relais est un interrupteur contrôlable. En lui injectant un courant faible (~5 V), ce dernier peut commuter une admission de courant fort (230 V). On peut donc commander un appareil électrique (lampe, …) avec un relais.
Je ne vais pas expliciter plus sur le fonctionnement d’un relais, je vous conseille d’utiliser les Internets pour cela.

Les équipements de bidouillage électronique (RPi, Arduino, ESP32…) on des niveaux logiques à 3,3 V. Le plupart des relais que l’on peut trouvé fonctionne en 5 V.

J’ai trouvé une référence de relais qui fonctionne en 3,3 V. Voici donc celui qu j’ai pris sur Amazon :

/img/2019/2019-06-16-pilotage-dun-relais-sur-raspberry-pi/image-19-1024x552.png
JOYKK Module de Relais déclencheur de Niveau Bas 3.3V 1 Canal avec optocoupleur

Le relais se décompose en trois éléments (j’utilise mes termes) :

  • L’alimentation (car il faut alimenter le relais)
  • Le pilotage (interrupteur logique)
  • L’actionneur (pour l’alimentation de l’équipement piloté)

Alimentation

Pour son fonctionnement, la carte a besoin d’être alimenté en permanence. Pour cela, on utilisera donc une sortie 3,3 V et 0 V du RPi que l’on connectera respectivement sur les bornes “VCC” et “GND” du relais.

/img/2019/2019-06-16-pilotage-dun-relais-sur-raspberry-pi/image-20-1024x755.png
Bornier d’alimentation du relais

Pilotage

Il se fait par l’admission d’une tension de 3,3 V sur le bornier “IN” de notre relais. L’admission/supression de la tension sur ce connecteur fait basculer l’état du relais.

Actionneur

L’actionneur comporte trois connexions : “NO”, “NC” et “COM” :

  • “NO” est une interface ouverte. En actionnant le relais, cette interface est court-circuité à l’interface “COM”. Je pense que “NO” veut dire “Normally Open”, enfin c’est comme sa que je retient sont fonctionnement.
  • “NC” à l’effet inverse. Pour celui-là, je dirais “Normally Closed”.
  • “COM” est l’interface commune du relais.

Ces valeurs ne sont pas écrite sur mon relais mais représenté schématiquement. Des tests au multimètre m’ont permis d’en déduire la nomenclature suivante :

/img/2019/2019-06-16-pilotage-dun-relais-sur-raspberry-pi/image-21.png
Borne actionneur du relais

Dans mon cas d’application, je vais intercaler l’arrivé du courant de mon ventilateur sur les interfaces “NO” et “COM”.

Voici une représentation de cette partie du branchement :

/img/2019/2019-06-16-pilotage-dun-relais-sur-raspberry-pi/Untitled-Sketch-3_bb.png
Principe de branchement du relais

Bon, sur Fritzing, il n’y a pas mon relais, ni d’alimentation 230 V et encore moins d’un ventilateur. Utilisez donc votre imagination pour cette illustration.

Câblage et configuration

Avant de jouer avec du 230 V faite les tests sans équipements relié au relais. Branché le relais comme sur le schéma suivant :

/img/2019/2019-06-16-pilotage-dun-relais-sur-raspberry-pi/Untitled-Sketch-3_bb1-1024x855.png
Schéma de câblage du relais au RPi

Pour la configuration, je vous invite à suivre mon tutoriel de contrôle des GPIO du RPi en prenant soin de d’adapté le code avec le port GPIO que vous utilisez (si ce n’est pas le même que le mien).

Tests

En testant les actions ON/OFF de la page de configuration j’ai remarqué que la LED d’activité du relais (DS2) représentait l’inverse de mon système : lorsque la LED est éteinte, mon relais est fermé entre “NC” et “COM” et allumé lorsque le circuit est ouvert. Préférant que cette LED soit représentatif du status “en fonctionnement” de mon ventilateur, j’ai alors décider d’utilisé “NC” plutôt que “NO” et inversé les actions des boutons ON et OFF de mon code PHP.

Suite du projet

Maintenant que j’ai un relais fonctionnel, il faudrait que je mobilise continuellement mon RPi pour ce ventilateur. Vu le prix d’un RPi, c’est beaucoup trop chère comme solution (surtout que mon RPi B+ n’as pas de Wi-Fi, je dois donc sacrifié en plus un port de mon commutateur (switch)) !

Je dois alors réfléchir à une solution où je devais intégrer les éléments suivants :

  • Un truc moins chère qu’un RPi qui fonctionne en Wi-Fi * Mon relais * Un système d’alimentation pour tous ça

Finalement, j’ai trouvé une autre solution encore plus clé en main pour 10 € : un Sonoff Basic flashé avec ESPHome ! Je détaillerais cela dans d’autres tutoriels.

En fin de compte, ce projet n’a pas complètement abouti, mais il m’a permis de comprendre pas mal de choses sur le pilotage des modules en général.