CAN-Bus Diagnosesystem

OP #7262623
Lesenswert?

Es gibt immer wieder Berichte in den KFZ-Foren und aus eigener 
Erfahrung, dass viele unplausible Fehler (DTCs) in den ECUs abgelegt 
werden.
Meiner Einschätzung nach werden die Fehler aber nicht an der CAN-Bus 
Hardware selber untersucht, bzw. vermutet. Es wird selten der CAN-Bus 
als mögliche  Fehlerquelle mit einbezogen.
Für solche Fälle suche ich nach einem einfachen CAN-Bus Analyzer, um 
wenigstens bei der Fehlersuche den CAN-Bus auszuschließen. Ggf. auch mit 
OBDII-Stecker, USB-Anschluss, PC-App, Tablet usw..

Grüße
Uwe
#7262632
Lesenswert?

Das Wesentliche ist das die Level passen! Dazu genügt ein simples 
2-Kanal Scope mit 100MHz. Wenn du die Error Frames aufspüren möchtest 
dann brauchst teures Equipment vom Vector. Man muss auch damit leben das 
unplausible Fehler irgendwo immer auftauchen. Schlaue Steuergeräte geben 
nur relevante Fehler preis, dumme einfach alles und es passiert viel im 
Auto wenn der Tag lang ist
Gast #7262642
Lesenswert?

Im einfachsten Falle reicht sogar ein Multimeter.

Wenn das Auto aus ist und man 60R zwischen den beiden Leitungen
misst dann weiss man das man die beiden Busabschlusswiderstaende
sieht. Dann kann eigentlich mehr soviel physikalisch falsch sein,
ausser vielleicht ein Wackelkontakt der erst auftritt wenn der
Motor brummt. Aber dann wirklich Oszi...

Olaf
OP #7262645
Lesenswert?

Genau so ist es. Bei meinem Land Rover leuchtet das gesamte Dasboard wie 
ein Christbaum, wenn beim Starten die Bordspannung unter einen 
bestimmten level sinkt. Da habe ich aber bereits Vorkehrungen getroffen. 
Das CAN-Bus System ist so schwach, dass ein Verlängerungskabel zum 
OBD-Tester die Signale dermaßen "verwürgt" hat, dass Getriebefehler-DTCs 
hochkamen und das VTG ein paar Wochen später getauscht werden musste 
(Dieser Folgeschaden ist aber nicht gesichert).
Falls es keinen Tester <500€ gibt, werde ich wohl leider nur die Pegel 
und Flanken beobachten können. Das bringt aber nicht allzuviel.
#7262649
Lesenswert?

Wenn die Batterie schwächelt fällt die Bordspannung kurz unter Vmin und 
es schalten sich nach und nach die Geräte verspätet wieder aufs CAN Bus 
Netz -> Weihnachtsbeleuchtung. Starte mit gutem Akku oder 
Starthilfekabel vom Nachbarauto das läuft! Dann guggen wie die 
Masseleitung zur Karo kontaktiert ist. Spannung mit dem Scope zwischen 
GND Akku und Karosse mal messen. GND Wackler sind grausam, sie töten 
Steuergeräte wie ne Fliegenklatsche!
#7262671
Lesenswert?

Ich stimme dir insofern zu dass Aussetzer in der Kommunikation zwischen 
den Steuergeräten zu Fehler führen können, wenn die ihre Daten nicht 
kriegen (als Folgefehler der unterbrochenen Kommunikation). Dass ein CAN 
Bus durch Signalstörungen irgendwelche Frames zufällig selbst erzeugt 
kann man ausschließen.

Komfort CAN ist zudem fault tolerant funktioniert zur Not auch single 
wire.

Fehler im CAN Bus werden im Fehlerspeicher als solche abgelegt.
Gast #7262798
Lesenswert?

Hans-Uwe F. schrieb:
> Es wird selten der CAN-Bus
> als mögliche  Fehlerquelle mit einbezogen.

Es ist auch sehr selten die Hardware selbst. Die kriegt einen EMV Test 
nach Norm und die Standardschaltungen haben sich auch kaum verändert. 
Die SW wird nur bei "Sicherheits-Baugruppen" hinreichend getestet. Meist 
treten solche undefinierten Zustände in der SW auf. Wenn dann noch die 
Systemintegration der Steuergeräte schlecht ist, dann kommt es zu den 
DTCs

