Note
Bonjour et bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder sur Facebook ! Plongez plus profondément dans l’univers de Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques grâce à l’aide de notre communauté et de notre équipe.
Apprendre et partager : Échangez des astuces et des tutoriels pour perfectionner vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits.
Remises spéciales : Bénéficiez de réductions exclusives sur nos derniers produits.
Promotions festives et tirages au sort : Participez à des concours et à des promotions lors des fêtes.
👉 Prêt à explorer et à créer avec nous ? Cliquez sur [Ici] pour nous rejoindre dès aujourd’hui !
1.3.4 Relais
Introduction
Dans cette leçon, nous allons apprendre à utiliser un relais. C’est l’un des composants couramment utilisés dans les systèmes de contrôle automatique. Lorsque la tension, le courant, la température ou la pression atteignent, dépassent ou sont inférieurs à une valeur prédéterminée, le relais connecte ou interrompt le circuit pour contrôler et protéger les équipements.
Composants
Principe
Diode
Une diode est un composant électronique à deux bornes qui permet un flux de courant unidirectionnel. Elle offre une faible résistance dans le sens du courant et une haute résistance dans le sens opposé. Les diodes sont principalement utilisées pour éviter les dommages aux composants, notamment en raison de la force électromotrice dans les circuits polarisés.
Les deux bornes d’une diode sont polarisées : l’anode (pôle positif) et la cathode (pôle négatif). La cathode est généralement en argent ou comporte une bande colorée. Le courant dans une diode circule de l’anode à la cathode. Ce comportement est similaire à celui d’une soupape de non-retour. Si une tension plus élevée est appliquée à l’anode, le courant circule, c’est le biais direct. Si la tension plus élevée est appliquée à la cathode, le courant ne passe pas, c’est le biais inverse.
Relais
Un relais est un dispositif utilisé pour établir une connexion entre deux ou plusieurs points en réponse à un signal d’entrée. En d’autres termes, il assure une isolation entre le contrôleur et l’appareil, notamment lorsque des dispositifs fonctionnent en courant alternatif (AC) ou continu (DC). Les relais sont très utiles pour contrôler de grandes quantités de courant ou de tension à l’aide de faibles signaux électriques.
Il y a 5 parties dans chaque relais :
Électroaimant - Il est constitué d’un noyau en fer enroulé de fils. Lorsque l’électricité passe à travers, il devient magnétique.
Armature - Une bande magnétique mobile appelée armature. Lorsque du courant circule, le champ magnétique attire l’armature, activant les contacts normalement ouverts (N/O) ou fermés (N/C).
Ressort - Lorsque le courant ne passe pas dans l’électroaimant, le ressort tire l’armature pour que le circuit soit interrompu.
Jeu de contacts électriques : - Normalement ouvert - connecté lorsque le relais est activé, déconnecté lorsqu’il est inactif. - Normalement fermé - non connecté lorsque le relais est activé, connecté lorsqu’il est inactif.
Cadre moulé - Protégé par un boîtier en plastique.
Fonctionnement du relais
Le principe de fonctionnement est simple. Lorsque le relais est alimenté, le courant circule dans la bobine de commande, ce qui active l’électroaimant. L’armature est alors attirée et connecte les contacts normalement ouverts, fermant ainsi le circuit. Lors de la rupture du circuit, le ressort ramène l’armature vers les contacts normalement fermés, interrompant le circuit. Ce processus permet de contrôler l’état d’un circuit de charge.
Schéma
Procédures expérimentales
Étape 1 : Construisez le circuit.
Pour les utilisateurs du langage C
Étape 2 : Ouvrez le fichier de code.
cd ~/davinci-kit-for-raspberry-pi/c/1.3.4
Étape 3 : Compilez le code.
gcc 1.3.4_Relay.c -lwiringPi
Étape 4 : Exécutez le fichier exécutable.
sudo ./a.out
Après l’exécution du code, la LED s’allumera. De plus, vous entendrez un « tic-tac » dû à l’ouverture du contact normalement fermé et à la fermeture du contact normalement ouvert.
Note
Si cela ne fonctionne pas après l’exécution ou si un message d’erreur apparaît : "wiringPi.h : Aucun fichier ou répertoire de ce type", veuillez vous référer à Le code C ne fonctionne pas ?.
Code
#include <wiringPi.h>
#include <stdio.h>
#define RelayPin 0
int main(void){
if(wiringPiSetup() == -1){ //si l'initialisation de wiringPi échoue, affichez un message à l'écran
printf("setup wiringPi failed !");
return 1;
}
pinMode(RelayPin, OUTPUT); //définir la sortie GPIO17(GPIO0)
while(1){
// Tick
printf("Relay Open......\n");
delay(100);
digitalWrite(RelayPin, LOW);
delay(1000);
// Tock
printf("......Relay Close\n");
delay(100);
digitalWrite(RelayPin, HIGH);
delay(1000);
}
return 0;
}
Explication du Code
digitalWrite(RelayPin, LOW);
Configurez le port I/O à un niveau bas (0V), ce qui désactive le transistor et la bobine n’est pas alimentée. Il n’y a donc pas de force électromagnétique, le relais s’ouvre et la LED ne s’allume pas.
digitalWrite(RelayPin, HIGH);
Configurez le port I/O à un niveau haut (5V) pour alimenter le transistor. La bobine du relais est alimentée, générant une force électromagnétique, et le relais se ferme, allumant la LED.
Pour les utilisateurs de Python
Étape 2 : Ouvrez le fichier de code.
cd ~/davinci-kit-for-raspberry-pi/python
Étape 3 : Exécutez le code.
sudo python3 1.3.4_Relay.py
Pendant l’exécution du code, la LED s’allume. De plus, vous entendrez un « tic-tac » dû à l’ouverture et à la fermeture du relais.
Code
Note
Vous pouvez Modifier/Réinitialiser/Copier/Exécuter/Arrêter le code
ci-dessous. Mais avant cela, vous devez vous rendre au chemin du code
source tel que davinci-kit-for-raspberry-pi/python.
import RPi.GPIO as GPIO
import time
# Définir GPIO17 comme broche de contrôle
relayPin = 17
# Définir une fonction de configuration
def setup():
# Configurer le mode GPIO en numérotation BCM
GPIO.setmode(GPIO.BCM)
# Configurer le mode de relayPin en sortie,
# avec un niveau initial à High (3,3V)
GPIO.setup(relayPin, GPIO.OUT, initial=GPIO.HIGH)
# Définir une fonction principale pour le processus principal
def main():
while True:
print ('Relay open...')
# Tic
GPIO.output(relayPin, GPIO.LOW)
time.sleep(1)
print ('...Relay close')
# Tac
GPIO.output(relayPin, GPIO.HIGH)
time.sleep(1)
# Définir une fonction destroy pour nettoyer après la fin du script
def destroy():
# Éteindre la LED
GPIO.output(relayPin, GPIO.HIGH)
# Libérer les ressources
GPIO.cleanup()
# Si ce script est exécuté directement, exécuter :
if __name__ == '__main__':
setup()
try:
main()
# Lorsque 'Ctrl+C' est pressé, le programme enfant
# destroy() sera exécuté.
except KeyboardInterrupt:
destroy()
Explication du Code
GPIO.output(relayPin, GPIO.LOW)
Configurez les broches du transistor en niveau bas pour ouvrir le relais, et la LED ne s’allume pas.
time.sleep(1)
Attendre 1 seconde.
GPIO.output(relayPin, GPIO.HIGH)
Configurez les broches du transistor en niveau haut pour activer le relais, et la LED s’allume.
Image du Phénomène