When the check engine light comes on there is a problem. A diagnostic trouble code [DTC] is set in memory. The cause could be as simple as a loose fuel cap. Why does a loose fuel cap cause a check engine light?
The simple fuel cap is a critical part of a very complex system; The evaporative emissions system. Evap systems prevent gasoline fumes from entering the vehicle or the atmosphere.
As fuel is pumped from the tank, air must take its place. If not, a vacuum would be created and soon defeat the fuel pump. This would cause the vehicle to stop running. At the same time, fumes produced in the tank have to be contained. The Evap system performs both jobs.
The main components of the Evap system include the:
fuel tank
fuel cap
vapor canister
vent solenoid
purge solenoid
fuel level sensor
tank pressure sensor
and the test port
Basically it works like this. Fumes leave the tank through a roll-over valve. The valve attaches to the vapor canister by means of vacuum hoses. The canister is filled with activated charcoal. Here fumes are temporarily stored, until conditions are correct. When conditions are right, the power control module [PCM] opens the purge solenoid. This allows engine vacuum to draw the fumes into the engine, where they are burned. An open vent solenoid serves as a make-up air source.
To be sure the system is operating, engineers designed in several checks. For instance, when the fuel cap is left off, or loose, a leak is created. To test for this, the computer can command the vent solenoid to close. It then opens the purge solenoid and the tank pressure sensor monitors the tank pressure. If it does not drop to a vacuum, in a given time, it is assumed a leak is present and the check engine light is turned on.
It can also judge the size of the leak. If a vacuum cannot be established, it assumes a gross leak and sets codes like P0440 and P0455. If vacuum can be established, but not maintained for a given period it assumes a smaller leak and may set code P0442. Like all diagnostic trouble codes, this is a starting point and NOT an actual diagnosis of the problem.
For instance, a failed pressure sensor, broken vacuum line, bad vent or purge solenoid, bad engine computer or several other things can set the same codes. Trained technicians start with the code and test components to isolate the actual cause of the problem.
The Evap system does not execute every test on every drive-cycle. For instance the fuel level sensor must read between 15% and 85% full. If the tank is below 1/4 or above 3/4 the test is not run. This can cause the light to temporarily go out. As soon as conditions are correct, the test will again run and the light will come back on.
Even though the light is off, the DTC will still be in history. This is why a vehicle may fail State inspection, even though the check engine light is not currently on. Clearing the code by disconnecting the battery will clear the test registers. Readiness test incomplete will cause the vehicle to fail inspection. This also destroys information needed to quickly repair the vehicle. This is why you should NEVER disconnect the battery in an attempt to clear a check engine light.
Actual Evap systems are far more complex and can set dozens of codes and run dozens of test. Evap codes are one of the more common causes of check engine lights. Certainly you should always check the fuel cap first, but Evap diagnosis by a professional can save hundreds of dollars in unnecessary parts swapping.