The simplest version of the EVAP system ( as it is now known) is to capture fuel vapors coming off a warm tank full of fuel (which is trying hard to become a gas and escape) in a matrix of charcoal (absorption) and when you restarted the engine, purge the canister (adsorption) by pumping fresh air in one end and air + vapors out the other to the air filter, where they get sucked into the engine and burned. No fuel wasted, the cloud of gasoline vapor captured and safe from some bum flipping his burning butt under your Bus (FOOM!) and fewer Hydrocarbons for everyone to breathe. Everyone wins. Prior to 1970, all vehicles just dumped excess vapors to the atmosphere, which is why SoCal had smog that could just about kill on contact. A lot of good has come this simple change.
The Super Beetle User Manual's description of the M26 EEC system. It is hard to get it much simpler than this. |
Modern vehicles have improved methods of performing exactly the same job. The methods differ because now we have vehicle ECUs that are smarter than most drivers. The ECU consumes huge amounts of data to improve performance, reliability and reduce emissions, and here's where I run into a collision of cultures: A vehicle from the early days of emissions control, and a post 1996 On Board Diagnostics (OBD2) ECU standardized system, in this case by Subaru. OBD2 based systems are bristling with sensors and actuators that aren't on the vintage VW and can't be economically added. So again, we must make substitutions and do primary engineering to interface the two incompatible systems from different eras.
The VW has only a fuel level sensor wired directly to the gauge. In OBD2 vehicles, there is a level sensor, a fuel temperature sensor, a pressure sensor, and actuators as well. All data passes through the ECU, which is either great engineering or tin-foil hat scary depending on your temperament.
I started examining the OBD2 system and immediately got confused. The VW system is based on positive air pressure from the fan housing, pushing the vapors out of the canister and into the air filter where the air from the canister would be metered by the mechanical Air Flow Meter (AFM.) By contrast, the Subaru system is tapped to the intake manifold (downstream of both the throttle AND the MAF) drawing a vacuum through the carbon canister. So how do you keep from sucking unmetered air into the Subaru engine and running lean as a result? Would the earlier system be better, because the reclaimed fuel vapor was at least metered by the AFM?
After studying for several hours, my understanding of the OBD2 is improved enough that I have a plan for how to tackle it. To describe the adaptation though, I have to explain what an OBD2 compliant EVAP system is actually intended to do. Hint: It isn't just a blind system anymore. Self-tests have finally become the norm, admitting that any system will fail if it has no way to sanity-test its own safety systems. By contrast. the VW L-Jet ECU in the late Bay Bus is just barely smart enough to inject fuel.
Here's how EEC (Evaporative Emissions Control) worked in the early days:
- The early 1971-1974 EEC forcibly pumped air into the carbon canister any time the engine was running. Any trapped vapors from the fuel tank were expelled to the air cleaner.
- Pro: Dumb as dirt and worked as well as legislation required at the time.
- Con: An uncontrolled dump of an unknown amount of hydrocarbon rich air mix on each start. No way to moderate or react to the purge of the canister; just stumble and gag until you had enough fresh air to smooth out. Not a good long term solution.
- +75-(L-Jet EFI) Same as above, but with vacuum based EEC valve. Still a forced air system, but the air cleaner had a vacuum valve on it which required full ignition advance before it would click open the EEC purge valve and dump the HCs when the engine was already guzzling fuel and wouldn't notice the slight change in enrichment.
- The common failing of both the early and late systems was that the pressurized air from the fan housing did not pass through a check valve. With the engine off, once the charcoal canister passed the saturation point, fuel vapor could find its way out-the-in-door of the fan housing fitting that provided the pressurized air.
- Because there was no method to measure the efficiency of the vapor reclamation, VW's sole directive was to replace the carbon canister every 40,000 miles. As you can imagine, this maintenance was rarely performed, if ever.
15 years later and along comes OBD2. With the same intent as EEC, but with an ECU and processing capacity newer by 15 years and required to meet even more onerous emissions regulations. EEC is now referred to as EVAP and the EEC vacuum valve has been replaced with a Canister Purge Solenoid (CPS), a valve toggled by electrical signal rather than vacuum. Two big changes happened with the advent of OBD2: more parts, and more smarts.
There are now two controlled connections to the carbon canister: The CPS (Purge) and the CVS (Intake Vent.) The tank vapor recovery system still dumps there. So far, this just sounds like they put an extra valve on the carbon canister and switched from vacuum signaling to electrical signaling. If OBD2 were doing exactly the same job as EEC, that might be true. It isn't.
I mentioned that OBD2 included a fuel tank pressure sensor. I had assumed that if you had a pressure sensor, you would use a detected pressure to cue the CPS and CVS when there was excess pressure in the tank and to open the CPS to relieve the pressure. Wrong. SO wrong.
The fuel tank pressure sensor is not used at all in the regular maintenance of trapping and routing tank vapors for burning. In fact, the fuel tank pressure sensor is misleadingly named. Yes, it measures 'pressure,' but no-one said pressure has to be positive. The sensor is designed to measure vacuum. So let's ignore the fuel tank pressure sensor for a minute since it doesn't have anything to do with the EEC/EVAP management process that we are trying to graft together from incompatible 1970s and 1990s technologies. We'll come back to it.
The CPS (Purge) behavior is completely automatic and operates on a periodic cycle with the CVS (Vent), via a regular pulse sent to them by the ECU based on engine rpm. These two solenoids cycle open and closed together, momentarily admitting a very small amount of unmetered air mixed with fuel vapor straight into the manifold to be burned. (Question: Why not dump it into the air filter housing like the old EEC style system does? Answer: Because a MAF or MAP airflow meter doesn't respond well to being fogged with fuel vapor, especially hotwire MAFs! FOOM!)
So why the addition of the CVS (Vent) valve? When the car is off, you don't want the vapors escaping to the atmosphere from the canister by going out the fresh-air-in door. The VW EEC was exactly that kind of system, with the fresh air port wide open on the carbon canister without so much as a check valve. In an OBD2 compliant vehicle, when the power is off, the engine facing CPS and atmospheric facing CVS close, which means any vapor captured is really, truly trapped in the carbon canister. The system is sealed up tight, fore and aft.
So doesn't OBD2 just put a one-way valve on the fresh air inlet and when the draw stops, it closes? This is a simple solution, but the self-test systems that OBD2 brought to the party require more programmatic control that a check valve can offer. Similar to how the addition of an O2 sensor in the exhaust stream made ECUs enormously smarter because they could test how their changes actually altered the output at the tailpipe, a self test program of the EVAP system checks the status of the components by performing a clever and simple test.
My assumption that the addition of the tank pressure/vacuum sensor was to tell the system when to purge was a bad leap of logic. Instead, the tank pressure sensor is there to run sanity checks at regular intervals on the integrity of the whole fuel handling system. The regular pulse open/close of the CPS and CVS is the regular running program. But after a certain amount of engine run time, the ECU runs a diagnostic on the EVAP system.
Here's the EVAP self-test program in a nutshell:
- The ECU commands the CVS to close. No more fresh air. The fuel system should be sealed.
- The ECU commands the CPS to open. Now the engine intake is pulling about a 1/4 PSI of vacuum, and with the CPS open, it pulls that vacuum all the way through the whole fuel system: the hoses, the CPS, the charcoal canister, and even the fuel tank. The whole fuel storage and venting system is under vacuum.
- After a set period of time pulling this vacuum, the ECU orders the CPS to close.
- When the CPS is closed, the ECU takes a reading of the vacuum in the system.
- It waits for a period of time, and then takes a second reading.
- If the readings match, there are no leaks: The fuel system has passed the EVAP self test. The clock is reset for the next test, and the CPS and CVS go back to their regular opening and closing program, mixing captured fuel vapor with air from outside and then purging it into the engine for burning.
- If the vacuum readings *don't* match, there's a problem. The ECU sets a pending fault code, but doesn't switch on the Check Engine Light (CEL or MIL, depending on how long you've been working on cars). It could be a fluke: A gas cap that didn't get tightened correctly, etc. But there is most certainly a leak.
- If the ECU executes the fuel system sanity check a second time, and it fails again, then it lights up the CEL and throws a code.
- If the sensor detected the same value both times, and it equals the same as the barometric pressure outside the vehicle, the test reports as failed: Not enough information to even guess.
- If the sensor detects wide changes in values between the first and second reading, it throws the code for a LARGE EVAP leak.
- If the sensor detects slight change in values between the first and second reading, it throws the code for a SMALL EVAP leak.
Unfortunately if the tank pressure sensor is missing, all of these tests fail and the OBD2 system will be dropping CEL codes like depth charges: your CEL will be on permanently, so you'd be likely to miss a code that you really care about. I have no tank pressure sensor to measure and no CVS (vent) to control to seal the system for the self test. To make the OBD2 ECU viable run to my engine, I'm going to have to lie to it, confining it to the sensors that I actually have, instead of the ones it wishes I had.
When adapting a Subaru into a vintage VW, folks like me use the Small Car Interface Board to provide faux-data that the ECU is expecting but is not available in the chassis being converted. The Interface Board pretends to be the fuel tank pressure sensor (and fuel level and temperature sensor) and responds with the same perfect vacuum value every time the ECU triggers an EVAP system test.
I still don't like the idea of an over-pressure tank being able to spill fuel vapor out of the fresh air inlet for the carbon canister when the engine is off just because the system has to be able to breathe IN when running. I can't put a stock Subaru carbon canister on my VW: the cost is astronomical, the wiring a headache, and the actual emissions win marginal. Instead, I'd prefer to use the stock VW carbon canister because despite its limitations and simple design, it has two things that beat the hell out of the Subaru canister:
- The engine compartment already has brackets in place to mount it. If I use another solution, I have to cut those brackets out to make way for other components to be mounted there AND I have to fab a mounting system for the Subaru canister system in an engine compartment (or under the vehicle body.) The back of the vehicle is already becoming crowded with ancillary bits for this conversion.
- The Subaru canister is a unitized replacement item and is expensive. The VW canister can be disconnected, opened without destroying it, and have new media loaded. New media is available, despite the difficulty in sourcing it.
When the CPS (purge) opens, vacuum is created, which opens the check valve: Fresh air! Inhale the fresh air with the trapped vapors and into the manifold we go. When the CPS closes at the end of its pulse, no more vacuum, so the check valve closes, too. No way out for fumes. No fancy self test, but at least no dribbling fuel vapors trying to gas me in my own garage.
If you've wrenched or programmed or thought about these emissions systems and you can see a simpler way to get the same result, drop me a line. I'd love to hear about your solution. My goal is compliance with the spirit of the law. Yes, I have to lie to the ECU about the missing pressure sensor, but I can at least close the darned door on the carbon canister when we're done purging so that I'm doing better keeping my stink-hole shut than a Type4 or Type1 VW engine.