Timing at idle - requesting some help
#21
1. Start by setting the car up so that you control idle air -- no closed loop variability.
2. Tune fuel at idle for maximum vacuum and make all idle region cells the same for stability.
3. Set idle spark to something between 10 and 15 and make all idle region cells the same for stability. Also, make sure that cranking spark is constant.
4. Set your minimum mechanical idle air for a target RPM.
5. Now, you can return to closed loop idle control and mess with it at your leisure. Closed loop is used to handle loads, not your basic idle.
#29
Thread Starter
Senior Member
iTrader: (7)
Joined: Sep 2009
Posts: 754
Total Cats: 68
From: Royal Oak Michigan
I'm now running 16 degrees at 14.5 but sounds best at about 1100. I'm happy with is but maybe I'll try lower. Thanks for the input!
#30
assuming 1.8ms of pulsewidth is required to maintain ~14:1 AFR at idle at 1100rpm.
that's 1980ms worth of fuel per minute. subtracting the dead time of 1ms per squirt, we end up closer to 880ms of fuel. x 4 injectors = 3520ms or 0.058 minutes the injectors are squirting.
your 440cc injectors running at ~35psi of rail pressure convert to 395cc/min injectors.
395 x .058 = 23cc of fuel every minute.
assuming 1.7ms of pulsewidth is required to maintain ~14:1 AFR at idle at 850rpm.
that's 1445ms worth of fuel per minute. subtracting the dead time of 1ms per squirt, we end up closer to 595ms of fuel. x 4 injectors = 2380ms or 0.040 minutes the injectors are squirting.
your 440cc injectors running at ~35psi of rail pressure convert to 395cc/min injectors.
395 x .04 = 15.8cc of fuel every minute.
15.8/23 = .68
32% less fuel used at idle by lowering the rpms.
that's 1980ms worth of fuel per minute. subtracting the dead time of 1ms per squirt, we end up closer to 880ms of fuel. x 4 injectors = 3520ms or 0.058 minutes the injectors are squirting.
your 440cc injectors running at ~35psi of rail pressure convert to 395cc/min injectors.
395 x .058 = 23cc of fuel every minute.
assuming 1.7ms of pulsewidth is required to maintain ~14:1 AFR at idle at 850rpm.
that's 1445ms worth of fuel per minute. subtracting the dead time of 1ms per squirt, we end up closer to 595ms of fuel. x 4 injectors = 2380ms or 0.040 minutes the injectors are squirting.
your 440cc injectors running at ~35psi of rail pressure convert to 395cc/min injectors.
395 x .04 = 15.8cc of fuel every minute.
15.8/23 = .68
32% less fuel used at idle by lowering the rpms.
Last edited by Braineack; 04-21-2011 at 11:20 AM.
#31
Got some measurements last night. My idle (AC off) is:
RPM: 950
Vacuum: -19 in. Hg.
MAP: 33kPa
Timing: 12°BTDC
AFR: ~14 (a bit richer than stoich)
Injectors: DW 350cc
I'm a bit unsure about the AFR. The LC-1 installation is new, and I'm kicking occasional E-8 codes. Also, I have a disparity between MS and my gauge (going to review grounding this weekend) with my gauge reading richer. Nonetheless, it seems that tuning far maximum vacuum yields an AFR slightly rich of stoichiometric. Based upon other posts, it also looks like 1.8 engines draw more vacuum than 1.6 engines -- maybe due to different cam profiles? My 1.6 is bone stock, more than 20 years old with over 180K miles -- last opened in Hiroshima. I'm still amazed at how durable these cars are. It loves the turbo.
RPM: 950
Vacuum: -19 in. Hg.
MAP: 33kPa
Timing: 12°BTDC
AFR: ~14 (a bit richer than stoich)
Injectors: DW 350cc
I'm a bit unsure about the AFR. The LC-1 installation is new, and I'm kicking occasional E-8 codes. Also, I have a disparity between MS and my gauge (going to review grounding this weekend) with my gauge reading richer. Nonetheless, it seems that tuning far maximum vacuum yields an AFR slightly rich of stoichiometric. Based upon other posts, it also looks like 1.8 engines draw more vacuum than 1.6 engines -- maybe due to different cam profiles? My 1.6 is bone stock, more than 20 years old with over 180K miles -- last opened in Hiroshima. I'm still amazed at how durable these cars are. It loves the turbo.
#32
1. Setup idle VE first. I would recommend shooting for maximum vacuum in setting up idle VE because it is a good, non-noisy signal at idle conditions. It ends up being ~stoichiometric, but it is easier to set than using AFR. Use the following steps:
a. Change Idle Control Algorithm to "PWM" and "Warmup Only." Set your minimum duty cycle to 19 and your "Idle Duty at Upper Temp (DC)" to 19. What we are doing here is eliminating variables and putting the idle air control valve under your direct control.
b. Start the car and let it warm up. You should notice that once the "Slow Idle (Upper) Temp (F)" is reached, your idle duty cycle should be fixed at 19.
c. Now, adjust your idle screw to give you an RPM that will keep the car alive while we mess with idle area VE. 1000RPM should work fine.
d. Now were going to find the best VE for your idle, knowing that all other variables are fixed. Go to your "Fuel VE Table 1" and note your current operating kPa and RPM. We're going to change all of the VE cells surrounding this point so that we get a constant VE without interpolation. In my case, I ended up at a VE of 40. It was a very distinct peak.
e. Once you've found your idle VE, set all of the cells in the idle region to this VE to provide stability for your engine. That would be all cells up to about 35kPa and 1500RPM. Your idle VE should be the minimum VE in your map.
2. Now setup idle timing. Just use something between 10-15 and be done with it. If you want to use spark table switching to stabilize your AC-on idle, then use a lower setting, otherwise just set 15. As with VE, make sure all of your idle cells have the same timing to provide stability to the engine. In addition, adjust the timing in your lowest RPM column to idle timing all the way up to 100kPa to provide constant timing for cranking.
3. With VE and idle timing set, and while still in "Warmup Only" mode, adjust your idle air screw for your target warm idle speed. I adjusted for 900 RPM. The basic idea here is that we are setting the minimum air bleed (consisting of minimum DC + idle air screw). We want the closed loop idle control to be able to add air for loads such as lights, AC, higher outside air temperatures, etc. But we should not be relying on closed loop idle to provide our minimum idle air setting. Note that your idle air screw should be at least a full turn open to avoid large % orifice size changes with metal cooling and heating. If this results in too high of an RPM, then reduce idle timing. You can see how these things are interrelated.
4. With all of the above done, you can now return to "PWM" and "Closed Loop Only" and mess around with closed loop settings to provide recovery from loads. Note that if you don't have big loads like AC, plenty of people are content to just use "Warmup Only." It is simple and stable.
After you get idle stabilized as above, post another recording of your startup RPM zoom.
a. Change Idle Control Algorithm to "PWM" and "Warmup Only." Set your minimum duty cycle to 19 and your "Idle Duty at Upper Temp (DC)" to 19. What we are doing here is eliminating variables and putting the idle air control valve under your direct control.
b. Start the car and let it warm up. You should notice that once the "Slow Idle (Upper) Temp (F)" is reached, your idle duty cycle should be fixed at 19.
c. Now, adjust your idle screw to give you an RPM that will keep the car alive while we mess with idle area VE. 1000RPM should work fine.
d. Now were going to find the best VE for your idle, knowing that all other variables are fixed. Go to your "Fuel VE Table 1" and note your current operating kPa and RPM. We're going to change all of the VE cells surrounding this point so that we get a constant VE without interpolation. In my case, I ended up at a VE of 40. It was a very distinct peak.
e. Once you've found your idle VE, set all of the cells in the idle region to this VE to provide stability for your engine. That would be all cells up to about 35kPa and 1500RPM. Your idle VE should be the minimum VE in your map.
2. Now setup idle timing. Just use something between 10-15 and be done with it. If you want to use spark table switching to stabilize your AC-on idle, then use a lower setting, otherwise just set 15. As with VE, make sure all of your idle cells have the same timing to provide stability to the engine. In addition, adjust the timing in your lowest RPM column to idle timing all the way up to 100kPa to provide constant timing for cranking.
3. With VE and idle timing set, and while still in "Warmup Only" mode, adjust your idle air screw for your target warm idle speed. I adjusted for 900 RPM. The basic idea here is that we are setting the minimum air bleed (consisting of minimum DC + idle air screw). We want the closed loop idle control to be able to add air for loads such as lights, AC, higher outside air temperatures, etc. But we should not be relying on closed loop idle to provide our minimum idle air setting. Note that your idle air screw should be at least a full turn open to avoid large % orifice size changes with metal cooling and heating. If this results in too high of an RPM, then reduce idle timing. You can see how these things are interrelated.
4. With all of the above done, you can now return to "PWM" and "Closed Loop Only" and mess around with closed loop settings to provide recovery from loads. Note that if you don't have big loads like AC, plenty of people are content to just use "Warmup Only." It is simple and stable.
After you get idle stabilized as above, post another recording of your startup RPM zoom.
if i switch to closed-loop, my car idles (and adjust the idle screw) i can get the car to idle at 850-950rpms, 32-34kpa, AFR around 13. I think MS read the timing around 8.
in this mode .. when i put the car in gear and try to go, it stalls. and when i'm on the road and shift into neutral, the RPMs drop quickly and can't recover, so i stall.
for the warm up only mode .. i bet there's another setting i don't have correct or am missing something .. but i'm not sure what.
also .. part 2 above says to setup idle timing .. how do i do that? is that on the car .. or within megasquirt? if its within megasquirt.. i think i have that set as 12...
engine is a 1999
550 injectors
here's my msq
minileprechaun msq
#33
i tried doing this last night. in the warm-up only mode, with both duty cycle settings at 19, and the car warmed up, the RPMs sit at 1500-2300rpm. now i've forgotten the other data at this point, but i tried closing the idle screw and it only got me down to 1500rpms.
if i switch to closed-loop, my car idles (and adjust the idle screw) i can get the car to idle at 850-950rpms, 32-34kpa, AFR around 13. I think MS read the timing around 8.
in this mode .. when i put the car in gear and try to go, it stalls. and when i'm on the road and shift into neutral, the RPMs drop quickly and can't recover, so i stall.
for the warm up only mode .. i bet there's another setting i don't have correct or am missing something .. but i'm not sure what.
also .. part 2 above says to setup idle timing .. how do i do that? is that on the car .. or within megasquirt? if its within megasquirt.. i think i have that set as 12...
engine is a 1999
550 injectors
here's my msq
minileprechaun msq
if i switch to closed-loop, my car idles (and adjust the idle screw) i can get the car to idle at 850-950rpms, 32-34kpa, AFR around 13. I think MS read the timing around 8.
in this mode .. when i put the car in gear and try to go, it stalls. and when i'm on the road and shift into neutral, the RPMs drop quickly and can't recover, so i stall.
for the warm up only mode .. i bet there's another setting i don't have correct or am missing something .. but i'm not sure what.
also .. part 2 above says to setup idle timing .. how do i do that? is that on the car .. or within megasquirt? if its within megasquirt.. i think i have that set as 12...
engine is a 1999
550 injectors
here's my msq
minileprechaun msq
The minimum DC of the idle air control valve on the 1.8 is MUCH lower. Somewhere in the single digits (I'm sure someone here knows for certain). I would refer to the MSPNP base map for your year to get the minimum DC.
What happened is that by using the 1.6 setting, your idle air control valve was far too open and let too much air into the engine -- hence the high idle speed.
#35
my base map originally had duty cycles set as: minimum=16 and the next cell down =8.
is the idea to have them the same number?
looking at other fuel and spark maps like in this sticky'd thread https://www.miataturbo.net/megasquirt-18/dyno-tuning-take-look-fm-we-want-your-timingz-18648/.. i think my values in the maps are much lower. i'll give that a shot, increasing everything and see if that helps with idle.
after everything is set in the warm-up only mode .. if you switch it to the closed loop mode .. does it no longer look at the warm-up only settings? and only use the closed loop settings? if so .. in the closed loop mode .. what setting controls/sets the IAC duty cycle?
#36
d'oh! that makes sense.
my base map originally had duty cycles set as: minimum=16 and the next cell down =8.
is the idea to have them the same number?
looking at other fuel and spark maps like in this sticky'd thread https://www.miataturbo.net/showthread.php?t=18648.. i think my values in the maps are much lower. i'll give that a shot, increasing everything and see if that helps with idle.
after everything is set in the warm-up only mode .. if you switch it to the closed loop mode .. does it no longer look at the warm-up only settings? and only use the closed loop settings? if so .. in the closed loop mode .. what setting controls/sets the IAC duty cycle?
my base map originally had duty cycles set as: minimum=16 and the next cell down =8.
is the idea to have them the same number?
looking at other fuel and spark maps like in this sticky'd thread https://www.miataturbo.net/showthread.php?t=18648.. i think my values in the maps are much lower. i'll give that a shot, increasing everything and see if that helps with idle.
after everything is set in the warm-up only mode .. if you switch it to the closed loop mode .. does it no longer look at the warm-up only settings? and only use the closed loop settings? if so .. in the closed loop mode .. what setting controls/sets the IAC duty cycle?
1990-93: Minimum = 19 Closed = 18
1994-97: Minimum = 9 Closed = 9
I don't have 1999 dowloaded, but I would think it would be similar to 1994-97. Check DIY's website.
Warm-up mode is dead simple. The idle air control duty cycle is based upon coolant temperature only. There is no active closed-loop variability. It could care less what the RPM is -- it doesn't try to target an RPM. Think of an old-school carburetor. Parameters used by warm-up mode are:
-Cranking DC
-Idle DC at Lower Temp
-Idle DC at Upper Temp
-Fast Idle (Lower) Temp
-Slow Idle (Upper) Temp
Warm-up mode is useful if you're not running AC or other variable loads -- gives a simple, stable idle. It is also useful for tuning because it eliminates the variability in idle DC inherent in closed loop mode. Once warmed up, the amount of idle air introduced into your engine by warmup mode is:
(air bleed past the idle screw) + (air bleed through the control valve at Upper Temp Idle DC)
When you switch to closed loop mode, you enable active closed loop variability into the idle air control valve that tries to target an RPM. All modern ECU's do this. Parameters used in closed loop are:
-Cranking DC
-Minimum DC
-Closed DC
-Fast Idle (Lower) Temp
-Slow Idle (Upper) Temp
-Fast Idle Speed
-Slow Idle Speed
-Dashpot Settings
-Closed Loop Settings
The problem is that the closed loop algorithm in the MS is generic and reactive -- it sucks at catching transients. You'll notice that when you switched back to closed loop, it would eventually hit its target RPM, but during transients you experienced stalls. That's a classic symptom of an incorrect setup. Dashpot settings can help, but in my experience they're not enough. What we need to do is put a floor on idle air. This is done by setting a minimum air bleed. The MINIMUM amount of idle air introduced into your engine by closed loop mode is:
(air bleed past the idle screw) + (air bleed through the control valve at Minimum DC)
My procedure is designed to setup the idle screw, Minimum DC, idle region VE and idle region spark advance to give you a desired idle speed when warmed up with all accessories off. This gives you a good, basic "mechanical" idle from a minimum air bleed. Once you've done this, your closed loop only needs to handle kicking up the DC for loads.
Last edited by hornetball; 04-22-2011 at 03:05 PM.
#37
My procedure is designed to setup the idle screw, Minimum DC, idle region VE and idle region spark advance to give you a desired idle speed when warmed up with all accessories off. This gives you a good, basic "mechanical" idle from a minimum air bleed. Once you've done this, your closed loop only needs to handle kicking up the DC for loads.
I do have an additional question:
in warm-up mode i appear to set the minimum and closed DC-- the 19, 19 in your original example for a 1.6 engine.
in closed-loop mode, what minimum and closed DC does megasquirt know to use, since when you switch to closed loop, the cells for 19, 19 set above are grayed out and not changeable.
#38
thanks .. that was a fantastic explanation.
I do have an additional question:
in warm-up mode i appear to set the minimum and closed DC-- the 19, 19 in your original example for a 1.6 engine.
in closed-loop mode, what minimum and closed DC does megasquirt know to use, since when you switch to closed loop, the cells for 19, 19 set above are grayed out and not changeable.
I do have an additional question:
in warm-up mode i appear to set the minimum and closed DC-- the 19, 19 in your original example for a 1.6 engine.
in closed-loop mode, what minimum and closed DC does megasquirt know to use, since when you switch to closed loop, the cells for 19, 19 set above are grayed out and not changeable.
??
#40
sooo .. anyone know what the minimum and closed DC setting are for a 1999 engine?
I picked 11 last night just to test it out and get somewhere. I chose that number because it kept the engine alive and I was able to get the idle RPM down to 900 with the idle screw still open a bit.
Idle specs:
RPM: 900
Vacuum: -19 in. Hg.
MAP: 34kPa
Timing: 17°BTDC
AFR: ~13.5
Injectors: RC 550cc
The car will run in warm-up only mode and will have a steady idle around 900 (set by the idle screw). In closed-loop mode, at idle, the car seems to settle and rev constantly, fluctuating between 800-1200rpms.
When driving, in warm-up only mode, the car does pretty well. it only stalled a couple times when coming to a stop in neutral. But it seemed random and I couldn't identify an exact cause. Car did not stall when coasting in neutral though.
I did not try driving around in closed-loop mode because I couldn't get a steady idle.
I know you said to set the timing between 10-15 .. but my base map has 17-20 in those cells. And looking at the DIYPNP base map, it's also at 17-20. So why drop it to below 15? Also worth noting, the DIYPNP map i'm referring to is for a 1995 engine. That's what I used to have, and I couldn't find the 1999 base map on DIYs faq site.
What you said to have as 40 in the fuel table, right now i have as 22. This is because anything higher made my AFR really rich, dropping to 11, 12. I noticed that anything lower than 22 in my fuel table couldn't keep the engine alive when starting.
I do have progress though! I'm happy about that. Less stalls and the car is becoming a little more drivable.
below/attached are screen captures of my fuel and spark maps and idle control settings:
I picked 11 last night just to test it out and get somewhere. I chose that number because it kept the engine alive and I was able to get the idle RPM down to 900 with the idle screw still open a bit.
Idle specs:
RPM: 900
Vacuum: -19 in. Hg.
MAP: 34kPa
Timing: 17°BTDC
AFR: ~13.5
Injectors: RC 550cc
The car will run in warm-up only mode and will have a steady idle around 900 (set by the idle screw). In closed-loop mode, at idle, the car seems to settle and rev constantly, fluctuating between 800-1200rpms.
When driving, in warm-up only mode, the car does pretty well. it only stalled a couple times when coming to a stop in neutral. But it seemed random and I couldn't identify an exact cause. Car did not stall when coasting in neutral though.
I did not try driving around in closed-loop mode because I couldn't get a steady idle.
I know you said to set the timing between 10-15 .. but my base map has 17-20 in those cells. And looking at the DIYPNP base map, it's also at 17-20. So why drop it to below 15? Also worth noting, the DIYPNP map i'm referring to is for a 1995 engine. That's what I used to have, and I couldn't find the 1999 base map on DIYs faq site.
What you said to have as 40 in the fuel table, right now i have as 22. This is because anything higher made my AFR really rich, dropping to 11, 12. I noticed that anything lower than 22 in my fuel table couldn't keep the engine alive when starting.
I do have progress though! I'm happy about that. Less stalls and the car is becoming a little more drivable.
below/attached are screen captures of my fuel and spark maps and idle control settings: