Digital Input durch Signalübersprechen zerstört!

Hallo,

Überraschungen erlebt man immer wieder.
Ich tüftele an einem Versuchsaufbau zum Temperaturmanagement einer Power-LED
Dazu verwende ich ein 8x0,5 Steuerkabel mit ca. 3m Länge. Über dieses Kabel gehen:
3 Adern 1x DS18B20
3 Adern 12V Lüfter mit Tachosignal, PWM gesteuert
2 Adern 60W Power LED gedimmt - ca. 42V 1,4A
Ich bin noch beim Schreiben der Software und gehe etappenweise vor. Hardware ein Feature nach dem anderen, SW ebenso.
Als Erstes habe ich den DS18B20 ausgewertet und auf einem per I2C angebundenen LCD Display die Temperatur, die Lüfterdrehzahl, den Potiwert in % und die LED Leistung in % angezeigt.
Irgendwann flashte ich eine veränderte Software und bekam permanent nur nuch 0°C angezeigt. Die alte SW wieder aufgespielt, immer noch 0°C!
Misstrauisch geworden, probierte ich direkt an den Schraubklemmen ohne Kabel dazwischen einen anderen DS18B20 - ebenfalls 0°C Anzeige.
Erst nachdem ich den Atmega 328 und den DS18B20 erneuert hatte, bekam ich wieder Temperaturwerte.
Das läßt nur den Schluss zu, das das Signalübersprechen auf 3m Kabel der LED-PWM oder auch der Lüfter PWM so stark war, mir den digitalen Eingang des Atmega 328 und den temperatursensor zu killen.
Ab und zu ungültige Datenpakete hatte ich bemerkt, per Software aber abgefangen und dann verworfen.
Ich habe jetzt dem DS18B20 noch eine kleine Platine mit einem Stützelko von 47µF zwischen Masse und 5V vorgeschaltet und den Datenausgang mit 2 Si-Dioden in Sperrichtung gegen Masse und +5V geschützt. Den Eingang des 328 werde ich am anderen Ende des Kabels ebenso mit 2 Dioden gegen Überspannung und negative Spannung schützen. Hoffentlich reicht das.
Auf 3 Meter Kabellänge hätte ich im Leben nicht mit diesem Ergebnis gerechnet. :fearful:

Für Datenleitungen empfiehlt sich verdrilltes Kabel, jedes Signal mit Masse verdrillt. Bei höheren Strömen kann sich auch das Potential der Masse-Leitung verschieben, die sollte ausreichend dick sein, beim paarweisen verdrillen ist das ein netter Nebeneffekt.

Die PWM und andere Signale haben keine direkte Auswirkung, für Übersprechen sind diese Ströme eigentlich zu schwach. Aber die dranhängenden Gerätschaften können schon heftige Sprünge im Stromverbrauch machen, die dann in die Signalleitungen spucken. Wenn mehrere Netzteile verwendet werden, sollten diese getrennt an die jeweiligen Verbraucher (Treiber-Platinen) geführt werden, dann können sie die Verbindung zum Controller und die restliche Umgebung am wenigsten stören.

Hallo,

ganz heißer Tipp für so etwas: Potentialtrennung über Optokoppler! Alternativ muß man die Pins durch entsprechende Bauteile schützen (Vorwiderstand, Z-Diode,...)

Christian

Das wird wohl die Power LED gewesen sein die die anderen Komponenten abgeschossen hat.
Die LED wird mit PWM gedimmt, also liegt ein 42V Rechtecksignal auf der Leitung.
Die Isolation und die einzelnen Adern des Kabels wirken wie ein Kondensator und deshalb liegen auch an den anderen Adern bis zu 42V an!
Ganz klar das die Sensorwen und der Arduino da nicht glücklich drüber sind.

Habe hier ein ähnliches Problem. Mehradriges Kabel mit Schaltereinheit, mit der ich meine Steckdosen unter dem Tisch ein- und ausschalten kann. Das ist nicht für externe Festplatten geeignet. Die laufen obwohl ausgeschaltet, jede Minute mal kurz an. Der Kondensatoreffekt lädt den Eingangskondensator des Netzteils langsam auf und ab einer bestimmten Spannung tut das Netzteil und die Festplatte läuft kurz an. Die braucht aber so viel Energie, daß der Eingangskondensator sofort entladen wird.

Getrennte und geschirmte Kabel konnte ich nicht verwenden, da ich in dem Rohr vom Fuß hoch zum Lampenschirm nur sehr berenzt Platz habe. Ursprünglich ging dort nur eine 2x 0,75 Quadrat Netzleitung hoch und zu allem Überfluss ist unten im 90° Winkel eine Verschraubung und oben eine Gewindehülse.
Spezialkabel, ähnlich Kamerakabel mit dicken Adern zur Stromversorgung und einzeln geschirmten dünnen Adern fand ich nicht auf die Schnelle.
Ich habe dann aus der Not heraus zu einem Trick gegriffen. Das Kabel innerhalb der Lampe abgemantelt, den Mantel außen an der Verschraubung anstoßen lassen und die Verbindungsstelle Kabel - Verschraubung mit Schrumpfschlauch zugeschrumpft :smiling_imp:
Meine Schutzmaßnahmen auf Seiten des Sensors und auf dem Controllerboard scheinen was zu bringen. Ich habe, wie es aussieht keine ungültigen Datenpakete mehr. Mehr weiß ich, wenn die SW fertig ist und die Lampe im Dauerbetrieb läuft.