Forum: Mikrocontroller und Digitale Elektronik Anwesenheit CAN Abschlusswiderstände überprüfen


von Andy (Gast)


Lesenswert?

Hallo zusammen

Bin wieder mal auf Eure geschätzte Hilfe angewiesen.

Gibt es eine Möglichkeit, per Hardware oder Software festzustellen, ob 
die Abschlusswiderstände in einem CAN Bus korrekt eingesetzt sind, oder 
ob einer fehlt?

Gruss Andy

von Frank (Gast)


Lesenswert?

Während/vor dem normalen Betrieb?
Durch den UC?

Wie sieht die CAN Beschaltung bei dir aus?
Schaltung?

von Andy (Gast)


Angehängte Dateien:

Lesenswert?

Die Abschlusswiderstände sollten nur beim Aufstarten detektiert werden.

Im Anhang findest Du das aktelle Schema der Schaltung.

Diese könnte aber noch angepasst werden, falls es eine Transciever geben 
würde, welcher den Bus ausmessen könnte, um eine Aussage über die 
Terminierung zu machen.

von Andy (Gast)


Lesenswert?

Habe mir gedacht, dass es evtl. einen Transciever gibt, der entweder
interne zuschaltbare Abschlusswiderstände, oder ein Fehlerausgang 
besitzt,
welcher bei unangepasster Leitung ein Error ausgibt.
(Wenns sowas noch nicht gibt, sollte man es meiner Meinung nach
noch erfinden)

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Wo wären die Vorteile und wie glaubst du sähe das 
Aufwandnutzenvrerhältnis aus?

Namaste

von andy (Gast)


Lesenswert?

Hattet Ihr noch nie das Problem, dass die Abschlusswiderstände vergessen 
wurden dazu zu schalten? (Stecker nicht gesteckt, Jumper vergessen...)

Bereits mit paar wenigen Serviceeinsatz wären die Mehrkosten wieder 
drin.

von Icke (Gast)


Lesenswert?

andy schrieb:
> Bereits mit paar wenigen Serviceeinsatz wären die Mehrkosten wieder
> drin.

Was wiederum das Problem Deines/Euren Knden ist.

Einige Hersteller von CAN-Geräten haben im Auslieferungszustand die 
Busterminierung immer aktiviert. Bei mehr als drei Widerständen läuft 
der Bus nicht und der Kunde muss sich gezwungenermaßen mit der 
Bustopologie auseinander setzten...

von Steffen R. (steffen_rose)


Lesenswert?

Ähnlich wie bei Consumergeräten (Netzstecker gesteckt?) könnte unter den 
ersten Fragen bei der Problemlösung die Frage nach den 
Abschlußwiderständen sein.

von andy (Gast)


Lesenswert?

Habe gerade gesehen, dass der MAX3059 über interne Abschlusswiderstände 
verfügt, welche sich über ein externes Signal Ein- und Ausschalten 
lassen.

Wäre ja schon mal ein Ansatz.

Wäre einfach schön, wenn's eine einfache Schaltung gäbe, mit der man 
überprüfen könnte, ob die beiden Abschlusswiderstände vorhanden sind.
Dies müsste doch über einen Strommessung machbar sein.

von Steffen R. (steffen_rose)


Lesenswert?

andy schrieb:
> Wäre ja schon mal ein Ansatz.

Nach welcher Logik willst Du dies automatisieren?
Wenn jedes Gerät so einen Transceiver hat und eine Widerstandmessung 
macht, dann wird es ein wirres zu- und abgeschalte.

Insofern müßtest du in den Geräten konfigurieren, ob sie die jeweils 
letzten sind. Ist zwar häufig einfacher als das Gerät zu öffnen und den 
Jumper zu setzen. Das eigentliche Problem dürfte aber nicht gelöst 
werden.

von Icke (Gast)


Lesenswert?

Du könntest ein SDO-Register definiere mit welchem Du den 
Abschlusswiderstand zu- oder wegschaltest.
Mehr automatismus ist hier vermutlich Overkill und zu teuer.

Allein die Tatsache, dass du schon den ganzen Montag morgen (an dieser 
nicht lösbaren Aufgabe) herum machst rentiert sich nicht....

von Alex W. (a20q90)


Lesenswert?

Das Problem beim CAN wie auch RS485 ist, das ohne R nichts geht und bei 
zu vielen R ebenfalls Ärger gibt! Daher mache viele eine Leitung und 
setzen dort den Abschluss-R bzw bei BUS-Modulen wir ein R-Modul links 
und rechts am BUS angestöpselt. Bei PhoenixContact gibt es diese Gehäuse 
mit BUS-Öffnung. Da wird ein Gehäuse in diesem Anwenungsfall mit einem 
Widerstand versehen und davon kommt jeweils eines links und rechts an 
die Module.

von Jeffrey L. (the_dude)


Lesenswert?

Eignetlich ist es kein Problem!

Unsere Geräte haben hier prinzipiell zwei identische M12 Stecker, 
beschriftet mit In und Out.

Wird Out nicht verwendet/benötigt, kommt ein M12-Blindstecker mit 
Terminierung drauf. Das ist im Maschinenbau soweit ich weiß auch der 
führende Standard - siehe Wago, Siemens, Lumberg...

von andy (Gast)


Lesenswert?

Icke schrieb:
> Was wiederum das Problem Deines/Euren Kunden ist.
>
> Einige Hersteller von CAN-Geräten haben im Auslieferungszustand die
> Busterminierung immer aktiviert. Bei mehr als drei Widerständen läuft
> der Bus nicht und der Kunde muss sich gezwungenermaßen mit der
> Bustopologie auseinander setzten...

Ob dies einen kundenfreundliche Lösung ist, sei mal dahingestellt...

Steffen R. schrieb:
> Nach welcher Logik willst Du dies automatisieren?
> Wenn jedes Gerät so einen Transceiver hat und eine Widerstandmessung
> macht, dann wird es ein wirres zu- und abgeschalte.

Wir haben 5 CAN Knoten innerhalb des Gerätes und 1 bis max. 3 Knoten 
ausserhalb des Gerätes. Innerhalb des Gerätes ist die Sache eigentlich 
ziemlich klar, da sich hier nie etwas ändert.
Das Problem ist die Steckerleiste, wo der CAN- Bus nach aussen geht.
Ist ein externer Knoten eingesteckt, braucht's auf der internen 
Steckerleiste keinen Widerstand, jedoch auf dem letzten externen 
Geräten.

Die Leitungslänge beträgt max. ca. 3-4m. Ich gehe also davon aus, dass 
ich auch mit fehlendem 2. Abschlusswiderstand und mir geringer Baudrate 
mit dem entferntesten Knoten kommunizieren kann.

Da ich die Konfiguration der Geräte kenne, könnte ich über ein Menu 
definieren, welches externe Gerät am Ende der Kette den 
Abschlusswiderstand einschalten soll. Dies würde dann über ein 
entsprechendes Kommando dem Endgerät übermittelt, welches dann den 
Widerstand einschaltet.

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.