Sale ends todayGet 30% off any course (excluding packages)
Ends in --- --- ---
I have had a hard time getting a good idle on my Mustang with the 347 stroker. It doesn't have an aggressive cam. I cannot get it to reach the 850RPM idle target. It's always hovering at about 950 or higher and I spent hours in the tune trying to do all sorts of things to bring this idle down. I can get it close but when you press and let off the throttle the rpm will dip below the target and then bounce back up and settle at about 100rpm over target again. The AFR seems to be ok moving around between 13.8 to 14.5. My timing is 16 degrees at idle. I was watching one of the videos here and it said that idle should be at around 35kpa so I'm definitly a bit off there however this is a different engine so I'm not sure if that applies to me. With the idle air control valve unplugged I set the throttle plate to about 700-750rpm and when I plug in the IAC it goes up over the 850 target and settles at about 950. Ive spent a lot of time adjusting the PID closed look idle and it feels like I'm chasing my tail. Nothing in the tune seems to help bring the idle down. Should I try to close the throttle body even more so the idle with the IAC unplugged is below 700RPM? If it matters I'm using the Tuner Studio Ultra and have the megasquirt PNP3. It seems like if I lower my timing at idle it will slow down the engine a little but then when I bump the gas pedal the engine will almost die. I have also made the row for 600rpm with 3 degrees more timing to help it recover to help stalling when the RPM dips down. Im starting to think maybe there is some kind of mechanical issue and not a tune issue. I have one of those smoke machines off amazon and I checked for vacuums leaks and its sealed up well with no leaks but then again that little smoke pump has very little pressure so maybe its not the best way to check for vacuums leaks. Let me know your thoughts I gave myself a headache with this.
Work on closing the throttle body more, you may find you need to increase timing as you close the throttle. That will lead to lower manifold pressure.
Another gotcha -- it's often hard to get good AFR/Lambda readings at idle. Try richer and learn and listen to how smooth it is. Give it what it needs.
V8's with larger intake manifolds often idle at higher manifold pressure -- it may just be what the engine wants.
Hey David thanks for the advice. I spent some more time on the idle earlier and I'm still not having any success. I closed the throttle plate screw some more and I am able to idle down the engine to my 850 RPM target but now that caused a whole set of other issues. If I press and release the throttle the RPM is now dipping far below the target and bounces back and forth a few times before smoothing out. I tried adding dashpot to slow down the rate that the RPM drops hoping to give it a soft landing into the target RPM and it does slow it down but creates another problem. It will drop slower towards the target but then it idles itself up to about 1,100 RPM and stays there for a few seconds and then finally goes back towards the target. There seems to be no happy medium here with this dashpot. It seems like either its doing too much and if you reduce it even just a little bit it doesnt do enough and the rpms just drop below the target on the way down. So the dashpot is not being helpful especially that if I was to settle with this weird effect where the rpm hovers way over target for a while its terrible driving it. Gear shifts have to be very slow and it's just not right.
The other thing I did was try to adjust the timing at idle and it seems like 16.5-17 is where it gives the least issues. Anything less than 16 degrees and it starts to hunt and anything more than 17 doesn't seem to make any change so I figured 16.5 is probably where I should leave it.
The closed-Loop Idle PID Gains sensitivity seems to be the most stable at ~600 which is on the low end of the scale since the max is 2000.
I tried all sorts of different things with the PID settings themselves and it seems like I can get the engine to sit there and idle ok but when it comes to the rpm drop on the way down from reving up the engine a little bit nothing seems to work. The only thing that helps is the dashpot but it causes problems with the rpm hanging for too long. The fueling seems to be fine as well. It is at 13.8-14.5 or so when it is sitting and idling smoothly so I dont think I have a fueling issue. Do you have any other ideas on what I can do here? I know the Ford factory ecu was tuned with a dashpot where you can tune how much dashpot to apply based on what rpm the engine is in. So you can have very little dashpot up in higher rpms but then the closer to idle it would get the more dashpot it would apply so the tuner studio doesnt seem to have that ability. Maybe thats what I need here
If the RPM is dropping on tip in, you might need some more acceleration enrichment. If I have a throttle hang above the idle control, I usually reduce the timing where it hangs so that it won't be able to maintain the torque there, and the engine speed will drop so that idle control can take over.
You have described a couple of times where the RPM goes below the target then rises above target and hangs. Perhaps you have too much Integral gain Start with that at 0. Google PID tuning, there is lots of stuff to learn about that. I would start by working on just the Proportional (I & D set to zero). Change the idle value up 100 RPM and observe that it does, change the target RPM down 100 RPM and see what it does. If it overshoots the change, reduce the P values until it doesn't. The try introducing a little bit of Derivative (start with 10-20% of the P value and then increase it) to see if you can improve the speed at which it reaches the new target with little to no overshoot.
I would probably try to log Target RPM, IAC position, Engine RPM, throttle position, manifold pressure, ignition timing, any compensations to fuel or ignition, AFR/Lambda, coolant temp, PID calculations, to get an idea as to what's going on. If the Megasquirt can log that at 50 hz, you might gain some insight into what's affecting behaviors you are observing.
Good Luck!
David thank you for helping me out and giving me really good detailed advice on how to get on the right track, I really appreciate you!
I went to work on the idle again and I seem to be starting to get some results. I'm not where I need to be yet but things are starting to happen. I double checked my fixed timing with a timing light and I was off very slightly so I corrected it and I'm 100% timed correctly now. The next thing I checked was that the Idle Value Minimum and Maximum Duty % was correct. The way I did this was by data logging the Idle Valve Duty while doing the Output Test Mode for the Idle Valve. Mine was initially set to 12 on the minimum and 51 on the maximum but looking at the data log nothing began to change until I got to 14 so I changed it from 12 to 14. The maximum was 51 and that was actually correct as on the data log it would not show the number increasing as I increased to duty in the test mode. I also changed the Frequency to 300hz like you said.
Before this the idle would not change when I would change the target idle. It would just do its own thing with no noticeable change however now when I ask it for 1100 RPM it will raise to around there within 3-4 seconds and then when I change the target to 900 it goes down to around 900 after 3-4 seconds. I'm not sure how quick or slow this change is, what do you think? Do you think this is too slow or is it ok? I played around with the Closed-Loop Sensitivity and if I go much over 600 it starts to make the idle hunt rising and dropping so 600 seems to be as much as I can get out of it before it starts to go out of control.
Now onto the PID adjustments. I started with the Proportional Gain first like you said but nothing happens at all that I can notice. Whether it's at 0 or 100 or even maxed at 200 nothing happens when I change the target RPM from 900 to 1100 back to 900. I only start to see changes when I increase the Integral Gain. So I put the Proportional Gain at 50% Integral Gain at 150% and Derivative at 0% and thats when I can actually make the RPM actually rise up or down based on what I set the target RPM to. I'm a little confused as to why the Proportional basically has no effect at all while the Integral seems to have a pretty significant effect. What are your thoughts on this?
I'm starting to feel like I'm on the right track but still definitely need to keep working on it. I'm getting close to having a steady idle however the issue of the engine almost stalling when the rpms come back down after I rev the engine up a little bit are still present and pretty significant. I'll see what you say and in the meantime I'll keep trying to get a steady idle with no hunting at least for now.
Thanks again for your help, I would probably not have gotten this far without you.
I don't have recent experience with Megasquirt. Is it possible that Proportional Gain and Closed-Loop Sensitivity are related? If changing P had little effect, what happens if you increase the CL Sensitivity then? Also you said P was limited to 200 -- verify that just in case you can use 500, 1000 or more.
3 seconds sounds about right for an Integral to "fix" things, but you will need more response for things like the Dash Pot to work. So leave Integral at 150%, set P to 100%, and try adjusting D to see if that helps make the response faster. Or try changing the CL Sensitivity,
A favorite saying of mine is "There are only 3 results from any change -- better, worse or the same" The whole goal is to figure out which result it was and only keep changes that are better. If you find the Idle Valve duty sitting too near one end of the range at your desired target idle speed, then adjust your throttle stop, so it will have more range in both directions.
Keep Going....
Hey David, I spent about 3 hours trying to get a grip on this idle and I need some more guidance unfortunately. I decided to give it a bit of a break because I'm sure all my neighbors have a huge headache listening to my V8 oscillating back and forth for hours lol
Let me start with what I think are the positive outcomes. So I think my timing and the idle RPM Timing Correction Curve table are ok because when I idle the engine with the Idle Air Control Valve disconnected it idles pretty smoothly as long as the electric cooling fans don't come on. When the cooling fans come on it oscillates up and down for about 6 seconds but eventually smooths out until the fans turn off and then it oscillates for about 6 seconds and smooths out again. This is at a very low RPM of about 650 RPM. I set the throttle screw to be open just enough so the engine idles on its own with no Idle Air Control Valve plugged in. Any less and the engine will stall so where I'm at it can idle on its own with no help from the Idle Air Control Valve. Based on this I think my engine and timing are good enough to rule out any mechanical or timing issues. So the next positive thing seems to be that if I change the idle control in the tune to Open-Loop and plug in the Idle Air Control Valve, based on what Pulse Width Modulation number I choose the idle will go up or down without much oscillation. At 25 PWM and the Idle Air Control Valve plugged in the engine idles at about 850RPM which is ~200 more RPM than with the Idle Air Control Valve unplugged and I would be ok with that idle. It idles pretty smoothly as it did when the engine idled with the Idle Air Control Valve unplugged. So I'm assuming this means that the Idle Air Control Valve is working and it does change the idle RPM based on what I put into the PWM value for the open loop idle.
So up to this point I thought I was making progress until I switch it to Closed-Loop Idle Control. Things immediately get much worse. The idle starts to oscillate up and down more and more making the engine stall because of the large swings up and down. So I think I can assume that this is definitely a tune issue specifically in the Closed-Loop Idle tuning portion. I started out by turning off the PID and setting it to basic where it just puts the PID to P-100% I-100% and D-0%. I then started experimenting with the Closed-Loop Sensitivity. In the description it says to use this adjustment to tune how aggressively the idle speed controller tries to reach the target RPM. Adjust the slider up until the idle starts oscillating, then back down until it stops. So I set it to max which was 4,000 and it revved the engine up to about 1,000-1,300RPM and it was rapidly oscillating up and down. I moved it to 3,500 and it calmed down but still was oscillating. Below 2,000 the oscillation slowed down but it became this slower oscillation. Even at 0 it would still oscillate slowly but still definitely there. I put the Tuning Mode out of basic and into advanced where it lets me adjust the PID to whatever I want from 0-200. Ive tried all sorts of different combinations of values and it has little to no effect. It seems like it makes some sort of changes to the oscillation but it's completely unpredictable and makes no sense. Whatever I can possibly put into the PID and Sensitivity is not enough to stop the RPM from oscillating up and down + or -200-300RPM at the idle. It can very easily go out of control and stall the engine. The electric fans coming on makes it worse but it is definitely present with the electric fans off as well.
I just don't know at this point. The only way I was driving the car around prior to this is to open up the throttle set screw pretty much to where I wanted the engine to idle but doing so probably defeats the purpose of having a Closed-Loop Idle system. The only thing I can think of at the moment would be that maybe the Closed-Loop Idle Initial Values table is wrong? I really don't understand the meaning of this table or how to find out what to put in it. It says, The best-guess idle valve duty for RPM/Load. This allows you to kick-start the closed-loop idle by setting the valve to the most likely position. Do you have any insight on how to set this table? I have tried increasing it and decreasing it however it didn't really have much noticeable effect other than if its set too high the idle will not want to come back down after revving up the engine so I just reduced it back down and left it alone.
It feels like rather than the closed-loop idle system to start adding PWM to the Idle Control Valve as the RPM is coming down and getting close to the target RPM, instead it only starts adding PWM after it already falls below or above and the PID seems to have little to no effect on this. It has these large reactions to the error after they happened and cannot predict that it needs to start doing something. Kind of like when you want to stop at a stop sign but don't actually press the brakes until you are literally right at the stop sign and then causing you to stop in the middle of the street and not at the stop sign.
If you have any ideas I would love to hear your thoughts. I'll go back out there and continue working on it and if I have any new updates I'll post them right away. Thank you again for your help, this is definitely a complicated issue.
I am back again with another few hours of tuning. I got the engine to idle ok but no matter what I do it just wont stop oscillating. I got the oscillation to get as small as I could however I just cannot get rid of it. The Idle Air Valve is just waiting too long to react to the RPM coming down so it falls below the target and then opens up overshooting the target over and over again. I was able to make this oscillation smaller by setting the Closed-Loop sensitivity setting at 500 out of a maximum allowable value of 4,000. Even at zero it would still oscillate so lowering it further does not fix the issue.
Do you think that since I'm running a Mass Air Flow Sensor there is something special I need to do? My Mass Air Flow Transfer Curve is very dialed in. I have done hundreds of data logs dialing it in and have really good results. My Target AFR and Actual AFR graph almost identically on my data logs and the engine runs really nice and smooth while driving. I know most people probably use Megasquirt in Speed Density but I have a really good Mass Air Flow Sensor and I would like to use it. It's the Pro-M 80 from Pro M Racing. I actually had them do an actual flow test for me and then I dialed it in to my setup using the data logs. Since my Fuel load is a MAF and Ignition Load is also set to MAF should I disable the MAP sensor in the general settings? Not sure if the ECU is using the MAP sensor for any calculations. I currently have it enabled, not sure if it should be disabled. On the Megasquirt PNP3 that I'm using I also see an option to choose a secondary fuel load. I have the secondary fuel load disabled right now but have the option to choose speed density. Do you think it's worth it to enable the speed density secondary fuel load since my MAF is dialed in really well and I'm not having fueling issues? I also have the option to have a secondary ignition load that I can choose speed density, not sure if this is something I should be doing or not. If I could get this idle from dropping past the target and then oscillating, my tune would be great otherwise so I'm really hoping there is a solution to this so I can finally enjoy driving the car on the street without stalling it out.
I've got another update. David I don't expect you to reply to every single one of these but I just want to make sure I add as many updates as I can because if there will be someone else in a similar situation they can read this some time in the future and help them get to a solution.
I think I have this idle situation as good as it's going to get. I ended up stopping messing with the PID and sensitivity and instead focusing on the dashpot. I was worried about raising the dashpot because I don't want the RPM to hang while I am changing gears. Turns out that even at the full setting of 20 (In tuner studio it allows 0-20 for dashpot) it didn't make any difference as far as shifting gears so I began adjusting the dashpot. Below 10 the RPM just falls and overshoots the target idle and bounces around oscillating and sometimes stalling the engine. At high amounts of dashpot of 15-20 the rpm comes down slower and doesnt even get to below 1,000 rpm before it bounces back up. After some time of playing around with this I set the dashpot to 12.5% and it seems to be as good as it's going to get. The RPM doesn't dip below the target idle rpm anymore. It will come down and slow itself down to the target, overshoot a little bit and then come down. Ideally I would like it to just come down at a pace that it doesn't overshoot but just softly land into the target RPM and stay there but maybe I'm being unreasonable. I'm just going to leave it alone like this for now and revisit it maybe next week. Its not exactly what I want but I think that this being a 35 year old car and even though I'm using a pretty modern ECU maybe this is as good as it gets.
There is definitely a drawback to this that I will have to revisit in the spring time which is how the RPM drops to target with the AC on. I tried this and the current amount of dashpot I have is fine for no AC but as soon as I turn on the AC and rev up the engine the RPM comes down very fast and stalls the engine. When I raise up the dashpot it wont stall but then its way too much dashpot for when the AC is not being used. I'll have to see if there is a way to have a set dashpot for no AC and then a different dashpot for when the AC is on.
I'm happy with the progress I made, it's a big learning curve to get a grip on what kind of changes each of the different settings makes. I'm still getting that idle oscillation of 100-200 RPM but at least I got to get the engine to stop stalling when I would rev it up and let the RPM drop back down to idle. Idle is really hard to get right. I am having a much harder time with the idle than with the fueling and timing but getting closer each time I work on it.
Sorry Kris,
I was off at the PRI show for the last several days, and finally spent a day on the dyno with my own race car for once Sounds like you've gotten it about as good as it's going to get.
When I get an oscillation, I try to determine what is changing. (Ignition Timing, MAF or MAP, IAC position, AFR/lambda) Then I try to adjust the table values that are causing it. A steady Engine Speed means that the torque required is being supplied exactly by the air, fuel and ignition timing. Oscillation means that at some point, there is more torque produced than is needed and the engine speeds up, but it moves into an operating condition where it can't produce the torque necessary for that engine speed and so it slows down, eventually landing in a condition where more torque is supplied causing it to accelerate again.
Things I might try -- while the RPM Timing Correction Curve seemed ok with the idle air control disconnected, perhaps it is too aggressive when there is also an air change being made. Maybe it needs to be zero or very small for +/- 50 to 100 RPM, and let the closed loop IAC deal with the small changes.
Sometimes keeping the ignition curve fairly flat in the idle area helps.
Any chance acceleration enrichments is activating because the MAP value is probably changing. You might need to make sure that is not active when the engine is trying to idle (or maybe it's needed if the MAP is changing rapidly).
Hey David! That is so awesome that you went to PRI, I seen some pictures online and there were some badass cars! What kind of car do you have? Do you live in the Midwest? I'm in the Chicago IL suburbs.
I spent some more time making adjustments and thanks to your help I think I have this idle as good as it's going to get and it's in a place I am happy with. Surprisingly I got rid of those smaller oscillations but increasing the Closed-Loop Idle PID gains quite a bit. It seems backwards because on the description it says that if its oscillating to reduce the gain. I had the gain at about 500-1000 out of 4000 and I tried it going the other way and now have it at 3500 and it made the oscillations much smaller surprisingly. Another interesting setting I didn't expect to work is the PID settings. My Proportional Gain is only at 30% out of 200%, Integral at 110% out of 200% and Derivative at 175% out of 200%. It doesn't really make sense to me but it works pretty well. Its holding a pretty steady idle at 825 RPM, when I rev up the engine and let the RPM drop it doesn't stall or fall below the target RPM of 825, and even when my electric fans come on the idle is still steady. I tried to change the idle timing correction but if I make any changes I feel like it gets worse so I think the way I have it is fine. I have it set to add 1* of timing at -50RPM 2* at -100 3* at -200RPM and 4* at -300RPM and same thing in the other direction when the RPM goes over the target and timing is taken away. The dashpot setting was definitely a game changer. I had it set to 6 out of 20 and if I revved up the engine it the RPM would fall so fast that there was no chance of it not falling far below the target idle RPM and almost stalling the engine. I currently have it set to 12 out of 20 and it's pretty good there. When my target idle RPM is set to 825 and I rev up the engine the RPM will come back down quickly but it starts to really slow down once it gets to about 1,200 RPM and then bottom out at about 900 RPM and then rise to about 1,000 RPM for a second and then comes down to the target of 825 RPM. I have tried to reduce the dashpot to where it doesn't do that bounce from 900 to 1,000 RPM and then back down and settle at the target but there is no happy medium. Its either this or any less dashpot and it will start to drop past the target again so I'm just going to leave it as is and be happy with it.
I think I have this idle tune figured out and set well. Thank you for working with me on this and giving such detailed and helpful responses. I learned a lot and truly appreciate it! I hope I can return the favor somehow in the future one way or another!
Excellent news! I've been going to the PRI show for the last 20+ years. It's a chance to meet with our suppliers from all over the world, so necessary for my business. I live in California, so it's a couple of plane rides to get to Indy.
I'm tuning my 2JZ and right now I'm trying to master the idle with large cams. I was focusing too much on the AFR/O2 sensor. The car would run best at a richer AFR but the value seemed too rich. But I seen a post just like yours that said to more or less ingore the O2 at idle and just give the car what it wants. Slowly it's getting there :)