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
Hints for Tuning Idle
- 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!!
Moral: Check carefully for mechanical problems 1st!
- 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.
Current Idle Config
Note that this is not correctly set up yet since various engine changes have happened.
iac_step_seq=C9
iac_conf=4C
iac_max_steps=EA
iac_tps_thres=05
iac_cold_idle_temp=BF
iac_warm_idle_temp=CF
iac_cold_rpm=5A
iac_warm_rpm=50
iac_cold_start_pos=64
iac_warm_start_pos=B4
iac_afterstart_rpm=0A
iac_afterstart_duration=28
iac_afterstart_steps=00
iac_kp=14
iac_ki=01
iac_kd=01
iac_integral_speed=0A
iac_integral_limit_dec=06
iac_integral_limit_inc=19
iac_integral_deadband=0F
iac_deadband=0A
iac_pid_conf=00
iac_overclose_interval=0A
iac_ref_pos[0]=C8
iac_ref_pos[1]=C8
iac_ref_pos[2]=C8
iac_ref_pos[3]=C8
iac_ref_pos[4]=C8
iac_ref_pos[5]=C8
iac_ref_pos[6]=C8
iac_ref_pos[7]=C8
iac_ref_pos[8]=C8
iac_ref_pos[9]=DC
iac_sol_channel=FF
iac_ign_advance_change=50
iac_ign_retard_change=50
iac_ign_advance_limit=00
iac_ign_retard_limit=00
iac_ign_threshold=08
New Question:
Does the direction the stepper moves to close the valve matter?
That is, should 0% be fully closed (passes no air) and 100% be fully open (passes as much air as possible)?
Mine is the other way around, so 80% is pretty much completely closed, and 0% is fully open.
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 to move the stepper to slow the engine...)