OBD, OBD II, EOBD:


Op deze pagina worden de volgende onderdelen beschreven:
-Algemeen
-OBD 1
-OBD II en EOBD
-Uitlezen en wissen van het storingsgeheugen
-Actuatoren aansturen
-Coderen, initialiseren, inleren
-Readinesstest
-Standaardisatie in communicatie tussen diagnosetester en de auto
-Service modes met de Parameter Identifier



Algemeen:
OBD is een afkorting voor On Board Diagnostics. OBD heeft zowel een regelende als een diagnostische taak, vooral in het Motormanagementsysteem van de ECU. Zo kan er via het OBD systeem een storing opgespoord worden door deze uit te lezen met een diagnose-testkast. De storingscode kan worden opgezocht op de OBD Foutcodelijst (indien de code niet merkspecifiek is).

TIP: Bezoek ook eens de website GerritSpeek.nl, waar veel inhoudelijke informatie te vinden is over de mogelijkheden met het programma VCDS en diepgaande informatie over storingscodes.



OBD 1:
Dit is het eerste OBD systeem dat ontwikkeld is door GM (General Motors). Het werd in 1980 geïntroduceerd en in 1988 voor het eerst in de VS gebruikt. Het doel van dit systeem was hoofdzakelijk om de emissie uitstootwaarden te beperken. Het systeem was ervoor om zelf defecten en afwijkingen op te sporen waardoor de schadelijke uitstoot beperkt werd. Wanneer er een defect of afwijking herkend werd, ging direct het MIL (Malfunction Indicator Lamp) branden, wat uitgelezen moest worden door een autotechnicus. De bestuurder van de auto werd d.m.v. het MIL op de fout geattendeerd en diende het probleem zo snel mogelijk te laten verhelpen.
Alle voertuigen die vanaf 1991 werden geproduceerd moesten worden uitgevoerd met OBD1. De eerste versies van o.a. Opel en Volvo maakte gebruik van een knippercode. Andere merken ontwikkelden hun eigen stekker met hun eigen foutcodes. Voor OBD 1 waren geen richtlijnen, wat vanaf OBD II wel het geval is.

Opel:
Deze diagnosestekker is meestal in de motorruimte ingebouwd. Dit systeem werkt met een knippercode. Door de massa (A) met een ander punt te verbinden (bijv. punt B) kan er op het instrumentenpaneel een knipperende code afgelezen worden. Wanneer de auto op contact wordt gezet zal het MIL gaan knipperen:
2 keer knipperen, pauze, 4 keer knipperen, lange pauze; dit is de code 24. De code 24 kan op de lijst met foutcodes van de fabrikant opgezocht worden.


Volkswagen:
Bij Volkswagen zijn er 2 aparte connectoren voor de OBD1. De testkast (in dit geval de VAG 1551) kan met deze 2 connectoren verbonden worden. Door op de testkast het juiste kanaal te kiezen (01 voor motorelektronica) kon er in het servicemenu het storingsgeheugen uitgelezen en gewist worden.


BMW:

Bij BMW is de OBD1 stekker rond. Deze stekker wordt d.m.v. een kabel met de diagnoseapparatuur verbonden. De storingen worden met beschrijving op het display weergeven. Ook kunnen de storingen gewist worden.



OBD II en EOBD:
In 1996 werd OBD II ingevoerd. Vanaf 2004 wordt OBD in Europa verplicht gesteld. In Amerika blijft dit OBD II heten en de Europese variant wordt EOBD genoemd. Het is op een paar kleine aanpassingen gelijk aan elkaar; bij EOBD is het niet verplicht om de EVAP controle (lekkage van schadelijk benzinedampen) uit te voeren, terwijl dit in Amerika wel verplicht is. Auto's vanaf 2008 hebben verplicht OBD II en EODB met CAN bus communicatie. Klik hier voor meer informatie over de CAN bus.
Er werden diverse zaken vastgelegd (gestandaardiseerd); zoals het type en de plaatsing van de 16 polige OBD connector, de storingscode structuur en de communicatieprotocollen. De storingscodes m.b.t. emissies moeten namelijk door iedereen uitgelezen kunnen worden.


(Afb. van een OBD II / EOBD connector)

