Raspberry Pi Fruchtkammer-Regelung

Hey Leude,

ich baue grade an einer Regelung für eine Pilzfruchtkammer, wofür ich einen Raspberry Pi 4B (2018) nutze. Dazu habe ich ein paar kleine extras gekauft, die wichtigsten sind insg. 4 SSR-Kanäle, mit denen die meisten Verbraucher geschaltet werden sollen. Diese konnte ich recht erfolgreich anschließen. Zumindest funktionieren sie bisher so wie ich das möchte.

Abgesehen von den 4x 230V Verbrauchern, die über die SSRs geschaltet werden, habe ich noch 2x 5V Verbraucher (1x kleine Pumpe und 1x kleinen Lüfter). Die gesamte Strommenge sind grade mal 370 mA (170 mA + 200 mA) laut der Angaben auf den Geräten. Da der Pi 1200mA leisten können soll und beide nicht im Dauerbetrieb laufen sollen, dachte ich, ich könnte die beiden über Transistorschaltungen über den/die 5V Pin(s) betreiben.

Ich verwende einen NPN Transistor namens 2N2222A für die Schaltung, die ich im Internet gefunden habe. Ich habe sie allerdings nicht über den TP1, sondern einfach über den 5V Pin laufen. Hier wird sie für ein mechanisches Relais verwendet, aber das habe ich inzwischen über Bord geworfen und arbeite mit SSRs.
wiring diagram

Edit: jetzt hat es glaube ich geklappt… Ich habe die gleich Schaltung wie oben verwendet, um eine LED (als Dummy für meinen eigentlichen 5V Verbraucher) zu betreiben, indem ich diesen Schaltkreis aufgebaut habe:
schaltkreis

Nur ist der jetzt “active high”, also wenn der GPIO 3,3V rausgibt, leuchtet die LED.

Diesen Schaltkreis würde ich jetzt kopieren und an einen den 5V Lüfter anschließen und an den anderen die 5V Pumpe.

Was ist eure Meinung dazu? Habe ich irgendwelche grundlegenden Prinzipien missachtet oder irgendetwas anderes falsch gemacht?

Edit2: ich habe nun herausgefunden, dass über den 2,2kOhm Widerstand doch zu viel Spannung abgefallen ist, um den transistor voll zu offnen. Daher sind gar nicht 5V, sondern nur ca 2V über die LED abgefallen. Ohne den widerstand fallen tatsächlich 5V über die LED ab, so wie gewünscht. Jetzt bleibt nur die Frage, ob das auch stabil ist und ob ich diese Schaltung auch für PWM nutzen kann (mit Frequenzen um die 100ms).

Danke für eure Zeit!
Leo

P.S.: Zusätzlich habe ich das mir unerklärliche Problem, dass ich seit gestern Abend den Pi nicht mehr über das WLAN ansteuern kann. Per LAN geht es wunderbar, aber ins WLAN kommt er nicht mehr rein. Das liegt allerdings eher an meiner Fritzbox denke ich, aber das ist auch sehr nervig. Kann mir da wer bei helfen?

2 „Gefällt mir“

Über eine Normale LED sollte auch eher so ca. 2V je nach Farbe (davon hängt die Flussspannung ab) ‘abfallen’. 5V sollten über den Vorwiderstand+LED abfallen.
5V ----[==1k==]–(LED)–(Collector … Emitter)–GND
Der Strom von Collector zu Emitter ist der Strom von Basis zu Emitter mal Beta(Verstärkung von Transistor). Beta wird wohl so bei 100…500 liegen
I(BE) * 200 = I(CE)
Also zum ansteuern des NPN Transistors brauchst du nur wenig Strom. I(BE)=1mA reicht völlig aus.
Vom GPIO kommen ca 3.3V und ungefähr 0.7V Falle über die Basis-Emitter Strecke ab.
3.3-0.7V / 2200Ohm = 1.8mA passt also so in der Schaltung.

Wenn die SSRs Active High sind und auch 5V pegel brauchen und selbst keinen Pullup haben dann brauchst du einen externen.
[INPUT SSR]
|
5V ----[==1k==]–|–(Collector … Emitter)–GND
Aber da wäre es besser wenn du nochmal schreibst welchen SSR du da genau hast.

Zu dem Lüfter
5V ----[+ LÜFTER -]----(Collector … Emitter)–GND
Wie der Lüfter dein PWM mag ist eine andere Sache einfach ausprobieren, sonst gibt es auch Lüfter mit PWM Eingang.

Und wenn du mit 230V Arbeitest würde ich dir noch raten vor dem Einschalten jemand anderes über den Aufbau zu sehen.

