I need to trick my cars ECU....
yamaha1
Posts: 6
A little of the back story:
Several months ago my car started throwing out trouble codes for one of the heated oxygen sensors. Typically, it's just a matter of replacing said sensor and the problem disappears..... I checked my dealer and they requested $150 for the sensor when the local auto parts store only wanted $50. You can guess which one I went for!
Now that being said, it turns out that the aftermarket sensor does not heat up fast enough even though it is a heated sensor. The obvious solution would be to pony up for the OEM sensor, but I'm far to cheap for that.
I've found that the ECU controls the heating element in the sensor through duty cycle control of the sensor ground.
Measuring the voltage drop across the sensor from start up until trouble code is present shows initially about a 13v drop compared to source voltage. Within approximately 10s, the voltage drop is down to only about 6v. The ECU waits around 30s then looks for the sensor signal to switch.
This is where my problem lies.....since the sensor is not up to temp yet, it wont switch.
Now my thought process is if I can heat the sensor longer with a duty cycle closer to 100% I can get it to temp in time for the ECU to see it. Problem with this is how? If the ECU detects that the heater ground is shorted to battery ground before reaching the ECU, it also throws a code.
Maybe this is a naive idea but this is what I was thinking:
Obviously this diagram is for illustration purposes......but you get the idea.
R1 matches O2 sensor heating element resistance.
Upon start up, Q2 and Q3 turn on and Q5 turns off(or prevents electron flow) for a period of say 35~45s. Then Q2/3 turn off and Q5 turns back on(or at least allows the flow of electrons) so that the ECU once again has control of the heating element. I'm not interested in messing with the actual sensor signal, which is sent on a separate wire, I just need the sensor to heat up faster and not throw a code.
Do you think it will work? Or have any other suggestions?
(I know this is really a rather basic circuit question and not Prop specific, but it's what I have)
Thanks in advance!
Several months ago my car started throwing out trouble codes for one of the heated oxygen sensors. Typically, it's just a matter of replacing said sensor and the problem disappears..... I checked my dealer and they requested $150 for the sensor when the local auto parts store only wanted $50. You can guess which one I went for!
Now that being said, it turns out that the aftermarket sensor does not heat up fast enough even though it is a heated sensor. The obvious solution would be to pony up for the OEM sensor, but I'm far to cheap for that.
I've found that the ECU controls the heating element in the sensor through duty cycle control of the sensor ground.
Measuring the voltage drop across the sensor from start up until trouble code is present shows initially about a 13v drop compared to source voltage. Within approximately 10s, the voltage drop is down to only about 6v. The ECU waits around 30s then looks for the sensor signal to switch.
This is where my problem lies.....since the sensor is not up to temp yet, it wont switch.
Now my thought process is if I can heat the sensor longer with a duty cycle closer to 100% I can get it to temp in time for the ECU to see it. Problem with this is how? If the ECU detects that the heater ground is shorted to battery ground before reaching the ECU, it also throws a code.
Maybe this is a naive idea but this is what I was thinking:
Obviously this diagram is for illustration purposes......but you get the idea.
R1 matches O2 sensor heating element resistance.
Upon start up, Q2 and Q3 turn on and Q5 turns off(or prevents electron flow) for a period of say 35~45s. Then Q2/3 turn off and Q5 turns back on(or at least allows the flow of electrons) so that the ECU once again has control of the heating element. I'm not interested in messing with the actual sensor signal, which is sent on a separate wire, I just need the sensor to heat up faster and not throw a code.
Do you think it will work? Or have any other suggestions?
(I know this is really a rather basic circuit question and not Prop specific, but it's what I have)
Thanks in advance!
Comments
With the transistors, I can control each one individually and never have an open on that wire.
The O2 sensor is a 4 wire sensor, a Bosch 15730 to be exact with the following wires:
1: Heater element power 12v+
2: Heater element ground (to ecu, pwm signal)
3: O2 sensor signal
4: O2 sensor signal ground
The car is a 2005 Hyundai Tiburon SE with a 2.7l V6
Ahhhh, I'll give the relay a try and see what happens. Thanks!!
I have thought about the switching that you plan to do and no matter how fast or how slow if you switch at the wrong time you could cause problems with the ECU. I have attached another diagram for the heater that should allow you to either use PWM from the Prop or just on/off from the Prop so you can have a timed input or other logic or you could just replace the transistor with a toggle switch and turn it on and off when you want.
I've found a work around for the car right now....if I start it up and let run for 10~15s, shut it off, then restart everything works as it should. I'll give this a try once I get my head wrapped around the prop's counters!
Been racking my brain with these all day and can't seem to make sense of the relationship of time added to waitcnt and frqa in duty cycle!
Thanks for your help and suggestions! I'll definitely give this second one a shot!!
I think you will like this link it explains PWM on the prop using the counters. Hope this helps.
http://www.savagecircuits.com/forums/showthread.php?111-Propeller-Multi-Controller-Part-4
I know this is a really old thread but did you manage to solve your issue? I have the same problem with my VW Golf MK4 (1.6l 16V AZD engine). The start-stop-start method worked for you? Or did you built a circuit for this? Your answer would be much appreciated!
Plenty of simulator schematics floating around the internet. The 555 timer is cheaper too.
Yamaha1 has not checked in since 2011.