Air Conditioning subpage of GenBoard/UnderDevelopment/FirmWare
GenBoard/VerThree firmware
- can provide enable / disable signal for AC (eg. provide ground for clutch relay), via misc outputs
- can sense 0/5V AC-On signal (take care not 12V ! Apply through a diode, so diode anode goes in to a pulled-up mcp3208 analog pin.). Any changes can be applied through TableSwitch :
- higher iac_reference position/pwm values
- changed iac_PID parameters
- and other changes (lower redline maybe)
Things below are mostly outside the scope of ECU - they are controlled by simple sensors (widely available in the AC industry) and relays.
Air Conditioning clutch output:
Clutch active when signal +12V. appr 450mA (26 Ohm)
- relay is the natural choice
- stepper output would work too
- standard low-side power-output (eg. a spare injector channel) would not work, unless with a relay.
Air Conditioning clutch output activation rules
- AC system pressure is 200 .. 2500 kPa
- cabin fan on (eg. switched in 1..4 position, not in 0)
- not agressive acceleration (optional)
- engine running for a few seconds at least (optional)
Main fan activation rule
- AC system pressure > 1700 kPa
- or CLT temp > threshold (eg. 97C) ... note: histeresys
- the main fan can usually be powered through a (big) series resistor under certain conditions (for light fan-RPM). Although, unknown (to me) condition.
- The only reason I have ever heard given for 2 speed fan is noise. Generally however, with AC on, fans run at high speed.
Note that the main fan usually draws 30..40A - almost always a relay is used and a 50A fuse.
The main fan is the 2nd biggest current eater (after the starter motor).
Input signals
AC system pressure signal
- AC system pressure within 200..2500 kPa range (active-low) signal
- AC system pressure > 1700 kPa
Naturally, a single pressure sensor can be used instead of the above range switches (eg. an MPX700A).
Other signals
- AC enable switch
- AC control dials (warm/cold/temp)
- headlight switch
- CLT temp
- ...
Misc stuff
These might surprise the unaware, when debugging an AC system:
- the AC "snow-symbol" is dimmed when the headlights are on
- when the warm/cold dial is in most cold position (sensed by a end-position-switchbutton), a pneumatic valve (using intake manifold vacuum) activates a bypass valve that makes the coolant go around the cabin-heater. This way heat from the coolant will not sneak into the cabin, even if the air-valve "flap" is not perfect. What happens during long duration WOT when there is no significant vacuum ? Will the bypass operate correctly ? I don't know
- the ECM is notified about the (AC controller intention of) AC clutch and the main fan, so the iac valve can be opened in time, and RPM target raised
- Compressor clutch is usually disengaged (not powered) when in WOT.
- Often the compressor clutch is engaged in defrost mode (even in cold temps) - Reason is to reduce cabin humidity to help eliminate fogging more quickly. Probably not something we should do, but worth mentioning.
Some systems are certainly different to some degree.
Automatic AC systems have somewhat more parts, eg.
- temp sensor
- and control of warm/cold mixing (electro-pneumatic or electric actuation)
Vasilis' suggestion
i think i have a solution for a very stable idle control for the audi
engines that can have a good solution for the A/C function as well,
and can make it work with the IAC valve+diode
Here is what is needed:
Under idle settings, put a dialog, IF A/C turns ON, then decreace Idle
PW by X number.
If you cannot control the AC function through VEMS, ( i mean when it
comes ON or OFF) then you can actually do this by using battery
voltage:
SO if Vbatt = 13.00 then IAC PW decrease by X number
so you can make a simple table of 5 values (i dont think more are
needed) so that the IAC PW can change depending on Vbatt.
This can work in combination to the IAC PW/ CLT.
So for example when CLT=80 and IAC PW=20 if vBatt=14.00
BUT if CLT=80 and vBatt = 13.40 (just when the fan kicks in) then IAC
PW=18 etc.
That way you can possibly eliminate the problem with idle drop AND use the IAC succesfully.
We '''actually do that since 1.1.4x : apply higher IAC PWM duty with lower VBATT voltage. (It's done automatically, unconfigurable atm).