Forum: Mikrocontroller und Digitale Elektronik Problem mit RS485 - Masseschleife?


von Michael (Gast)


Lesenswert?

Hallo,

ich hab ein Problem mit einer RS485 Installation. Folgende 
Ausgangssituation:

- insgesamt vier Geräte (eines davon ist die Steuerung und pollt die 
anderen nacheinander an)
- Zwei-Draht-Betrieb mit C-Leiter, an jedem Gerät ist der C-Leiter über 
100R an GND angebunden (C-Leiter für Potential-Ausgleich)
- unterschiedliche RS485-Treiber in jedem Gerät (MAX485, SP485, LT1785A, 
usw.)
- zwei Geräte verwenden galvanische Trennung für die RS485-Schnittstelle
- Kommunikation läuft über ein Protokoll mit Adressierung usw.
- alle Geräte sind geerdet

So, jetzt zum Problem:

Eines der Geräte soll durchs Nachfolge-Modell ersetzt werden. Die 
ursprüngliche Installation hat keine Fehler.

Das Nachfolgemodell hat im Gegensatz zum Vorgänger keine galvanische 
Trennung.

Ersetze ich das Gerät, so kann ich mit einem Protokoll-Sniffer lauter 
Fehler feststellen. Dies äußert sich durch ein verbogenes Protokoll, der 
Sniffer meint, zwischendrin lauter Breaks(*) zu erkennen, als ob eins 
der Geräte den Bus blockiert. Ziehe ich nun allerdings das Gerät, 
welches von der logischen Adressierung her hinter dem neuen Gerät hängt 
ab, funktioniert der Bus wieder. Somit dürfte es (fast) nicht an den 
unterschiedlichen Treiber-ICs liegen, oder?

* Als Break wird eine Situation von nur Nullen inkl. Startbit = Stopbit 
= Null definiert, oder?

Das neue Gerät zeigt im Einzelbetrieb ebenfalls keine Auffälligkeiten.

So, jetzt frag ich mich natürlich, woran's denn nun liegen kann.
Spontan fallen mir dazu folgende Sachen ein:

- RS485-Treiber des neuen Gerät spuckt Müll aus -> mit Oszilloskop 
nachgemessen -> Pegel weitgehend identisch mit dem alten Gerät
- Masseschleife durch fehlende galvanische Trennung erzeugt -> Wie 
nachweisen? (**)
- Timing-Problem bei der Richtungsumschaltung des RS485-Treibers -> 
Kollision auf Bus -> Muss noch nachgeprüft werden.
- Das logisch adressierte nächste Gerät hat einen kaputten 
RS485-Treiber, der in Kombination mit dem alten Gerät noch 
funktioniert(?) -> wilde Theorie -> noch nicht nachgeprüft
- Die Kabel-Installation (mehrere Jahre alt) ist im Eimer, das alte 
Gerät bekommts noch hin, das neue nicht mehr -> super Theorie, viel 
Spass beim Kabel neu ziehen
- Durch die Erdung der Geräte entstehen Potential-Unterschiede, je 
nachdem, wo das Gerät auf Erde gelegt ist, damit meine ich, wie weit der 
eigentliche PE-Abgriff vom Installationsort entfernt ist -> sollte durch 
den C-Leiter eigentlich ausgebügelt werden, denke ich.

** Wo kann ich denn die Effekte von Masseschleifen nachlesen, ich kann 
mir darunter noch nichts vorstellen.

Also nochmal die Kurzform:

- alte Installation -> okay
- Nachfolgemodell eingesetzt -> nicht okay
- Nachfolgemodell eingesetzt + logisch nächstes Gerät weg vom Bus -> 
okay

Hat jemand Erfahrung mit dem "Debuggen" eines RS485-Busses?

Michael

von Falk B. (falk)


Lesenswert?

@ Michael (Gast)

>Sniffer meint, zwischendrin lauter Breaks(*) zu erkennen, als ob eins
>der Geräte den Bus blockiert. Ziehe ich nun allerdings das Gerät,
>welches von der logischen Adressierung her hinter dem neuen Gerät hängt
>ab, funktioniert der Bus wieder. Somit dürfte es (fast) nicht an den
>unterschiedlichen Treiber-ICs liegen, oder?

Nöö. Das ist wahrscheinlich eine (sinnfreie) Terminierung eigebaut, die 
den Bus in den Sendepausen auf LOW zieht -> BREAK.
Miss mal am Gerät zwischen A und B.

MfG
Falk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.