Hi Leute,
ich habe eine kleine Platinen machen lassen, auf der (natürlich) auch
die Abschlusswiderstände für den CAN Bus sind.
Standardmäßig habe ich 60.4 Ohm vorgesehen. Leider habe ich jetzt die
Widerstände in der falschen Bauform bekommen. 0602 auf das 1206 Pad ist
recht unkomfortabel.
Meine Frage ist nun, wie kritisch ist der Wert 60 Ohm? Kann ich da
problemlos 56 oder 68 Ohm einlöten? Die hätte ich in der richtigen
Bauform da.
Besten Dank schonmal
Werner
Werner,
das ist falsch. An jedem Ende der CAN-Leitung muss zwischen CANH und
CANL ein 120 Ohm-Widerstand geschaltet werden. CANGnd ist nur als
Schirmung zu gebrauchen oder zur Spannungszuführung.
Servus,
Helmut.
Wenn die Widerstände gegen CANGND laufen und diese Leitung ansonsten
floatet, dann passt das schon. Nur sollte man dann nicht auf die Idee
kommen, das dann noch an irgendeinem Ende mit GND eines Transceivers zu
verbinden.
Ok. Dann bin ich beruhigt.
Dann vielleicht nochmal zurück zur Ursprungsfrage. Ist der Wert
kritisch, oder kann ich vielleicht doch 56 oder 68 Ohm nehmen. Dann
könnte ich mir das mit der parallelschaltung sparen.
Ich hab gerade noch gelesen, dass du den Mittelabgriff der Widerstände
nicht einfach so mit GND verbinden sollt, sondern mit einem Kondensator
(4n7 empfohlen).
Kai Riek wrote:
> Ich hab gerade noch gelesen, dass du den Mittelabgriff der Widerstände> nicht einfach so mit GND verbinden sollt, sondern mit einem Kondensator> (4n7 empfohlen).
Korrekt. Und wenn man das noch ein bischen vereinfacht und den
Kondensator weglässt, dann sind wir bei den üblichen 120 Ohm zwischen
CANH und CANL angelangt, und der Streit löst sich in Luft auf ;-).
David wrote:
> Habe die abschlusswiderstände mal vergessen... lief ohne jegliche> probleme...
Entweder mit low-speed Transceivern, oder weil die high-speed
Transceiver intern u.U. ein paar eher hochohmige Widerstände drin haben
(dokumentiert beispielsweise beim SN65HVD251). Wird aber nur bei
niedrigen Bitraten und kurzem Kabel funktionieren.
ch schrieb:> Hat schon mal jemand einen Effekt festgestellt, wenn kein> Abschlusswiderstand vorhanden ist?
Wie Andreas schon sagt, es wird (wenn überhaupt) nur bei kleiner Bitrate
UND kurzen Buslängen funktionieren. Und auch nur dann, wenn in
mindestens einem Transceiver integrierte, aber hochohmige Widerstände
vorhanden sind. Auf jeden Fall ist das außerhalb jeder Spezifikation. Es
kann gehen, muß aber nicht. Und wenn es geht, darfst du dich nicht
beschweren, wenn du haufenweise Busfehler hast. Also sollte man nicht
Bruchteile eines Cent für den Widerstand sparen.
Der Can soll am Anfang und am Ende des Strang je 120 Ohm haben. Ob Du
jetzt 56 und 68 -> 124 oder 2 *56 -> 112 oder 2*68 -> 136 nutzt, macht
der CAN normalerweise mit. Probleme können bei langen Leitungen und
hohen Bit-Raten auftreten, halte ich aber eher für unwahrscheinlich. In
der Praxis habe ich schon oft erlebt, dass zwei Teilnehmer am gleichen
Strang je 120 Ohm hatten und am Start des Strang auch. Trotzdem war die
Kommunikation fehlerfrei.
Ich würde an deiner Stelle einen 56 und einen 68 Widerstand nutzen, dann
bist Du gut unterwegs.
Gruß
Thomas
Beachte bitte auch, dass Widerstände praktisch nie z.B. 120,000 Ohm
haben. Je nach Toleranzklasse können die auch schon mal ein paar Ohm
daneben liegen.
Ist auch gar nicht schlimm, das wird trotzdem funktionieren.
Vermutlich hast du an anderer Stelle eine viel stärkere Abweichung vom
Optimum: Bei der Leitungsimpedanz. Denn auf diese muss der
Abschlusswiderstand eigentlich abgestimmt sein. Eine verdrillte
Zweidrahtleitung hat ETWA 120 Ohm.
Vermutlich ist dieser Wert für den Kabel gar nicht offiziell angegeben,
noch weniger wirst du ihn selbst nachmessen können.
Viele Leute (und auch ich) setzen für CAN auch gerne Netzwerkkabel ein.
Die liegen laut ihrer Spezifikation(!) bei 100 Ohm. Da hatte ich nie
Probleme, hat stets funktioniert, obwohl es da eine Abweichung gibt.
So, nun hast du die passenden Keywords, wenn du dich einlesen willst,
warum es genau 120 Ohm sein müssen ;-)
Kurz gesagt: Nimm irgendwas, da grob an 120 Ohm herankommt für den
Abschlusswiderstand. Obs ein paar Ohm mehr oder weniger sind spielt
voraussichtlich überhaupt keine Rolle.
Johannes O. schrieb:> noch weniger wirst du ihn selbst nachmessen können.
Warum nicht? Eine RLC-Messbrücke reicht dafür.
Leitung offen lassen -> C zwischen den Adern messen
Leitung an einem Ende kurzschließen -> L am anderen Ende messen
Dann rechnen sqrt(L/C) (in H und F), so kommt man auf die Impedanz.
asdf schrieb:> Wie Andreas schon sagt, es wird (wenn überhaupt) nur bei kleiner Bitrate> UND kurzen Buslängen funktionieren. Und auch nur dann, wenn in> mindestens einem Transceiver integrierte, aber hochohmige Widerstände> vorhanden sind. Auf jeden Fall ist das außerhalb jeder Spezifikation. Es> kann gehen, muß aber nicht. Und wenn es geht, darfst du dich nicht> beschweren, wenn du haufenweise Busfehler hast. Also sollte man nicht> Bruchteile eines Cent für den Widerstand sparen.
Um es richtig zu machen und innerhalb der Spezifikation zu bleiben,
muss man die genaue Anzahl der Busteilnehmer wissen.
Alles andere ist nur "ungefahr" und "in etwa".
Aber es funktioniert in 99.99% der Falle.
Und wenn es nicht funktioniert, ist es EMI oder ahnliches. Wir hatten
mal einen Fall wo eine defekte Neonrohre das ganze Netz lahmlegte.
Man soll es nicht ubertreiben, CAN funktioniert fast immer, auch mit
"ungefahr" und "in etwa".
Wikipedia-Fachmanner werden jetzt das Gegenteil behaupten, aber...
ch schrieb:> Hat schon mal jemand einen Effekt festgestellt, wenn kein> Abschlusswiderstand vorhanden ist?
Muss man dafür einen 8 Jahre alten Thread artfremd herausklauben?
Und natürlich hat schon mal jemand einen Effekt festgestellt. Den
nämlich, dass es ohne Widerstand unter Umständen nicht oder schlecht
geht.
Sieh dir einfach den Artikel zum Wellenwiderstand an. Dort ist auch
die Terminierung erklärt. Und wenn man dann noch weiß, dass die
angenommenen 120 Ohm des Kabels eben auch nur ein grober Richtwert sind,
dann wird klar, dass es (annähernd) genauso gut mit 100 Ohm oder 150 Ohm
gehen wird.
Oder Andersrum: wenn dein CAN-Bus mit "fehlerhaften" 150 Ohm
Terminnierung Fehler bringt, dann hast du irgendwo noch ein Problem, das
mit einem 120 Ohm Widerstand allein nicht behoben ist...
Marc V. schrieb:> asdf schrieb:>> Wie Andreas schon sagt, es wird (wenn überhaupt) nur bei kleiner Bitrate>> UND kurzen Buslängen funktionieren. Und auch nur dann, wenn in>> mindestens einem Transceiver integrierte, aber hochohmige Widerstände>> vorhanden sind. Auf jeden Fall ist das außerhalb jeder Spezifikation. Es>> kann gehen, muß aber nicht. Und wenn es geht, darfst du dich nicht>> beschweren, wenn du haufenweise Busfehler hast. Also sollte man nicht>> Bruchteile eines Cent für den Widerstand sparen.>> Um es richtig zu machen und innerhalb der Spezifikation zu bleiben,> muss man die genaue Anzahl der Busteilnehmer wissen.> Alles andere ist nur "ungefahr" und "in etwa".> Aber es funktioniert in 99.99% der Falle.> Und wenn es nicht funktioniert, ist es EMI oder ahnliches. Wir hatten> mal einen Fall wo eine defekte Neonrohre das ganze Netz lahmlegte.>> Man soll es nicht ubertreiben, CAN funktioniert fast immer, auch mit> "ungefahr" und "in etwa".> Wikipedia-Fachmanner werden jetzt das Gegenteil behaupten, aber...
Meine Antwort bezog sich auf die Frage von "ch". Was passiert, wenn der
Bus ÜBERHAUPT NICHT abgeschlossen ist? Da würde ich nicht sagen "CAN
funktioniert fast immer". Wenn du die ursprüngliche Frage des TO meinst,
ob die 120R genau einzuhalten sind, gebe ich dir recht. Da kommt es auf
ein paar Ohm nicht an. Aber ganz ohne? Das ist sehr fragwürdig.
Und was meinst du mit "muss man die genaue Anzahl der Busteilnehmer
wissen."? Der Bus wird einmal am Anfang und einmal am Ende mit jeweils
120R abeschlossen. Das einzige, was zu beachten ist, dass die maximale
Anzahl Busteilnehmer nicht überschritten wird. Aber warum muss man die
genaue Anzahl kennen? Die Busteilnehmer sind doch (bis auf den ersten
und letzten) hochohmig. Könntest du das mal bitte erläutern?
>Der Bus wird einmal am Anfang und einmal am Ende mit jeweils>120R abeschlossen
Hmmm, was ist wenn der Bus T-förmit ist? Also z.B. so
device1
|
|
|
|
--------------device2
|
|
|
|
device3
Wo gehören da die beiden Widerstände hin?
ch schrieb:>>Der Bus wird einmal am Anfang und einmal am Ende mit jeweils>>120R abeschlossen>> Hmmm, was ist wenn der Bus T-förmit ist? Also z.B. so> [..]> Wo gehören da die beiden Widerstände hin?
An 1 und 3. Allerdings ist die maximale Länge einer Stichleitung (wie
bei device2) begrenzt. Hängt von der Bitrate des Busses ab. Dafür gibts
Tabellen in der Spezifikation.
asdf schrieb:> Und was meinst du mit "muss man die genaue Anzahl der Busteilnehmer> wissen."? Der Bus wird einmal am Anfang und einmal am Ende mit jeweils> 120R abeschlossen. Das einzige, was zu beachten ist, dass die maximale> Anzahl Busteilnehmer nicht überschritten wird. Aber warum muss man die> genaue Anzahl kennen? Die Busteilnehmer sind doch (bis auf den ersten> und letzten) hochohmig. Könntest du das mal bitte erläutern?
Ich meinte die Haarspalterei.
Wie Lothar M. schon schrieb:
> Oder Andersrum: wenn dein CAN-Bus mit "fehlerhaften" 150 Ohm> Terminnierung Fehler bringt, dann hast du irgendwo noch ein Problem, das> mit einem 120 Ohm Widerstand allein nicht behoben ist...
Oder ch:
> Hmmm, was ist wenn der Bus T-förmit ist? Also z.B. so
Also, um es ganz richtig zu machen muss man die Anzahl der Teilnehmer
wissen und auch die genaue Topologie.
Da das meistens unmoglich ist, wird mit "etwa" gearbeitet und das
funktioniert meistens ohne Probleme.
ch schrieb:> Hmmm, was ist wenn der Bus T-förmit ist? Also z.B. so>> device1> |> |> |> |> --------------device2> |> |> |> |> device3>> Wo gehören da die beiden Widerstände hin?
Normalerweise wird in so einem Fall die Verbindung von Device1 zur
Device3 aufgetrennt, Device3 wird mit Device2 verbunden und die beiden
Widerstande gehen an Device1 und Device3.
ch schrieb:> Hmmm, was ist wenn der Bus T-förmit ist?
So einen "Bus" mit Stichleitungen machst du besser gleich gar nicht
(denn hastdunichtgesehen hat schon einer den "Stich" um 30m
verlängert...), sondern wenn schon, dann so einen:
1
device1
2
|
3
|
4
|
5
|____________
6
____________>device2
7
|
8
|
9
|
10
|
11
device3
Dann ist auch das klar:
> Wo gehören da die beiden Widerstände hin?
Marc V. schrieb:>> Ich meinte die Haarspalterei.
Welche Haarspalterei denn? In meinen Augen ist es schon ein Unterschied,
ob ein Teilnehmer abgeschlossen ist oder nicht.
Meine Frage war nur, wozu man die Anzahl der Teilnehmer wissen muss,
wenn bis auf den ersten und letzten alle Teilnehmer sowieso hochohmig
sind?
>> Wie Lothar M. schon schrieb:>> Oder Andersrum: wenn dein CAN-Bus mit "fehlerhaften" 150 Ohm>> Terminnierung Fehler bringt, dann hast du irgendwo noch ein Problem, das>> mit einem 120 Ohm Widerstand allein nicht behoben ist...
Da stimme ich vollumfänglich zu.
Ich möchte eine CAN Nachricht vom einem CAN Port1 zu einem anderen CAN
Port2 versenden und empfangen. Die beide CANPorts will ich mit einem CAN
Kabel verbinden. Soll in diese CAN Brücke einen 120 Ohm Wiederstand
eingeschlossen werden?