Hyundai Repair: 2001 sonota, fuel management system, oxygen sensors


Question
Hello, My car is a sonata 2001, with about 131,000 khm. 4cyl canada  car.rpms sometimes bounce up and down when driving. car also chokes sometimes even on the highway not just when start to move. also have replaced the coil and the wires about a week before all this started. the engine codes are p-0135,p-0141,p-0446. that would be the o2 sensors for the first two and then the sensor for the gas over flow thingy.These have all been replaced with new ones. here is the mystery with new sensors you clear computer start car everything ok no more engine lite. but if I turn off the car and restart it the engine lite comes on. this is wierd. any ideas my mechanic is about to give up.  

Answer
The answer below presumes your engine operating system is similar to that of the 2.4L Sonata sold in the U.S.  

Check your 15A oxygen sensor fuse in the underhood fuse box.  I'm almost willing to wager that the fuse is blown.  It provides power to both oxygen sensor heaters and the canister close valve.  And your codes represent issues with all three of those things.  

Whether replacing the fuse is a permanent solution is hard to say.  It's possible that the problem was with one of the replaced components, but it's also possible that the problem is somewhere in the wiring.  In any event, if you put a new fuse in and it blows, that indicates the short circuit is present, meaning a systematic approach to test for and locate it should prove successful.

It's also unclear whether resolving the issue with the P0135, P0141, and P0446 will solve your perfomance issues.  The oxygen sensors are a relatively unimportant input to the engine control module (ECM) as it relates to the performance of the engine, so I have my suspicions that there my be more going on here.

If your mechanic does not understand why your check engine lamp comes on after two starts of the car after clearing, your mechanic doesn't have sufficient knowledge of your fuel management system to effectively troubleshoot the problem.  For most problems, in order for the check engine lamp to set, the same problem must occur two times in a row.  So, if it exists on the first start, a pending code is set.  If it again exists on the second start, the trouble code is stored along with freeze frame data at the time of occurrence, and the check engine lamp is turned on.  

The fact that the lamp turns on immediately when you start the vehicle the second time tells me that you have a problem that's electrical in nature.  The car must run for a significant period of time for the ECM to test the performance of the oxygen sensors, so it's clear that these aren't the tests that have failed.  On the other hand, the ECM tests all it's circuits for proper resistance and feedback immediately upon starting the car.  Hence, I reach the conclusion that there's an electrical problem somewhere in the circuit, likely the blown fuse which I mentioned above.