Signalleitung entstören

  • Hey Forum,
    ich habe eine Schaltung die einen Wassertank ueberwacht. Eine Signalleitung aus zwei Adern haengt an einem AtMega Microcontroller. Auf der einen Ader liegen +5Volt. Wasser schliesst den Kontakt mit einer 'toten' Ader und ein Pin des Microcontrollers wird auf High gezogen.

    Es gab mehrere Fehlalarme, die ich mir erst nicht erklaeren konnte. Jetzt habe ich Funkeinstrahlung von Aussen als Uebeltaeter ausgemacht
    Beispielsweise Schaltnetzteile die in der Naehe der Schaltung in die Steckdose gesteckt werden oder eine Halogenschreibtischlampe mit Trafo verursachen ein Ausloesen des Alarms.
    Die Signalleitung ist ungefaehr 3 Meter lang, wenn ich ehrlich bin, haette ich nie gedacht, dass man dafuer schon eine Entstoerung braucht....

    Ich habe probeweise mal 3 Meter geschirmtes Kabel angeschlossen, leider passiert dabei selbiges. Das Kabel besitzt eine Metallfolienschicht um die Leiter, gibt es da noch besseres?

    Vielen Dank Euch!

  • Wäre einfach mal die Frage, was dann genau auf dem Port passiert. Hast Du schon mal einen Oszi dran gehabt? Aber ich denke, in dieser Form kann schon die Berührung mit der Hand etwas bewirken.

    Unabhängig von der notwendigen Beschaltung: hast Du es schon einmal umgekehrt versucht? Also den Port über Pullup nach +5V ziehen und dann den Schalten gegen Masse? Meiner Meinung nach hat man so am Port schon mal ein definiertes Signal anliegen, wie bei einem Taster. Dann aber mindestens noch entprellen, ggf. auch per Software mit einer längeren Phase der Ruhe.

  • Wie ist denn der Portpin jetzt beschaltet?
    Wenn du auf High abfragst, muss der ja per Widerstand auf Low gezogen sein. Sonst geht das ja eh nur zufällig, wenn der Pin ganz offen liegt.
    Normalerweise kann da ein Störsignal wenig anstellen. Wenn doch, noch einen Kondensator parallel dazu schalten. Der wird kleinere Störungen unterbinden.
    Außerdem kannst du ein solches vollkommen Zeitunkritisches Signal einfach mehrfach auf Plausibilität prüfen, bevor ein Alarm ausgelöst wird.
    Dass die Stromversorgung am AVR mit den nötigen Kondensatoren stabilisiert sind, setze ich jetzt mal voraus.

  • Einfach mal die Leitung am Controlletti (relativ) niederohmig abschließen. Sprich mal einen 1 kOhm Widerstand am Portpin nach Masse. Und in der Software sollte man das ganze kräftig entprellen. D.h. dem Signal erst trauen, wenn es für min. 1 Sekunde ununterbrochen auf High war.

    \end{Jochen}