Robbie Corbett
ClioSport Club Member
Painful hahah. To be honest I don't have any road car stuff to compare it to.
I suppose it's okay. I've been setting the channels up in the gentuner software, saving and exporting into GEMS data analysis software. Maybe better software to use, I'll have to look into it.
The resolution of some of the channels isn't great, and I haven't worked out how to set the logging frequency.
So a nice trick to help you visualise your closed loop response is to get the AFR's dialed in pretty well under open loop.
Say you get a steady 14 (or stochiometric if your using a narrow band) at slight throttle, 1500 RPM. Disable any acceleration enrichment and enable closed loop fuel with the target set to be the same as your observed (real) AFR. You should have very little to no correction %.
Set your closed loop AFR target table (assume you will have one) to be something like this:
Then while you datalog AFR against time take the no load RPM upto 1800 (or whatever your richer column of cells starts). At this point the PID should kick in and start trying to correct the error. Your tuned fuel table is all setup for 14 still while the target AFR is at 13.5. The closed loop should start to try and add fuel.
Your data log is basically plotting the closed loop response curve:
Obvs won't be as pretty as that! but will give you a good idea regarding your P,I and D terms - as you already know (but others might not) you will adjust the P term initially to achieve the desired initial rate of correction, the D term to deal with overshoot (as it effectively reduces P as you approach the target) and I to deal with long term errors, or an offset which doesn't go away.
Because you really want the closed loop fueling response to be pretty slow you will end up with quite small P and D and as a result a larger than expected I. If your control loop is too fast you will generally oscillate around the set point (even more true with narrow band), but also because the AFR can change so rapidly you end up driving the loop mad. You want to be ignoring all the small fluctuations and deal with the slower errors which would be caused by environmental or running conditions which are currently outside of your setup OR in many cases due to a missing table which the ecu designer didn't think was worth it or didnt even know about.
For example if the ecu was able to correct for combustion temperature or fuel grade etc... most cannot which leads to a tune error which cannot have been tuned for. Closed loop AFR is good for dealing with that at lower RPM and light loads (cruise idle blah).
Hope that rambling made sense
This is also the approach I use to set closed loop idle - I want the control loop to be slow and deal with the offset error (so 300rpm error), I use the faster advance curve to smooth the fast fluctuations. The advance method gives you a nice smooth idle, the closed loop idle correction gives you an idle at the correct RPM. If you ecu used PID idle it is likely the same algorithm the programmers used for AFR so the size of the terms will be in a similar ball park (maybe).
Good luck - self tuning is fantastic fun!