Hans-Uwe F. schrieb:
> einfachen CAN-Bus Analyzer

PEAK PCAN

Christian M. schrieb:
> Wenn du die Error Frames aufspüren möchtest
> dann brauchst teures Equipment vom Vector

Ich glaube aber der PEAK kann das auch, hab damit vor 6 Jahren nur mal 
kurz zu tun gehabt, danach gab es Vector Hardware + Software.

Hans-Uwe F. schrieb:
> Das CAN-Bus System ist so schwach,

Die Massanbindung ist da wohl das größere Problem. Die elektrischen 
Abteilungen der Hersteller gehen immer noch wie 1980 davon aus, dass die 
Karosse durchgeschweißt ist und die Masse damit überall ausreichend 
gegeben ist. Dem ist aber nicht so, teilweise werden ganze Karossen nur 
noch geklebt. Wenn ich dann in einen Kotflügel einen Massepunkt setzt, 
ist es mehr oder weniger Glück ob da auch vernüftig Masse anliegt. So 
eine Art Schutzleitermessung wie man es aus der Hausinstallation kennt 
gibt es nicht. Wenn dann noch die Boardspannung schlecht niedrig ist 
kommt es zum Brown Out und deine ECUs antworten nicht mehr korrekt.

Olaf schrieb:
> Aber dann wirklich Oszi...

Und einen Wechselrichter, und einen Trenntrafo, falls der WR das nicht 
schon erledigt. Oder ein Batterie Oszi.

VG Paul
#7262897
Lesenswert?

Über OBD erreichst du nicht den CAN Bus sondern nur das Gateway, welches 
Dir maximal den Diagnose CAN freischaltet (wenn du die KWP2000 ServiceID 
dafür kennst)

Mit einem Mikrocontroller und einem CAN Shield kommst Du direkt an den 
CAN Bus und kannst sniffen.

https://github.com/rnd-ash/W203-canbus#hardware-setup

Für den Low Speed CAN hab ich mir mein eigenen Transceiver gebastelt, da 
es die am Markt nur überteuert gibt.

Beitrag "Re: Meine erste Platine mit TARGET 3001!"
#7264516
Lesenswert?

Christian M. schrieb:
> Das Wesentliche ist das die Level passen! Dazu genügt ein simples
> 2-Kanal Scope mit 100MHz.

Den reinen CAN-Bus betreffend ist es das einzig Sinnvolle. alles andere 
ist nur Softwarespielerei und hat mit dem Thema eigentlich nix mehr zu 
tun.

---

Trotzdem, über OBD ist halt teurer, Tactrix OpenPort 2.0 (China Clone) 
ist erst ab 30,- € zu haben. Im Prinzip geht jedes SAE J2534 pass-thru 
Interface.

Macchina M2 ist ein Arduino Due wenn's nicht so teuer wäre würde ich den 
reversen und selbst clonen.

Hier noch mal die CAN Freischaltung (Wakeup) über OBD genauer 
beschrieben (Chapter 3) - ist natürlich fahrzeugspezifisch und KWP2000 
nur ein Beispiel, gibt noch andere Protolle.

https://github.com/rnd-ash/mercedes-hacking-docs/blob/master/Chapter%201%20Vehicle%20Bus%20Protocols%20and%20Diagnostics.md

---

Aber dann lieber direkt an den CAN-Bus gehen, dann spart man sich den 
ganzen OBD Quatsch, und fertige Libraries gibt's für Arduino oder Teensy 
auch.

Hab noch zwei TJA1055 Transceiver Platinen übrig, bei Interesse zum 
Materialkostenpreis.
Angehängte Dateien:
Gast #7264648
Lesenswert?

Hans-Uwe F. schrieb:
> Es wird selten der CAN-Bus
> als mögliche  Fehlerquelle mit einbezogen.

Aus gutem Grund: der CAN Bus gilt als eigensicher.
(fehlerhafte Botschaften werden automatisch erneut gesendet).
Ein Fehlerspeichereintrag erfolgt erst wenn die Botschaft längere Zeit 
nicht durchkommt.

