Idle Air Control
The idle stepped does something, but I'm not confinced it's right. I connected the 4 wires from the stepper to the A,B,C & D channels (on the EC18 connector) going clockwise round the motor looking at it from the connector end. My stepper is an "anti-stepper" like Marcell's... It was operating the wrong way round at first.
Idle controls
Idle afterstart RPM (added value?) - Value to add to base idle speed when the car is first started.
Idle afterstart duration (s) - the duration to do the above for.
IAC afterstart (steps per 160 rpm) 0 is OK (this was a hint to the ECM, dropped from firmware recently)
Max steps to extend - total number of steps the motor can do. I managed to shoot the pin out of the end of mine. Don't do this as they get stuck in awkward places...
IAC step sequence - Lots of things, depending on how you wire up your motor. Mine was 201. ie drive C, then B, then D, then A.
stepper speed (ms) - Speed motor moves at. ie time between steps. 0 ms is fast and can shoot the pin a long way (see earlier). 3..7 msec is common. Surprising that your stepper works so fast.
iac_conf RAW - bitflags, see global.h . The values you copied from Marcell should be fine (precise idle=on; stepper=on; asymetric PID=whatever you like)
See the IAC section of: MembersPage/MarcellGal/EngineSwap/AirFeed for more info. on config
I thought I'd cracked this. but I havent: I still can't get a stable idle without the engine racing. Hmmm.
Config
Idle cold | 900 |
Max cold idle temp | 66 |
Idle warm | 800 |
Min warm idle temp | 75 |
Idle afterstart RPM (added value?) | 100 |
Idle afterstart duration (s) | 4.0 |
IAC afterstart (steps per 160 rpm) | 25 |
Max steps to extend | 250 |
IAC step sequence | 201 |
stepper speed (ms) | 2 |
Idle control P | 80 |
Idle control I | 10 |
Idle control D | 5 |
Integral time speed | 60 |
Integral decrease limit | 6 |
Integral increase limit | 25 |
Integral deadband | 10 |
IAC deadband | 10 |
Seconds between overclosing | 5 |
Idle step bins:
220 (why so high??) when at 71.1 degrees (no point in including the rest of the table as it's a warm idle problem)
The idle valve says it is at 80% on Megatune's display page, yet the idle still races at 1300 to 1400 RPM. I don't think there's a leak in the plenum, as that's all I can think of that would cause the problem.
- Play with mdi.. where .. is the 2 hex digits from 00 to FF.
- set back to mdi00 at the end for automatic control
- set Integral decrease limit according to I value (though 06 sounds right)
- Decrease the reference positions, a bit (like 5..10) higher above than the best mdi.. values (temp dependent). As high that still allows reaching target RPM, but does not allow much lower). Decreasing from a high value until RPM target reached is probably the easiest way. Do it for every temp as it warms up.
Update
A couple of problems were found.
- The plenum did have a slight leak from an unused fitting.
- I had a partially blocked pre-cat on one side of the engine (Main cat was OK) causing the revs to drop half the time!!
- With the leak fixed and pre-cats removed, it idles smoothly but a little low.
- don't forget that the temperature dependent reference positions are just hint to the PID. The RPM target ("final word") depends on the (2 point, cold and warm) idle RPM points.
- With the mapping tweaked a little bit usign the help above, it seems to work happily for warm idle.
[Post new settings]
New Question:
Does the direction of the stepper matter anywhere?
That is, should 0% be fully closed (passes no air) and 100% be fully open (passes as much air as possible)?
Does it make any difference anyway provided the table values (warm and cold idle values) are right? (My guess is that it does matter as the PID controller needs to know which way slows the engine)