Alfa Romeo Forum banner

tips on checking airbag system

1 reading
13K views 48 replies 5 participants last post by  earthman  
#1 ·
i have just had the warning light come on, after 6 months of ownership.

i know that this seems to be a common thing with other owners, a few posts have been about the seat belt pretensioner wires playing up.
if i checked, with a multimeter for continuity within the pretensioner would i risk setting it off ?

my manual says about using a dummy resistance when checking out the system, what size resistor would you use ?

if the fault code is stored in the airbag ecu, has anyone tried disconnecting it for more then ten minutes, will it lose the code (as long has the problem has been fixed) ?

my car has the trw ecu , not the becker unit which you can check for faults by reading the number of flashes of the airbag warning light.
 
G
#2 ·
i read an article on airbags recently which said that to check a system using a multimeter is extremely dangerous as even the small voltages / currents from the meter can trigger the system.

No, there is no way of clearing the fault other than taking it to have the light reset (unless ajcarter has had any success yet!!)

airbags can kill and for this reason alone i really don't recommend you try testing the system......
 
#3 ·
hi daveh,
looks like i'm on my own on this one, has you say i am worried about how much current is needed to set the whole thing off.

i do know that some ecu systems need power to keep the fault codes, so if the battery is disconnected for a period of time, long enough for the capacitors in the ecu to lose power, the codes would be lost on reconnection. not sure how other ecu's can keep the codes without any power in the system, anyone know the answer to this ?

i have just had a look at the airbag ecu which is under the rear seat, it even has a warning label about disconnecting it, not done it yet just in case i get a nasty surprise !
 
#4 ·
Regarding the TRW unit on a facelift (4 airbag system)...
Cant remember what value resistor you use to bypass the airbag (slave) unit.
Ask your dealer - if you have a baby seat in the front, the passenger airbag is disconnected and a resistor put in place, in theory it would be the same resistance as an airbag unit.

I *think* the later TRW unit is controlled via the CAN bus, I havent had much time to work on it, still working on the KWP2000 ECU comms - in which case voltages alone won't set it off, it requires the correct 'activate' signal to be sent from the ECU to that particular unit...but all the same I wouldnt go getting too jiggy with a DVM around it..

For my ever lasting airbag problem - it was always the 2 side airbags going open circuit. There is a connector underneath each seat, consisting of 2 contacts. These are the crappest connectors I have ever seen, and god knows how they allowed them to be used on the airbag system. I stripped a piece of insulation off each wire both sides of the connectors, then hard wired (soldered) a bridging wire around the connector to the corresponding wire. Obviously insulate well, then I put a tie wrap around the connectors so they can never come apart... even if they do the extra wire should maintain the connection.

Disconnect the airbag ECU 10 mins before starting work (under the stereo - pull out the cubby hole holder then disconnect the main plug)
Disconnect the airbag fuse
Wait 10 mins
Do your stuff
DO NOT TOUCH IGNITION whilst doing this
Reconnect - then get it reset - most fuel injection specialists can reset it, to avoid paying 1 hrs labour at a dealer for a 5 min job!

The fualt codes are written to an EEPROM or a PROC , so disconnecting the power wont do FA. The system needs to be sorted, then the error codes cleared, then let it check again.. see if they return.
 
#5 ·
DO NOT measure resistance on any pretensioners or airbags, they might deploy :eek: Fitting a dummy resistor is the way to go. It's summat around 2 to 5 ohms, and shorting it is not the way to go, the system can tell, you really have to have a lil' bit of resistance. A 1.2 W 1,2 Watt bulb will do :) . As AJ says, you need a diagnostic tool to reset the codes. That old trick only worked on '90'ties fuel injection systems.

Cheers

Hoygaard

PS. Low battery voltage can trigger the SRS malfunction light as well
 
#8 ·
earthman said:
thanks for your replies guys,

ajcarter- can you tell me more about eeprom/proc, what is it and how can it store codes without any power ?
Taken from :
http://www.webopedia.com/TERM/E/EEPROM.html


Pronounced double-ee-prom or e-e-prom, short for electrically erasable programmable read-only memory. EEPROM is a special type of PROM that can be erased by exposing it to an electrical charge. Like other types of PROM, EEPROM retains its contents even when the power is turned off. Also like other types of ROM, EEPROM is not as fast as RAM.
EEPROM is similar to flash memory (sometimes called flash EEPROM). The principal difference is that EEPROM requires data to be written or erased one byte at a time whereas flash memory allows data to be written or erased in blocks. This makes flash memory faster.


A processor sometimes has the eeprom built into it as opposed to having an external eeprom. I would guess the EEPROM also contains the software.

EEPROMS:
Image


Bear in mind I havent had a TRW ECU apart, so assuming similar principal to the Bosch ECU...
There will be a certain address allocated for fault codes. Depending on what fault occurs a different code is written. If any faults are present the ECU will light the airbag light.