1 „Gefällt mir“

In deiner Zeichnung sollte die LED nicht leuchten.
Ich vermute, sie ist zwischen Transistor und 5V geschaltet, nicht zwischen Transistor und Masse.

Ich wundere mich, dass deine LED 5V aushält.
Übliche LEDs würden dann eigentlich durchbrennen.
Es gibt aber auch LEDs mit eingebauter Strombegrenzung.

Wenn du statt LEDs Relais anschließt, solltest du Freilaufdioden einbauen.

Hi toka,

du hast Recht, die LED liegt an der Stromquelle an…

Ich war auch erstaunt, dass die LED 5V aushält. Ich besorge mir dann mal Dioden, um die Relais zu schützen! Vielen Dank für den Hinweis. Morgen will ich auch endlich mal einen 5V Lüfter anschließen, um das ganze zu testen.

Hallo TzTz,

danke für deine Antwort, ich hatte bisher noch keine Zeit darauf einzugehen. Ich freue mich, dass ich verstehe, was du zur Stromstärke schreibst. Der Verstärkungsfaktor sollte nach meiner Rechnung bei ca. 400 liegen, wenn ich das grade richtig im Kopf habe. Das wären dann 1.18mA.

Die Relais sind active high soweit ich das verstanden habe. Ich hänge hier mal ein Bild an - kannst du mir sagen, ob die einen pullup Wiederstand haben? Das grüne Teil auf der Platine ist nur eine Sicherung.

grafik

Der pullup Widerstand wäre in deiner Skizze dann der 1kOhm?

Keine Sorge, ich lasse da auf jeden Fall nochmal einen Elektrotechniker drüber schauen. Das will ich aber erst machen, wenn ich glaube, dass es so richtig ist.

Das was dem Bild am nächsten kommt ist https://intesc.mx/wp-content/uploads/2021/07/2-solid-state-relay-board.pdf
Leider ist da auch kein Schaltplan vom Board zu sehen.
Zuerst würde ich den Widerstand zwischen DC+ und CH1 messen. Ist da etwas unter 10kOhmen, würde ich im Anschluss die 5V Versorgung Spannung an das Board anlegen und messen welche Spannung an dem Eingang (CH1 oder CH2) anliegt. Beide nah an den 5V dann ist wohl schon ein PullUp richtig verbaut. Ist es eher 3.3V dann könnte man mit 1kohm probieren ob es deutlich besser wird.

Der Verstärkungsfaktor sollte nach meiner Rechnung bei ca. 400 liegen
https://www.onsemi.com/pdf/datasheet/p2n2222a-d.pdf hfe ist mit 100…300 angegebenen :wink:
Der berechnete I(ce) strom ist auch nur der maximale der Fließen könnte, muss man aber nicht ausreizen. Nur sollte der berechnete Strom über dem liegen was du zum schalten brauchst.

In meiner Skizze wäre der PullUp (also der nach 5V nach “oben” zieht wären der 1kOhm) genau

Also ich konnte den Widerstand zwischen DC+ und Ch1 nicht messen. Das Messgerät hat immer 1 angezeigt, egal wie ich den Messbereich eingestellt habe.

Dummerweise bekomme ich es nicht hin, dass 5V an meinem Relais ankommt. Ich dachte, das hätte ich schon längst erreicht, aber es kommen immer nur 2.6V an, die grade so ausreichen, um das Teil zu schalten und dann könnte ich ja auch einfach den Transistor weglassen und direkt mit dem GPIO schalten und hätte ein besseres Signal oder?

Ich habe versucht, deine Anweisung @TzTz mit dem 1k Widerstand umzusetzen, aber ich habe es einfach nicht hinbekommen.

Wenn ich eine LED anschließe, habe ich ja + und -, aber beim SSR habe ich ja nur einen Kanal, wo ich 5V als Signal raufgeben möchte. Daher weiß ich nicht, wie ich das anschließen soll. Hier mal ein Bild von meinem Breadboard:
IMG_20221115_192223

Bin grade wieder total verwirrt :S

image
Hatte beim ersten lesen nicht gleich gesehen, das da ca 2mA Strom zum schalten erwartet werden.
Jetzt sieht es komisch aus was du auf dem Foto miteinander verbunden hast. Vlt helfen die beiden Bilder so weiter. Der 1k Pullup war zwischen Collector und +5V gedacht. Am collector wird auch dann der Eingang vom SSR angeschlossen. Und der Emitter sollte an GND Angschlossen sein.
Sieht aber so aus als ob auch der 1k Widerstand da noch zu groß wäre.
image
image