Forum: Mikrocontroller und Digitale Elektronik CANbus Abschlusswiderstand


von suprL (Gast)


Lesenswert?

Hallo,

bzgl. dem Abschlusswiderstand beim CANbus bin ich mir nicht ganz sicher.

Der Master-Controller (RPi + PiCAN2-Shield) hat 120 Ohm.
Am Bus sind min. 2 Sensoren (Slaves), welche keinen integrierten 
Abschlusswiderstand besitzen.

Benötige ich hier einen weiteren Abschlusswiderstand (120 Ohm) am "Ende" 
der CANbus Leitung? Also am weitesten entfernen Sensor bzgl. dem Master.

Als Kabel benutze ich:
https://www.phoenixcontact.com/online/portal/us/?uri=pxc-oc-itemdetail:pid=1507560&library=usen&pcck=P-10-01-01&tab=1&selectedCategory=ALL



Danke.

von Reiner Gast (Gast)


Lesenswert?

suprL schrieb:
> Benötige ich hier einen weiteren Abschlusswiderstand (120 Ohm) am "Ende"
> der CANbus Leitung?

Ja

von suprL (Gast)


Lesenswert?

Nur einen am Ende oder für jeden Sensor einzeln?

von MaWin (Gast)


Lesenswert?

suprL schrieb:
> Benötige ich hier einen weiteren Abschlusswiderstand (120 Ohm) am "Ende"
> der CANbus Leitung?

Ja! Bedenke dass der auch entsprechend Leistung abkönnen muss! Also bei 
1MBit ca 10Watt. Bei 2MBit ca 20 (besser 25) Watt.

von Reiner Gast (Gast)


Lesenswert?

suprL schrieb:
> Nur einen am Ende oder für jeden Sensor einzeln?

An jedem Leitungsende des Bus einen

von Wolfgang (Gast)


Lesenswert?

suprL schrieb:
> Nur einen am Ende oder für jeden Sensor einzeln?

Der CAN-Bus hat nur zwei Enden. An jedes Ende kommt einer.
(s. z.B. Controller Area Network Physical Layer Requirements, TI 
Application Report SLLA270 im Kap. 4.5.1 Standard Termination)
https://www.ti.com/lit/an/slla270/slla270.pdf

von Route_66 H. (route_66)


Lesenswert?

suprL schrieb:
> bzgl. dem Abschlusswiderstand beim CANbus

Es heisst: bzgl. des Abschlusswiderstandes

suprL schrieb:
> Also am weitesten entfernen Sensor bzgl. dem Master.

Es heisst: bzgl. des Masters

Bedauernswerter Genitiv!

von Forist (Gast)


Lesenswert?

Route 6. schrieb:
> Bedauernswerter Genitiv!

Du bist aber spitzfindig.
Sei lieber froh, das "Widerstand" richtig geschrieben ist ;-)

von suprL (Gast)


Angehängte Dateien:

Lesenswert?

anbei eine Skizze meines Aufbaus.

Oben: ohne 120Ohm Abschlusswiderstand am Ende.
Unten: wäre mit 120Ohm.

Das zusätzliche T-Stück mit Abschlusswiderstand ist also notwendig?
Ein "offenes" Ende habe ich ja eigentlich nicht...

von P. S. (namnyef)


Lesenswert?

An beiden Enden jeweils 120 Ohm. Die Sensoren selbst benötigen keinen 
Abschlusswiderstand. Die Stichleitung zum Bus sollte aber möglichst kurz 
sein.

von P. S. (namnyef)


Lesenswert?

suprL schrieb:
> anbei eine Skizze meines Aufbaus.
>
> Oben: ohne 120Ohm Abschlusswiderstand am Ende.
> Unten: wäre mit 120Ohm.
>
> Das zusätzliche T-Stück mit Abschlusswiderstand ist also notwendig?
> Ein "offenes" Ende habe ich ja eigentlich nicht...

Entweder 120 Ohm am T-Stück oder 120 im Sensor 2.
Bei keinem von beidem ist der Bus am Ende dennoch offen.

von MiWi (Gast)


Lesenswert?

MaWin schrieb:
> suprL schrieb:
>> Benötige ich hier einen weiteren Abschlusswiderstand (120 Ohm) am "Ende"
>> der CANbus Leitung?
>
> Ja! Bedenke dass der auch entsprechend Leistung abkönnen muss! Also bei
> 1MBit ca 10Watt. Bei 2MBit ca 20 (besser 25) Watt.



auf diesen entzückenden Blödsinn muß man auch erst einmal kommen :-)

Danke für die Anregung!

von suprL (Gast)


Lesenswert?

Die Stichleitung ist max. 1 Meter.
Also Variante 2 mit 120 Ohm am letzten T-Stück ist richtig.
Danke.

Beide Sensoren senden mit Event-Timer = 1ms. Baudrate ist auf 500ksps 
eingestellt. ID: 2 und 3.
Mein eigentliches Problem ist, dass Sensor 1 nach einer Weile nicht mehr 
z.B. über das CANopen Protokoll ansprechbar ist und auch keine Messwerte 
sendet. Sprich "tot" ist.

Die Sensoren werden bei jeder Messung vom Zustand "Stop" in den Zustand 
"Operational"  (paar Sekunden) und wieder in "Stop" geschaltet. Diese 
Routine ca. alle Stunde 1x.

Die Abschlusswiderstände sollten passen (Variante 2 im Bild oben)

Jemand eine Idee an was es sonst liegen könnte?

von Wolfgang (Gast)


Lesenswert?

P. S. schrieb:
> Die Stichleitung zum Bus sollte aber möglichst kurz sein.

Unfug.

Die muss nur so kurz sein, dass es bei der verwendeten Übertragungsrate 
keine Probleme gibt. Bei NMEA2000 (250 kbit/s) darf eine Stichleitung 
z.B. 6m lang sein