EOBD is verplicht voor de aandrijflijn van alle voertuigen en staat los van de merkspecifieke diagnose. De EOBD controleert middels het Motormanagementsysteem constant alle systemen (zoals de lambdasonde) en signaleert wanneer de werkelijke uitstoot anderhalf keer de uitstoot van de typegoedkeuring is. Het MIL zal niet direct gaan branden, maar het systeem slaat de storing wel op. Wanneer er een tweede rit wordt gemaakt onder de zelfde omstandigheden en de uitstoot is weer anderhalf keer zo hoog als dat maximaal voorgeschreven is, gaat het MIL wel branden. De berijder wordt er dan op geattendeerd dat er een storing in het motormanagement aanwezig is.

Wanneer de auto uitgelezen wordt is er een foutcode op het uitleesapparaat zichtbaar. Deze code wordt in de vaktermen ook wel een DTC (Diagnostic Trouble Code) genoemd. Deze DTC kan bijv. een P-code zijn. Deze code heeft een betekenis; Klik hier om naar de OBD foutcode lijst te gaan.



Uitlezen en wissen van het storingsgeheugen:
De auto kan met behulp van een diagnoseapparaat uitgelezen worden. Deze dient op de OBD2-aansluiting in het interieur van het voertuig aangesloten te worden. Het diagnoseapparaat maakt vervolgens verbinding met o.a. de gateway. Deze OBD2-aansluiting bevindt zich meestal in de buurt van de bestuurdersstoel, meestal onder het dashboard of in het middenconsole.
Er dient een speciale OBD2-kabel op de stekkeraansluiting aangesloten te worden. Deze kabel dient verbonden te worden met een uitleesapparaat. Nadat de laptop verbonden is met de leeskop en de kabel, kan het diagnoseprogramma gestart worden. Eerst dienen enkele voertuiggegevens ingevoerd te worden, zoals in de onderstaande afbeelding te zien is:



Na het verbinden wordt er gevraagd wat je vervolgens wilt doen. Eén van de opties is het uitlezen van een foutcode. Een foutcode wordt ook wel een Diagnostic Trouble Code (DTC) genoemd.

Een DTC bestaat uit een letter, gevolgd met vier cijfers.
- De letter P staat voor Powertrain; daar vallen o.a. de motor en de versnellingsbak onder.
- De B staat voor Body; daar vallen o.a. de airbags, veiligheidsgordels, verwarming en verlichting onder. 
- De C staat voor Chassis; daar vallen o.a. de ABS- en ESP-systemen onder.
- De U staat voor Netwerk; dit heeft betrekking tot o.a. de CAN-bus communicatie.

De vier cijfers geven aan waar het om gaat. Op internet zijn uitgebreide lijsten met codes en hun betekenis te vinden.
Als voorbeeld nemen we een auto die stationair onregelmatig draait. Het motormanagementlampje brandt.
Dit lampje wordt ook wel het Malfunction Indication Lamp genoemd (afgekort als MIL). Wanneer dit lampje brandt of gebrand heeft, weet je zeker dat er een storing in het storingsgeheugen opgeslagen is. Het is dan tijd om de auto uit te lezen.



In het scherm van de tester in de bovenstaande afbeelding verschijnt de storingscode: P0302. Deze code geeft aan dat er bij cilinder 2 een onvolledige verbranding geregistreerd is. Dit kan eenmalig aanwezig zijn geweest, kan meerdere keren voorgekomen zijn of kan permanent aanwezig zijn. De storingscode P0301 ontstaat wanneer er een onvolledige verbranding bij cilinder 1 gedetecteerd is en de storingscode P0303 bij cilinder 3, etc.
Wanneer een sensor een waarde doorgeeft die buiten de toleranties valt, dan kijkt de ECU welke storingscode daarbij hoort en slaat deze op in het geheugen. De diagnoseapparatuur toont ook tekst; de software herkent de code (bijv. de P0302) en koppelt daar een tekst aan (Cylinder 2 Misfire Detected). Dit is allemaal voor-geprogrammeerd in de diagnosesoftware. Elk merk heeft ook merkspecifieke codes; om deze rede moet in het begin vaak ook geselecteerd worden om welk merk, type, bouwjaar, motorcode en brandstofsysteem het gaat. Wanneer er een verkeerd merk geselecteerd is, kan er een verkeerde tekst aan de storingscode gekoppeld worden. Merkspecifieke testers of hele uitgebreide testapparatuur hebben ook diagnoseprogramma’s in de software verwerkt zitten. Wanneer er een storingscode aangeklikt wordt, zal er een testprogramma geopend worden welke stap voor stap doorgelopen kan worden. Aan het einde van de test zal de software tot een conclusie komen, of een specifieke richting aangeven waar de technicus moet gaan meten.

