Het uitlezen van foutcodes is een essentiële stap bij het diagnosticeren van problemen met uw BMW. Moderne auto's zijn uitgerust met On-Board Diagnostics (OBD) systemen die continu de prestaties van verschillende componenten controleren. Wanneer een afwijking wordt gedetecteerd, wordt een foutcode opgeslagen in het motormanagementsysteem. In dit artikel bespreken we de verschillende OBD-systemen, de structuur van foutcodes en hoe u deze kunt gebruiken om problemen met uw BMW op te lossen.
Wat is OBD?
OBD staat voor On-Board Diagnostics. Het heeft zowel een regelende als een diagnostische taak, vooral in het motormanagementsysteem van de ECU. Via het OBD-systeem kan een storing opgespoord worden door deze uit te lezen met een diagnose-testkast.
OBD1
Dit is het eerste OBD-systeem, ontwikkeld 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. Wanneer er een defect of afwijking herkend werd, ging direct het MIL (Malfunction Indicator Lamp) branden, wat uitgelezen moest worden door een autotechnicus. Alle voertuigen die vanaf 1991 werden geproduceerd, moesten worden uitgevoerd met OBD1.
Knippercode
Bij de eerste generatie van OBD1 dient de monteur de knippercode uit te lezen om de storingscode te bepalen. Een knippercode bestaat uit twee of drie cijfers. In de volgende afbeelding knippert het checklampje: 4x knipperen - korte pauze - 5x knipperen - lange pauze.
De eerste versies van o.a. Opel en Volvo maakte gebruik van een knippercode. Andere merken ontwikkelden hun eigen stekker met hun eigen foutcodes.
Lees ook: Mercedes Sprinter probleem
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. 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 van de diagnosetester weergeven.
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.
Er werden diverse zaken vastgelegd (gestandaardiseerd); zoals het type en de plaatsing van de 16-polige OBD connector (Data Link Connector, afgekort als DLC), de storingscode structuur en de communicatieprotocollen. De storingscodes m.b.t. 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.
Auto storing uitlezen kun je zelf.. Niet?!
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.
Lees ook: Oorzaken en Oplossingen C1002
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. 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.
Structuur van een DTC
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 letter B staat voor Body; daar vallen o.a. de airbags, veiligheidsgordels, verwarming en verlichting onder.
- De letter C staat voor Chassis; daar vallen o.a. de ABS- en ESP-systemen onder.
- De letter 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. In het scherm van de tester in de afbeelding verschijnt de storingscode: P0302. Deze code geeft aan dat er bij cilinder 2 een onvolledige verbranding geregistreerd is.
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). 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.
Lees ook: Uitleg waarschuwingslampjes Opel Karl
Wanneer er een storingscode aangeklikt wordt, zal er een testprogramma geopend worden welke stap voor stap doorgelopen kan worden. 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.
Het Lokaliseren van Storingen
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.
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 in de afbeelding. 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.
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.
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. 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.
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.
Coderen, Initialiseren, Inleren
Na het vervangen van componenten zoals regeleenheden, dienen deze vaak gecodeerd te worden voordat deze in gebruik genomen kunnen worden.
Coderen
De codering bestaat uit een groot aantal hexadecimale getallen en letters. 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.
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.
Initialiseren
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:
- Het gasklephuis, na het reinigen of vervangen.
- De regensensor na het vervangen van de voorruit.
Inleren
Het inleren heeft bijvoorbeeld betrekking op de sleutels. Wanneer er een nieuwe sleutel wordt aangeschaft, kan hiermee niet zomaar de auto worden gestart. Eerst moet de sleutelcode bekend worden gemaakt in de auto. Ook dat gebeurt vaak met diagnoseapparatuur. De sleutelcode wordt opgeslagen in de regeleenheid van de auto.
Voorbeelden van BMW Foutcodes
Hieronder een lijst met enkele voorbeelden van BMW foutcodes en hun betekenis:
| Foutcode | Omschrijving |
|---|---|
| P0000 | Gereserveerd door de SAE, gebruik niet toegestaan |
| P0001 | Regeling Brandstofhoeveelheid, circuit onderbroken |
| P000A | Nokkenas A (bank 1 inlaat), trage respons nokkenasverstelling |
| P0010 | Nokkenaspositie-bediening A cilinderrij 1, storing in circuit |
| P0030 | Verwarming lambda-sensor 1 cilinderrij 1, onderbreking / storing in circuit |
| P0033 | Laaddruk regelklep turbo (N249), storing in circuit |
| P0070 | Sensor buitentemperatuur (G17), fout in circuit |
| P0101 | Luchtmassameter, onwaarschijnlijk signaal |
| P1010 | Einspritzventil Zyl. |
| P1117 | Engine Coolant Temp. |
| P1306 | Zündansteuerung Zyl. |
| P1347 | Bank 2, Crankshaft-/Camshaft os.Sens.Sign. |
| P1442 | EVAP Vacuum Sw. High Voltage During Ign. |
| P1505 | Closed Throttle Pos. |
| P1643 | Controleer AUB FoutCodeGeheugen van Centrale Electron. |
| P1701 | Trans. |
| P1733 | Tiptronic Switch Down Circ. |
| P1786 | Reversing Light Circ. |
| P1796 | Vehicle Speed Signal Circ. |
| P1798 | Output Speed Sensor 2 Circ. |
| P1816 | TFP Valve Position Sw. Park/Neu. |
| P1856 | Throttle/Pedal Pos.Sensor A Circ. |
| P1858 | Engine Speed Input Circ. |
| B1015 | Passenger Deploy. |
| B1035 | Discr. |
| B1115 | Passenger Deploy. |
| B1124 | Driver/Passenger Deploy. |
| B1135 | Discr. |
| B1142 | Driver Pretens. Deploy. Loop Res. |
| C1222 | TCM / Keine Übereinstimmung zw. |
Het is belangrijk om te onthouden dat een foutcode slechts een indicatie is. Grondig onderzoek is altijd noodzakelijk om de werkelijke oorzaak van het probleem te achterhalen en een passende oplossing te vinden.
