1-Wire und EMV

Gast #3889440
Guten Abend,

ich habe in der Küche einen AVR und im Keller eine Handvoll DS18x20 
Sensoren welche über ca. 5 m CAT6-Kabel verbunden sind. Das funktioniert 
seit einiger Zeit prima bis auf einen Haken:

Beim Radiobasteln auf Kurzwelle kann ich die 1-Wire-Kommunikation im 
ganzen Haus mithören, klingt etwa so in Dauerschleife: "brbrbrbrbr 
tüüüt". Wenn ich am AVR Reset drücke, ist Ruhe.

Was macht man in so einem Fall am besten?

Die Schirmung des CAT6-Kabels mit GND zu verbinden hat nichts gebracht, 
Wasserhahn hab ich noch nicht probiert. Die Überschwinger mit einem 
Kondensator mit GND kurz zu schließen klappt gut. Bei 22p war's deutlich 
leiser, bei 500pF war garnix mehr zu hören. Temperaturen wurden trotzdem 
richtig übermittelt.

Ist das der richtige Weg?
Gast #3889784
Asinus schrieb:
> Bei 22p war's deutlich leiser, bei 500pF war garnix mehr zu hören.
> Temperaturen wurden trotzdem richtig übermittelt.
>
> Ist das der richtige Weg?

Auf Grund des Timings beim 1-Wire Signal hast du zeitlich Platz für rund 
geschliffene Flanken durch Kabelkapazität. Guck dir die Signale mit dem 
Oszi an. Unterscheiden mußt du auch zwischen parasitärem und normalen 
Betrieb. Je nach dem, wo die Pull-ups liegen, kann sich das auch positiv 
gegen Reflektionen/unsaubere Signale auswirken. Bei 5m hat die 
Kommunikation noch viele Reserven.
Gast #3889795
Jaja, immer der AVR. So gut die Teile auch sind, um hohe Ströme zu 
treiben, so schlecht machen sich die hier bemerkbar. Eine Slew-Rate im 
ns-Bereich direkt an den Ports erzeugt genug EMV. Um dem 
entgegenzuwirken kannst du zwei Pins des AVR für einen 1-Wire opfern. 
Ein Pin treibt die Leitung auf LOW und der andere detektiert nur den 
Zustand. Für den Treiber genügt ein Widerstand, ein NPN (oder MOSFET) 
und ein Kondensator, um das Signal zu entschärfen (siehe 
http://neutrino.phys.ksu.edu/~gahs/doublechooz/DC_SlowMRS/AN244.pdf). 
Der Ausgangswiderstand des Treibers sollte natürlich auf den 
Wellenwiderstand des Kabels serienterminiert sein. Und wenn du schon 
mehr als den AVR aufwendest, kannst du auch gleich einen strong Pullup 
miteinbauen.

Ansonsten AN von Maxim lesen und LTSpice benutzen.

Slew-Rate ist alles, Frequenz nichts.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.