Behalve laptops met uitgebreide diagnoseprogramma’s zijn er ook simpele handreaders verkrijgbaar. Met deze readers kunnen vaak de milieu gerelateerde storingen uitgelezen worden, zoals diverse motorstoringen. Maar storingen in het onderstel of in de airbag kunnen hiermee vaak níet uitgelezen worden.

Storingscodes kunnen aangeven dat er een onderdeel kapot is. Maar een technicus kan er niet zomaar van uit gaan dat een storing op bijvoorbeeld een sensor betekent dat de sensor defect is. Het kan net zo goed de bedrading of de stekkerverbinding zijn die corrosie vormt en daardoor een overgangsweerstand veroorzaakt. De storingscode geeft echter wel vaak een goede richting aan waarmee de oorzaak van de storing opgezocht kan worden. Als voorbeeld nemen we weer de storingscode P0302; waarbij cilinderoverslag op cilinder 2 herkend is. De verbranding in deze cilinder is niet goed geweest. Dit kan o.a. de volgende oorzaken hebben:
- Slechte ontsteking (defecte bougie, bobine of bobinekabel)
- Slechte inspuiting (defecte of vervuilde injector)
- Compressieverlies (slechte afdichting van de in- of uitlaatkleppen, defecten aan de cilinderkop of zuiger)

Met enkel de storingscode P0302 kan dus eenvoudig gevonden worden op welke cilinder zich het probleem voordoet, maar dan begint het echte werk pas. Door het uitwisselen van de onderdelen als de bougie, bobine of injector, kan gekeken worden of de storing zich verplaatst. De bobine van cilinder 2 kan gewisseld wordt met die van cilinder 4. Als vervolgens de storing gewist wordt, de motor opnieuw wordt gestart en het storingsgeheugen opnieuw uitgelezen wordt, kan gekeken worden of de storing zich heeft verplaatst. Op het moment dat nu de storingscode P0304 verschijnt, betekent het dat nu bij cilinder 4 een slechte verbranding geconstateerd is.
De oorzaak is gevonden; de bobine is defect en moet vervangen worden. De bobine zorgt voor een spanning van wel 30.000 volt die de bougie nodig heeft om een vonk te creëren. Wanneer storing na het wisselen van de bobine nog steeds aanwezig is, kunnen ook de bougie en injector op dezelfde manier gewisseld en gecontroleerd worden. Na de reparatie dienen altijd de storingen gewist te worden.

Storingen die in het storingsgeheugen staan hoeven niet altijd op het moment van uitlezen actief te zijn. Het kunnen namelijk ook storingen zijn die in het verleden één of meerdere keren voorgekomen zijn. Soms kunnen deze storingen genegeerd worden omdat deze veroorzaakt zijn door bijvoorbeeld een te lage accuspanning, maar wanneer de klant een klacht heeft dat de auto soms stottert, soms slecht start of soms inhoudt, dan dient er wel aandacht aan besteed te worden. Een voorbeeld van een storing die op dit moment aanwezig is zie je hieronder:



De storing is aanwezig op de Throttle Valve Controller. Dat is een vertaling van het “gasklephuis”. De storingscode is P1545 en er staat intermittent. Dat is Engels voor “sporadisch voorgekomen”. Er staat ook Fault Frequency: 1. Dat betekent dat de storing slechts eenmalig is voorgekomen. Ook zijn de kilometer en de datum te zien wanneer de storing voor is gekomen. Wanneer er een verband wordt gelegd met de klacht van de klant, dient er verder onderzoek gedaan te worden naar de oorzaak van de storing. Wanneer de storing gewist zou worden, is de kans groot dat deze wegblijft, zeker als de storing eenmalig is voorgekomen. Maar de kans bestaat ook dat de storing binnen korte tijd weer terugkomt. De klant kan dus niet zomaar weggestuurd worden na het wissen van de storing. Het wissen lost de storing niet op.
In plaats van Intermitterent kan er ook static in het geheugen vermeld staan. In dat geval is de storing op dit moment aanwezig en kan deze ook niet gewist worden.
Als er wel geprobeerd wordt om de storing te wissen, zal deze vrijwel zeker meteen terugkeren.
 


