MEGAsquirt A place to collectively sort out this megasquirt gizmo

Timing at idle - requesting some help

Thread Tools
 
Search this Thread
 
Old 04-19-2011 | 03:56 PM
  #21  
hornetball's Avatar
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 696
From: Granbury, TX
Default

Originally Posted by pdexta
Very nice writeup hornet

My idle control definitely needs some work and I didn't have a clue where to start.
Your welcome. Keep in mind that the write-up is directly applicable to 90-93 1.6 engines using MS1 or MSPNP. Some of the idle control mechanisms may have changed with the 1.8 -- for example, I think later models may have done away with the idle air screw. In addition, I understand that MS2 and MS3 have improved idle algorithms. However, no matter what you have, the basics are the same:

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.
Old 04-19-2011 | 06:00 PM
  #22  
Techsalvager's Avatar
I'm Miserable!
 
Joined: Jun 2009
Posts: 1,866
Total Cats: 0
From: albany, ga
Default

17-18 degrees at idle
14~ AFR
850 rpms
460cc rx7 injectors
MS2 running ms2extra 3.1.0

29-30 KPa
55 cm HG on my boost gauge
Old 04-19-2011 | 06:02 PM
  #23  
Reverant's Avatar
Elite Member
iTrader: (10)
 
Joined: Jun 2006
Posts: 5,991
Total Cats: 362
From: Athens, Greece
Default

10 degrees at idle
14.7 AFR
800rpm with the A/C off, 29-30kPa
1000rpm with the A/C on, 38-39kPa
Old 04-19-2011 | 06:06 PM
  #24  
Techsalvager's Avatar
I'm Miserable!
 
Joined: Jun 2009
Posts: 1,866
Total Cats: 0
From: albany, ga
Default

Originally Posted by Reverant
10 degrees at idle
14.7 AFR
800rpm with the A/C off, 29-30kPa
1000rpm with the A/C on, 38-39kPa
same VE fuel map or table switching?
Old 04-19-2011 | 06:08 PM
  #25  
Reverant's Avatar
Elite Member
iTrader: (10)
 
Joined: Jun 2006
Posts: 5,991
Total Cats: 362
From: Athens, Greece
Default

Same fuel map, yes.
Old 04-19-2011 | 07:04 PM
  #26  
hornetball's Avatar
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 696
From: Granbury, TX
Default

Originally Posted by Reverant
10 degrees at idle
14.7 AFR
800rpm with the A/C off, 29-30kPa
1000rpm with the A/C on, 38-39kPa
Are you using some kind of solenoid air valve tied to the A/C compressor? Or is this an advanced function not available to us lowly MS1 users?
Old 04-19-2011 | 07:37 PM
  #27  
Braineack's Avatar
Boost Czar
iTrader: (62)
 
Joined: May 2005
Posts: 79,818
Total Cats: 4,152
From: Chantilly, VA
Default

(zack morris's phone)

He has custom software ms2
Old 04-19-2011 | 07:43 PM
  #28  
aaronc7's Avatar
Senior Member
iTrader: (8)
 
Joined: Jun 2010
Posts: 1,116
Total Cats: 43
From: Florida
Default

originally I did 15 degrees at idle...but I found that setting idle at 10 degrees, then upping it to 14-16 with idle advance when the AC kicked on to be better...idk. experiment around.

according to my boost gauge, I get around -24 to -25 in HG at idle, 900 rpm
Old 04-21-2011 | 09:40 AM
  #29  
miatauser123's Avatar
Thread Starter
Senior Member
iTrader: (7)
 
Joined: Sep 2009
Posts: 754
Total Cats: 68
From: Royal Oak Michigan
Default

Originally Posted by Techsalvager
17-18 degrees at idle
14~ AFR
850 rpms
460cc rx7 injectors
MS2 running ms2extra 3.1.0

29-30 KPa
55 cm HG on my boost gauge
Given these settings, I should be able to get my car to idle under 1100.

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!
Old 04-21-2011 | 09:53 AM
  #30  
Braineack's Avatar
Boost Czar
iTrader: (62)
 
Joined: May 2005
Posts: 79,818
Total Cats: 4,152
From: Chantilly, VA
Default

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.

Last edited by Braineack; 04-21-2011 at 11:20 AM.
Old 04-21-2011 | 11:18 AM
  #31  
hornetball's Avatar
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 696
From: Granbury, TX
Default

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.
Old 04-22-2011 | 10:12 AM
  #32  
minileprechaun's Avatar
Junior Member
 
Joined: Oct 2008
Posts: 65
Total Cats: 0
From: DC
Default

Originally Posted by hornetball
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.
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
Old 04-22-2011 | 11:12 AM
  #33  
hornetball's Avatar
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 696
From: Granbury, TX
Default

Originally Posted by minileprechaun
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
There's nothing wrong. The instructions I gave were for a 1.6L. The idle air control valve on the 1.6L has a minimum DC of 19.

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.
Old 04-22-2011 | 11:49 AM
  #34  
hornetball's Avatar
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 696
From: Granbury, TX
Default

Also, to set idle timing, you adjust the cells in the idle region of your MS spark map.
Old 04-22-2011 | 01:39 PM
  #35  
minileprechaun's Avatar
Junior Member
 
Joined: Oct 2008
Posts: 65
Total Cats: 0
From: DC
Default

Originally Posted by hornetball
Also, to set idle timing, you adjust the cells in the idle region of your MS spark map.
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/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?
Old 04-22-2011 | 02:29 PM
  #36  
hornetball's Avatar
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 696
From: Granbury, TX
Default

Originally Posted by minileprechaun
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?
OK, here are the MSPNP base map values for idle air control valve minimum and closed duty cycles:

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.
Old 04-22-2011 | 03:18 PM
  #37  
minileprechaun's Avatar
Junior Member
 
Joined: Oct 2008
Posts: 65
Total Cats: 0
From: DC
Default

Originally Posted by hornetball
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.
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.
Old 04-22-2011 | 03:23 PM
  #38  
hornetball's Avatar
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 696
From: Granbury, TX
Default

Originally Posted by minileprechaun
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.
Mine is the opposite. Minimum and Closed DC are only settable when I've selected Closed-Loop Mode. These parameters are not used in Warmup.

??
Old 04-22-2011 | 05:03 PM
  #39  
minileprechaun's Avatar
Junior Member
 
Joined: Oct 2008
Posts: 65
Total Cats: 0
From: DC
Default

Originally Posted by hornetball
Mine is the opposite. Minimum and Closed DC are only settable when I've selected Closed-Loop Mode. These parameters are not used in Warmup.

??
hmm.. maybe i have the wording mixed up.
i'm using tunerstudio.

i'll double check tonight and get back to you

looking up pictures online .. it looks like i do have the wording mixed up. so nevermind my last question.
Old 04-26-2011 | 12:00 PM
  #40  
minileprechaun's Avatar
Junior Member
 
Joined: Oct 2008
Posts: 65
Total Cats: 0
From: DC
Default

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:

Name:  fuelandspark.jpg
Views: 4406
Size:  104.8 KB

Name:  idlecontrol.jpg
Views: 4343
Size:  104.4 KB



All times are GMT -4. The time now is 02:22 AM.