Si vous faites de la domotique, vous allez forcément vous frotter, à un moment ou à un autre, à un module relais électrique. Le relais est un interrupteur pilotable qui permet d’isolé la partie commande de la partie puissance. C’est un composant très utilisé lorsqu’on veut faire le lien entre électronique et électricité. Il permet d’ouvrir ou fermer un contacteur sur un circuit de puissance en fonction d’un signal entre 0 et 5V.
Matériel
- Ordinateur
- Arduino UNO
- Module relais
Principe de fonctionnement
Le relais est constitué d’un électroaimant et d’un contacteur mécanique. Lorsque le courant est suffisamment important sur la bornes d’entrée, le solénoïde se magnétise ce qui force le contacteur à fermer le circuit de puissance. Comme il n’y a pas de liaison mécanique entre le circuit de commande et le circuit de puissance (actionnement magnétique), il y a une isolation galvanique entre les deux circuits; ce qui permet de protéger le circuit de commande.
Schéma
Nous allons voir ici le branchement d’un module relais qui est souvent présent dans les kits d’électronique. Il y a trois broches d’entrée (Signal, Vcc, Gnd) comme pour un servomoteur. Le relais se branche généralement sur une sortie digitale du microcontrôleur. Il y a généralement un bornier 3 plots en sortie du module qui corresponde aux sorties Naturellement Ouvert (NO), commun (COM) et Naturellement fermé (NC). L’appareil en sortie sera relié à la borne COM et la borne NC ou NO selon votre utilisation.
En générale, on choisit le mode le plus sécuritaire en cas d’un défaut de commande. Par exemple, le relais coupe le circuit alimentant la chaudière en cas de problème pour éviter qu’elle ne chauffe en continue.
Code
Le code pour piloter un relais est aussi simple que de passer une broche à l’état haut ou à l’état bas. Pour cela nous utilisons la fonction digitalWrite().
//Parameters const int digPin = 2; void setup() { //Init Serial USB Serial.begin(9600); Serial.println(F("Initialize System")); //Init pwm output pinMode(digPin, OUTPUT); } void loop() { digitalWrite(digPin, HIGH); delay(500); digitalWrite(digPin, LOW); delay(500); }
Résultat
Sur certains modules relais se trouve une LED pour vous aider à observer l’état du relais. Lorsque le relais se ferme, la LED s’allume et il émet un son mécanique. Si ce son n’est pas compatible avec votre application, il vous faudra vous tourner vers l’utilisation de transistor(DC) ou triac(AC).
Applications
- Créer un interrupteur connecté
Sources
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie
Bonjour,
J’aimerais savoir s’il est possible avec un relais de faire varier l’intensité de LED ou bien c’est uniquement allumé/éteint ? Ce serait pour faire varier l’intensité d’un éclairage LED 220V type éclairage urbain. Si oui, est-il nécessaire de faire appel à une bibliothèque ou y a t il un code de base ? Par avance un grand merci !
Bonjour,
Il n’est pas possible de faire varier l’intensité lumineuse avec un relais. Pour cela, il faut faire varier la tension aux bornes de la led. On utilise le transistor en courant continu et le thyristor en courant alternatif. Pour votre application,vous pouvez utiliser le module AC dimmer sur une ampoule dimmable
Avec ce relais il est possible de commander un moteur triphasé
ce n’est pas le plus adapté, non.
Bonjour. En général, on se sert d’un relais pour commander un contacteur triphasé pour ce type d’application
pour modifier le sens de rotation, il vous faut un second relais ou un pont en H
Bonjour,
Merci pour vos explications.
Quand on teste le montage, l’arduino est alimenté par l’ordinateur mais comment l’est-t-il en conditions réelles ? Est-il alimenté au travers du relais ? Si oui, est-ce qu’il y a une manipulation particulière quand on le branche à l’ordinateur pour ne pas avoir double alimentation ?
Bonjour. En fonction de la carte Arduino, il existe quelques fois des alimentations séparée, sinon on prend une alimention (exemple chargeur de telephone) équipé d’un cable USB adapté à votre carte Arduino pour l’alimenter.
Bonjour quelle doit être la tension du signal ? Et le signal doit il continu ou seulement une impulsion ?
Bonjour,
cela dépend du relais utilisé. Il faut regarder la documentation technique du composant.
Sur ce module, il faut un signal continu d’environ 5V pour activer le relais.
Bonjour, dans le but d’alimenter une pompe à eau 220V je branche mon relais entre l’arduino et la pompe. Est-ce que j’ai besoin d’ajouter une batterie pour alimenter la pompe ?
Bonjour,
Si la pompe fonctionne en 220V, non. Le relais fait office d’interrupteur sur la phase du 220V. Le secteur sera donc l’alimentation électrique de la pompe à eau.
Il faut par contre une alimentation ou une batterie dédiée pour l’Arduino