When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
Closed loop idle causing idle rpm to dip on return to idle
I've been dealing with a dip in rpm on return to idle for a while now. At times it was bad enough that the engine would stall out. I've minimized that by playing around with the timing table and throwing in a bit more timing than I'd like to around the idle range. I dug deeper into it today and it looks like it's happening because closed loop idle is compensating for an over rpm condition where it shouldn't be and pulling timing. I have the car set to idle at 800 rpm. It looks like closed loop idle starts to kick in at 1000 rpm and them almost immediately applies the max ign correction that I have configured; 5 degrees retard. If you look closely at the below graph it even looks like the timing retard is starting to apply even before the closed loop idle is at level 3. Tbh, I'm not sure what the difference between levels 1, 2 and 3 are. Adaptronics idle control posts notes that closed loop should kick in a little before the target idle rpm. There any specific reason for this? Is it possible to adjust this? I feel like my PID controls are set to react pretty conservatively, but maybe someone can verify that for me. Any thoughts as to what else I can adjust?
If you put up your ecu file and datalog I'll try and give you a hand.
Ya, that's actually the post I was referring to where they said closed loop idle control kicks in a little above the requested idle rpm It's a great description of how it works, but I wasn't able to figure out my situation described above from the info in the post. Main problem seems to be that the PID gets way too aggressive with the timing retard too early. I could try slowing the reaction of the PID some more, but I don't want it to get sluggish when it's trying to maintain a smooth idle.
Ya, that's actually the post I was referring to where they said closed loop idle control kicks in a little above the requested idle rpm It's a great description of how it works, but I wasn't able to figure out my situation described above from the info in the post. Main problem seems to be that the PID gets way too aggressive with the timing retard too early. I could try slowing the reaction of the PID some more, but I don't want it to get sluggish when it's trying to maintain a smooth idle.
PID controls the idle air controller, the ignition timing is a basic lookup table with a few conditions to toggle it on and off. Post your ecu file if you need assistance mate.
Sorry to hear you have been having troubles with the rpm falling. This issue had admittedly plagued me on a few cars but I have found a good solution that simply doesn't have any negative effects. You simply Zero out the timing offset for the Over RPM target. only use the positive for when the rpm dips. There is no need to have negative timing in the "idle Igntion Timing Trim"
Shawn, ya that makes sense. I was thinking about doing that but didn't want to lose the ability for the ecu to pull down rpm quickly by pulling timing if needed. Probably not a bit loss so I'll give it a go. Those over rpm ignition retard numbers are definitely what causing the return to idle rpm to dip from what I can see in the log graph above. Ideally, given that Adaptronic kicks in the closed loop idle control ~200 rpm above the desired idle rpm, they'd add a slight delay, maybe 1-2s, before which the Idle Ignition Timing Trim map doesn't get referenced.
mrselfdestruct1994, good point re the pid only impacting the ICS. Didn't even occur to me.
Here's the ecu file you guys want to take a look.
Edit: Thinking about it some more, by the time rpm gets to the desired idle rpm, timing retard should be back to 0 according to the Idle Ignition Timing Trim map, which it looks like it is in the log screenshot above, yet rpm still drips. Does it make sense that there's a slight lag in time between the timing change and the engine's response? I would have expected it to be pretty instantaneous, but I guess there has to be some amount of time to impact the momentum of the engine as it decelerates.
Last edited by dawggpie; Nov 22, 2019 at 11:44 AM.
Shawn, ya that makes sense. I was thinking about doing that but didn't want to lose the ability for the ecu to pull down rpm quickly by pulling timing if needed. Probably not a bit loss so I'll give it a go. Those over rpm ignition retard numbers are definitely what causing the return to idle rpm to dip from what I can see in the log graph above. Ideally, given that Adaptronic kicks in the closed loop idle control ~200 rpm above the desired idle rpm, they'd add a slight delay, maybe 1-2s, before which the Idle Ignition Timing Trim map doesn't get referenced.
mrselfdestruct1994, good point re the pid only impacting the ICS. Didn't even occur to me.
Here's the ecu file you guys want to take a look.
Edit: Thinking about it some more, by the time rpm gets to the desired idle rpm, timing retard should be back to 0 according to the Idle Ignition Timing Trim map, which it looks like it is in the log screenshot above, yet rpm still drips. Does it make sense that there's a slight lag in time between the timing change and the engine's response? I would have expected it to be pretty instantaneous, but I guess there has to be some amount of time to impact the momentum of the engine as it decelerates.
What is happening is the engine has already lost enough TQ on decel that it cannot recover even with the idle compensation + its slamming the duty cycle down to reach the target so the combination of both of those causes this condition is what iv been finding.
Shawn, ya that makes sense. I was thinking about doing that but didn't want to lose the ability for the ecu to pull down rpm quickly by pulling timing if needed. Probably not a bit loss so I'll give it a go. Those over rpm ignition retard numbers are definitely what causing the return to idle rpm to dip from what I can see in the log graph above. Ideally, given that Adaptronic kicks in the closed loop idle control ~200 rpm above the desired idle rpm, they'd add a slight delay, maybe 1-2s, before which the Idle Ignition Timing Trim map doesn't get referenced.
mrselfdestruct1994, good point re the pid only impacting the ICS. Didn't even occur to me.
Here's the ecu file you guys want to take a look.
Edit: Thinking about it some more, by the time rpm gets to the desired idle rpm, timing retard should be back to 0 according to the Idle Ignition Timing Trim map, which it looks like it is in the log screenshot above, yet rpm still drips. Does it make sense that there's a slight lag in time between the timing change and the engine's response? I would have expected it to be pretty instantaneous, but I guess there has to be some amount of time to impact the momentum of the engine as it decelerates.
I'll post the fix back on here for whoever wants to use it. Tomorrow I'll be doing all my tuning for this weekend.
Sorry, I had a look but I don't see anything obviously wrong. I can see that RGHTBrainDesign has added some differential gain to your PID settings. Please let us know how it goes as I may try that myself.
Personally I might be inclined to add a bit more fuel below your target AFR so that as the RPM is falling it gains torque. You could try changing the 500rpm column to 12:1. You might also try reducing your ignition timing to 0 degrees flat in the map which will let you open up the idle air bleed a bit. If you post a datalog of the issue as well that might help.