You may be able to crack open the ECU and read the contents of the EEPROM, but then you need to know what address to modify and to what value to clear the codes. No I dont know and wish I did... but without disassembling the airbag software I wouldnt know where to start.
The unit should be a TRW MY97, and I cant find 5hit about it anywhere, so dont have a clue where to start with it unless someone wants to donate me an old unit?! :D
 
#9 ·
thanks for the explanation ajcarter.

well i did unplug the connector from the trw unit (without disconnecting the car battery, was worried about losing key codes etc), has i see it surely the unit must need a fair wack before it sends signals for airbag deployment.

lucky my thinking worked, no big bang & still in one piece !

i left it over night, had a quick look at the pretensioner wire connections, all look ok, i have not had time yet to check for continuity between connector blocks but i doubt that theres a break.

still really worried about using a meter on those pretensioners, don't like the way that they are so tight up against the carpet no wonder the seats are hard to slide back, were they an after thought by alfa ?

of course even with the airbag ecu disconnected the bloody warning light is still on, suppose it's still got to warn you of total failure.

i did reconnect it for a few minutes, but of course the warning light is still on !

i really would like to know how the dealers machine does reset it, the connector only has 3 wires in it, does it just earth one or send a voltage to one or a complete a circuit ?

maybe i'm wrong, but how much can you do with 3 wires..............oh i know, charge a fortune for an hours labour charge !
 
#10 ·
I think of the 3 wires.... on is +12v (for powering the tester), one is a K line (comms line) and one is signal ground.

It works by sending high/low pulses from the tester to the ECU. You have to get the right pulses high/low and length.... it communicates via a protocol. A typical data request packet would be constructed something like:

Destination address (ECU) + Tester address (slave) + Total Packet Length + data byte 1 + data byte 2 + data byte 3, etc + Check Sum

As Im still not sure what protocol is used, I am basing it on the KWP2000 protocol I use to program the main ECU. If it is CAN protocol it will be similar but different! Bear in mind there are different timing delays between each byte sent, each packet sent, packet receieved, etc

You cannot just wire it straight to a serial port of a PC, you need an interface to pull up & down the voltages to +- 12v as the standard output is much lower and you dont get enough swing.

The airbag ECU needs to transmit a 'good' signal to the main ECU to keep the light off - no good signal and the light will come on.
Airbag detonation is triggered via a an accelerometer - I cant remember if this is built into the ECU or is mounted just behind the front bulkhead. Either way it will need a sharp bang to set it off.

I just cant find enough info on it... but i would need to see the protocol function sheets on it... the theory would be:

read the error part of memory
lookup the results returned, they will relate to type of failure
either write 00's to the address or run the reset routine function.

There's FA on it on the net and noone seems to know jack about it.... but there are plenty of (expensive) hand testers which can read the ECU's....so some people must know!
 
#11 ·
thanks again ajcarter,
sure enough the 3 wires are line l, line k and earth, i was hoping that either earthing them or connecting them to 12v would solve the problem but of course that would just be too simple !

i am not really up on this pc/laptop stuff (it's another language on it's own), so sending varying degrees of voltage like that is out of my reach.

airbag detonation is triggered via 2 sensors (1 piezoelectrical & 1 mechanical) both are built into the ecu which is under the back seat.
 
#13 ·
if i had the becker unit i could, well thats what the workshop manual states, to reset the warning light earth pin 3 for 5-10 seconds.

it's a shame that it won't work on the trw unit, both layouts of the units look the same in the manual apart from some of the pins are numbered differently, which sods law is what counts !
 
#14 ·
Yep - but then the mfr's cant charge you an hrs labour to reset the thing! And technological improvements, etc mean that there *WAS* a legit reason to change from the Becker unit to the TRW one. I think the TRW uses a faster prootocol so the time period from crash detection to airbag deployment is less......
 
#16 ·
I can communicate with the main ECU to read error codes, etc.

The airbag connector is 3 pin - 2 of which are used - K line & signal ground.

Today I tried scanning addresses, and found a response on address 0x8F it returned a response of 0x70
That was using a 5 baud innit (fast innit found nada).
The problem is I was expecting a longer response, but didnt have time to try replying to it - but I am now wondering if it is a bespoke protocol :confused:
 
#17 ·
ajcarter- for those of us who are not really up on pc stuff can you give us a guide on what bits we need to buy to start with ?
i know that there is a lot more to it than that, programming etc but i would like to get started.

unfortunately computers came into my life only a few years ago so i have a lot to learn.
 
#18 ·
You need to build a special interface which converts the signal levels from the standard output of the ECU to conform to RS232 standards:

This is the one I used:
www.alfa145.co.uk/obd/eri532002.jpg

It is a modification of the common Jeff's interface (http://www.planetfall.com/~jeff/obdii/)

There is a clearer drawing here but I have not verified it matches the above drawing, was drawn by Jam:
www.alfa145.co.uk/obd/AJ-OBD-Interface.jpg

The change made is to pull the high level up slightly higher as I found it was not always being read properly.

