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.\n
iac_step_seq=C9 iac_conf=4C iac_max_steps=B0 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]=B0 iac_ref_pos[1]=B0 iac_ref_pos[2]=B0 iac_ref_pos[3]=B0 iac_ref_pos[4]=B0 iac_ref_pos[5]=B0 iac_ref_pos[6]=B0 iac_ref_pos[7]=B0 iac_ref_pos[8]=B0 iac_ref_pos[9]=B0 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
Questions:
Q Does the direction the stepper moves to close the valve matter?
A Yes, it matter which direction the stepper moves, 0% should be closed and 100% far open, otherwise pid controller wont work properly. Be sure to start with proper reference postions in your iac reference table (disable pid controller at first Kp, Ki, Kd = 0) thatway the iac runs on reference table only without pid interfering.
Q: New issue today: With PID idle control turned OFF, (so a fixed stepper position) I now find that the engine speed oscillates with amplitude of 250RPM (500 RPM peak to peak, average speed is 750 RPM) and a period of 2.5 seconds. What could cause oscillations in the idling???
Too slow to be a problem with a single cylinder weak spark. (The engine runs fine at high speed.)
Not had chance to do much diagnosis yet. I have not changed the config (other than what Auto VE learn has done) since last week. It worked then!!
Could it be one of these?
- Broken stepper/stepper driver?
- EGO correction fooling around?
- Wrong settings for the idle stepper position table (ie too little air)
Feel free to add more! Thanks.