5V Solid-State-Relais über 3.3V Logik steuern

OP #7899477
Lesenswert?

Hallo zusammen,

ich möchte ein SSR von Weidmüller (https://eshop.weidmueller.com/de/top-5vdc230vac-01a/p/8951160000) mit einem Raspberry Pi 5 steuern. Der Raspberry Pi wird über ein 5V Spannungsversorgung bestromt, die GPIO Pins arbeiten jedoch mit 3.3V Logik. Das Relais hat eine Steuerspannung im Bereich 4-6V, ich muss also meine 5V Versorgung auf das Relais legen und diese irgendwie mit den 3.3V vom Raspberry Pi schalten.

Da ich nicht zu weit weg vom eigentlichen Projekt abdriften möchte, suche ich nach einer fertigen Lösung. Ich weiß man könnte sich hier selbst eine entsprechende Schaltung entwerfen, das möchte ich jedoch wenn möglich vermeiden.

Bishere Optionen, die ich gefunden habe:

  1. Logic Level Converter TXS0108E: Hierzu gibt es viele fertige Breakout Boards. Das Datenblatt gibt zwar einen maximalen Ausgangsstrom von 50mA an (das Relais hat einen Nennsteuerstrom von 7.8 mA), jedoch ist der Chip für "stromlose" Logikschaltungen konzipiert. Daher kommt mir die Lösung nicht optimal vor.

  2. Darlington Array ULN2803A: Auch hier gibt es viele fertige Breakout Boards. Die Lösung ist simpel und klingt eigentlich ideal, großes Problem ist hier jedoch der Spannungsabfall von bis zu 1.1V über die Transistoren. Lauten Datenblatt sollte dieser bei kleinen Strömen zwar unter 1V liegen, jedoch ist das ganze dennoch ziemlich auf Kante genäht.

Beide Optionen müssten zwar funktionieren, kommen mir jedoch nicht ideal vor. Meine Suche nach MOSFET-basierten Alternativlösungen zum ULN3803A war nicht sehr erfolgreich. Hat jemand noch eine andere Idee oder Anregung, wie man das Problem lösen könnte?

#7899518
Lesenswert?

Gunnar schrieb:

Jörg R. schrieb:

Schalte das SSR mit einem NPN BCxxx gegen GND.

Warum genau dieser Transistor..

BCxxx ist nur ein Hinweis auf die Reihe.

und kein MOSFET?

Ja, geht auch.

Weil Fertige Boards dafür gibt es leider auch keine. Ich muss das Ding irgendwie sauber an den Raspberry Pi oder einer Hutschiene montieren können.

Dann kaufe dir ein schmales Gehäuse für die Hutschiene und setze die wenigen Bauteile auf ein Stück Lochrasterplatine. Das baust du dann in das Gehäuse. Alternativ kannst du auch eine kleine Platine zeichnen und bei JLCPCB für wenig Geld herstellen lassen.

PS: Das „Problem“ ein Relais mit einem Raspi zu schalten wurde hier schon x-mal durchgekaut.

OP #7899519
Lesenswert?

H. H. schrieb:

Muss es denn dieses SSR von Weidmüller sein? Auch andere Väter haben schöne Töchter.

Nein, das muss es nicht sein. Eine mehrstündige Suche hat jedoch keine Hutschienen kompatiblen SSR mit einer Steuerspannung von 3.3V ausgespuckt. Das Weidmüller habe ich genommen, weil es von allen, die ich gefunden habe, die kleinste Steuerspannung und Steuerstrom hat.

#7899523
Lesenswert?

Gunnar schrieb:

Das Weidmüller habe ich genommen, weil es von allen, die ich gefunden habe, die kleinste Steuerspannung und Steuerstrom hat.

beides nicht Raspi kompatibel, so direkt tötet man GPIO, haben schon Andere bewiesen.

Also ein Treibertransistor vorschalten ist keine doofe Idee. Reicht dir denn der max. Dauerstrom: 0,1 A vom SSR?

#7899528
Lesenswert?

Gunnar schrieb:

Warum genau dieser Transistor und kein MOSFET?

Der NPN ist billig, robust und für diese Anwendung passend. Die Auswahl an MOS-FET für 3V-Ansteuerung ist begrenzt und hier ohne Vorteil.

Fertige Boards dafür gibt es leider auch keine.

Anderes Hobby suchen.

Rainer W. schrieb:

Ich muss das Ding irgendwie sauber an den Raspberry Pi oder einer Hutschiene montieren können.

Setze ein Shield oder einen Hat - oder wie das Zeugst heutzutage heißt - auf den Rasp Pi.

Vielleicht eine Marktlücke für Dich, Platinchen mit einem BC547 samt Basiswiderstand und Schraubklemmen bei Amazon anzubieten?

Was ist eigentlich der THT-Nachfolger, OnSemi markiert ihn als "Obsolete".

Die Forensoftware weigert sich leider, den Link einzubinden https://www.onsemi.com/pdf/datasheet/bc546-d.pdf

Angehängte Dateien:
#7899530
Lesenswert?

Gunnar schrieb:

15mA@5.0V. Bei 3.3V erwarte ich also einen Strom von 23mA.

Wie kommst du da denn drauf? Da ist entweder eine Konstantstromquelle drin, damit ändert sich der Strom nicht/kaum über die Spannung, oder ein einfacher Widerstand, und damit sinkt er (bis zur Nichtfunktion bei Unterspannung).

Gunnar schrieb:

Die GPIO Pins vom Raspberry Pi können maximal 16mA.

Achte dabei auf die übrigbleibende Spannung. 16mA gut und schön, aber niemals bei 3,3V vom Pin zum GND.

OP #7899538
Lesenswert?

Joachim B. schrieb:

Reicht dir denn der max. Dauerstrom: 0,1 A vom SSR?

Ja, pro Relais werden maximal 15W@230V/AC geschaltet

Jens M. schrieb:

Wie kommst du da denn drauf? Da ist entweder eine Konstantstromquelle drin, damit ändert sich der Strom nicht/kaum über die Spannung, oder ein einfacher Widerstand, und damit sinkt er (bis zur Nichtfunktion bei Unterspannung).

Danke, guter Punkt. Ich bin fälschlicherweise davon ausgegangen, dass die Eingangsleistung konstant ist, aber so ergibt es mehr Sinn.

Jens M. schrieb:

Achte dabei auf die übrigbleibende Spannung. 16mA gut und schön, aber niemals bei 3,3V vom Pin zum GND.

Weiterer guter Punkt. Um einen Treiber werde ich also wohl oder übel nicht drumherum kommen.

OP #7899558
Lesenswert?

H. H. schrieb:

Du willst mehr als eines an den Pi hängen? Dann wird es mit der Summe der GPIO-Ströme eng: max. 51mA sind erlaubt.

Es werden entweder ein oder zwei Relais, das klärt sich die Tage noch. Ist aber für den Fall Jacke wie Hose, so weit war ich schon.

H. H. schrieb:

Ventilkopf Heizkreis?

LED-Leuchte(n).

Das DRA-CN240A05 hat einen nominellen Eingangswiderstand von 330Ohm, ich kann also einen Strom von 10mA erwarten, richtig? Die Spannung des GPIO-Pin soll laut mehreren Quellen bis zu einer Last von 16mA nicht unter 3.0V fallen. Demnach müsste es funktionieren, wenn ich das Teil direkt an einen GPIO-Pin anschließe. Ich werds mal ausprobieren.

#7899606
Lesenswert?

Joachim B. schrieb:

wird immer wieder behauptet, der Beweis wurde nie erbracht das die sicher ohne Portsterben dauerhaft funktioniert.

Der Wert von 16mA galt zumindest für den Raspberry Pi 4 (BCM2711). Dort hat der Hersteller die 16 mA spezifiziert und dann darf man den Wert erstmal glauben. Solche Spezifikationen haben nichts mit Portsterben, sondern mit garantiertem Funktionieren zu tun.
S.9 Fußnote c: "Maximum drive strength (16mA)" https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-datasheet.pdf

(Firma: Hobbytheoretiker) #7899635
Lesenswert?

Eine Lösung, die für den TO nicht in Frage kommen sollte, aber die kommt bestimmt noch: Das SSD aufmachen, einfach die grüne LED überbrücken und schon geht das SSD auch mit 3,3V.

Die vernünftigste Lösung ist aber die 5V am GPIO abzugreifen für die Ansteuerung und einen simplen Transistor zu nehmen. Es ist davon auszugehen, dass der TO auch die fertig berechneten Werte für die Widerstände benötigt und auch den Schaltplan.

#7899674
Lesenswert?

Rainer W. schrieb:

Der Wert von 16mA galt zumindest für den Raspberry Pi 4 (BCM2711).

es galt auch immer

H. H. schrieb:

Summe der GPIO-Ströme eng: max. 51mA sind erlaubt.

viele haben das überlesen und deswegen sollte man die einzelnen GPIO nicht mit mehr als 3mA belasten, weil man irgendwann das mit dem Summenstrom vergißt "huch gestern ging es doch noch" mal eben noch was angeschlossen an die GPIO.

Die Ströme gelten für rein und raus weil alles vom GPIO enteweder nach + oder nach - geht.

#7899753
Lesenswert?

Dieter D. schrieb:

Dieter D. schrieb:

und auch den Schaltplan.

Anbei für falstad.com die Schaltung mit Simulation und Werten. An der Stelle, wo der OK ist, wäre das SSD zu plazieren.

Du musst das Rad nicht neu erfinden, solltest stattdessen lieber die anderen Kommentare lesen:

Rainer W. schrieb:

(..)

https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Schaltstufe_f%C3%BCr_kleine_Lasten

Dieter D. schrieb:

Eine Lösung, die für den TO nicht in Frage kommen sollte, aber die kommt bestimmt noch:

Warum sollte die „Lösung“ nochmals kommen, du hast sie doch gerade genannt?

Das SSD aufmachen, einfach die grüne LED überbrücken und schon geht das SSD auch mit 3,3V.

Unsinn. Wenn das SSR (nicht SSD) nicht passt wählt man eines dass passt.

Die vernünftigste Lösung ist aber die 5V am GPIO abzugreifen für die Ansteuerung und einen simplen Transistor zu nehmen. Es ist davon auszugehen, dass der TO auch die fertig berechneten Werte für die Widerstände benötigt und auch den Schaltplan.

Genau. Mach das doch mal, anstatt Vorschläge zu wiederholen und unsinnige Vorschläge zu machen.

(Firma: Hobbytheoretiker) #7899779
Lesenswert?

Jörg R. schrieb:

Du musst das Rad nicht neu erfinden, solltest stattdessen lieber die anderen Kommentare lesen:

Rainer W. schrieb:

(..)

https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Schaltstufe_f%C3%BCr_kleine_Lasten

Da fehlen die Werte, bzw. wenn er das spätere Beispiel mit den 470 Ohm verwendet, kann die Belastung der GPIO insgesamt doch noch zu hoch werden.

Warum sollte die „Lösung“ nochmals kommen, du hast sie doch gerade genannt?

Weil diese in alten Threads mit gleichem Problem vorkam.

Unsinn. ...

Dass die Lösung für den TO unsinnig ist, stand ja schon in meinem Startsatz des Posts. Schön, dass Du das noch mal wiederholst.

Jörg R. schrieb:

Dieter schrieb:

Die vernünftigste Lösung ist aber die 5V am GPIO abzugreifen für die Ansteuerung und einen simplen Transistor zu nehmen. Es ist davon auszugehen, dass der TO auch die fertig berechneten Werte für die Widerstände benötigt und auch den Schaltplan.

Genau. Mach das doch mal, anstatt Vorschläge zu wiederholen und unsinnige Vorschläge zu machen.

"There are two pins (GPIO #'s 2 and 4) that provide a 5V output, derived from the Raspberry Pi's power supply, according to raspberrypi.ws and raspberrypi.ws. These 5V pins can be used to power external components or even the Raspberry Pi itself when connected to a suitable power source according to The Pi Hut"

"The maximum current output from the 5V pins on a Raspberry Pi depends on the model and power supply used. On the Raspberry Pi 5, with a compatible 5A (25W) power supply, the downstream USB peripherals can draw a maximum of 1.6A. Without this specific power supply, the limit is 600mA. For other Raspberry Pi models, the 5V GPIO pins are generally limited by a polyfuse to around 1.2A"

Für Pi 4b: https://forums.raspberrypi.com/viewtopic.php?t=286044

#7899796
Lesenswert?

Dieter D. schrieb:

Jörg R. schrieb:

Du musst das Rad nicht neu erfinden, solltest stattdessen lieber die anderen Kommentare lesen:

Rainer W. schrieb:

(..)

https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Schaltstufe_f%C3%BCr_kleine_Lasten

Da fehlen die Werte, bzw. wenn er das spätere Beispiel mit den 470 Ohm verwendet, kann die Belastung der GPIO insgesamt doch noch zu hoch werden.

Dann liefere doch mal korrekte Werte, musst die KI halt besser füttern.

Warum sollte die „Lösung“ nochmals kommen, du hast sie doch gerade genannt?

Weil diese in alten Threads mit gleichem Problem vorkam.

Merkwürdige Begründung.

Unsinn. ...

Dass die Lösung für den TO unsinnig ist, stand ja schon in meinem Startsatz des Posts. Schön, dass Du das noch mal wiederholst.

Mit Unsinn meinte ich vor allem dass du so einen Vorschlag gemacht hast.

Jörg R. schrieb:

Dieter schrieb:

Die vernünftigste Lösung ist aber die 5V am GPIO abzugreifen für die Ansteuerung und einen simplen Transistor zu nehmen. Es ist davon auszugehen, dass der TO auch die fertig berechneten Werte für die Widerstände benötigt und auch den Schaltplan.

Genau. Mach das doch mal, anstatt Vorschläge zu wiederholen und unsinnige Vorschläge zu machen.

"There are two pins (GPIO #'s 2..

Und wieder nur kopiertes Zeugs.

#7899999
Lesenswert?

Jörg R. schrieb:

https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Schaltstufe_f%C3%BCr_kleine_Lasten

Da fehlen die Werte, bzw. wenn er das spätere Beispiel mit den 470 Ohm verwendet, kann die Belastung der GPIO insgesamt doch noch zu hoch werden.

Da hat Dieter leider recht. Laut Tabelle soll der BC337 270 Ohm Basiswiderstand bekommen, was 10 mA ergibt. Das könnte tatsächlich mehr sein, als der ansteuernde µC darf.

Der von Dieter gezeigte 10k an der Basis liefert 253 µA, das wird für die paar mA des OptoRelais gerade so ausreichen.

Die darunter genannten BS170 bzw. BSS138 werden außerhalb deren garantierten RDS(on)-Werten betrieben.

#7900005
Lesenswert?

Manfred P. schrieb:

Laut Tabelle soll der BC337 270 Ohm Basiswiderstand bekommen, was 10 mA ergibt.

Die Tabelle taugt halt nichts für die Ansteuerung des SSR vom TO. Die LED braucht weniger als 20mA, d.h. 1mA Basisstrom für den BC337 sind mehr als genug damit der die LED vernünftig schaltet.

Manfred P. schrieb:

Die darunter genannten BS170 bzw. BSS138 werden außerhalb deren garantierten RDS(on)-Werten betrieben.

Meinst du mit R_DS(on) vielleicht U_GS? Und nein, der BS170 ist für 3.3V Ansteuerung nicht geeignet. Wie kommst du ausgerechnet auf den Typ? Für die Ansteuerspannung könnte man einen IRLML6244 oder einen Si2302DS verwenden-

(Firma: Hobbytheoretiker) #7900039
Lesenswert?

Manfred P. schrieb:

Der von Dieter gezeigte 10k an der Basis liefert 253 µA, das wird für die paar mA des OptoRelais gerade so ausreichen.

Mit einem Verstärkungsfaktor von 100 des Transistors läge der Kollektorstrom bei maximal 25mA. Damit wäre sichergestellt, dass das SSR mindestens mit 10mA angesteuert werden kann aber auch die 5V-Pins des Raspi nicht mit zu großen Peaks belastet werden.

#7900042
Lesenswert?

Rainer W. schrieb:

Manfred P. schrieb:

Laut Tabelle soll der BC337 270 Ohm Basiswiderstand bekommen, was 10 mA ergibt.

Die Tabelle taugt halt nichts für die Ansteuerung des SSR vom TO. Die LED braucht weniger als 20mA, d.h. 1mA Basisstrom für den BC337 sind mehr als genug damit der die LED vernünftig schaltet.

Ich weiß das. Der wichtige Hinweis ist eher, dass die dort genannten 270 Ohm den Port des steuernden µC überfrodern können!

Manfred P. schrieb:

Die darunter genannten BS170 bzw. BSS138 werden außerhalb deren garantierten RDS(on)-Werten betrieben.

Meinst du mit R_DS(on) vielleicht U_GS?

Danke, natürlich. Es geht um garantierte R_DS(on) bei U_GS.

Und nein, der BS170 ist für 3.3V Ansteuerung nicht geeignet. Wie kommst du ausgerechnet auf den Typ?

Aus der Tabelle unter dem von Dir gezeigten Link: Rainer W. schrieb im Beitrag #7899485:

https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Schaltstufe_f%C3%BCr_kleine_Lasten

Auch der dort genannte BSS138 ist für 3V3 untauglich, aber zumindest an 5V einigermaßen brauchbar.

Für die Ansteuerspannung könnte man einen IRLML6244 oder einen Si2302DS verwenden.

Ja, wer auch immer diese Seite verbrochen hat, sollte sie überarbeiten.

Dieter D. schrieb:

Jörg R. schrieb:

Dann liefere doch mal korrekte Werte, musst die KI halt besser füttern.

Mit Leseverstehen und Schaltplananlagelesenkönnen wäre die Frage nicht mehr notwendig gewesen.

Nicht frech werden, Dieter!

(Firma: Hobbytheoretiker) #7900044
Lesenswert?

Jörg R. schrieb:

Und wieder nur kopiertes Zeugs.

Warum das Rad zweimal erfinden, wenn es den Text schon gibt.

Sorry, hatte nicht daran gedacht, dass für Dich (Du motzt hier stellvertretend für andere, die sich das nicht trauen hier eine Lücke zuzugeben) eine Kurzfassung auf Deutsch, also übersetzt, vorhanden sein muss.

An den GPIO Pins Nummer 2 and 4 liegen die 5V des Raspi an. Beim Raspi 5 kann nach Abzug des Eigenverbrauchs aus den Pins in der Summe bis zu 600mA bezogen werden. Für den Raspi 4b siehe unter dem Link im Forum.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren