Forum: Mikrocontroller und Digitale Elektronik CAN Bus ohne verdrillte Leitungen


von Benjamin S. (bsch87)


Lesenswert?

Hallo zusammen,

ich habe aktuell ein Problem mit meinem CAN Bus.

Kontext: Es ist ein modulares Master-Slave System auf CANOpen Basis. 
Dabei hängen an einem Master bis zu 70 Slaves. Der CAN Bus wird vom 
Master (Anfang) durch alle Slaves durchgeschleift. Daher hat jeder Slave 
einen Eingang und einen Ausgang an dem der nächste Slave hängt. Am Ende 
der Kette wird mit 120 Ohm terminiert, beim Master am Anfang auch.
Innerhalb der Slave Geräte sind die CAN Leitungen nicht geschirmt aber 
miteinander verdrillt. Die Stichleitung im Gerät beträgt nur wenige mm.
Jetzt hat der Kunde ein System aus 60 Slaves zusammengebaut.
Es kommt nun vermehrt zu Bus Light und Bus Heavy Bedingungen auf dem Bus 
und das ganze Läuft nicht einwandfrei (Bus-Off scheint kein Teilnehmer 
zu gehen).
Ich habe aus der Ferne bisher nur Trace Files gesehen aus denen man 
nicht recht schlau wird. Nur die Bus Heavy und Light Warnungen sind 
auffällig.
Meine Vermutung ist nun, dass der Kunden zwischen den Slaves nicht 
verdrillte Leitungen für CAN L und H benutzt. Es handelt sich um ca. 60m 
Bus Leitung bei 500kBit. Von den 60m sind ca. 10-15m in den Geräten und 
verdrillt, der Rest (35-40m) außerhalb der Geräte und nicht verdrillt.
Wäre das aus eurer Sicht plausible, dass dieses nicht verdrillen eine so 
veränderte Leitungsimpdedanz hervorruft das es trotz Terminierung zu 
Reflektionen und Fehlerhaften Nachrichten kommt?
Alle anderen Möglichkeiten die zu CAN Fehler führen sind nicht vorhanden 
(verschiedene Bitraten, Einstrahlung von Störungen).
Habe kein Gefühl und habe bisher auch nichts gefunden wie sich von der 
Impdedanz zwei nicht verdrillte Leiter gegenüber  verdrillten Leitern 
verhalten.

von Stefan F. (Gast)


Lesenswert?

Unverdrillte Leitungen sind nicht grundsätzlich problematisch.

Die Signalqualität misst man besser, anstatt zu vermuten.

Stichworte: Oszilloskop, Augendiagramm

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Aus dem Wiki:
. Mit gängigen Bausteinen sind 32, 64 oder bis zu 110 (mit 
Einschränkungen bis zu 128) Teilnehmer pro Leitung möglich 
(Erweiterungsmöglichkeit über Repeater oder Bridge).

Wenn die Devices inicht besonders ausgesuchte Transceiver haben, ist der 
Buss alleine durch die Anzahl der Teilnehmer schon grenzwertig

Ausserdem sind 60 Meter und 500 kBps auch sportlich. Einmal hin und 
zurueck sind dann auch schon 600 Nanosekunden.

von Gerd E. (robberknight)


Lesenswert?

Benjamin S. schrieb:
> bei 500kBit

hast Du mal probiert testweise mit dem Takt runterzugehen?

> Wäre das aus eurer Sicht plausible, dass dieses nicht verdrillen eine so
> veränderte Leitungsimpdedanz hervorruft das es trotz Terminierung zu
> Reflektionen und Fehlerhaften Nachrichten kommt?

Es ist nicht nur die Impedanz die bei nicht-verdrillen nicht mehr 
definiert ist, sondern auch die Empfindlichkeit für Störungen. Bei 
verdrillten Leitungen erwischt eine Störung beide Leitungen gleichmäßig. 
Da das Signal differentiell ist, macht das nicht viel aus. Bei nicht 
verdrillten Leitungen spannen die Leitungen eine Schleife auf die viel 
einfangen kann.

