Shop OBEX P1 Docs P2 Docs Learn Events
I need to trick my cars ECU.... — Parallax Forums

I need to trick my cars ECU....

yamaha1yamaha1 Posts: 6
edited 2011-06-03 15:36 in Propeller 1
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:
idea.jpg


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!
722 x 469 - 51K

Comments

  • bennettdanbennettdan Posts: 614
    edited 2011-06-01 15:14
    If sense you only want to provide 100% duty cycle to the sensor you really dont need PWM at all. I would just use a DPDT relay and a single output pin from the propeller to make the switch. Also instead of the propeller I would probably use a 555 timer instead of the prop because the prop seems to be overkill for what you need. Also one thing to think about is temp feedback from the O2 sensor or else if you have it divert full battery power to the heater each time you turn the car on then if the sensor was already hot then it might make the sensor to hot and cause incorrect readings from the o2 sensor. What type of 02 sensor is it (how many wires) if you dont know that what type of car is it on so we can look it up. I modified your schematic a little take a look at it.
    idea1.jpg
    722 x 469 - 32K
  • yamaha1yamaha1 Posts: 6
    edited 2011-06-01 17:44
    Essentially the same thing with fewer, less expensive parts. I agree. The only thing I'm a little worried about is the relay switching time.....it might be enough to freak the ECU out.
    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!!
  • bennettdanbennettdan Posts: 614
    edited 2011-06-02 14:28
    yamaha1
    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.
    idea2.jpg
    722 x 469 - 28K
  • yamaha1yamaha1 Posts: 6
    edited 2011-06-02 21:09
    Something like this may just work as long as it is PWM'd and stays below the ECU's fault threshold. I don't think I'd be able to run a switch to just turn on the transistor as the ECU's method of checking for shorts and opens is monitoring the voltage drop across the O2 sensor!

    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!!
  • bennettdanbennettdan Posts: 614
    edited 2011-06-03 15:36
    yamaha1,
    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
  • @Yamaha1:
    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!
  • I would return the sensor and get a new one (like a denso or bosch). If you want to make a 02 simulator you can use a 555 timer.
    Plenty of simulator schematics floating around the internet. The 555 timer is cheaper too.
  • crok wrote: »
    @Yamaha1:
    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!

    Yamaha1 has not checked in since 2011.

Sign In or Register to comment.