Câbler correctement un relais à semi-conducteurs aux broches GPIO?

13

tl; dr - Je voudrais connecter ce relais aux broches GPIO de mon Raspberry Pi B +.


Je cherche à acheter un relais à semi-conducteurs pour mon Raspberry Pi. Après beaucoup de recherches, je suis tombé sur ce relais 8 canaux de Sainsmart:

entrez la description de l'image ici

Cependant, je ne sais pas exactement comment le connecter au Pi. Cette page fournit une liste de chacune des broches. Si je comprends bien, les broches GPIO fournissent 50 mA à 3,3 V. Il y a aussi quelques broches GPIO qui fournissent 5V. Selon les spécifications du relais, 3,3 V devraient suffire pour activer un canal.

Sur la base de mes connaissances extrêmement limitées, j'ai trouvé ce schéma de câblage:

entrez la description de l'image ici

Est-ce correct? Suis-je en train de manquer quelque chose? Tout conseil est grandement appréciée.

Nathan Osman
la source

Réponses:

14

Votre schéma de câblage est correct, car (selon le site Web Sainsmart.com que vous avez lié) les spécifications de l'appareil sont les suivantes:

Tension du signal de commande d'entrée:

0V - 0.5V Low stage (SSR is OFF),
0.5V – 2.5V (unknown state).
2.5V - 20V High state (SSR is ON).

Le Raspberry Pi utilise des signaux 3V3 sur ses broches GPIO; un niveau de tension suffisamment élevé pour déclencher l'état haut dans le relais selon les spécifications. Un Arduino (pour lequel la même carte est utilisée) utilise des signaux 5 V sur ses broches GPIO et fonctionne tout aussi bien avec cette carte. Les autres circuits de la carte doivent être alimentés par une source 5 V, pour laquelle vous avez correctement câblé la carte à la broche d'alimentation 5 V sur l'en-tête GPIO.

Cependant, les spécifications que vous citez ne sont pas complètement correctes. L'en-tête GPIO se compose de broches d'alimentation (1x 3V3 et 2x5V), de plusieurs broches de terre ainsi que de broches GPIO. Les broches GPIO (comme GPIO17 que vous mentionnez) sont sévèrement limitées dans le courant qu'elles peuvent fournir (contrairement aux broches 5V qui peuvent fournir au moins 0,5 A sinon plus selon le modèle rPi). Chaque broche peut produire un maximum de 16mA (pas 50mA comme vous le mentionnez), avec un courant combiné maximum total sur toutes les broches de 50mA. Cela suffit pour faire fonctionner quelques LED, mais pas beaucoup plus. Les broches sont généralement utilisées pour envoyer des signaux à d'autres appareils, et votre relais en est un parfait exemple.

Comme je l'ai mentionné, votre circuit fonctionnera bien comme vous l'avez dessiné (à condition que vous fournissiez une source d'alimentation différente aux bornes du relais, la page Sainsmart le dit à propos de la tension et du courant du relais qu'il prend en charge:

Sortie SSR (chaque canal):

 Load voltage range: 75 to 264V AC (50/60Hz).
 Load current: 0.1 to 2 AMP.

). Il est courant de mettre au moins une résistance sur la ligne entre GPIO17 et le relais (1kOhm devrait suffire) pour éviter qu'un court-circuit ne fasse frire votre rPi via la broche GPIO. De plus, si vous voulez être extrêmement sûr, vous pouvez empêcher un mauvais câblage accidentel d'envoyer du courant à votre sortie GPIO17 en câblant une diode (assurez-vous que la polarité est juste sur la diode!).

Enfin, étant donné que vous êtes nouveau dans ce domaine, soyez extrêmement prudent lorsque vous exploitez les broches GPIO, en particulier la broche 5V. Si vous utilisez des cavaliers femelles appropriés, il ne devrait pas y avoir de problème, mais si vous décidez de travailler avec un fil dénudé à l'extrémité GPIO, vous pourriez finir par connecter par inadvertance la broche 5V avec une broche GPIO, ce qui conduit à un désastre (comme je l'appelle - "Pi frit"). Ensuite, définissez votre broche GPIO pour qu'elle soit "sortie" (dans la langue / bibliothèque que vous utilisez) et activez le registre déroulant intégré (pour vous assurer que lorsque le signal "flotte", il est ramené à 0 V et ne fonctionne pas) t déclencher accidentellement le relais).

Bonne chance!

PS: La vidéo sur la page Sainsmart n'est pas d'une grande aide, la seule chose utile à observer est que dans la démo, le relais est alimenté par une alimentation 5V séparée au lieu d'utiliser la broche GPIO 5V du rPi. Selon les spécifications, la carte n'utilisera que 160 mA, ce qui est bien inférieur à ce que le rPi peut fournir. Vous êtes donc bon de toute façon. La page Sainsmart a également un "document" Raspberry Pi lié, mais cette page ( https://github.com/fixedd/RPi_Relay_Interface#readme ) a un avertissement disant que ses instructions sont inutiles pour le module Sainsmart, comme (citant):

Remarque / avertissement

Il était auparavant indiqué que cela concernait les modules de relais SainSmart, mais il m'a été signalé plus tard que ces cartes avaient déjà cette logique intégrée.

Phil B.
la source
Je vous en prie. Le problème avec l'électronique est que la plupart des choses sont assez simples, une fois que vous avez compris les principes de base. Je voulais juste m'assurer que vous aviez tout ce dont vous avez besoin pour commencer et que vous n'avez pas à apprendre en faisant frire quelques Pi :)
Phil B.
En effet, je vais certainement investir dans des cavaliers appropriés pour éviter de court-circuiter quoi que ce soit.
Nathan Osman,
1
Suivi: vos instructions ont parfaitement fonctionné et j'ai pu obtenir des cavaliers femme-homme qui s'insèrent dans les bornes à vis du relais. Le câblage restant était simple et j'ai fini par écrire un package Go pour contrôler les broches GPIO sur le Pi.
Nathan Osman
Dans votre réponse, vous déclarez que le rPi peut produire un maximum de 50mA au total, et vous continuez que la carte relais utilise 160mA, ce qui est bien en dessous de ce que le rPi peut fournir . Cela me semble contradictoire, veuillez clarifier.
Codor
1
50mA est ce que les broches GPIO peuvent fournir. La broche 5 V (également sur l'en-tête GPIO, mais à proprement parler pas une broche GPIO mais plutôt un passage de la source d'alimentation) peut gérer des charges plus importantes, certainement plus que les 160 mA requis par la carte relais.
Phil B.
1

La reponse courte est oui. Sur la base du schéma de câblage ci-dessus, lorsque la broche GPIO monte, les fils insérés dans la borne à vis étiquetée 1 à côté du relais seront connectés. Inversement, lorsque la broche GPIO devient basse, les 2 fils se déconnectent via le relais. Si vous essayez d'alimenter tous les relais à partir d'une seule source, vous pouvez connecter en guirlande une borne à vis de chaque banque numérotée avec un petit fil de connexion et fournir la source de haute tension à une seule des bornes à vis de connexion. Toutes les autres bornes à vis ouvertes peuvent alors se connecter à vos appareils, lampes ou tout ce que vous alimentez.

jsalassi
la source