Code Arduino et vidéo pour relais à état solide pour contrôler une ampoule ou une charge en courant alternatif
Dans ce tutoriel, nous allons explorer comment utiliser un relais statique (SSR) pour contrôler une charge en courant alternatif (AC) ou en courant continu (DC), comme une ampoule. Le relais statique permet une commutation sûre et efficace des charges électriques en utilisant un signal de basse tension provenant d'un Arduino. À la fin de ce tutoriel, vous disposerez d'un montage fonctionnel capable d'allumer et d'éteindre la lumière à des intervalles spécifiés.

Pour réaliser ce projet, nous utiliserons un SSR, plus précisément le modèle G3MB-202P, capable de gérer des charges jusqu'à 2 A. Le relais sera commandé par une broche numérique de la carte Arduino, ce qui nous permettra d'envoyer un signal qui active ou désactive la charge. Ce projet est non seulement pratique, mais constitue aussi une excellente introduction à l'utilisation des relais et d'Arduino.
Pour une explication visuelle détaillée, n'oubliez pas de regarder la vidéo d'accompagnement (dans la vidéo à 00:00).
Le matériel expliqué
Dans ce projet, le composant principal est le relais à état solide G3MB-202P. Ce relais permet de commander une charge à haute tension avec un signal à faible tension. Il fonctionne en utilisant un optocoupleur pour commuter le circuit de charge, assurant une isolation électrique entre le côté commande et le côté charge. Le relais comporte trois broches : DC+, DC- et la broche d'entrée, qui se connecte à l'Arduino.
Lorsque le signal d'entrée est bas (0 V), le relais s'active et permet au courant de circuler à travers la charge. Inversement, lorsque le signal d'entrée est haut (5 V), le relais s'ouvre, coupant le courant vers la charge. Ce mécanisme à déclenchement bas est essentiel pour gérer en toute sécurité des dispositifs haute tension sans contact électrique direct.
Détails de la fiche technique
| Fabricant | Omron |
|---|---|
| Numéro de pièce | G3MB-202P |
| Tension logique/E/S | 5 V |
| Tension d'alimentation | 5 à 24 V |
| Courant de sortie (par canal) | 2 A |
| Courant de crête (par canal) | 4 A |
| Recommandations relatives à la fréquence PWM | Jusqu'à 1 kHz |
| Seuils logiques d'entrée | Bas : 0-1,5 V, Haut : 3-30 V |
| Chute de tension / RDS(on)/ saturation | 1,5 V max |
| Limites thermiques | -30 à 100 °C |
| Paquet | Traversant |
| Notes / variantes | Disponible en différentes tensions d'entrée |
- Assurez-vous que le relais est dimensionné pour la charge que vous comptez commander.
- Utilisez un dissipateur thermique approprié si vous fonctionnez près de l'intensité maximale admissible.
- Revérifiez le câblage pour éviter les problèmes d'inversion de polarité.
- Utilisez des condensateurs de découplage sur les lignes d'alimentation.
- Méfiez-vous des entrées flottantes ; assurez-vous que le signal de commande est correctement mis à la terre.
- Vérifiez que la fréquence PWM est conforme aux spécifications du relais pour les applications de commutation.
Instructions de câblage

Le câblage du relais à état solide est simple. Connectez la borne positive du relais (DC+) à la broche 5V de l'Arduino. La borne négative (DC-) doit être reliée à la masse (GND) de l'Arduino. La broche d'entrée, qui commande le relais, se connecte à la broche numérique 8 de l'Arduino. Cette broche enverra un signal bas ou haut pour activer ou désactiver le relais.
Du côté charge, connectez un fil de l'ampoule en CA à la borne de sortie du relais et l'autre fil à l'alimentation en CA. Assurez-vous d'utiliser des connecteurs appropriés et de vérifier que toutes les connexions sont bien fixées afin d'éviter tout risque électrique.
Exemples de code et guide pas à pas
Voici un bref aperçu du code Arduino pour contrôler le relais à semi-conducteurs :
int relayPin = 8; // set pin 8 for relay output
void setup() {
Serial.begin(9600); // initialize serial communication
pinMode(relayPin, OUTPUT); // set relay pin as output
}Dans cet extrait, nous définissonsrelayPincomme 8, qui correspond à la broche numérique connectée au relais. Lesetup()La fonction initialise la communication série et configure la broche du relais en sortie.
void loop() {
digitalWrite(relayPin, LOW); // turn relay ON
Serial.println("Relay ON"); // output to serial monitor
delay(2000); // wait for 2 seconds
}Dans leloop()fonction, nous activons le relais en définissantrelayPinà LOW, ce qui active le relais et permet au courant de circuler vers la charge. Un message est affiché sur le moniteur série pour confirmation.
digitalWrite(relayPin, HIGH); // turn relay OFF
Serial.println("Relay OFF"); // output to serial monitor
delay(2000); // wait for 2 seconds
}Ensuite, nous désactivons le relais en réglantrelayPinà HIGH, ce qui interrompt le flux de courant vers la charge. Nous affichons à nouveau un message sur le moniteur série pour indiquer l'état du relais. Ce processus se répète indéfiniment, activant et désactivant le relais toutes les deux secondes.
Pour le code Arduino complet, consultez le code complet placé sous l'article.
Démonstration / À quoi s'attendre
Lorsque le code est téléversé sur l'Arduino, vous devriez voir le relais s'enclencher et se déclencher, allumant et éteignant l'ampoule connectée toutes les deux secondes. Si le relais ne fonctionne pas comme prévu, vérifiez les branchements et assurez-vous que le relais reçoit le bon signal de commande. Les problèmes courants incluent une polarité inversée du côté de la charge ou des connexions incorrectes sur l'Arduino.
Pour une confirmation visuelle supplémentaire du fonctionnement du relais, consultez la vidéo (à 06:00) où l'on voit l'ampoule s'allumer et s'éteindre lorsque le relais s'active.
Horodatages vidéo
- 00:00- Introduction au projet
- 01:30- Configuration matérielle
- 03:15- Explication du code
- 05:45- Démonstration en direct
- 07:00- Conclusion
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Fichier Fritzing
-
Module de relais à état solide de haut niveau
Solid State High Level Relay Module .fzpz0.04 MB