Artikel
Fahrzeug-Diagnose-Adapter I
Interface zwischen OBD-2-Fahrzeug-Diagnosebuchse und seriellem PC-Port
Wie bereits im einführenden Artikel über Fahrzeug-Diagnosesysteme der zweiten Generation (OBD-2) in der letzten Ausgabe zu lesen war, müssen neu entwickelte Fahrzeuge mit Otto-Motor seit Januar 2001 über eine einheitliche Diagnose-Schnittstelle verfügen. Diese Schnittstelle ist nicht ohne weiteres kompatibel mit einer PC-Schnittstelle. Sowohl Hardware (Pegel) als auch Software (Protokoll) erfordern eine Anpassung, für die das hier vorgestellte Interface mit einem Mikrocontroller sorgt.Die Einführung der einheitlichen OBD-2-Diagnose-Schnittstelle ist einer EU-Richtlinie von 1998 zu verdanken, die für Fahrzeuge mit Fremdzündung (Otto-Motoren) ab Typzulassung 2000 und für Selbstzünder, also Diesel-Motoren, ab Typzulassung 2003 gilt. Der einheitliche Stecker kann drei verschiedene Protokolle zur Verfügung stellen, von denen in Europa hauptsächlich das ISO-Protokoll verwendet wird. Sowohl dieses Protokoll als auch die verwendeten Spannungspegel schließen eine direkte Verbindung des Fahrzeug-Diagnose-Steckers mit dem seriellen Port eines Computers aus.
Material
Gerber-Datei
Die zu diesem Projekt gehörende Platine steht als Gerber-Datei exklusiv allen GOLD- und GREEN-Mitgliedern zum sofortigen Download zur Verfügung. Mit Gerber-Daten können Sie Platinen selber herstellen oder sie bei einem Platinenhersteller in Auftrag geben.
Elektor empfiehlt den zuverlässigen PCB-Service von Eurocircuits oder von AISLER.
Gerber-Dateien unterliegen der Creative Commons-Lizenz. Creative Commons bietet Urhebern die Möglichkeit, dass ihre Werke frei genutzt und verbreitet werden.
Platine
Extra-Info / Update
Leserbrief: Fahrzeug-Diagnose-Adapter mit USB
Ich habe dieses Interface (OBD-2 nach RS232 aus Elektor 11/02) bisher erfolgreich an einem PC getestet, wegen der Umstände (PC zum Auto schleppen) habe ich mir aber nun einen Laptop zugelegt. Leider verfügt dieser über keinen Serialport (Sub-D 9), sondern nur noch über einen LAN-Anschluss (RJ45), einen Parallelport (Sub-D 25) sowie über USB 2.0. In der Hoffnung, der Parallelport könnte ein Serialsignal liefern, habe ich mir einen Adapter von 25 Pol Sub-D auf 9 Pol Sub-D besorgt, leider ohne Erfolg. Daraufhin habe ich dann versucht, mittels Adapter (9-pol. Sub-D auf USB) eine Verbindung zum Interface zu bekommen, aber auch diese 50 € fürs Kabel waren umsonst. Was muss ich machen, um das Tool wieder zum Laufen zu bekommen?
A. Köppler
Sie haben Glück gehabt, wenn Interface und Notebook den Anschluss an die parallele Schnittstelle überlebt haben – das passt nämlich gar nicht! Die Verwendung eines Umsetzers USB-nach-seriell (RS232) ist problematisch, weil die Funktion nicht unter allen Umständen gewährleistet ist. Die Einschränkungen werden zum Beispiel aus der Beschreibung eines solchen Umsetzers in Elektor 4/2003 ersichtlich. In der Praxis bedeutet das: Man muss die Kombination USB-Umsetzer/Interface gegebenenfalls mit verschiedenen USB-Umsetzern testen, um eine Lösung zu finden.
Für das OBD-Interface gibt es eine solche Lösung bereits. Auf den Webseiten des Autors (http://www.obd-2.de) ist ein erprobter und relativ preisgünstiger RS232/USB-Adapter zu finden. Im Downloadbereich findet sich auch eine Installations- und Konfigurationshilfe für die zugehörigen USB-Treiber. Dieser RS232/USB-Adapter ist auch bei http://www.obd-shop.de erhältlich.
Leserbrief: OBD-2 aktuell
Ich habe Ihren Schaltungsvorschlag zum Kfz-Onboard-Diagnose-Adapter (Elektor 11/2002) nachgebaut und die Schaltung funktioniert auch tadellos. Mein Problem ist aber, dass ich nach dem Anschluss an das Notebook und an mein Fahrzeug (Opel Zafira Bj. 2002) nur die Werte Drehzahl, Last und Kühlwassertemperatur auslesen kann (sowohl bei Verwendung von Hyperterminal als auch von scantool.net). Die Abfrage aller anderen Werte liefert "NO DATA" zurück. In Elektor steht ferner, dass meist nur die K-Datenleitung (Pin 7) benötigt wird. Bei der Schnittstelle am genannten Fahrzeug ist Pin 15 (L-Leitung) gar nicht belegt, dafür gibt es aber einen Pin 12 und zwei zusätzliche Pins 3 und 4. Folglich ist bei mir wahrscheinlich die L-Leitung nicht angeschlossen, könnte das die Ausleseprobleme verursachen?
O. Gießelmann
Die Frage zur L-Leitung wurde im Prinzip schon in Readers´ Corner in Heft 1/2003 beantwortet. Pin 15 (die L-Leitung) wird nur zur Initialisierung des Motorsteuergerätes benutzt und trägt anschließend nicht mehr zur Datenübertragung bei. Da dies ziemlicher Nonsense war, hat man bei neueren Fahrzeugen darauf verzichtet und macht den kompletten Initialisierungsvorgang über Pin 7, die K-Leitung. Der ELM323 unterstützt beide Varianten.
Die ScanTool.net Software stellt in der bisherigen Version nur einen festprogrammierten Satz an Sensordaten zur Verfügung, der üblicherweise bei vielen Fahrzeugen vorhanden ist. Die Software wird Kürze in der neuen, weiterhin frei verfügbaren Version 2.0 Verbesserungen bringen.
Generell gilt bei der Abfrage von Sensordaten mit einem Terminal-Programm, dass eine Mode-Abfrage mit der PID "00" die Frage nach den verfügbaren Daten beantwortet, d.h., der Antwort auf die PID "00" lässt sich entnehmen, welche weiteren PID zur Ausgabe bereitstehen. Die Antwort ist natürlich von Fahrzeug zu Fahrzeug unterschiedlich, ein Diesel liefert andere Daten als ein Benziner.
Die OBD2- bzw. EOBD-Norm belegt nur die Pins 2, 4, 5, 6, 7, 10, 14, 15 und 16. Alle anderen Pins bleiben herstellerspezifischen Anwendungen überlassen. Pin 4 ist dabei Fahrzeug-Masse (siehe hierzu auch http://www.obd-2.de/techn.html). Der ELM323 Chip für das ISO 9141 Protokoll unterstützt also sowohl die Initialisierung mit K-Leitung als auch mit K- und L-Leitung sowie die Initialisierung nach ISO 14230, die nach „KWP2000 fast“ oder „KWP2000 slow“ erfolgen kann. Mit der weiteren Verbreitung des Chips dank der Elektor-Publikation hat sich nun herausgestellt, dass einige Motorsteuergeräte (insbesondere aus dem VAG-Konzern) die Initialisierung entgegen der Normenbestimmungen verweigern, wenn sie zunächst mit „KWP2000 fast“ angesprochen werden. Diese Steuergeräte unterstützen nur „KWP2000 slow“. Da der ELM323 in der Version 1.0 zunächst eine Initialisierung mit „KWP2000 fast“ versucht und danach, wenn das fehlschlägt, erst mit „KWP2000 slow“, konnte zu diesen Fahrzeugen keine Verbindung aufgebaut werden. Mit der Version 1.1 des ELM323 wurde diese Reihenfolge geändert und es können nun auch diese nicht normgerechten Fahrzeuge angesprochen werden. Für Fahrzeuge mit „KWP2000 fast“ sind bisher keine Probleme bekannt geworden, gleichwohl verfügt die neue Version über einen neuen Befehl, um das alte Verhalten zu erzwingen. Anwender mit Problemen in der beschriebenen Art werden gebeten, sich an info@obd-2.de zu wenden, um einen verbilligten Chip der neuen Version zu erhalten. Um noch eine häufige Frage zu beantworten: Zu der Software VAG-COM (ein kommerzielles Produkt) ist der ELM323 nicht kompatibel.
Gerhard Müller
Leserbrief: ELM-ICs
Sie schreiben in Elektor 11/02, dass der ELM 323, der für ISO-9141 ausgelegt ist, das Auslesen der der KFZ-Daten bei Fahrzeugen europäischer und asiatischer Hersteller ermöglicht. Für die VPW- und PWM-Protokolle sind bei ELM ebenfalls ICs erhältlich. Sind diese ICs mit der selben Schaltung verwendbar? Das heisst: Ist nur durch Tauschen der ICs ein Auslesen der Daten für VPW- und PWM-Protokoll möglich?
Alexander Ringherrscher
Die anderen ICs von ELM sind nicht pinkompatibel und unterscheiden sich auch in den Anwendungsschaltungen und in den Hinweisen für die Auswertung der Daten, die von ELM in den Datenblättern angegeben werden (Download der PDFs bei www.elmelectronics.com). VPW beziehungsweise PWM benötigen Sie nur, wenn am OBD-2 Stecker des Fahrzeugs Pin 7 und 15 nicht belegt sind und wenn stattdessen Pin 2 und 10 belegt sind.
Leserbrief: OBD-2 bei VW
Mit großem Interesse las ich Ihre Anleitung zum Bau des OBD-2-Diagnose-Adapters. Jedoch ist mir bei der Überprüfung der OBD-Schnittstellenbelegung aufgefallen, dass PIN 15, der ja den L-Ausgang darstellen soll, bei VW- und Skoda-Fahrzeugen nicht belegt ist. Das habe ich direkt an drei Fahrzeugen (1 x VW Golf, Mod.- Jahr 2002 und 2 x Skoda Octavia Mod.-Jahr 2002) überprüft, indem ich die OBD Buchse ausgebaut und die Belegung aufgenommen habe. Somit wird der Adapter zumindest nicht an diesen Fahrzeugen funktionieren.
F.Horning
Ihre Aussage ist so nicht richtig. Bitte lesen Sie die entsprechenden Artikel im Elektor und die zusätzlichen Informationen dazu vom Download-Bereich von www.elektor.de. Zugegebenermaßen ist das ISO-Protokoll nicht optimal. Es wurde auf Forderung der europäischen und asiatischen Hersteller in die OBD-2-Normung aufgenommen und benötigte zur Initialisierung der Fahrzeug-Steuergeräte eine zweite Datenleitung (die L-Line, Pin 15), die für den weiteren Datenverkehr dann nicht mehr erforderlich ist. Neuere Steuergeräte können nun auch über die erste Datenleitung (K-Line, Pin 7) initialisiert werden. Aufgrund des Starrsinns der Hersteller ist daher zukünftig von der Normung ein Pin belegt, der zu nichts mehr benutzt werden kann. Weiteres Herumdoktern an der ISO-Übertragung mit zum Beispiel "KWP2000 slow" und "KWP2000 fast" haben die Unzulänglichkeiten gegenüber den Pulse-Width-Modulation-Protokollen nicht beseitigen können, so dass sich die Hersteller fragen lassen müssen, weshalb sie nicht gleich auf diese überlegeneren Protokolle umgestiegen sind.
Die Schaltung in Elektor unterstützt selbstverständlich beide Initialisierungsmethoden über die L-Line und über die K-Line.
Gerhard Müll
Ich habe dieses Interface (OBD-2 nach RS232 aus Elektor 11/02) bisher erfolgreich an einem PC getestet, wegen der Umstände (PC zum Auto schleppen) habe ich mir aber nun einen Laptop zugelegt. Leider verfügt dieser über keinen Serialport (Sub-D 9), sondern nur noch über einen LAN-Anschluss (RJ45), einen Parallelport (Sub-D 25) sowie über USB 2.0. In der Hoffnung, der Parallelport könnte ein Serialsignal liefern, habe ich mir einen Adapter von 25 Pol Sub-D auf 9 Pol Sub-D besorgt, leider ohne Erfolg. Daraufhin habe ich dann versucht, mittels Adapter (9-pol. Sub-D auf USB) eine Verbindung zum Interface zu bekommen, aber auch diese 50 € fürs Kabel waren umsonst. Was muss ich machen, um das Tool wieder zum Laufen zu bekommen?
A. Köppler
Sie haben Glück gehabt, wenn Interface und Notebook den Anschluss an die parallele Schnittstelle überlebt haben – das passt nämlich gar nicht! Die Verwendung eines Umsetzers USB-nach-seriell (RS232) ist problematisch, weil die Funktion nicht unter allen Umständen gewährleistet ist. Die Einschränkungen werden zum Beispiel aus der Beschreibung eines solchen Umsetzers in Elektor 4/2003 ersichtlich. In der Praxis bedeutet das: Man muss die Kombination USB-Umsetzer/Interface gegebenenfalls mit verschiedenen USB-Umsetzern testen, um eine Lösung zu finden.
Für das OBD-Interface gibt es eine solche Lösung bereits. Auf den Webseiten des Autors (http://www.obd-2.de) ist ein erprobter und relativ preisgünstiger RS232/USB-Adapter zu finden. Im Downloadbereich findet sich auch eine Installations- und Konfigurationshilfe für die zugehörigen USB-Treiber. Dieser RS232/USB-Adapter ist auch bei http://www.obd-shop.de erhältlich.
Leserbrief: OBD-2 aktuell
Ich habe Ihren Schaltungsvorschlag zum Kfz-Onboard-Diagnose-Adapter (Elektor 11/2002) nachgebaut und die Schaltung funktioniert auch tadellos. Mein Problem ist aber, dass ich nach dem Anschluss an das Notebook und an mein Fahrzeug (Opel Zafira Bj. 2002) nur die Werte Drehzahl, Last und Kühlwassertemperatur auslesen kann (sowohl bei Verwendung von Hyperterminal als auch von scantool.net). Die Abfrage aller anderen Werte liefert "NO DATA" zurück. In Elektor steht ferner, dass meist nur die K-Datenleitung (Pin 7) benötigt wird. Bei der Schnittstelle am genannten Fahrzeug ist Pin 15 (L-Leitung) gar nicht belegt, dafür gibt es aber einen Pin 12 und zwei zusätzliche Pins 3 und 4. Folglich ist bei mir wahrscheinlich die L-Leitung nicht angeschlossen, könnte das die Ausleseprobleme verursachen?
O. Gießelmann
Die Frage zur L-Leitung wurde im Prinzip schon in Readers´ Corner in Heft 1/2003 beantwortet. Pin 15 (die L-Leitung) wird nur zur Initialisierung des Motorsteuergerätes benutzt und trägt anschließend nicht mehr zur Datenübertragung bei. Da dies ziemlicher Nonsense war, hat man bei neueren Fahrzeugen darauf verzichtet und macht den kompletten Initialisierungsvorgang über Pin 7, die K-Leitung. Der ELM323 unterstützt beide Varianten.
Die ScanTool.net Software stellt in der bisherigen Version nur einen festprogrammierten Satz an Sensordaten zur Verfügung, der üblicherweise bei vielen Fahrzeugen vorhanden ist. Die Software wird Kürze in der neuen, weiterhin frei verfügbaren Version 2.0 Verbesserungen bringen.
Generell gilt bei der Abfrage von Sensordaten mit einem Terminal-Programm, dass eine Mode-Abfrage mit der PID "00" die Frage nach den verfügbaren Daten beantwortet, d.h., der Antwort auf die PID "00" lässt sich entnehmen, welche weiteren PID zur Ausgabe bereitstehen. Die Antwort ist natürlich von Fahrzeug zu Fahrzeug unterschiedlich, ein Diesel liefert andere Daten als ein Benziner.
Die OBD2- bzw. EOBD-Norm belegt nur die Pins 2, 4, 5, 6, 7, 10, 14, 15 und 16. Alle anderen Pins bleiben herstellerspezifischen Anwendungen überlassen. Pin 4 ist dabei Fahrzeug-Masse (siehe hierzu auch http://www.obd-2.de/techn.html). Der ELM323 Chip für das ISO 9141 Protokoll unterstützt also sowohl die Initialisierung mit K-Leitung als auch mit K- und L-Leitung sowie die Initialisierung nach ISO 14230, die nach „KWP2000 fast“ oder „KWP2000 slow“ erfolgen kann. Mit der weiteren Verbreitung des Chips dank der Elektor-Publikation hat sich nun herausgestellt, dass einige Motorsteuergeräte (insbesondere aus dem VAG-Konzern) die Initialisierung entgegen der Normenbestimmungen verweigern, wenn sie zunächst mit „KWP2000 fast“ angesprochen werden. Diese Steuergeräte unterstützen nur „KWP2000 slow“. Da der ELM323 in der Version 1.0 zunächst eine Initialisierung mit „KWP2000 fast“ versucht und danach, wenn das fehlschlägt, erst mit „KWP2000 slow“, konnte zu diesen Fahrzeugen keine Verbindung aufgebaut werden. Mit der Version 1.1 des ELM323 wurde diese Reihenfolge geändert und es können nun auch diese nicht normgerechten Fahrzeuge angesprochen werden. Für Fahrzeuge mit „KWP2000 fast“ sind bisher keine Probleme bekannt geworden, gleichwohl verfügt die neue Version über einen neuen Befehl, um das alte Verhalten zu erzwingen. Anwender mit Problemen in der beschriebenen Art werden gebeten, sich an info@obd-2.de zu wenden, um einen verbilligten Chip der neuen Version zu erhalten. Um noch eine häufige Frage zu beantworten: Zu der Software VAG-COM (ein kommerzielles Produkt) ist der ELM323 nicht kompatibel.
Gerhard Müller
Leserbrief: ELM-ICs
Sie schreiben in Elektor 11/02, dass der ELM 323, der für ISO-9141 ausgelegt ist, das Auslesen der der KFZ-Daten bei Fahrzeugen europäischer und asiatischer Hersteller ermöglicht. Für die VPW- und PWM-Protokolle sind bei ELM ebenfalls ICs erhältlich. Sind diese ICs mit der selben Schaltung verwendbar? Das heisst: Ist nur durch Tauschen der ICs ein Auslesen der Daten für VPW- und PWM-Protokoll möglich?
Alexander Ringherrscher
Die anderen ICs von ELM sind nicht pinkompatibel und unterscheiden sich auch in den Anwendungsschaltungen und in den Hinweisen für die Auswertung der Daten, die von ELM in den Datenblättern angegeben werden (Download der PDFs bei www.elmelectronics.com). VPW beziehungsweise PWM benötigen Sie nur, wenn am OBD-2 Stecker des Fahrzeugs Pin 7 und 15 nicht belegt sind und wenn stattdessen Pin 2 und 10 belegt sind.
Leserbrief: OBD-2 bei VW
Mit großem Interesse las ich Ihre Anleitung zum Bau des OBD-2-Diagnose-Adapters. Jedoch ist mir bei der Überprüfung der OBD-Schnittstellenbelegung aufgefallen, dass PIN 15, der ja den L-Ausgang darstellen soll, bei VW- und Skoda-Fahrzeugen nicht belegt ist. Das habe ich direkt an drei Fahrzeugen (1 x VW Golf, Mod.- Jahr 2002 und 2 x Skoda Octavia Mod.-Jahr 2002) überprüft, indem ich die OBD Buchse ausgebaut und die Belegung aufgenommen habe. Somit wird der Adapter zumindest nicht an diesen Fahrzeugen funktionieren.
F.Horning
Ihre Aussage ist so nicht richtig. Bitte lesen Sie die entsprechenden Artikel im Elektor und die zusätzlichen Informationen dazu vom Download-Bereich von www.elektor.de. Zugegebenermaßen ist das ISO-Protokoll nicht optimal. Es wurde auf Forderung der europäischen und asiatischen Hersteller in die OBD-2-Normung aufgenommen und benötigte zur Initialisierung der Fahrzeug-Steuergeräte eine zweite Datenleitung (die L-Line, Pin 15), die für den weiteren Datenverkehr dann nicht mehr erforderlich ist. Neuere Steuergeräte können nun auch über die erste Datenleitung (K-Line, Pin 7) initialisiert werden. Aufgrund des Starrsinns der Hersteller ist daher zukünftig von der Normung ein Pin belegt, der zu nichts mehr benutzt werden kann. Weiteres Herumdoktern an der ISO-Übertragung mit zum Beispiel "KWP2000 slow" und "KWP2000 fast" haben die Unzulänglichkeiten gegenüber den Pulse-Width-Modulation-Protokollen nicht beseitigen können, so dass sich die Hersteller fragen lassen müssen, weshalb sie nicht gleich auf diese überlegeneren Protokolle umgestiegen sind.
Die Schaltung in Elektor unterstützt selbstverständlich beide Initialisierungsmethoden über die L-Line und über die K-Line.
Gerhard Müll
Stückliste
Widerstände:
R1,R3 = 510 Ohm
R2,R4 = 2k2
R5,R6,R10 = 10 k
R7,R11 = 4k7
R8,R9 = 330 Ohm
R12 = 47 k
R13 = 100 k
R14 = 680 Ohm
Kondensatoren:
C1,C2 = 27 p
C3...C6 = 100 n
Halbleiter:
D1,D6 = 1N4148
D2...D5 = LED rot
D8 = LED grün
D7 = 1N4001
T1,T2 = BC547B
T3,T4 = BC557B
IC1 = ELM323 *)
IC2 = 78L05
Außerdem:
K1 = 16-polige Stiftleiste mit Schutzkragen
K2 = 9-polige Sub-D-Buchse, gewinkelt, für Platinenmontage
X1 = 3.579545-MHz-Quarz, 32 pF parallel
16-poliger Stecker, passend für OBD2 *)
Platine EPS 020138-1 (Layout-Download und Bestellung siehe Service-Seiten in der Heftmitte oder www.elektor.de)
*) Bezugsquelle für ELM323 und OBD-Stecker-Kit::
Küster Datensysteme (KDS)
Geibelstr. 14
30173 Hannover
Tel. 0511/886059
Fax 0511/8093329
E-Mail: OBD-Service@KDS-Online.com
R1,R3 = 510 Ohm
R2,R4 = 2k2
R5,R6,R10 = 10 k
R7,R11 = 4k7
R8,R9 = 330 Ohm
R12 = 47 k
R13 = 100 k
R14 = 680 Ohm
Kondensatoren:
C1,C2 = 27 p
C3...C6 = 100 n
Halbleiter:
D1,D6 = 1N4148
D2...D5 = LED rot
D8 = LED grün
D7 = 1N4001
T1,T2 = BC547B
T3,T4 = BC557B
IC1 = ELM323 *)
IC2 = 78L05
Außerdem:
K1 = 16-polige Stiftleiste mit Schutzkragen
K2 = 9-polige Sub-D-Buchse, gewinkelt, für Platinenmontage
X1 = 3.579545-MHz-Quarz, 32 pF parallel
16-poliger Stecker, passend für OBD2 *)
Platine EPS 020138-1 (Layout-Download und Bestellung siehe Service-Seiten in der Heftmitte oder www.elektor.de)
*) Bezugsquelle für ELM323 und OBD-Stecker-Kit::
Küster Datensysteme (KDS)
Geibelstr. 14
30173 Hannover
Tel. 0511/886059
Fax 0511/8093329
E-Mail: OBD-Service@KDS-Online.com
Diskussion (0 Kommentare)