Actuatoren aansturen:
Een andere mogelijkheid om storingen te lokaliseren met diagnoseapparatuur is het aansturen van actuatoren.
Actuatoren zijn alle componenten die aangestuurd kunnen worden; denk aan een raammotor; deze wordt aangestuurd door het bedienen van een schakelaar.
Of een EGR-klep in de motor; deze wordt door de ECU aangestuurd om uitlaatgassen te recirculeren. Met diagnoseapparatuur kunnen deze actuatoren handmatig aangestuurd worden.
Om de beweging van de EGR-klep te controleren, hoeft men niet per se de motor te starten en af te wachten totdat de ECU zelf de klep bedient. Door het bedienen van de diagnoseapparatuur kan de klep op het moment aangestuurd worden wanneer de technicus dat nodig vindt.



Een actuatordiagnose kan ook interessant zijn wanneer bijvoorbeeld de kofferklep niet meer opent met de kofferklepschakelaar. Door met de diagnoseapparatuur de kofferklepstelmotor aan te sturen, ontgrendelt de kofferklep. Wanneer dat niet gebeurt bij het bedienen van de kofferklepschakelaar, kan men in de live data de sensorwaarde van de schakelaar opzoeken.
Blijft bij de waarde in de live data 0 (dat betekent uitgeschakeld) in plaats van 1 (wat er in beeld zou moeten verschijnen tijdens het bedienen) dan kan geconcludeerd worden dat de schakelaar defect is. De kofferklep is immers met de diagnoseapparatuur wel te bedienen.

Er kan ook een actuatortest op het instrumentenpaneel worden uitgevoerd. Tijdens de test worden alle controlelampjes ingeschakeld, alle pixels het maxidot-display aangestuurd en alle meters naar het maximum bewogen. Eventuele gebreken, zoals een tankmeter die niet verder als halverwege beweegt, zullen daarbij gelijk opvallen.





Coderen, initialiseren, inleren:
Na het vervangen van componenten zoals regeleenheden, dienen deze vaak gecodeerd te worden voordat deze in gebruik genomen kunnen worden.
De codering bestaat uit een groot aantal hexadecimale getallen en letters. Dit is in de onderstaande afbeelding te zien:



In dit geval wordt het Central Electronics regelapparaat vervangen. Als er een nieuw regelapparaat besteld wordt, staat de software wel voorgeïnstalleerd, maar moet er nog kenbaar gemaakt worden welke opties de auto allemaal heeft. Er is natuurlijk verschil tussen een basisversie zonder airco etc. en een full-option auto met airco, stoelverwarming, elektrisch bedienbare ramen etc.

De codering is als volgt opgebouwd:
05048E0700041A00400A00000F00000000095D035C000

De betekenissen zouden als volgt kunnen zijn:
Eerste getal: 0= links gestuurde auto, 1= rechts gestuurde auto.
Tweede getal: 1= Australië, 2= Azië, 3= Zuid Amerika, 4= Europa, 5= Noord Amerika.
Derde getal: 0= Mijlen per uur, 1= Kilometer per uur.

De eerste drie getallen geven dus aan dat het een links gestuurde Amerikaans uitgevoerde auto is waarbij Mijlen per uur worden weergeven. Dit is kennelijk standaard voorgeprogrammeerd bij de productie. Elk regelapparaat krijgt de standaard codering mee. Na montage dient het regelapparaat gehercodeerd worden:
- Het tweede getal (de 5) dient handmatig in een 4 veranderd te worden (dus van Noord Amerika naar Europa).
- Het derde getal (de 0) kan handmatig in een 1 veranderd worden.

In de auto zal de NL taal ingesteld zijn en zullen kilometers worden weergeven in plaats van Miles. Elk getal of letter in de reeks heeft dus zijn eigen betekenis.

Het initialiseren gebeurt op een andere manier. Vaak is het voldoende om met een druk op de knop een elektronisch component in de auto te initialiseren.
Componenten die dienen te worden geïnitialiseerd zijn onder anderen:

