NEWS
Eingangsbeschaltung / Optokoppler, Spannungsteiler...
-
Hallo zusammen,
ich hoffe das passt zur Hardware?
Den iobroker nutze ich jetzt schon mehrere Jahre, die Projekte wurden immer größer und irgendwann wollte ich einige Schalter abfragen. Die erste Version war über einen Trimmpoti als Spannungsteiler (Schalter sind alle mit 12V DC versorgt). Hier hatte ich das Problem, dass häufig Eingänge als LOW erkannt wurden obwohl der PIN ~3,3V hatte (deutlich im Bereich des HIGH Pegel des Pi) oder als HIGH obwohl der Schalter aus war (und somit über den Trimmer der Eingang ja auf GND gezogen würde). Ärgerlich. Da ich sowieso ein paar analoge Werte erfasse habe ich dann alle Schalter auf einen ADS1115 gelegt und werte dann per Skript selbst HIGH und LOW Pegel der Schalter aus. Funktioniert jetzt gute 4 Jahre.
Projekte ändern sich und ein Update der Platine ist nötig. Von den ADS1115 möchte ich weg, genug GPIO am Pi sind frei und so richtige Vorteile durch die ADS hatte ich auch nicht.
Noch immer frage ich mich warum hat der Spannungsteiler nicht funktioniert hat? Waren die Potis zu hochohmig (ich weiß leider nicht mehr was verbaut wurde)?Die nächste Lösung wären Optokoppler, aber auch hier benötige ich Vor und Pullup/down Widerstände.
Was gibt es noch an Möglichkeiten?
Viele Grüße!
-
@olis Hast du zwischen Schalter und PI lange Kabel oder Kabel die in der Nähe von Wechselspannungskabel legen, sodass du "Brumm" auf der Leitung hast ? Evtl. mal mit dem Multimeter in AC Einstellung am Eingang des PI messen ?
-
@olis Mit einem Optokoppler fährst du in diesem Fall wohl am Besten. So sind die Stromkreise sauber getrennt.
-
@geschild
ja, jein...Die Kabel sind relativ lang - bis zu 10m. Es liegen zwar 230V Leitungen direkt daneben, allerdings waren die beim Auftreten des Problems nicht am Netz. Ich hab auch schon ein kleines Oszi an die Eingänge gehängt und da war saubere DC. Ich habe auch mal eine Aufzeichnung mit dem ADS laufen lassen und da ändern sich die Spannunsgwerte am Eingang nur in der zweiten Kommastelle um.
Die Länge selbst dürfte weniger eine Rolle spielen? Normal habe ich 10k Trimmer für so etwas im Einsatz - das müsste zumindest für ein sicheres LOW genügen?
-
@olis Die Sensibilität gegen äußere Störungen kann man auf verschiedene Art verringern.
-
Verdrilltes Adernpaar: Durch die Verdrillung mitteln sich induzierte Störungen durch magnetische Wechselfelder heraus.
-
Schirmung: Hilft bei magnetischen 50 Hz Wechselfeldern nur bedingt.
-
Nutzsignal robuster machen... Das kann man erreichen, indem man den Spannungsteiler nicht zu hochohmig macht ... 10 mA bei 12 V wären ein erster Ausgangswert für Tests ....
-
Tiefpassfiltern - wenn es auf eine Zehntelsekunde mehr Reaktionszeit nicht ankommt, kann man zum unteren Widerstand des Spannungsteilers einen Kondensator parallelschalten... Da sollte man dann aber ggfs. den Spannungsteiler hochohmiger machen, sonst wird der Kondensatorwert zu hoch.
Zu 3)
12 V / 0,01A = 1,2 kOhm.
Vielleicht 820 + 330 Ohm = 12 V x 330 / (820+330) = 3,4 V
Ein Optokoppler wäre aber wirklich empfehlenswert, wenn man der Sauberen Trennung der 12 V von Netzspannung nicht traut ...
-
-
@martinp
danke für die ausführlichen Infos.
1 und 2 sind bekannt, allerdings habe ich das bei dem Projekt ignoriert - war bisher auch nie ein Problem. Die Probleme traten allerdings auch auf, wenn keine 230V in der Nähe sind/waren.
3. das wäre wie gesagt meine aktuelle Vermutung - falsche Trimmer als Spannungsteiler
4. wäre auch schick, aber wie gesagt bin ich anfangs nicht von AC Störungen ausgegangen.Optokoppler finde ich halt vom Gefühl her etwas übertrieben, alles ist von einer Batterie versorgt und 230V kommen nur zum Laden ins Spiel.
Mal sehen ob noch irgendwo eine alte Schaltung liegt und was da verbaut wurde. Bei meinen 10kOhm Trimmern wäre ~1mA evtl. doch etwas wenig -
Beim Ausmisten eine alte Platine gefunden->
die Trimmer bei der Problemplatine haben in der Tat in zwei Fällen 500kOhm - ups keine Ahnung wo die herkommen, aber das könnte das Problem gewesen sein...