von Falk B. (falk)


Lesenswert?

Wolfgang schrieb:
> P. S. schrieb:
>> Die Stichleitung zum Bus sollte aber möglichst kurz sein.
>
> Unfug.
>
> Die muss nur so kurz sein, dass es bei der verwendeten Übertragungsrate
> keine Probleme gibt. Bei NMEA2000 (250 kbit/s) darf eine Stichleitung
> z.B. 6m lang sein

Das funktioniert aber nur dann wirklich, wenn die Treiber entsprechend 
der niedrigen Bitrate auch große, sprich langsame Anstiegszeiten haben. 
Ein CAN-Master, der mit 1 Mbit/s betrieben werden kann, hat das im 
Allgemeinen nicht.

https://de.wikipedia.org/wiki/Controller_Area_Network#Topologie

Laut dem Artikel sind bei 500kbit/s bis zu 100m Buslänge möglich, da 
sollte 1m Stichleitung noch OK sein.

Hier ist die Rede von bis zu 5m bei 500kbit/s

https://infosys.beckhoff.com/index.php?content=../content/1031/bx9000/2521750667.html&id=

von Falk B. (falk)


Lesenswert?


von Thilo R. (harfner)


Lesenswert?

Möglicherweise eine dumme Frage, trotzdem:
Verwendenbeide Sensoren unterschiedliche Messages bzw unterschiedliche 
Ids?
Falls mehrfach die gleiche Message-Id mit unterschiedlichen Daten kommt, 
schaltet ein Knoten auf Nur-lesen um und schließlich auf komplett stumm. 
Nach dem Aus- und wieder einschalten geht es dann wieder, bis der error 
counter wieder überläuft ...

von Lynuxschlau (Gast)


Lesenswert?

MiWi schrieb:
> auf diesen entzückenden Blödsinn muß man auch erst einmal kommen :-)

Welch näckischer Mummenschanz...

von suprL (Gast)


Lesenswert?

Sensor 1: ID 3
Sensor 2: ID 4

Daher sollte Sensor 1 die höhere Priorität haben, da die ID niedriger 
ist.

Oder meinst du evtl. etwas anderes?

von Thilo R. (harfner)


Lesenswert?

Wenn Du reines CANopen verwendest sollte es reichen, wenn die IDs 
unterschiedlich sind.
Falls Du teilweise auf Layer 2 arbeitest, gilt folgendes :
Es darf nicht passieren, dass die gleiche Message mit unterschiedlichen 
Daten kommt. Die automatische Arbitrierungung gilt nur für den 
Identifier, wenn Daten kollidieren ist das ein Fehler, der zur 
Abschaltung von Knoten führt.

: Bearbeitet durch User
von suprL (Gast)


Lesenswert?

Die Sensoren arbeiten nach dem Canopen DS404 Protocol und SocketCAN.
Ich verstehe nicht ganz was du mit "gleiche Message" meinst.

von Rolf M. (rmagnus)


Lesenswert?

Reiner Gast schrieb:
> suprL schrieb:
>> Nur einen am Ende oder für jeden Sensor einzeln?
>
> An jedem Leitungsende des Bus einen

An jedem der beiden Leitungsenden.
Nur zur Klarstelleung, dass nicht jemand auf die Idee kommt, den Bus 
sternförmig zu verkabeln und dann ein Dutzend Abschlusswiderstände zu 
verteilen.

MiWi schrieb:
>> Ja! Bedenke dass der auch entsprechend Leistung abkönnen muss! Also bei
>> 1MBit ca 10Watt. Bei 2MBit ca 20 (besser 25) Watt.
>
> auf diesen entzückenden Blödsinn muß man auch erst einmal kommen :-)
>
> Danke für die Anregung!

Das gilt aber nur für den Powertrain-CAN. Wie der Name schon sagt, 
braucht de so viel Power, dass einem die Trainen kommen.

von MiWi (Gast)


Lesenswert?

Lynuxschlau schrieb:
> MiWi schrieb:
>> auf diesen entzückenden Blödsinn muß man auch erst einmal kommen :-)
>
> Welch näckischer Mummenschanz...


sorry, aber das mit der Terminierung steht in der weiterführenden 
Literatur, die bei jedem Transceiver als “ISO 11898" oder Nachfolger 
erwähnt wird.

von Ralf M. (Gast)


Angehängte Dateien:

Lesenswert?

Achtung Scherz ****

Hier der Standard 120 Ohm 20 Watt Abschlusswiderstand :-D

von Falk B. (falk)


Lesenswert?

Mein Gott, wie witzig!

von Thilo R. (harfner)


Lesenswert?

suprL schrieb:
> Die Sensoren arbeiten nach dem Canopen DS404 Protocol und SocketCAN.
Dann sollte das funktionieren und mein Einwand trifft nicht zu. Das, was 
ich geschrieben habe betrifft den Layer 2. Wenn Du eine funktionierende 
Canopen Implementierung verwendest, hast Du das Problem nicht.


> Ich verstehe nicht ganz was du mit "gleiche Message" meinst.
Gleicher Identifier auf Layer 2. Sorry, es ist länger her, dass ich CAN 
gemacht habe.
Wenn zwei Knoten gleichzeitig  (als Reaktion auf das gleiche Ereignis, 
zB andere CAN Nachricht) den gleichen Identifier mit unterschiedlichen 
Daten Inhalten losschicken, dann wird ein Knoten nach einiger Zeit 
abschalten.

Bei einer korrekten Canopen Implementierung werden die Layer 2 
Identifier kollisionsfrei aus der Objekt-Id gebildet, dann kann das von 
mir beschriebene Problem nicht auftreten.

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.