You also need the 3 pin connector + pins (from RS/Farnell - under automotive connectors section). The 3 pin connector takes the place of the 16 pin OBD connector which the 145 seems to lack. The 156/147 has this connector - you can always do like me and connect both. The ignition one is on the offside suspension mount, and the airbag one is behind a blanking plate immediately to the right of the passenger dash air bag.

I have tested the interface successfully on my 2000 145 (M1.5.5 ECU) and a 2003 Passat 150TDI & a 2003 skoda Fabia TDI.

The VAG group are well catered for with the VAGCOM software, the Alfa's ... are not. the Alfa Ecu is found at address 0x10h (16 dec)

I joined the Yahoo group OpenDiag where I learned everything.

There is some sofware on the OpenDiag group - a KWP2000 Test - which I used to successfully read & clear the DTC code when the injector light came on (busted camshaft angle sensor)

I am (still) working on my own software in vb.
I have not yet had a chance to test it on a 145 with the earlier ignition - M2.10.x but I believe it would also be the same protocol - KWP2000.

The airbag is still a mystery, I got a 1 byte response, but I am still at the stage of identifying what protocol is used, long way to go on that at the mo...

Also docs on the protocol used are here:

http://www.alfa145.co.uk/obd/14230-1s.pdf
http://www.alfa145.co.uk/obd/14230-2s.pdf
http://www.alfa145.co.uk/obd/14230-3s.pdf

And Fiat's implementation of the protocol:

http://www.alfa145.co.uk/obd/07234 - General Diagnosis.pdf
http://www.alfa145.co.uk/obd/07223 - KW2000.pdf
http://www.alfa145.co.uk/obd/07273 - Fiat 9141.pdf
http://www.alfa145.co.uk/obd/07274 - CAN.pdf

Some bed time reading :) Well some poor b$tard had to do it to get this far.... :rolleyes:
 
#20 ·
earthman said:
many thanks,
i don't suppose that you can buy an interface already made ?

i know that i could build one from scratch with the help of those diagrams, would maplins or rs be the best place to get all the components from ?
any idea on total cost ?
They are all failry cheap/common components... shouldnt cost more than about ÂŁ10-ÂŁ15
I built it on a bit of strip board and put it in a plastic casing.
Dont forget you need a DB9 (or 25 pin) connector for the pc.

I think I saw somewhere in the UK that sold it, but I can't remember where it was, it was also more expensive - as the 16 pin OBD plug is quite expensive to buy seperately (for a plug)
 
#22 ·
you shouldnt be able to screw it up with software... i've been firing loads of cr4p at it to see what it responds to, so it's survived my stress testing!
Get the hardware right, make sure you dont mix up the sig + and sig gnd, and try and use a laptop - if the laptop goes wrong it wont chuck out 240v down the com port!!
The interface needs external power, best to wire up a croc clip so you can clip it on the battery. And if you want it long (which you do) make the length between the interface & the com port - not between the interface & the ECU. I run a 20ft cable with no communication issues
 
#23 ·
oh, i don't have a laptop at the moment, i was thinking of using my pc, but has you say 240v could be a problem.

on the subject of writing software, how much do i need to know, could i get by on reading a book about it or do i need to start a course at college ?
is it best to learn vc++ or will vb6 be good enough ?
 
#24 ·
In theory it would be fine with a desktop, assuming nothing goes wrong :eek: It still outputs the correct voltages from the com port, Iwas just thinking damage limitation

Yes I've used a desktop before I had a laptop, it worked, I just wouldnt want a power spike/power supply to blow up - therefore destroying computer & Car.....GUTTED!!

This last couple of nights I have been rewriting the program I have written in VB6. Just redoing the timing control as it was a bit flakey before. I'm not a programmer for profession - I have just done a bit of it on the side, mostly 3d graphics + sound in assembly! You need to know how to program the language to a good standard whatever you choose - it wont come overnight, or quickly - as you need to use advanced functions to control the com port - as non standard baud rates are used, and windows in their infinite wisdom wont allow you direct control over the com port for security reasons. I was v tempted to write it in assembly... then there would be issues running it under windows environment... and most people dont use DOS (dont see why! :p ). It's not hard, once you know how, there's plenty of literature on the net - depends how patient you are as to whether you want to write your own prog, use mine, or the kwp2000 tester for clearing the DTC's. I'm trying (and failing) to get some realtime data out of it...

but this is on the m1.5.5 ecu (facelift) I still need to try it on a pre-face lift (dont know what car yours is?). Hopefully I will get a chance at Ace Cafe next Thurs to try on some unsuspecting victim! :D
 
#25 ·
AJ, use an opto-coupler on the line. It's an IR LED and detector which electrically detaches transmission lines in cases such as this.

They will run at quite high frequencies (above 100k at least). Can't get the datasheets/partnumbers as IE is freaked out at the moment...

Use a transistor driver on both sides. Or if the interface is TTL (which I suspect it isn't) you can probably connect directly.