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:
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.
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?
Warum genau dieser Transistor und kein MOSFET? 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.
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.
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.
Eine mehrstündige Suche hat jedoch keine
Hutschienen kompatiblen SSR mit einer Steuerspannung von 3.3V
ausgespuckt.
DRA-CN240A05 von Crydom.
Das hat leider einen Eingangsstrom von 15mA@5.0V. Bei 3.3V erwarte ich also einen Strom von 23mA. Die GPIO Pins vom Raspberry Pi können maximal 16mA. Effektiv hat man also nichts gewonnen.
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).
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.
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.
Vielleicht eine Marktlücke für Dich, Platinchen mit einem BC547 samt
Basiswiderstand und Schraubklemmen bei Amazon anzubieten?
Bei Einzelstücken baut man so ein Ding normalerweise auf einem Stück Lochrasterplatine auf. Es geht nur darum, dass das Ding fest auf dem Rasp Pi montiert ist und nicht irgendwo rum fliegt.
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
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.
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.
Mit Schaltnetzteil drin, schön mit Elko am Gleichrichter? Oder gar
direkt mit Kondensatornetzteil?
Damit ist gemeint, dass eine SSR + LED kein gutes Paar ergeben, was dann oft in einer blitzenden LED resultiert. Zumal dein gewähltes SSR auch einen Snubber integriert hat.
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.
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"
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.
Einfach A1 an 5V hängen, und A2 an den I/O Pin (Ausgang) des Mikrocontrollers.
An den LEDs im Eingangskreis des SSR fällt genug Spannung ab, so dass der Raspi nicht überfordert wird - wenn es so aufgebaut ist, wie das von Dieter gezeigte Modell.
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.
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.
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-
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.
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:
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.
Das war nur ungefähr der gleiche Level, nur minimal mehr. In einem anderen Thread war er natürlich deutlich aggresiver. Ja Manfred, Du hast nicht ganz unrecht mit dem Einwand.