Richtige Verdrahtung eines Halbleiterrelais mit den GPIO-Pins?


13

tl; dr - Ich möchte dieses Relais an die GPIO-Pins meines Raspberry Pi B + anschließen.


Ich möchte ein Halbleiterrelais für meinen Raspberry Pi kaufen. Nach langem Suchen bin ich auf dieses 8-Kanal-Relais von Sainsmart gestoßen:

Bildbeschreibung hier eingeben

Ich bin mir jedoch nicht ganz sicher, wie ich es an den Pi anschließen soll. Diese Seite enthält eine Liste aller Pins. Wenn ich das richtig verstehe, liefern die GPIO-Pins 50 mA bei 3,3V. Es gibt auch ein paar GPIO-Pins, die 5 V liefern. Gemäß den Spezifikationen für das Relais sollten 3,3 V ausreichen, um einen Kanal zu aktivieren.

Aufgrund meines äußerst begrenzten Wissens habe ich mir diesen Schaltplan ausgedacht:

Bildbeschreibung hier eingeben

Ist das richtig? Vermisse ich etwas? Jeder Rat wird sehr geschätzt.

Antworten:


14

Ihr Schaltplan ist korrekt, da (gemäß der von Ihnen verlinkten Sainsmart.com-Website) die technischen Daten des Geräts wie folgt lauten:

Eingangssteuersignalspannung:

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

Der Raspberry Pi verwendet 3V3-Signale an seinen GPIO-Pins. Ein Spannungspegel, der hoch genug ist, um den High-Status im Relais gemäß den Spezifikationen auszulösen. Ein Arduino (für das dieselbe Karte verwendet wird) verwendet 5V-Signale an seinen GPIO-Pins und funktioniert mit dieser Karte genauso gut. Die andere Schaltung auf der Karte muss von einer 5-V-Quelle gespeist werden, für die Sie die Karte ordnungsgemäß mit dem 5-V-Stromversorgungsstift am GPIO-Header verbunden haben.

Die von Ihnen angegebenen Spezifikationen sind jedoch nicht vollständig korrekt. Der GPIO-Header besteht aus Netzteil-Pins (1x 3V3 und 2x5V), mehreren Ground-Pins sowie GPIO-Pins. Die GPIO-Pins (wie GPIO17, die Sie erwähnen) sind stark in der Stromstärke begrenzt, die sie liefern können (im Gegensatz zu den 5-V-Pins, die mindestens 0,5 A liefern können, wenn nicht mehr, je nach RPI-Modell). Jeder Pin kann maximal 16mA ausgeben (nicht 50mA, wie Sie bereits erwähnt haben), mit einem maximalen Gesamtstrom über alle Pins von 50mA. Dies reicht aus, um ein paar LEDs anzusteuern, aber nicht viel mehr. Die Pins werden normalerweise zum Senden von Signalen an andere Geräte verwendet, und Ihr Relais ist ein perfektes Beispiel.

Wie bereits erwähnt, funktioniert Ihre Schaltung nach dem Zeichnen einwandfrei (vorausgesetzt, Sie versorgen die Relaisklemmen mit einer anderen Stromquelle. Auf der Sainsmart-Seite finden Sie Informationen zu den unterstützten Relaisspannungen und -strömen:

SSR-Ausgang (jeder Kanal):

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

). Es ist üblich, mindestens einen Widerstand in die Leitung zwischen GPIO17 und dem Relais einzubauen (1 kOhm sollte ausreichen), um zu vermeiden, dass ein Kurzschluss Ihr rPi über den GPIO-Pin brät. Wenn Sie extrem sicher sein möchten, können Sie auch verhindern, dass versehentlich eine falsche Verdrahtung Strom an Ihren Ausgang GPIO17 sendet, indem Sie eine Diode anschließen (achten Sie auf die richtige Polarität der Diode!).

Seien Sie außerdem äußerst vorsichtig, wenn Sie mit den GPIO-Pins, insbesondere dem 5-V-Pin, vertraut sind. Wenn Sie die richtigen weiblichen Überbrückungskabel verwenden, sollte dies kein Problem sein. Wenn Sie jedoch auf der GPIO-Seite mit abisolierten Kabeln arbeiten, wird der 5-V-Pin möglicherweise versehentlich mit einem GPIO-Pin verbunden, was zu einer Katastrophe führt (wie ich es nenne) - "gebratener Pi"). Dann - setzen Sie Ihren GPIO-Pin auf "Ausgang" (in welcher Sprache / Bibliothek Sie auch immer verwenden) und aktivieren Sie das eingebaute Pulldown-Register (um sicherzustellen, dass das Signal auf 0 V heruntergezogen wird, wenn es "floatet" und nicht " t das Relais versehentlich auslösen).

Viel Glück!

PS: Das Video auf der Sainsmart-Seite ist keine große Hilfe. Das einzig nützliche ist, dass in der Demo das Relais von einer separaten 5-V-Versorgung gespeist wird, anstatt den 5-V-GPIO-Pin des rPi zu verwenden. Gemäß den Spezifikationen verbraucht das Board nur 160 mA, was weit unter dem Wert liegt, den das rPi liefern kann. So oder so bist du gut. Auf der Sainsmart-Seite ist auch ein Raspberry Pi-Dokument verlinkt, aber auf dieser Seite ( https://github.com/fixedd/RPi_Relay_Interface#readme ) wird ein Haftungsausschluss angezeigt, der besagt, dass die Anweisungen für das Sainsmart-Modul nicht erforderlich sind.

Hinweis / Warnung

Früher galt dies für die SainSmart-Relaismodule, aber später wurde ich darauf hingewiesen, dass in diesen Boards tatsächlich bereits diese Logik eingebaut ist.


Bitte. Die Sache mit der Elektronik ist, dass das meiste ziemlich einfach ist, wenn Sie die Grundprinzipien verstanden haben. Ich wollte nur sicherstellen, dass Sie alles haben, was Sie brauchen, um loszulegen, und nicht lernen müssen, indem Sie ein paar Pi braten :)
Phil B.

In der Tat werde ich auf jeden Fall in richtige Jumper investieren, um einen Kurzschluss zu vermeiden.
Nathan Osman

1
Follow-up: Ihre Anweisungen haben einwandfrei funktioniert und ich konnte einige weibliche-männliche Jumper finden, die in die Schraubklemmen am Relais passen. Die verbleibende Verkabelung war einfach und ich schrieb schließlich ein Go-Paket , um die GPIO-Pins auf dem Pi zu steuern.
Nathan Osman

In Ihrer Antwort geben Sie an, dass rPi insgesamt maximal 50 mA ausgeben kann, und Sie gehen davon aus, dass die Relaiskarte 160 mA verwendet, was weit unter dem liegt, was der rPi liefern kann . Dies scheint mir widersprüchlich, bitte klarstellen.
Codor

1
50mA können die GPIO-Pins liefern. Der 5-V-Pin (ebenfalls auf dem GPIO-Header, aber streng genommen kein GPIO-Pin, sondern ein Durchgang der Versorgungsstromquelle) kann größere Lasten verarbeiten, die auf jeden Fall mehr als die von der Relaiskarte benötigten 160 mA betragen.
Phil B.

1

Die kurze Antwort lautet: Ja. Basierend auf dem obigen Schaltplan werden die in die mit 1 gekennzeichnete Schraubklemme neben dem Relais eingeführten Drähte angeschlossen, wenn der GPIO-Pin hoch geht. Wenn umgekehrt der GPIO-Pin auf Low geht, werden die 2 Drähte durch das Relais getrennt. Wenn Sie versuchen, alle Relais von einer einzigen Quelle zu versorgen, können Sie eine Schraubklemme von jeder nummerierten Bank zusammen mit einem kleinen Überbrückungskabel hintereinander schalten und die Hochspannungsquelle nur einer der überbrückten Schraubklemmen zuführen. Alle anderen offenen Schraubklemmen können dann an Ihre Geräte, Lampen oder was auch immer angeschlossen werden, die Sie mit Strom versorgen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.