Contrôler un relai

4.9
(27)

Qu’est ce qu’un relai ?

Un relais électromécanique permet l’ouverture ou la fermeture d’un circuit électrique de puissance à partir d’un ordre émis par une partie commande. Les 2 circuits, puissance et commande, sont complètement isolés et peuvent avoir des caractéristiques d’alimentation électrique différentes (par exemple ouverture ou fermeture d’un circuit alimenté en 220 V par une commande en 5 V de l’Arduino).

Un relais électromécanique est composé principalement d’un électroaimant, qui ouvre et ferme le circuit électrique de puissance.

Principe d’un relai (source Wikipedia)

Pourquoi avons-nous besoin d’un relai ?

Comme nous l’avons vu dans le tutoriel sur le contrôle d’un petit ventilateur brushless, une sortie numérique d’un Arduino (par exemple la broche 2) est une sortie binaire « tout ou rien ». Elle peut avoir deux états : 0 ou 1 (ou encore vrai / faux, allumé / éteint, haut / bas). La tension correspondant à un état 0 est de 0 V. La tension correspondant à un état 1 est de 5 V (ou 3.3 V en fonction de l’Arduino utilisé).

Il parait donc parfait de contrôler la mise en marche et l’arrêt d’un périphérique en l’alimentant directement par une sortie numérique de l’Arduino ! Mais attention, il faut en effet savoir que le courant que peut délivrer une sortie est limité (quelques dizaines de milliampères), et n’est pas suffisant pour alimenter un périphérique. Et si vous alimentez un périphérique avec une sortie numérique d’un Arduino, vous avez de grandes chances d’endommager votre Arduino !

C’est là que le relai va jouer son rôle. Nous allons commander le relai avec une sortie numérique d’un Arduino, et le relai va ouvrir ou fermer le circuit électrique de puissance qui va alimenter le périphérique.

Le module relai

Mais il faut également noter que la partie commande d’un relai nécessite une certaine puissance pour contrôler l’électroaimant qui va ouvrir ou fermer le circuit électrique de puissance. C’est pourquoi les relais pour Arduino sont généralement livrés au sein d’un petit module qui intègre un petit circuit permettant de contrôler l’électroaimant sans tirer de puissance sur la sortie numérique de l’Arduino. Mais bien entendu, il faut donc apporter une source d’alimentation (5V) à ce module relai.

C’est pourquoi ce type de module possède plusieurs broches, dont voici la description :

  • CMD = Signal de commande (issu d’une sortie numérique de l’Arduino)
  • – = Broche d’alimentation (GND) de la partie commande du relais
  • + = Broche d’alimentation (+5V) de la partie commande du relais
  • NO = Broche dite “Normalement Ouvert”, qui est mise en contact avec la broche COM lorsque le signal de commande est à l’état haut (HIGH)
  • NC = Broche dite “Normalement Fermé”, qui est mise en contact avec la broche COM lorsque le signal de commande est à l’état bas (LOW) ou lorsque le circuit de commande du relai n’est pas alimenté
  • COM = Broche commune qui est reliée soit à la broche NO ou NC en fonction de l’état du signal de commande

Voici pour information le schéma de principe de ce type de module relai :

Schéma de principe d’un module relai pour Arduino

Exemple de schéma d’utilisation

Dans cet exemple toujours tiré du tutoriel contrôle d’un petit ventilateur brushless, nous voyons que la sortie numérique 2 de l’Arduino va commander le relai. Lorsque la sortie de l’Arduino est à l’état haut (HIGH), le relai ferme le circuit électrique et ainsi le ventilateur est alimenté. Lorsque la sortie de l’Arduino est à l’état bas (LOW), le relai ouvre le circuit électrique et le ventilateur n’est plus alimenté.

Notez que nous utilisons la broche NO (Normally Open) du relai, ainsi le ventilateur est alimenté lorsque la commande du relai est à l’état haut (HIGH). Le ventilateur n’est plus alimenté lorsque la commande du relai est à l’état bas (LOW) ou lorsque le circuit de commande du relai n’est plus alimenté.

Le programme

// Controle d'un relai par une sortie de l'Arduino
// https://tutoduino.fr/
// Copyleft 2023
 
// La broche de commande du relai est reliee sur la broche 2 de l'Arduino Uno
#define BROCHE_RELAI 2
 
void setup() {
  // Declare la broche sur laquelle le relai est  
  // reliee comme une sortie de l'Arduino Uno
  pinMode(BROCHE_RELAI, OUTPUT);
}
 
void loop() {
  // Passer le sortie de l'Arduino à l'état HAUT pour fermer le circuit électrique et ainsi alimenter le ventilateur
  digitalWrite(BROCHE_RELAI, HIGH);
   
  // Attendre 1 seconde, pendant ce temps le processeur ne fait rien
  // et le circuit électrique reste fermé, le ventilateur continue à être alimenté
  delay(1000);
   
  // Passer le sortie de l'Arduino à l'état BAS pour ouvrir le circuit électrique et ainsi ne plus alimenter le ventilateur
  digitalWrite(BROCHE_RELAI, LOW);    
 
  // Attendre 1 seconde, pendant ce temps le processeur ne fait rien
  // et le circuit électrique reste ouvert, le ventilateur n'est plus alimenté et ne tourne plus
  delay(1000);
}

Relai statique SSR

Un relai statique SSR a l’avantage d’être peu sensible à l’usure par rapport à un relai électromécanique.

Un relai statique SSR nécessite peu de courant pour être contrôlé (10mA à 5V pour le mien). Ce type de relai peut donc être alimenté directement par une broche de sortie d’un Arduino.

Si vous utilisez un microcontrôleur dont les sorties ont une tension de 3.3V et non de 5V, il peut être nécessaire d’ajouter un transistor afin d’avoir une alimentation suffisante pour contrôler le relai SSR.

Voici un exemple de schéma correspondant qui utilise un transistor NPN 2N2222 :

Et voici un exemple de montage avec un Arduino Nano :

Note : si on commence à multiplier les relais ou si on enrichi le projet avec des capteurs, l’alimentation du ou des relais ne doit plus se faire avec le +5v de l’Arduino mais via une alimentation séparée. En effet, les relais consomment beaucoup de mA et on atteint très rapidement la limite qui fait que l’Arduino commence à avoir un fonctionnement erratique…

J’espère que ce tuto vous aura intéressé. N’hésitez pas à donner votre avis en cliquant sur les étoiles ci-dessous. Je ne suis pas rémunéré au nombre d’étoiles mais c’est important pour moi afin de voir que mon travail est utile aux autres 🙂

Votre avis compte !

Note moyenne : 4.9 / 5. Nombre de votes : 27

Pas encore de vote pour ce tutoriel

Désolé si cet article ne vous a pas intéressé

Merci de commenter afin que je puisse l’améliorer.

Dites-moi comment améliorer cette page.