Anzeige/Werbung
Bitte beachten: neue Version verfügbar: Modell B
Serielles (RS232) KL-Interface für OBD
Inhalt
Einführung
Schaltplan/PCB Layout
Aufbau
Software
Einführung
Eine Übersicht der Vor- und Nachteile von seriellem und USB Interface befindet sich bei der
Beschreibung zum KKL-Interface.
Mit dieser Selbstbau-Schaltung zum Eigenbau eines Diagnoseinterface möchte ich allen Diskussionen ein Ende setzen, die sich mit dem Thema VAG-COM und den Problemen mit Jeffs Interface befassen. Wie schon beschrieben, kann man VAG Fahrzeuge über die OBD-2 Buchse zu Leibe Rücken und u. a. mit VAG-COM oder WBH-Diag über das KW 1281 Protokoll Werte auslesen und Parameter einstellen. Bis zur VAG-COM Version 311.2 genügte dazu ein KL-Interface mit Optokopplern für die serielle Schnittstelle. Die (Demo-) Version 409.1 läuft nicht mehr mit den Optokopplerschaltungen, wohl aber mit dem hier neu entwickelten Interface! Für alle Anwender, die sich mit einem Laptop ohne serielle Schnittstelle haben Übervorteilen lassen, sei darauf hingeweisen, daß es häufig zu Problemen kommt, wenn man einen USB-RS232 Adapter einsetzt. Da gibt es gute Modelle und schlechte, mit denen es dann nicht klappt. Das liegt aber ausschließlich am Adapter.
Ich hatte Jeffs Interface nachgebaut und nie Probleme damit. Aber es gibt immer wieder Diskussionen über die schwer beschaffbaren Optokoppler (was eigentlich nicht stimmt, denn den Ersatztyp bekommt man recht einfach) und deren ungünstigen Arbeitspunkt und wie man diesen mit viel Aufwand und Fummelei über diverse Potis in den unterschiedlichsten Schaltungsmodifikationen optimieren kann. Oft liest man derartige Behauptungen auf Webseiten, die gerne über Bastellösungen herziehen und nur ihren eigenen Kram verkaufen wollen. Vielleicht auch ein Grund, warum auf den entsprechenden Webseiten Beiträge zu diesem neuen KW 1281 Adapter zensiert werden. Kein Wunder, wenn man dort um die € 56 für ein paar Bauteile für eine weitaus umständlichere Schaltung und etwas Demo/Shareware-Software verlangt.
Schon vor einiger Zeit bin ich auf zwei Interessante ICs gestoßen, die dem ein Ende setzen würden. Da gibt es zum einen den L9637D von STMicroelectronics und zum anderen den MC33290D von Motorola/Freescale. Beide bieten ein ISO-Interface nach ISO9141. Der L9637D ist etwas teurer und kann Spannungen bis 36V ab, weshalb er sich auch für Nutzfahrzeuge mit 24V Bordnetz eignet. Allerdings ist er etwas zu langsam und nicht CAN-tauglich, da er maximal 58kBit/s schafft und CAN bei bis zu 500kBit/s arbeitet. Der MC33290D ist nur bis 18V ausgelegt, ist aber dafür für OBD per CAN schnell genug. Deshalb habe ich mich für den MC33290D entschieden. Für VAG-COM ist dies aber unbedeutend, da KW1281 und ISO 9141 nur mit bis zu 10400Bd arbeiten. Eine Adaption an den L9637D ist aber relativ einfach zu bewerkstelligen, wenn dies erforderlich sein sollte. Mit dem USB-Interface gibt es nun auch eine derartige Lösung, die dann auch für die Fehlerdiagnose bei Nutzfahrzeugen geeignet ist.
Selbstverständlich sollte die Schaltung auch problemlos mit Diagnosesoftware für andere Fahrzeuge zusammenarbeiten. BMW und Mercedes Benz nutzen beide ebenfalls mindestens eine K-Datenleitung zur Diagnose bei alten Modellen. Für BMW gibt es bspw. die Software Car Scanner für KW 71.
Bei Mercedes sieht die Sache komplizierter aus, da im Diagnosestecker die verschiedenen Steuergeräte unterschiedlichen Pins zugeordnet sind, die dann mit der K-Leitung verbunden werden. Die Motorsteuergeräte sind an Pin 4 und 5 zu finden. Ein Pinout findet sich auch.
Im Besonderen möchte ich auf die kostenlose Software OBD Scan Tech hinweisen (s. u.), welche alle wichtigen OBD II Funktionen anbietet.
Wichtiges Kriterium bei der Konstruktion war, daß ausschließlich Standardbauteile verwendet werden und keinerlei Einstellungen notwendig sind, da sich die Bauteile an die Normen halten. Für die OBD-Seite ist der ISO-Chip zuständig und für die serielle Seite ein Standard RS232-Schnittstellenbaustein vom Typ MAX232.
Ich bitte alle Anwender, die diese Schaltung nachbauen, sich für meine Entwicklung erkenntlich zu zeigen, und die Fahrzeuge, an denen sie den Adapter ausprobiert haben, in die Liste der getesteten Fahrzeuge einzutragen.
Schaltplan/PCB Layout
Der
Schaltplan kann herunter geladen werden.
Die Schaltung ist im Prinzip relativ einfach: Der MAX232 setzt die Signale der seriellen Schnittstelle in TTL-Pegel um, die dann vom MC33290D in ISO-Pegel umgesetzt werden und andersherum. Versorgt wird die Schaltung aus dem Fahrzeug (12V Bordnetz) über das OBD2-Kabel und einen einfachen Spannungsregler. Eine Diode sorgt für den Verpolungsschutz, sollte einmal die Bordspannung falsch angelegt werden (vor allem bei den 2x2 Adapterkabeln kommt das manchmal vor). Die LED leuchtet bei anliegender Betriebsspannung.
Damit die Schaltung auch zu älteren Autos kompatibel bleibt, muß lediglich für die L-Leitung eine extra Lösung her, da der ISO-Chip nur die K-Leitung unterstützt. Die L-Leitung wurde deshalb mit einem Transistor realisiert, da vom PC zur L-Leitung nur Daten gesendet, nicht aber empfangen werden. Für den angegebenen Typ BC547B kann man natürlich auch die C Variante einsetzen oder einen der zahlreichen Ersatztypen. Die meisten Autos benötigen diese Leitung nicht, sondern nur noch die K-Leitung. Deshalb ist auch der Schalter integriert, um die Verbindung zum OBD-Stecker unterbrechen zu können. So kann man testen, ob das Fahrzeug noch die L-Leitung zur Initialisierung benötigt oder nicht mehr.
Ein Platinenentwurf für eine lediglich 40x60mm große Platine ist ebenfalls vorhanden. Eine Vorlage für die Platinenbelichtung liegt auch als PDF vor.
Hier noch eine Bauteilliste:
Anzahl |
Bezeichner |
Typ |
2 |
R1, R3 |
560 Ω - besser: 510 Ω, grün-blau-braun / grün-braun-braun / grün - schwarz - schwarz - braun |
1 |
R2 |
2,2 kΩ, rot-rot-rot |
1 |
R4 |
330 Ω, orange-orange-braun |
2 |
C1, C2 |
100 nF; Keramik; RM 2,5 |
5 |
C3, C4, C5, C6, C7 |
1 µF/63V; Elko; RM 2,5; radial |
1 |
D1 |
1N4148 |
1 |
LED1 |
5mm Standard LED |
1 |
T1 |
BC547 B/C |
1 |
IC1 |
MAX232 |
1 |
IC2 |
78L05 |
1 |
IC3 |
MC33290 |
1 |
S1 |
Mini DIP Schalter 1-fach; 2 polig |
1 |
X1 |
9 pol. Sub-D-Buchse; female; Printmontage; gewinkelt; EU-Norm 9,4 mm |
1 |
X2 |
9 pol. Sub-D-Stecker; male; Printmontage; gewinkelt; EU-Norm 9,4 mm |
Außerdem wird benötigt: Platine, 1:1 Datenkabel, OBD->SUB-D-Kabel
Wichtiger Hinweis: Entgegen der bisherigen Angabe und auch entgegen dem falschen Bestückungsaufdruck auf der Platine wird kein Nullmodemkabel, sondern ein 1:1 Datenkabel benötigt!
Aufbau
Ein Bild vom realen Aufbau des ersten Prototyps. Diese Version hatte noch einen kleinen Designfehler. Bei der Korrektur wurde dann der Schalter versetzt, wie in den folgenden Bildern zu sehen ist.
Bestückung der professionell gefertigten Platine.
Die Leiterbahnseite mit dem SMD-Bauteil (Bild anklicken für Großdarstellung).
Hinweis zum MC33290: Der eingelaserte helle Punkt auf dem Gehäuse markiert die kurze Seite, zu der sich Pin 1 am nächsten befindet (analog zu den früher üblichen Einkerbungen bei ICs) und nicht unbedingt unmittelbar Pin 1. Pin 1 ist eigentlich immer links unten, wenn man die Schrift lesen kann.
Auf der Leiterplatte markiert ein winziger Leiterbahn-Punkt die Position für Pin 1. Auf dem nebenstehenden Foto ist der Chip zu sehen. Pin 1 ist links unten. Die Doppellinie im Bestückungsdruck markiert die längere Seite des Chips, an der Pin 1 liegt.
Zwei Bilder aus Eagle3D, welche die aktuelle Bauteilanordnung passend zu obigen Schaltplan zeigen.
Das SMD-IC wird auf der Leiterbahnseite angelötet. Dazu am besten zuerst die Anschlußstücke der Leiterbahn dünn verzinnen, dann das Bauteil auflegen und fixieren und mit dem Lötkolben anheften, in dem einzelne Beinchen erhitzt werden, bis das Lötzinn der verzinnten Leiterbahn flüssig wird; anschließend nachlöten.
Einbaubeispiel des KW1281/ISO9141 OBD-2 Interface in Strapubox Gehäuse #2412. Die Platine paßt genau hinein und hält ohne weitere Befestigung wenn in die Stirnseiten Ausschnitte für die Sub-D Buchsen gesägt werden.
Einbautip: In der Höhe nicht mittig, sondern die Leiterplatte ca. 1 mm nach oben versetzt einbauen.
Software
Das Interface sollte mit allen Programmen und Autos problemlos funktionieren, die eins der Protokolle KW 71, KW 1281, ISO 9141, ISO 14230 (KW 2000) benutzen. Die entsprechende
Zusammenstellung wurde verschoben.
Zum Abschluß möchte ich noch darauf hinweisen, daß ich keinerlei Hilfen und Auskünfte zu dem Projekt per Email beantworte. Nutze das
Diskussionsforum!