Description
Un relais est grossièrement un interrupteur commandé électriquement.
Il permet de commuter un courant fort ou une tension élevée, c’est à dire de passer ou non, selon la volonté d’un courant de commande faible ou d’une tension de commande faible. Par exemple pour permettre à un Arduino via une broche capable de délivrer seulement quelques milliampères, de commander un appareil en 220V nécessitant plusieurs Watts de puissance !
Un relais électromagnétique est un composant alliant une bobine avec ses contacts d’alimentation et des contacts mobiles capables de se déplacer sous l’effet du champ magnétique généré par la bobine. La bobine est alimentée par du courant continu (5, 12, 24 ou 48V) ou alternatif. Quand la bobine est traversée par le courant, un champ magnétique agit sur une pièce métallique (la palette sur la figure) qui déplace les contacts mobiles en ouvrant ou fermant leur circuit. Ces contacts mobiles peuvent recevoir du courant continu ou alternatif. Il n’y a aucune communication électrique entre la partie commande de la bobine et la partie contacts mobiles.
Dans un relais, le contact mobile est organisé pour relier une entrée à une ou deux sorties L’une des sorties correspond à l’état de repos du relais (bobine non alimentée) et l’autre sortie à l’état « alimenté » dit aussi « travail ».
Certains relais peuvent comporter uniquement une entrée et un contact « travail ».
D’autres relais peuvent contenir plusieurs circuits « entrée + repos + travail ».
L’entrée E est connectée à la sortie S1 si la bobine est au repos. Si la bobine reçoit du courant, c’est S2 qui est relié à E. S1 est donc le contact « repos » et S2 le contact « travail ».
Pour chaque relais, une fiche caractéristique décrit les contacts, les tensions et courants de commande et les valeurs à ne pas dépasser.
Selon la caractéristique du relais, alimenter la bobine peut engendrer :
- le passage de l’état « repos » à l’état « travail » : fonctionnement monostable à une bobine, comme sur le dessin vu précédemment.
- le passage d’un état à un autre qu’importe l’état antérieur : fonctionnement bistable à une bobine
- le passage d’un état à un autre selon la bobine commandée : fonctionnement bistable à deux bobines
A quoi peut-il être utilisé dans le train miniature
Un relais peut servir d’interrupteur si on ne se sert que d’une sortie et d’une entrée :
- pour alimenter une ligne de lumière avec du 12V ou plus que ce soit du courant continu ou alternatif ;
- pour alimenter un canton de rails en particulier.
Il peut servir d’inverseur avec 1 entrée et 2 sorties, pour sélectionner une alimentation parmi deux sur un même canton.
En fait, son application dépendra de vos besoins et de votre imagination. Ce sera un composant indispensable dans la gestion de votre réseau avec Arduino.
Problème de connexion avec l’Arduino
Nous avons vu que la bobine du relais nécessite une alimentation par du courant continu. Certains relais ont besoin 12V ou plus.
Dans cet exemple, nous allons donc employer d’autres composants pour créer un étage de puissance intermédiaire. Un transistor fera l’affaire.
Par contre pour un relais pilotable par du 5V, on peut relier directement une broche de l’Arduino au relais (à condition qu’il ne consomme pas plus de 20 milliampères !), et avec la précaution indiquée plus loin (diode de roue libre).
Problématique de la bobine
Un peu de théorie s’impose : une bobine d’un relais ou d’un moteur est une inductance. Lorsqu’on tente de couper le courant qui traverse une inductance, ce courant continue de passer de toute façon en créant une tension inverse qui peut être dévastatrice pour les circuits de commande, notamment pour les transistors et notre Arduino.
Nous devons permettre à ce courant inverse de s’écouler jusqu’à sa disparition.
Un autre composant est donc à ajouter dans le circuit à savoir une diode dite "de roue libre" à monter en parallèle sur la bobine de commande du relais mais dans le sens non passant pour le courant alimentant normalement la bobine. Cette diode dissipera le courant inverse de la bobine au moment de la coupure du courant d’alimentation.
Schéma de l’exemple
Maintenant que nous avons résolu ces deux problèmes, la connexion à l’Arduino est toute faite :
Sur cette illustration, un relais alimenté à l’aide d’une source extérieure de 12V est utilisé. Notez la diode de roue libre D1 qui est là pour protéger le transistor de toute remontée de courant due à la bobine du relais.
Le programme
Il n’est pas plus compliqué d’allumer une LED que de faire fonctionner un relais, et inversement. En somme, c’est très simple. Il faut simplement rendre conducteur le transistor avec l’état haut de la broche de l’Arduino connectée sur sa base pour que le courant passe dans la bobine et ainsi que le relais change d’état.
Un petit morceau de code rapide pour illustrer notre exemple, sachant que le transistor commandant le relais est relié à la broche 5 de l’Arduino :
// Broche de connexion du relais
const byte relais = 5;
void setup() {
pinMode(relais, OUTPUT);
}
void loop() {
digitalWrite(relais, HIGH); // Bobine du relais alimenté
delay(1000);
digitalWrite(relais, LOW); // Bobine du relais non alimenté
delay(1000)
}
Notez bien que ce code est équivalent à l’exemple « blink » mais pour activer ou non un relais au lieu d’une Led.