Wenn man möglichst autonom bleiben will:
Fahrzeugdiagnose selbst gemacht
06.11.2008
Das fuchste mich letzte Winter sehr! Da hatte ich das halbe Fahrzeug montiert und elektrische Arbeiten gemacht. Um die Funktion einzelner Baugruppen zu testen, schloss ich die Autobatterie zwischenzeitlich wieder an und dann die Zündung. Ich bemerkte sofort die Airbag-Lampe. Und die blieb auch nach Wiedereinbau des Airbags mein Begleiter. So lange, bis ich bei einer Opel-Werkstatt (immerhin gratis!) den Fehlereintrag im Steuergerät per Diagnose-Interface wieder löschen lies.
Ein wie ich finde unnötiger Aufwand. Das muss
man selbst machen können!
Bei meinen VW und Audi geht das seit Jahren wunderbar, Stichwort Rosstech VAG
COM. Warum nicht auch bei Opel?
Nach einiger Recherche im Netz kaufte ich letztendlich für erste Gehversuche in Richtung Diagnose das Selbstbauinterface von Florian Schäffer. Ich bestellte den Bausatz, Kostenpunkt rund 35 Euro inklusive Nebenkosten. Heute dann baute ich die Platine auf. Was dabei am problematischsten war, ist das Löten des 32-poligen FTDI-Wandlerschaltkreises. Dies übernahm freundlicherweise ein Auszubildender in meinem Betrieb am Heißluftarbeitsplatz.
Die fertige Baugruppe nach dem Löten:
Links der OBD-Stecker, rechts der Abgang zum USB-Kabel. Die Leuchtdioden bedeuten: rot = USB verbunden, grün = Lesen, gelb = Schreiben. Der FTDI-Chip (in der Bildmitte mit den vielen Anschlüssen) übernimmt die Wandlung von USB (PC-seitig) auf RS-232C (fahrzeugseitig). Die RS-232C-Signale wiederum werden mittels eines L9637 (links unten mit den 8 Anschlüssen) auf K- und L-Leitungssignale gewandelt.
Das Interface ist im Grunde genommen ein OBD2-Interface, welches nur in bestimmten Grenzen genormt ist, nämlich vor allem den abgasrelevanten Motorkenndaten. Die Automobilfirmen nutzen diese Schnittstellen allerdings in hohem Maße zusätzlich für viele weitere Fahrzeugsteuergeräte wie beispielsweise das ABS oder den Airbag. Hier ist dann aber leider nichts mehr genormt, die benutzten Schnittstellenprotokolle hersteller- und sogar gerätespezifisch. Einzig die Hardware ist die gleiche, mit der das Interface bedient werden kann.
Bei Opel ist es so, dass die K-Leitung des Motorsteuergeräts auf dem üblichen Pin 7 des OBD-Steckers liegt. Die Pins 4 und 5 führen die Fahrzeugmasse (Klemme 31), Pin 16 ist das Zündungssignal des Fahrzeuges (Klemme 15) und Pin 15 führt die allen Steuergeräten gemeinsame L-Leitung, die bei modernen Fahrzeugen kaum mehr Anwendung findet. Mit den Pins 4/5, 7, 15 und 16 ist somit das Diagnoseprotokoll nach ISO 9141-2 komplett zu erschlagen. Es gibt auf dem OBD-Stecker noch einige andere genormte Pins wie zum Beispiel CANH und CANL, aber es gibt auch ein paar Pins, die vom Fahrzeughersteller frei belegt werden dürfen. Und hier setzt Opel ein und nutzt diese für weitere K-Leitungen anderer Steuergeräte im Fahrzeug, genauer die Pins 3, 8 und 12 zum bereits erwähnten Standard-Pin 7. Und genau hier kommt dieses von mir gewählte Interface an eine Grenze!
Aus diesem Grund bestückte ich gleich nicht die Verbindung der K-Line, hier markiert durch die beiden blauen Pfeile. Ich beabsichtigte, hier einen Umschalter einzufügen, so dass man im Diagnosebetrieb eine der vier K-Lines auswählen kann, über die man mit dem Interface Steuergeräte auslesen und programmieren will. Ein Problem ist, dass in das kleine Steckergehäuse kein üblicher Drehschalter mit 4 Stufen passt. Hier wird man noch nachdenken müssen.
So sieht dann das fertige Interface aus, intern erst einmal mit einer Leitung fest auf Pin 7 verdrahtet. Die rote LED zeigt an, dass das Interface bereits in einem USB-Anschluss des PCs steckt. Dieser verlangt beim ersten Einstecken einen Treiber, den man auf der Webseite von FTDI findet. Ab dann hat man einen zusätzlichen COM-Port zur Verfügung, auf dem das Interface anzusprechen ist. Es verhält sich dabei wie eine normale serielle Schnittstelle, obwohl sie über USB angeschlossen ist.
Später dann baute ich erst einmal einen normalen Umschalter ein. Mit diesem kann ich den K-Line-Anschluss des Interfaces wahlweise mit den Pins 7 und 12 des OBD-Steckers verbinden. Ich hatte im Netz aufgeschnappt, dass möglicherweise das Airbag-Steuergerät auf Pin 12 liegen könnte. Das sollte sich als falsch erweisen. Genauso falsch übrigens, wie die Information, man könne die K-Lines am OBD-Stecker einfach alle parallel anschließen. Das funktioniert nämlich nicht. Man muss multiplexen, also entweder automatisch oder manuell (wie hier) nach Bedarf zwischen den K-Lines umschalten.
Mit diesem Baustand ging ich zum Auto und machte meine ersten Versuche!
OBD-Stecker in die Buchse im rechten Fußraum gesteckt, USB-Stecker in den Laptop, Zündung eingeschaltet und Diagnosesoftware gestartet. Ich machte die ersten Versuche mit der frei verfügbaren Testversion von OP-COM, einer ungarischen Software für Opel-Fahrzeuge. Diese überzeugt mich nicht sonderlich von der Stabilität, ist aber für diese ersten Gehversuche durchaus ausreichend.
Ich versuchte nun als erstes, das Motorsteuergerät auf Pin 7 auszulesen. Bereits hier zeigte sich, dass es offenbar mit dem USB-Interface massive Kommunikationsprobleme zu geben scheint. Eventuell sind die Latenzen der Signale zu groß, das Timing nicht in Ordnung, es brauchte jedenfalls regelmäßig etliche Versuche, das Steuergerät zu initialisieren, bis es sich endlich meldete. Auch Verbindungsabbrüche geschehen alle Nase lang, wonach man Zündung abschalten, USB abziehen, Diagnosesoftware killen und dann alles wieder von vorne machen muss. Ärgerlich!
Letztlich schaffte ich es aber sogar, mir einen Fehler in der Motorsteuerung ("zu hohe Drehzahl" *LOL*) anzeigen zu lassen, diesen zu löschen und ein paar Messwerte bei laufendem Motor anzusehen.
Motorsteuergerät, Pin 7, 10.400bps, Protokoll KW-2000.
Messwerte bei laufendem (aber gerade gestartetem) Motor. Man erkennt den erhöhten Leerlauf bei Kaltstart.
Ich machte mich dann auf die Suche nach dem Airbag-Steuergerät. Ich habe es bisher nicht gefunden. Dafür begegnete mir aber das ABS auf Pin 12:
ABS-Steuergerät, Pin 12, 10.400bps, Protokoll KW-2000.
Und im ABS lagen auch ein paar Fehler vor. Harmlose Nebensächlichkeiten, konnten gelöscht werden.
Hier waren die ersten Versuche beendet. Das Thema wird weiter verfolgt. Wahrscheinlich sitzt der Airbag auf den nicht benutzten Leitungen, also entweder auf Pin 3 oder 8. Das wird noch zu klären sein. Genauso muss die Alarmanlage diagnosefähig sein. Auch diese werde ich noch suchen. Und hoffentlich finden. Ziel ist eine eindeutige Liste, wo welche Steuergeräte zu finden ist, da dies im Internet nicht dokumentiert ist bisher.
Einen Anfang habe ich ja bereits:
Steuergerät |
Lotus Teilenummer |
Baudrate |
Protokoll |
OBD-Pin # |
Motor ("Z20LET") |
116E6053AN |
10.400 |
KWP2000 |
7 |
ABS ("ABS430") |
A116J6000F |
10.400 |
KWP2000 |
12 |