MembersPage/SkassaIdle (2006-08-23 16:13:46)
[ Start] [Questions ] [ Injector] [Ignition] [Triger] [Display] [Wbo] [Config] [Table] [Wiring] [Idle]

Idle air

The toyota iac is a two coil unit.

Can this be controlled ?

BMW and audi uses similar iac, and both are controlled. MembersPage/GergelyLezsak/IdleControl controlled it first, now the feature enabled in standard firmware.

From global.h :\n

uint8_t iac_conf;            // iac, bit7:softidle bit6:asym
bit5:dualsol bit4=1:ignadv ON, bit3:preciseidle
bit2:stepper(0=pwm) bit1: low_power_halt
bit0:power_iac_only_when_move

You need to use dual solenoid (bit5=1) with the standard PWM (precise-idle) valve settings. iac_conf=0x78 would be good, but iac_conf=0x68 is better for start (ignition-based idle off via bit4=0).

With the injector outputs (injgroups) you have complete freedom (because of injgroups.)

The IAC valve is now working, and the idle i fair, i have to let it idle at 1100-1200pm otherwise it will stall,after i let go of the gaspedal.

Complete iac config (mcd dump):\n

iac_step_seq=C9
iac_conf=78
iac_max_steps=FF
iac_tps_thres=08
iac_cold_idle_temp=A2
iac_warm_idle_temp=B4
iac_cold_rpm=96
iac_warm_rpm=82
iac_cold_start_pos=80
iac_warm_start_pos=66
iac_afterstart_rpm=23
iac_afterstart_duration=A0
iac_speed=06
iac_kp=6E
iac_ki=03
iac_kd=FF
launch_rpm=14
iac_integral_limit_dec=A0
iac_integral_limit_inc=FA
iac_integral_deadband=FF
iac_deadband=0A
als_cut_maxtps=00
iac_overclose_interval=02
iac_ref_pos[0]=BF
iac_ref_pos[1]=B3
iac_ref_pos[2]=A6
iac_ref_pos[3]=99
iac_ref_pos[4]=8C
iac_ref_pos[5]=80
iac_ref_pos[6]=73
iac_ref_pos[7]=66
iac_ref_pos[8]=59
iac_ref_pos[9]=4D
iac_sol_channel=60
iac_ign_slope=04

iac_integral_limit_dec=A0 is way too high. set it muuuch lower (05..40 is likely) to prevent negative integral windup.

Negative integral windup: when RPM is higher than target, integral goes negative; if high iac_integral_limit_dec allows it to go too negative, it requires too much time to diminish after RPM drops under target => engine stalls.