> Alle anderen Möglichkeiten die zu CAN Fehler führen sind nicht vorhanden
> (verschiedene Bitraten, Einstrahlung von Störungen).

Hast Du Dir mal die Massesituation angeschaut? Es könnten evtl. 
Ausgleichsströme zwischen den Geräten über Deine CAN-Leitung fließen.

Führst Du mit dem CAN ein GND mit? Wie ist das mit der Masse der Geräte 
verbunden? Galvanisch getrennt oder nicht? Was für eine Schutzklasse 
haben die Geräte?

Ist die CAN-Leitung geschirmt? Wo und wie ist der Schirm aufgelegt? 
Einseitig oder beidseitig? Hart oder mit C || R?

von Jens P. (picler)


Lesenswert?

Benjamin S. schrieb:
> Daher hat jeder Slave
> einen Eingang und einen Ausgang an dem der nächste Slave hängt. Am Ende
> der Kette wird mit 120 Ohm terminiert, beim Master am Anfang auch.

Wenn ich das so richtig verstehe, kann es nicht funktionieren.
CAN ist ein an beiden Enden terminierter Bus, bei dem die Devices mit 
(ganz kurzen, je nach Bitrate) Stichleitungen angeschlossen werden. 
Dabei CANH und CANL nicht verwechseln. Masse ist nicht verkehrt, aber 
nicht direkt vorgeschrieben. Nix mit Slave rein, Slave raus...

Ansonsten erstmal auf dem 2-Kanal-Oszi schauen wie die beiden Signale 
aussehen.

von rcc (Gast)


Lesenswert?

Uwe B. schrieb:
> Wenn die Devices inicht besonders ausgesuchte Transceiver haben, ist der
> Buss alleine durch die Anzahl der Teilnehmer schon grenzwertig
>
> Ausserdem sind 60 Meter und 500 kBps auch sportlich. Einmal hin und
> zurueck sind dann auch schon 600 Nanosekunden.

die 60m sind schon ok, mit 500k gehen über 100m wenn man weiß was man 
tut - und wenn man keine isolierten Transceiver verwendet

von Thomas (kosmos)


Lesenswert?

wenn Masse mitgeführt wird kann man sich mit einem 2 Kanal-Oszi jeden 
Kanal einzeln gegen Masse ansehen, wenn keine Masse mitgeführt kann man 
gleich differentiel gegeneinander messen.

Ich denke aber bei solchen Bitraten und Kabellängen sind das schon sehr 
viele Teilnehmer.

Ein Bild aus dem Oszi würde vieles erklären.

von Timo N. (tnn85)


Lesenswert?

Die Leitungsimpedanz hat nichts mit der Verdrillung zu tun, sondern 
hängt bei Zweidrahtleitung vom Durchmesser der Adern und dem Abstand der 
Adern zueinander ab (unter Anderem)
(siehe 
https://de.wikipedia.org/wiki/Wellenwiderstand#Leitungs-_und_Feldwellenwiderst%C3%A4nde_ausgew%C3%A4hlter_Leitungsformen)

Kenne die Begriffe "bus heavy" und "bus light" in Zusammenhang mit CAN 
nicht. Was bedeutet das? Hohe Buslast? Das hat ja dann eigentlich keine 
elektrischen Gründe.

Bei 60m Gesamtlänge und 15m in den 60 Slaves sind das ca. 25cm 
Stichleitung zu jedem Slave von der Hauptleitung. Finde das noch 
unkritisch.
Das aber gerade auch die lange Strecke zwischen den Slaves (Hauptstrang) 
nicht verdrillt und somit vor elektromagnetischer Störung geschützt ist, 
finde ich kritischer.


Wird GND mitgeführt? Welcher Transceiver-IC wird eingesetzt bzw. 
Isolierung und wenn ja welche Art?

: Bearbeitet durch User
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.