Idle tuning instructions sticky request
#1
Idle tuning instructions sticky request
Stable idle on my car seems to be the last piece of the puzzle that I need to solve. I get it spot on one day, then the next it seems like it isn't so good.
Would someone with a good understanding of the newer MS2/MS3 code be willing to write up a "sticky" worthy tuning guide? The msextra.com documentation is ok, but I never seem to get it quite right using those instructions.
Would someone with a good understanding of the newer MS2/MS3 code be willing to write up a "sticky" worthy tuning guide? The msextra.com documentation is ok, but I never seem to get it quite right using those instructions.
#3
Once you make sure your fuel and spark tables are smooth and consistent in your idle zone. I like to do the following things:
1. Learn your min/max idle duty %. You can do this two ways, the first being using idle valve test mode and bumping the duty up and down until you no longer see a noticable change in engine speed. remember the values, for a 90-93 you'll see it around ~25-62%. Aslo make sure to remember the RPMs these duty values obtain. The second method is using the Warm-up only mode and doing the same thing, just make sure you are doing it in an area that your CLT temp is sitting at. You should have one of your dashboard gauges displaying the idle PWM% so you know exactly what the MS is outputting.
2. Once you learn these values, plug them into your PID closed loop idle control parameters. So Idle Open Duty %, Idle Valve closed Duty %, RPM with valve closed, and RPM with valve open.
3. Now I like to start tuning, first, make sure your RPM targets are flat across the board for now, try 1000RPM to start. Now, turn PID values all to zero. Turn on your headlights and a/c blip the throttle and upset the idle and it will probably lock at >2500RPM. you can turn them off now. Now, start increasing the I value. When you slowly add I, you'll notice the RPMs slowly come down towards your target. Do this until you're within ~50RPM of your target...you'll notice the Idle PWM% moves in large chunks so it can only get close enough. Next start increasing P, cycle things like the headlights and a/c, the P term is used to reach your target faster when something causes it to move from your target...you should end up with a term that's above, maybe even double, that of I. Reduce it if you start to oscillate. Lastly you can increase D term, It dampens the effect so you dont overshoot the target when P and I are driving it up to the RPM target. You shouldn't need much.
This is the quick and dirty method and should get you rolling smooth and stable within a few minutes. Make sure the rest of the parameters are tuned to your liking, such as the TPS trigger, dashpot, delays, PID lockup settings, etc.
1. Learn your min/max idle duty %. You can do this two ways, the first being using idle valve test mode and bumping the duty up and down until you no longer see a noticable change in engine speed. remember the values, for a 90-93 you'll see it around ~25-62%. Aslo make sure to remember the RPMs these duty values obtain. The second method is using the Warm-up only mode and doing the same thing, just make sure you are doing it in an area that your CLT temp is sitting at. You should have one of your dashboard gauges displaying the idle PWM% so you know exactly what the MS is outputting.
2. Once you learn these values, plug them into your PID closed loop idle control parameters. So Idle Open Duty %, Idle Valve closed Duty %, RPM with valve closed, and RPM with valve open.
3. Now I like to start tuning, first, make sure your RPM targets are flat across the board for now, try 1000RPM to start. Now, turn PID values all to zero. Turn on your headlights and a/c blip the throttle and upset the idle and it will probably lock at >2500RPM. you can turn them off now. Now, start increasing the I value. When you slowly add I, you'll notice the RPMs slowly come down towards your target. Do this until you're within ~50RPM of your target...you'll notice the Idle PWM% moves in large chunks so it can only get close enough. Next start increasing P, cycle things like the headlights and a/c, the P term is used to reach your target faster when something causes it to move from your target...you should end up with a term that's above, maybe even double, that of I. Reduce it if you start to oscillate. Lastly you can increase D term, It dampens the effect so you dont overshoot the target when P and I are driving it up to the RPM target. You shouldn't need much.
This is the quick and dirty method and should get you rolling smooth and stable within a few minutes. Make sure the rest of the parameters are tuned to your liking, such as the TPS trigger, dashpot, delays, PID lockup settings, etc.
#4
I think this combination of information is excellent. I like the diyautotune instructions for getting things dialed in before closed loop, and then your explanation of the PID adjustment is great. I really think this is worth a sticky.
I started retuning yesterday. I dot to the point where my idle hung at ~ 2000 rpm. I figured something was wrong. I didn't think there was any way the I term would drop the idle so I started lowering the pwm duty curve.
Should the RPM target curve be set to what you want the idle to be, or is this a "fudge" factor that is used? I have mine set to 850 because that is where I want it to idle. Why did you choose 1000rpm? Should it be set above the desired target?
I started retuning yesterday. I dot to the point where my idle hung at ~ 2000 rpm. I figured something was wrong. I didn't think there was any way the I term would drop the idle so I started lowering the pwm duty curve.
Should the RPM target curve be set to what you want the idle to be, or is this a "fudge" factor that is used? I have mine set to 850 because that is where I want it to idle. Why did you choose 1000rpm? Should it be set above the desired target?
#5
tune the lockout suggested. I use something like 80 rpmdot (just above what I see at idle) and then 29 Kpa (just below what I idle at (32-33kPa).
Yes, the RPM targets is where you want to idle vs. clt temp. I gradually taper from 1500 at like 30* to 850RPM at 130*.
I chose 1000RPM for all intents cause it's a clean number with a hash mark.
and really, the key to smooth idle is well tuned AFRs and spark. If those aren't smoothed and in order, the idle code will fight. For exmaple, if you turn on the a/c and the timing is in such a spot where it jumps from 10* to 18* or something and doesn't hold solid at one or the other, you'll find that the spark advance will actually cause the engine spee dto change...then the idle valve will try to compensate, the timing will change and both effect the idle speed reversely and you end up in an endless oscillation.
Yes, the RPM targets is where you want to idle vs. clt temp. I gradually taper from 1500 at like 30* to 850RPM at 130*.
I chose 1000RPM for all intents cause it's a clean number with a hash mark.
and really, the key to smooth idle is well tuned AFRs and spark. If those aren't smoothed and in order, the idle code will fight. For exmaple, if you turn on the a/c and the timing is in such a spot where it jumps from 10* to 18* or something and doesn't hold solid at one or the other, you'll find that the spark advance will actually cause the engine spee dto change...then the idle valve will try to compensate, the timing will change and both effect the idle speed reversely and you end up in an endless oscillation.
#6
Brain speaks the truth; transitions in timing can make the idle very erratic.
Often times Ill make the idle part of the ignition map totally flat to start, then make small changed where needed. Thinking of the map in cells can be misleading, the interpolation between the idle cells and the cells just outside of that range can sometimes be dramatic, so its good to not only make the idle area smooth, but also make a smooth transition into the cells just outside of idle.
If it simply refuses to cooperate you can also fatten it up a bit, but that obviously not ideal.
Often times Ill make the idle part of the ignition map totally flat to start, then make small changed where needed. Thinking of the map in cells can be misleading, the interpolation between the idle cells and the cells just outside of that range can sometimes be dramatic, so its good to not only make the idle area smooth, but also make a smooth transition into the cells just outside of idle.
If it simply refuses to cooperate you can also fatten it up a bit, but that obviously not ideal.
#7
Would you guys elaborate a little more on tuning the idle cells? Typically I just pick a bunch of cells around where I idle and make all of the fuel cells the same and timing cells the same.
If you are in fact tuning the cells so the afr stays the same, or gVE as I've seen before (I thought his was just the fuel cell value) How are you increasing and decreasing the idle to get to the cells around the one it naturally idles? idle valve test mode?
If you are in fact tuning the cells so the afr stays the same, or gVE as I've seen before (I thought his was just the fuel cell value) How are you increasing and decreasing the idle to get to the cells around the one it naturally idles? idle valve test mode?
#8
keep gVE stable. make sure it doesnt go rich or lean when you flip up your lights, or happen to idle faster or slower...the whole region needs to be tuned.
here's my idle map...you can see there's not big changes...the large step in fueling also has a large step in MAP...where the change between 35 and 25kPa rows is pretty much nil. Obviously at 45kPa my A/C is running.
here's my idle map...you can see there's not big changes...the large step in fueling also has a large step in MAP...where the change between 35 and 25kPa rows is pretty much nil. Obviously at 45kPa my A/C is running.
#13
What are you guys setting your min value in the pwm duty table?
Edit:
4 hours of idling and I finally have something that is approaching a decent idle. Most of my setting swere still spot on from the first time I found them, idle valve etc. A big issue I am having now is that my VE cells have to be whole numbers, no decimals. I can't get the VE rock solid. It will oscillate from 15.0-15.2. Now I know, richen it up and it will be easier, and this might be how I have to do it. I'll play with the VE a little more on another day. Thanks for the great thread!
Edit:
4 hours of idling and I finally have something that is approaching a decent idle. Most of my setting swere still spot on from the first time I found them, idle valve etc. A big issue I am having now is that my VE cells have to be whole numbers, no decimals. I can't get the VE rock solid. It will oscillate from 15.0-15.2. Now I know, richen it up and it will be easier, and this might be how I have to do it. I'll play with the VE a little more on another day. Thanks for the great thread!
Last edited by miatauser884; 07-12-2011 at 02:22 AM.
#17
This makes sense. I'm running the mario version code. he did something so that you could control the idle valve for a given CLT during closed loop mode. I think my problem may be that this table is fighting the PID algorithm. I guess I need a better understanding of what is going on in the mario code. Any idea. My PWM duty table IS an option for closed loop.
#18
Here is a screen cap of what I am talking about. I wonder if I should revert back to the regular code. Maybe this table is more of a bandaid for a less then ideal spark/ve tune around idle. It did seem to work, Almost making closed loop pointless. I gusee I'm a glutton poor punishment. I just can't accept not getting the PID tuned well.
#19
oh I dunno the mario code. It must be an open loop table used as a reference...that should be tuned without any closed loop. Then when you tune it and activate closed loop it has a reference point to work with, it'll default to the duty table, and use closed loop if it strays too far off the target.
it's a better way of doing it and I know Ken is working on something like that for Ms3.
and fwiw, all the closed loop code should be doing it rapidly getting to your target and then maintining it. Once you're at an idle speed, the idle duty should be more or less flat, only needing to compenstate for any changes in load/MAP/AFR/timing that effect the engine speed.
An open loop table only will output the dutys exact how that duty table dicates regardless of any other input.
it's a better way of doing it and I know Ken is working on something like that for Ms3.
and fwiw, all the closed loop code should be doing it rapidly getting to your target and then maintining it. Once you're at an idle speed, the idle duty should be more or less flat, only needing to compenstate for any changes in load/MAP/AFR/timing that effect the engine speed.
An open loop table only will output the dutys exact how that duty table dicates regardless of any other input.
#20
Once you make sure your fuel and spark tables are smooth and consistent in your idle zone. I like to do the following things:
1. Learn your min/max idle duty %. You can do this two ways, the first being using idle valve test mode and bumping the duty up and down until you no longer see a noticable change in engine speed. remember the values, for a 90-93 you'll see it around ~25-62%. Aslo make sure to remember the RPMs these duty values obtain. The second method is using the Warm-up only mode and doing the same thing, just make sure you are doing it in an area that your CLT temp is sitting at. You should have one of your dashboard gauges displaying the idle PWM% so you know exactly what the MS is outputting.
2. Once you learn these values, plug them into your PID closed loop idle control parameters. So Idle Open Duty %, Idle Valve closed Duty %, RPM with valve closed, and RPM with valve open.
3. Now I like to start tuning, first, make sure your RPM targets are flat across the board for now, try 1000RPM to start. Now, turn PID values all to zero. Turn on your headlights and a/c blip the throttle and upset the idle and it will probably lock at >2500RPM. you can turn them off now. Now, start increasing the I value. When you slowly add I, you'll notice the RPMs slowly come down towards your target. Do this until you're within ~50RPM of your target...you'll notice the Idle PWM% moves in large chunks so it can only get close enough. Next start increasing P, cycle things like the headlights and a/c, the P term is used to reach your target faster when something causes it to move from your target...you should end up with a term that's above, maybe even double, that of I. Reduce it if you start to oscillate. Lastly you can increase D term, It dampens the effect so you dont overshoot the target when P and I are driving it up to the RPM target. You shouldn't need much.
This is the quick and dirty method and should get you rolling smooth and stable within a few minutes. Make sure the rest of the parameters are tuned to your liking, such as the TPS trigger, dashpot, delays, PID lockup settings, etc.
1. Learn your min/max idle duty %. You can do this two ways, the first being using idle valve test mode and bumping the duty up and down until you no longer see a noticable change in engine speed. remember the values, for a 90-93 you'll see it around ~25-62%. Aslo make sure to remember the RPMs these duty values obtain. The second method is using the Warm-up only mode and doing the same thing, just make sure you are doing it in an area that your CLT temp is sitting at. You should have one of your dashboard gauges displaying the idle PWM% so you know exactly what the MS is outputting.
2. Once you learn these values, plug them into your PID closed loop idle control parameters. So Idle Open Duty %, Idle Valve closed Duty %, RPM with valve closed, and RPM with valve open.
3. Now I like to start tuning, first, make sure your RPM targets are flat across the board for now, try 1000RPM to start. Now, turn PID values all to zero. Turn on your headlights and a/c blip the throttle and upset the idle and it will probably lock at >2500RPM. you can turn them off now. Now, start increasing the I value. When you slowly add I, you'll notice the RPMs slowly come down towards your target. Do this until you're within ~50RPM of your target...you'll notice the Idle PWM% moves in large chunks so it can only get close enough. Next start increasing P, cycle things like the headlights and a/c, the P term is used to reach your target faster when something causes it to move from your target...you should end up with a term that's above, maybe even double, that of I. Reduce it if you start to oscillate. Lastly you can increase D term, It dampens the effect so you dont overshoot the target when P and I are driving it up to the RPM target. You shouldn't need much.
This is the quick and dirty method and should get you rolling smooth and stable within a few minutes. Make sure the rest of the parameters are tuned to your liking, such as the TPS trigger, dashpot, delays, PID lockup settings, etc.
Thread
Thread Starter
Forum
Replies
Last Post
StratoBlue1109
Miata parts for sale/trade
21
09-30-2018 02:09 PM
Mikel
MEGAsquirt
4
09-28-2015 05:46 PM