Hans-Uwe F. schrieb:
> wenn beim Starten die Bordspannung unter einen
> bestimmten level sinkt.
Normalerweise wird im Empfänger der Fehler bei niedriger 
Batteriespannung ausgeblendet. GGF hat nicht jedes Steuergerät eine 
Batteriespannungsüberwachung.

Ich würde eher in eine neue Starterbatterie investieren.

Gruß Anja
Gast #7264793
Lesenswert?

Hans-Uwe F. schrieb:
> Es wird selten der CAN-Bus
> als mögliche  Fehlerquelle mit einbezogen.

"Unplausible" Fehler soll heißen, dass die Fehler nichts mit dem CAN-Bus 
zu tun haben? Dann den CAN Bus als Fehlerquelle zu vermuten ist aber 
ebenfalls sehr unplausibel.
Fehlerspeicher auslesen befolgt ein Protokoll (üblicherweise UDS). Wenn 
auf dem CAN-Bus Störungen sein sollten, sollte das zuallererst dem CAN 
Bus selbst auffallen (Prüfsumme). Ja, durch das bit Stuffing hat die 
Prüfsumme Schwächen, wenn ganz bestimmte bits Kippen, aber dass das 
passiert ist ebenfalls unplausibel.
Dass irgendwelche Bits kippen sollten, ohne dass es dem CAN Controller 
auffällt und ohne dass das Diagnoseprotokoll "in die Hose geht" ist 
nochmal unwahrscheinlicher.

Wenn der CAN Bus eine Fehlerquelle wäre, würden nicht irgendwelche 
"unplausiblen" DTCs ausgegeben, sondern es würde heißen "DTCs konnten 
nicht ausgelesen werden".

Zusammenfassend lässt sich sagen, den CAN-Bus als Fehlerquelle 
auszuklammern ist durchaus legitim, da für dieses Fehlerbild er mit 
Sicherheit keine ist.
#7264807
Lesenswert?

Da hab ich aktuell ein Gegenbeispiel, durch Wassereintritt verliert die 
Niveauregulierung manchmal Kontakt und geht auf Störung. Es sind 
Fehlercodes abgelegt wie keine Kommunikation, CAN Bus im 
Eindrahtbetrieb, usw.

Lösche ich den Fehlerspeicher funktioniert alles wieder. Um den Fehler 
zu finden muss ich den CAN Bus elektrisch prüfen. Leider habe ich nur 
ein 20 € Digitaloszilloskop. So ein Canalyzer hilft mir da auch nicht 
weiter.
Persönliche Seite #7264811
Lesenswert?

mh schrieb:
> Wenn der CAN Bus eine Fehlerquelle wäre, würden nicht irgendwelche
> "unplausiblen" DTCs ausgegeben, sondern es würde heißen "DTCs konnten
> nicht ausgelesen werden".

Dem kann ich nur zustimmen. Der CAN "erzeugt" nicht sporadisch 
Fehlercodes. Höchstens erzeugt eine ECU die Codes wenn Nachrichten 
anderer ECUs fehlen, oder wenn im Code etwas der Art steht "Nimm den 
aktuellen Wert vom CAN, falls nicht vorhanden nehme 0" und später dann 
"Wenn Wert kleiner 123, melde Fehler".

Den CAN mit dem Oszilloskop zu untersuchen ist auch nicht unbedingt 
zielführend; problematische Signale durch "hinschauen" zu identifizieren 
kann schwierig sein. Gerade bei EMV-, Terminierungs- oder Masseproblemen 
kann das Signal ganz leicht verzerrt sein, oder gern auch nur das 
ACK-Bit "komisch" aussehen, was schwer zu erkennen ist. Im Zweifelsfall 
stört man das Signal durch das Oszilloskop selbst, oder durch die 
Masseklemme behebt man das Problem...

Alexander schrieb:
> Um den Fehler
> zu finden muss ich den CAN Bus elektrisch prüfen.

Wie soll das helfen, wenn die Niveau-Regelung sich vom CAN abgemeldet 
hat ("error passive") oder einfach ganz tot ist und die sonstige 
Kommunikation normal läuft? Wenn also die Kommunikation zu dieser ECU 
als gestört gemeldet ist, musst du eben diese ECU untersuchen, wobei der 
Wasserschaden auffallen sollte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren