speeduino
speeduino copied to clipboard
IAC IAT PWM Curve addition
Feature Request: IAT vs IACV correction table #750
I decided to add a curve for IAT IAC corrections. I was going to do a 3d table, but that takes up too much space. 120 bytes vs 40 bytes. This PR only uses 9 additional bytes for IAT IAC Duty cycle table. the IAT bins is shared with airDenBins
Hi, I checked it with my TS and its good, remaining is to test in the actual car. will let you know when i have access to it
.
hey. does it work with 202202 firmware? cant find it in table now in TS when i updated the firmware
Yes
On Fri, Jan 14, 2022 at 8:14 AM choyr @.***> wrote:
hey. does it work with 202202 firmware? cant find it in table now in TS when i updated the firmware
— Reply to this email directly, view it on GitHub https://github.com/noisymime/speeduino/pull/766#issuecomment-1013152577, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO6IHZDWTKGBSC56QYLUN6TUWAVVXANCNFSM5LRLE55A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>
can you teach me how? On Friday, January 14, 2022, 08:54:49 PM GMT+4, shiznit304 @.***> wrote:
Yes
On Fri, Jan 14, 2022 at 8:14 AM choyr @.***> wrote:
hey. does it work with 202202 firmware? cant find it in table now in TS when i updated the firmware
— Reply to this email directly, view it on GitHub https://github.com/noisymime/speeduino/pull/766#issuecomment-1013152577, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO6IHZDWTKGBSC56QYLUN6TUWAVVXANCNFSM5LRLE55A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>
— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.Message ID: @.***>
did you load the new speeduino.ini file?

LOL. i was looking for a new menu, but you put it inside IAC PWM. thanks! On Friday, January 14, 2022, 10:09:27 PM GMT+4, shiznit304 @.***> wrote:
did you load the new speeduino.ini file?
— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.Message ID: @.***>
Did you tried to use the OL+CL mode? It will solve your issue without any modification needed. This compensation can be done with the PID settings
Did you tried to use the OL+CL mode? It will solve your issue without any modification needed. This compensation can be done with the PID settings
I haven't tried it in a long while. The PID tuning was way too difficult
Forget PID, @Tjeerdie added last year a mode to combine open loop and closed loop, with all 0 at PID it behaves like open loop, then you start changing the PID to get better results. I have added to steper too and works almost like an OEM for me and him.
long time im also not using closed loop. i still like the simplicity of open loop.
I have a long TODO item to make a manual how to tune open+closed loop. It really is not difficult and really works well to account for these type of slowly changing variables like IAT temperature.
short open+closed loop idle tuning manual:
- Select open+closedloop.
- Set all PID values to zero
- Tune the openloop table so you get in the ballpark of desired closedloop RPM for each coolant temp. Lower RPM is better than too high.
- Tune the PID (For IAT compensation and most others a small I gain of 0.38% would be sufficient, but better result can be obtained by really tuning)
- Set Integral reset above 2% TPS
- Set integral reset to 300RPM.
The problem I see with fitting in all those factors separately into open loop is that there are many variables to account for (each with own curve). And not many people need them. (This is the first time i hear about IAT compensation for example, but that could just be my experience). But all these make it unnecessarily complex for the average user. And also taking up a lot of EEPROM and RAM.
Yeah this feature isn't really needed with properly tuned open + closed loop idle. Also I don't remember seeing this kind of feature on any aftermarket or oem ecu.
BTW Tjeerd if you write that manual, I can add it to wiki.
alright. summer is coming, i will try again the open + closed loop. but like i said, summer in middle east reaches 50+C and IAT goes up to 80C when at traffic, and the idle is affected. that is the only big thing i notice when using open loop, other than that, it works perfectly.
i just tried it, and still not as good as it is. its probably because the 500hz single wire IACV of hondas are not easy to tune. openloop + idle advance + idleup is still better, but to compensate for that high IAT, there is no way other than what shiznit did. it works and would like to be added to FW update.
I am in favor of this PR also.
I daily drive my car and have my open+closed loop idle pretty dialed in from 40F-100F IAT but once I hit 110F IAT my idle starts to hunt which it doesn't do under other conditions (110F is close to the 40C in table in PR where 2% duty is added).
I will keep tweaking my PID settings. It has only just warmed up where I live so I have only had a few days at these IAT temps and only after driving hard and parking and heat soak.
I am in favor of this PR also.
I daily drive my car and have my open+closed loop idle pretty dialed in from 40F-100F IAT but once I hit 110F IAT my idle starts to hunt which it doesn't do under other conditions (110F is close to the 40C in table in PR where 2% duty is added).
I have said this many times, but in most of the cases, the hunting idle and other idle related problems have nothing to do with the idle valve control, but almost always it's caused by lack of tuning in fuel/spark maps.
13.9 target Ego is usually +/-2% Spark is between 15-19 around target area
Its not hunting forever at those temps I just notice it dive then hit target and then dip slightly then come back and be fairly steady as in instead of bouncing around +/-10-15rpm like normal maybe its 20-25. It only happens at higher IAT temps and under electrical load. I am also curious to see the pr merged that reduces jitter how it will affect the readings I see.
Im going to keep trying to tweak it.
I am with @pazi88.
Hunting is usually more spark/AFR table related. Or even EGO related. (I always have hunting when i enable ego during idle). A change in MAP (because of changing RPM or Temperature) causes speeduino to change to a higher cell in the VE or Spark table. The engine reacts to that change in VE or spark with change in MAP value and falls back to the lower cell. And the cycle continues.
It can also be incorrectly tuned DFCO. Where DFCO is kicking in. Or incorrectly tuned idle control. Where RPM hysteresis is set wrong. Or maybe TPS is noisy and jumps from 1% to 2% and therefore switches to idle vs no idle control active.
Anyway I stay with my point. open+closed loop should work really well to counteract all slowly changing parameters (like IAT). I suspect IAT is not changing 10 deg per second. Open+closed lopo idle control does NOT help against hunting or any other fast changing variables.
I looked back on my old tunes and my pwm duty cycle was higher before I enabled ol+cl idle. But once i enabled ol+cl and started messing with settings I had lowered the idle pwm(when I think I should have lowered my "I") and then I lowered my "I" from pid before it got hot which ended up running really well for me. I just raised my pwm duty and my minimum iac value under pid and will see if that helps keep it from dropping under load and if not I will change my duty back and disable ego at idle. Will see if it idles too high now or if it is a good middle ground. It might just be ego. Im still running simple until I have a good chance to dial in ego pid.
Thanks for the tips.
The simple mode is especially prone to cause hunting because how it works. And usually main reason for hunting is that you don't have enough cells/resolution at idle area for VE map to really dial it in. So small change in map/rpm can lead to change in AFR and thus causes oscillation.
I only put .03 at I and it still hunts, not always but most of the times. Then 1 more issue with CL is when idle up goes active. It takes a lot of time to tune the PID and im still not satisfield. My ve and ign table are perfect. Ego correction is not active. Maybe it all depends on what iacv and engine you have. Like i said, mine is a 500hz single wire iacv. Most iacv only have up to 250hz, and 2 wires. What is the best way? Implement both. This is only a correction so less memory usage. If ol+cl works for yours, then its great but it does not for my case.
I think there was a PR to fix idle up for closed loop and open+closed loop. I also have code to add idle pwm based on voltage. And two other idle up features to compensate for power steering and idle down in neutral
On Fri, Mar 4, 2022 at 11:27 PM choyr @.***> wrote:
I only put .03 at I and it still hunts, not always but most of the times. Then 1 more issue with CL is when idle up goes active. It takes a lot of time to tune the PID and im still not satisfield. My ve and ign table are perfect. Maybe it all depends on what iacv and engine you have. Like i said, mine is a 500hz single wire iacv. Most iacv only have up to 250hz, and 2 wires. What is the best way? Implement both. If ol+cl works for yours, then its great but it does not for my case.
— Reply to this email directly, view it on GitHub https://github.com/noisymime/speeduino/pull/766#issuecomment-1059694293, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO6IHZH2TGUTJG2VFBFDJALU6LWDJANCNFSM5LRLE55A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>
Is it combined with this code or in a differen pr?
I haven’t released it. I just hard coded some unused pins on the mega for idle up 2 and 3.
On Sat, Mar 5, 2022 at 4:37 AM choyr @.***> wrote:
Is it combined with this code or in a differen pr?
— Reply to this email directly, view it on GitHub https://github.com/noisymime/speeduino/pull/766#issuecomment-1059739874, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO6IHZF7SDAEWOHN56P5K7DU6M2ORANCNFSM5LRLE55A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>
The IACV for my 2000 Miata with stock ecu uses the following parameters: IAT, RPM, CLT, MAF, TPS, Neutral Switch, clutch switch, power steering switch, A/C input switch.
I have my ol+cl idle nearly perfect now thanks to comments above.
It only had issues at high iat + high acc load and the issue was that it would dip coming off throttle and then EGO would kick in and oscillate a bit. I took EGO off at idle as it is usually really close to target AFR anyways and this got rid of the oscillation from the ego trying to recover after the dip but the dip still happened.
Then I discovered that my 0s delay for DFCO didn't work well for me and when playing with settings I found .5-1 second delay to do much better. Then the other thing that helped me was changing my injector voltage correction set points from those provided in the basemap(be careful though voltage table axis is shared with dwell correction also). I still dont have my correction table perfect but have recently started using MegaLogViewer and I believe its called the histogram table view which has a z axis that you can use to choose a dataset to populate the cells in the table and I can see what my battery voltage was at a certain map/rpm and then switch the z axis again to see what my afr was in that cell and so forth and I think that makes the data easier for me to interpret. That view may also help isolate any other issues you have and to find other ways to compensate.
IAT pwm correction would have also resolved my issue but I feel like what I have done will help me with more than just my idle now. I still think the temps mentioned are pretty extreme though. It does not get that warm here and when it does get to our higher temps I will see if my issue pops back up at all. For now things seem to have improved.
I am going to test for a while longer and see if there are any spots in my tune I can dial in better with megalogviewer and then after more testing and when everything is near perfect under various weather conditions I might see if I can drop rpm limit back below idle for EGO and try fine tuning pid EGO control. (Maybe now I will have less issues with it causing oscillation as the dip is so minimal at this point)
i just tested it again, and IAT IACV Correction table works perfectly. IAT reached up to 70C and it increased IACV by 7%, maintaining 900 rpm. I just noticed that X axis IAT Density table uses the same X axis table of IAT IACV.
.
Hey man, just tried again with 202207 firmware and everytime made any change and try burn to the controller, it hangs.. anyway, the IAT PWM correction table still works.
I noticed that too. There may be a bug with the latest page.
On Sun, Jul 24, 2022 at 9:53 AM choyr @.***> wrote:
Hey man, just tried again with 202207 firmware and everytime made any change and try burn to the controller, it hangs.. anyway, the IAT PWM correction table still works.
— Reply to this email directly, view it on GitHub https://github.com/noisymime/speeduino/pull/766#issuecomment-1193333716, or unsubscribe https://github.com/notifications/unsubscribe-auth/AO6IHZH7RGN4NHN4I6WL4X3VVVKHNANCNFSM5LRLE55A . You are receiving this because you authored the thread.Message ID: @.***>
i thought this feature is already included in the main firmware. this is a big help to me, without this, engine dies specially now its summer.
any idea how to fix the issue?