- De regensensor na het vervangen van de voorruit.
- De stuurhoeksensor na montagewerkzaamheden aan de stuurkolom.
- De bandenspanning nadat de banden opgepompt of vervangen zijn.
- Voertuighoogte nadat componenten van de luchtvering vervangen zijn.
- Koplamphoogte na het vervangen van een koplamp (zie onderstaande afbeelding).

Afbeeldingsresultaat voor initialising vcds

Wat er met het initialiseren feitelijk gebeurt, is dat de opgeslagen waardes gewist worden. Als er bijvoorbeeld na reparatiewerkzaamheden aan de stuurkolom niets met de initialisatie van de stuurhoeksensor wordt gedaan, kan het zijn dat de stuurhoeksensor denkt dat het stuurwiel altijd iets verdraaid staat terwijl er rechtdoor wordt gereden. Dit is nadelig voor o.a. het ESP-systeem. Door het stuurwiel exact in de rechtuit stand te zetten en het diagnoseapparaat het commando te geven om de stuurhoeksensor te initialiseren, weet de computer in de auto waar het exacte punt is waarin het stuurwiel rechtuit staat.
Het inleren heeft bijvoorbeeld betrekking op de sleutels. Wanneer er een nieuwe sleutel gekocht wordt, kan hiermee niet zomaar de auto gestart worden. Eerst moet de sleutelcode kenbaar gemaakt worden in de auto. Ook dat gebeurt vaak met diagnoseapparatuur. De sleutelcode wordt in de regeleenheid van de auto opgeslagen. Pas als de sleutelcode door het regelapparaat herkend wordt, zal de startblokkering uitgeschakeld worden. Pas daarna kan de auto gestart worden.




Readiness-test:
De readiness-test is een zelfcontrole van het EOBD systeem. Tijdens het rijden controleert het EOBD constant de milieugerelateerde controles uit. De rijcyclus moet bestaan uit; een koude start, een stadsrit en een stuk snelweg. Ook moet er een aantal keer tot 0 km/h worden afgeremd en weer geaccelereerd worden. Na deze rijcyclus kan de readiness-test afgesloten worden als "in orde" en "niet in orde". De readiness-test wordt constant door het motormanagementsysteem uitgevoerd.

Bij de APK is het verplicht om de EOBD uit te lezen om de status van de readiness-test en de aanwezigheid van foutcodes te controleren. Dit is toegestaan met een simpele handtester zoals in de afbeelding rechts. Deze hoeft niet merkspecifiek te zijn en heeft alleen als taak om de emissiegerelateerde storingscodes en de readiness-test te weergeven.

Tijdens de readiness-test worden de volgende zaken gecontroleerd:
- EGR functie
- Lambdasensor (werking, veroudering, verwarming)
- Katalysator
- Brandstofsysteem
- Secundair luchtsysteem
- Uitlaatgassensor (diesel)
- Roetfilter (diesel)

Wanneer bijv. een verbranding van een cilinder niet in orde is, of de katalysator geen goede werking heeft (dit wordt gecontroleerd met de 2e lambdasensor, de sprongsensor)dan wordt de readiness-test als "niet in orde" opgeslagen. Er wordt ook een foutcode in het storingsgeheugen opgeslagen welke uitgelezen kan worden met de simpele handtester als andere uitgebreide uitleesapparatuur.
Wanneer de storingen gewist worden, wordt ook de readiness-test gewist. Het kan dus even duren voordat de storingen die gewist zijn weer terug komen (indien deze door de reparatie niet verholpen zijn). Zo kan het voorkomen dat de storing na het wissen een tijdje weg blijft en later terug komt. Zodra de readiness-test compleet is (na de rijcyclus) kan de storing weer weergeven worden. Na het wissen van de storingen zal in de handtester de readiness-test als "niet in orde" weergeven worden. Het zal tussen de 10 en 40 km duren voor dat de nieuwe readiness-test weer opgeslagen is.
Hiermee wordt ook voorkomen dat milieugerelateerde storingen snel gewist worden voordat de auto APK afgemeld wordt. De storingscode is wel verdwenen, maar de steekproefcontroleur kan dan zien dat de readiness-test niet in orde is.



