MS3 PID Idle Target - Why does it change when returning to idle?
#21
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Dashpot is slightly different than the initial valve table. If you are at 0% throttle and blip to 2% and let off, AND you meet the criteria to exit CL Idle, your initial values will take over but the Dashpot will NOT kick in.
Do the same thing, but change 2% throttle to 10%, and dashpot kicks in.
Dashpot helps keep the idle from shooting up 500 RPM when you barely gave it enough gas pedal come out of CL idle.
Why does my car not ramp to target when it's supposed to? PID settings are off, too much P or D, not enough I.
Change them to
P = 0
I = 200
D = 0
time interval for the control loop to 100 ms
And it will go to target in whatever time you tell it to. You'll need to tweak the P term a bit but my guess is you're using the slider, or you have settings with a lot of P and D, not enough I and it's overdamping the system to the point it can't reach the target you specify in the time you want it.
Do the same thing, but change 2% throttle to 10%, and dashpot kicks in.
Dashpot helps keep the idle from shooting up 500 RPM when you barely gave it enough gas pedal come out of CL idle.
Why does my car not ramp to target when it's supposed to? PID settings are off, too much P or D, not enough I.
Change them to
P = 0
I = 200
D = 0
time interval for the control loop to 100 ms
And it will go to target in whatever time you tell it to. You'll need to tweak the P term a bit but my guess is you're using the slider, or you have settings with a lot of P and D, not enough I and it's overdamping the system to the point it can't reach the target you specify in the time you want it.
#22
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
FWIW - I did a test today. Changed the PID Delay value from 2 sec to 5 sec. Here's the resulting log;
![](https://www.miataturbo.net/attachments/megasquirt-18/161736-ms3-pid-idle-target-why-does-change-when-returning-idle-80-idleevent_e93d834933056e5c50d384eca8c46b178f4ee606.png?dateline=1455058017)
The main trace is w/ PID delay at 5 sec, the compared trace is w/ PID delay at 2 sec. You can clearly see that the ramp down time is different (the white trace): 5.111 sec vs 1.786 sec.
@Pat;
My idle PID settings are: P = 55, I = 65, D = 2
As you can see from the trace above, my idle goes to the target RPM and doesn't oscillate (too much - could be better). I've had I as high as 100 and P as low as 0 but the settings above seem to be doing the job. Also, my control loop time interval is 60ms and I am using the slider (set to 1500). I am also using idle adaptive advance timing to "trim" the CL idle and it seems to be working a treat.
![](https://www.miataturbo.net/attachments/megasquirt-18/161736-ms3-pid-idle-target-why-does-change-when-returning-idle-80-idleevent_e93d834933056e5c50d384eca8c46b178f4ee606.png?dateline=1455058017)
The main trace is w/ PID delay at 5 sec, the compared trace is w/ PID delay at 2 sec. You can clearly see that the ramp down time is different (the white trace): 5.111 sec vs 1.786 sec.
@Pat;
My idle PID settings are: P = 55, I = 65, D = 2
As you can see from the trace above, my idle goes to the target RPM and doesn't oscillate (too much - could be better). I've had I as high as 100 and P as low as 0 but the settings above seem to be doing the job. Also, my control loop time interval is 60ms and I am using the slider (set to 1500). I am also using idle adaptive advance timing to "trim" the CL idle and it seems to be working a treat.
#23
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
FWIW - I did a test today. Changed the PID Delay value from 2 sec to 5 sec. Here's the resulting log;
![](https://www.miataturbo.net/attachments/megasquirt-18/161736-ms3-pid-idle-target-why-does-change-when-returning-idle-80-idleevent_e93d834933056e5c50d384eca8c46b178f4ee606.png?dateline=1455058017)
The main trace is w/ PID delay at 5 sec, the compared trace is w/ PID delay at 2 sec. You can clearly see that the ramp down time is different (the white trace): 5.111 sec vs 1.786 sec.
@Pat;
My idle PID settings are: P = 55, I = 65, D = 2
As you can see from the trace above, my idle goes to the target RPM and doesn't oscillate (too much - could be better). I've had I as high as 100 and P as low as 0 but the settings above seem to be doing the job. Also, my control loop time interval is 60ms and I am using the slider (set to 1500). I am also using idle adaptive advance timing to "trim" the CL idle and it seems to be working a treat.
![](https://www.miataturbo.net/attachments/megasquirt-18/161736-ms3-pid-idle-target-why-does-change-when-returning-idle-80-idleevent_e93d834933056e5c50d384eca8c46b178f4ee606.png?dateline=1455058017)
The main trace is w/ PID delay at 5 sec, the compared trace is w/ PID delay at 2 sec. You can clearly see that the ramp down time is different (the white trace): 5.111 sec vs 1.786 sec.
@Pat;
My idle PID settings are: P = 55, I = 65, D = 2
As you can see from the trace above, my idle goes to the target RPM and doesn't oscillate (too much - could be better). I've had I as high as 100 and P as low as 0 but the settings above seem to be doing the job. Also, my control loop time interval is 60ms and I am using the slider (set to 1500). I am also using idle adaptive advance timing to "trim" the CL idle and it seems to be working a treat.
Try the settings I posted and see what happens. Your RPM's oscilate while it goes to target in the pic you just posted. They could be MUCH better. Mine would follow to target withing 25 RPMs and not vary at all. And I could run 2 sec, 5 sec, whatever. I found the slider did what you posted, overdamped.
#26
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
![](https://www.miataturbo.net/attachments/megasquirt-18/161969-ms3-pid-idle-target-why-does-change-when-returning-idle-80-idleevent_e987e6048c8cbd6366652982ba6b49e2bb812da5.png?dateline=1455128151)
What I noticed;
- The RPMs seemed to drop about the same but the green trace shows there was a bit less oscillation coming down to the target w/ Pat's settings (the lighter trace).
- The red trace shows that the Idle Duty drops a lot quicker to the setpoint without so much as a wiggle.
- I'm going to have to reduce my IV Table 'cause there were a few instances of this;
![](https://www.miataturbo.net/attachments/megasquirt-18/161970-ms3-pid-idle-target-why-does-change-when-returning-idle-80-idleevent2_47c29908f30911411495688037b7352ed36c0f07.png?dateline=1455128151)
Where coming off-throttle (TPS in yellow) causes the PID settings to set the IV too high (Idle Duty in red) which "spikes" the PID loop into an unintended oscillation - the exact opposite of what the table is supposed to be doing (as I understand it).
I want to get some longer idle events to make sure that perturbations (fans on/off) don't cause problems, and reduce my IV Table (methodically) to eliminate the spiking. But I think I've got some new CL Idle settings!
Thanks Pat
![Biggthumpup](https://www.miataturbo.net/images/smilies/biggthumpup.gif)
#30
Boost Czar
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/admin.png)
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
pat's 0 - 200 - 0 settings.
on your log:
what's the scale of the idle duty we are looking at? rpms dont seem very reactive to changes in the idle duty.
im assuming you have adaptive timing turned on as well a battery voltage idle correction?
my idle was bonkers stable, and that was before the easy pid slider, look-up tables, idle targets easing entering PID, and all the other improvements.
this shows mine with a/c and headlight actiavtion:
on your log:
what's the scale of the idle duty we are looking at? rpms dont seem very reactive to changes in the idle duty.
im assuming you have adaptive timing turned on as well a battery voltage idle correction?
my idle was bonkers stable, and that was before the easy pid slider, look-up tables, idle targets easing entering PID, and all the other improvements.
this shows mine with a/c and headlight actiavtion:
#31
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
everything is auto-scaled.
Idle Duty max; 42.7, min; 23.9 on that plot. What you're seeing is a drop from 32.5 to 26.7.
Lights on/off seem to not change the idle that much (if any). Fans on/off have a bigger impact (I'm running both fans in parallel). Other than that my idle is pretty stable - just need to spend more time w/ initial values - but this freakin' weather is driving me crazy! One morning it's 20*, the next it's 50* (I'm exaggerating, of course, but not much). Makes for a helluva a time trying to test things.
Idle Duty max; 42.7, min; 23.9 on that plot. What you're seeing is a drop from 32.5 to 26.7.
Lights on/off seem to not change the idle that much (if any). Fans on/off have a bigger impact (I'm running both fans in parallel). Other than that my idle is pretty stable - just need to spend more time w/ initial values - but this freakin' weather is driving me crazy! One morning it's 20*, the next it's 50* (I'm exaggerating, of course, but not much). Makes for a helluva a time trying to test things.
#33
Boost Czar
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/admin.png)
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
that's where the voltage idle % compensation comes into play. you can kick up the idle speed if the voltage drops AND you should be using adapative timing so it advances the motor to maintain idle targets.
#34
Retired Mech Design Engr
![](/mt2011/images_td/ranks/supporter1.gif)
iTrader: (3)
Join Date: Jan 2013
Location: Seneca, SC
Posts: 5,011
Total Cats: 859
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Brain,
I do use adaptive timing. I'm not complaining about my idle, just giving Wyatt some more options. Also, Reverant's voltage control on the MS3 is so strong that I don't see any voltage lag until about 600 RPM's, which is basically only if I'm trying to stall with the clutch. So compensation of idle % with voltage is not meaningful.
But I'll be open minded and look for short voltage dips just as lights come on, to see if it even shows on Tuner Studio. Or do you think it is possible that the dip could be short enough to not show, but long enough that the idle valve compensation could be meaningful? That will have to wait until I get the car running again.
I do use adaptive timing. I'm not complaining about my idle, just giving Wyatt some more options. Also, Reverant's voltage control on the MS3 is so strong that I don't see any voltage lag until about 600 RPM's, which is basically only if I'm trying to stall with the clutch. So compensation of idle % with voltage is not meaningful.
But I'll be open minded and look for short voltage dips just as lights come on, to see if it even shows on Tuner Studio. Or do you think it is possible that the dip could be short enough to not show, but long enough that the idle valve compensation could be meaningful? That will have to wait until I get the car running again.
#35
Senior Member
iTrader: (1)
Join Date: Sep 2011
Location: Lambertville, NJ
Posts: 1,215
Total Cats: 74
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Back on topic: Has anybody really figured out yet, why the target rpm is going to current rpm when entering CL? There was some conjecture going on, but so far no definitive answer if I recall properly. Should we just set the "Time to reach target" to 0 and get rid of the whole thing?
#36
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
I am using adaptive timing, but "only" +/- 4 degrees - should I consider more?
Back on topic: Has anybody really figured out yet, why the target rpm is going to current rpm when entering CL? There was some conjecture going on, but so far no definitive answer if I recall properly. Should we just set the "Time to reach target" to 0 and get rid of the whole thing?
#37
SADFab Destructive Testing Engineer
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/moderator.png)
iTrader: (5)
Join Date: Apr 2014
Location: Beaverton, USA
Posts: 18,642
Total Cats: 1,866
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Megasquirt Support Forum (MSEXTRA) ? Idle Control - methods? (View topic)
#39
Boost Czar
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/admin.png)
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
When youre controlling the alt, the voltage stays at ~14.2v and doesnt ever move.
The NA alternators dip with voltage hits (like activating lights, a/c, fans, etc) and you can use that to react to and open the idle valve against and tune it quite well to keep things stable
Even though the voltage stays stable with teh NB alt, the engine load might change, but you can't compenstate for that really beyond the PID code just reacting to the load change.