Hallo zusammen,
ich bertreibe bereits ein 8 Kanal Relais-Board an meinem Raspberry Pi. Beim Board habe ich JD-VCC und VCC verbunden und speise es direkt von einem 5V Netzteil, an dem auch der Pi über Micro USB hängt. Zwischen GPIO und Relais-Board habe ich einen ULN2003 geschaltet. Alles ist mit dem gleichen GND verbunden und funktioniert wunderbar (bis zu 4 Relais in Benutzung gehabt). Die Schaltung dient als automatisiertes Beregnungs- und Beleuchtungssystem für ein Terrarium. Das Netzteil ist von einem alten externen CD-Brenner und liefert 5V 2A (und 12V 2A für LED Strips).
Nun habe ich mir ein PCF8574 Board bestellt und möchte damit insgesamt 7 Relais schalten. Soweit ich verstanden habe, handelt es sich beim Expandboard um Open Collector Ausgänge, somit brauch ich ein Pull Up, um den ULN2003 zu schalten. Aus diesem Grund habe ich zusätzlich 4,7k Widerstände auf 3,3V+ vom Pi auf IN des ULN2003 gelegt. Das funktioniert prinzipiell auch schon und ich schalte damit bereits 2 230V Lampen.
Jetzt habe ich dabei noch 2 Herausforderungen:
1. Fährt der Pi hoch, sind die Ausgänge vom Expanderboard noch nicht geschaltet und die Relaiskarte schaltet auf "On". Erst wenn die Software initialisiert ist, wird der Ausgang auf den richtigen Zustand geschaltet. Für dieses Szenario habe ich über Pull Down gelesen. Da ich hier aber ein etwas spezielleres Szenario habe, benötige ich hier ein paar Denkanstöße oder Lösungen. :s
2. Schalte ich die Pumpe (noch nicht mit den Relais verbunden) für die Beregnung ein, so springen alle Relais auf "On". Erst wenn die Software den Pin neu schreibt, wird der Ursprungszustand wiederhergestellt. Hier habe ich gelesen, dass das durch Störsignale des Schaltfunken entstehen kann, da auch beide Systeme im gleichen Stromkreis hängen. Abhilfte können hier Kondensatoren zur Glättung der Spannung verschaffen. Hier sollen 220nF auf die Versorgungsleitungen für die 5V vom Netzteil zum Relaisboard und die 3,3V vom Pi zum Expanderboard helfen. Bevor ich diese Bauteile besorge, würde ich mich gern absichern, ob ich hier richtig recherchiert habe, oder ich direkt noch etwas mehr berücksichtigen sollte un es mir zu leicht gemacht habe? :s
Kann ich mir im Pi bestimmte Logs über solche Störungen anschauen? Mein Python Programm läuft ganz normal weiter und wirft keine Fehler.
Über Hilfe würde ich mich sehr freuen!
MfG, Ingo
EDIT: In meinen Logs habe ich soeben einen Fehler gefunden, zusätzlich am I2C-Bus, neben dem Expander, habe ich noch ein 16x2 LCD-Display-Board, welches ich mit dem Python Treiber von Adafruit ansteuer. Hier gab es einen I/O Fehler (Errno 5) beim Lesen eines I2C Blocks.