Standaardisatie in communicatie tussen de diagnosetester en de auto:
Bij OBD II en EOBD is de communicatie tussen de diagnosetester en de auto gestandaardiseerd. Er worden een vaste aantal service modes aangehouden. Deze service modes hebben allen hun eigen functie. Omdat het best uitgebreid is, wordt eerst het tabel met de algemene informatie gegeven. Daaronder volgt de uitgebreide uitleg...

De tabel met de verschillende service modes:




Nu volgt de uitgebreide toelichting op een aantal van de service modes:


Service modes met de Parameter Identifier:

Service 01:
Hier is de parameter identifier (PID) genoemd. De parameter identifier geeft aan wat er door de ECU wordt ondersteund. De ECU geeft in de PID aan welke informatie deze allemaal naar de diagnosetester kan sturen. Hier volgt een voorbeeld:


(Afb. van een schema van beschikbare PID's. In werkelijkheid zijn dit er veel meer).

In het CAN protocol heeft elk PID-nummer zijn eigen betekenis. Het PID-nummer 04 zou de koelvloeistoftemperatuur kunnen zijn. (De exacte betekenis is op internet terug te vinden). Bij het PID-nummer 04 in het tabel staat Ondersteund: Ja. Dat wordt kenbaar gemaakt met een 1.
Een niet ondersteund PID-nummer (zoals 0B) kan bijvoorbeeld de uitlaatgastemperatuursensor zijn op een benzinemotor. Wanneer deze niet aanwezig is zal dit worden doorgestuurd met een 0.
Uiteindelijk volgt uit de binaire code de hexadecimale code. Op de pagina Binair, Decimaal en Hexadecimaal wordt uitgebreid uitgelegd hoe dit naar elkaar omgerekend wordt. De hexadecimale code B2C5 wordt door de ECU naar de diagnoseapparatuur gestuurd. De software van de diagnoseapparatuur herkend welke systemen wél en níet herkend worden. De systemen die niet herkend worden, zullen in Service 02 worden weggelaten.


Service 02:
In service mode 02 worden de door de storingscode vastgelegde PID's weergeven. Deze PID's zijn in service mode 01 bepaald.



Er kan worden vastgesteld dat de storing zich voordeed in deze situatie. De auto stond stil en er werd gas gegeven tot 2500 toeren per minuut.


Service 03:
Hier wordt de exacte storingscode opgevraagd. Als voorbeeld wordt storingscode P0301 weergeven. De code P0301 betekent: Cilinder 1 heeft geen verbranding (misfire detected). De storingscodes zijn te vinden op de pagina: OBD Foutcodes.
Nu storing P0301 bekend is, wordt er met behulp van Service 02 gekeken wanneer de storing is opgetreden. Er is nu bekend dat er een cilinderoverslag is voorgekomen bij de zojuist genoemde situatie.


Service 0A:
Service 0A bevat foutcodes die niet met diagnosesoftware te wissen zijn. De software in de ECU is zo geprogrammeerd dat deze zelf berekend of de storingscode gewist wordt of aanwezig blijft. Als voorbeeld nemen we een roetfilter.
Wanneer een roetfilter niet meer te regenereren valt, zal deze vol raken met roet, waardoor deze verstopt raakt. Voordat het roetfilter werkelijk verstopt is, zullen de tegendruksensoren meten dat de tegendruk te hoog is. Er zal een foutmelding ontstaan.Bij het uitlezen zal de storing P244A (Diesel partikel filter: Drukverschil te groot) weergeven worden. Het verschil tussen beide tegendruksensoren (vóór en na het filter) is te groot, wat betekent dat het roetfilter verzadigd is (dus vol met roet zit).

Deze storing is niet te wissen. Er blijven 2 opties over;
- Het roetfilter regenereren
- Als regenereren niet mogelijk is; het roetfilter vervangen.

Na de reparatie zal de storing in het geheugen blijven staan. Tijdens het rijden zal de readiness-test uitwijzen dat de tegendrukverschillen nu minimaal zijn. De software herkent nu zelf dat het roetfilter niet meer verstopt zit. De ECU zal nu zelf de storing wissen.
Niet alleen met het roetfilter, maar ook bij een katalysator die een slechte werking heeft zal het op deze manier werken.

De overige service modes (04 t/m 09) zijn in de tabel al aardig uitgebreid omschreven, dus daar wordt nu niet verder op ingegaan.