muythaibxr wrote:I have not changed either of them because the vast majority who forget about how ideal PID works and just tune it with numbers that work for them get it to work fine. All of them would be forced to retune if I change it.
That is true, but as we don't have huge map's for PID parameters, i guess the rework is reasonable. A switch of course for compatibility would be awsome for those who are happy and don't want to upgrade.
I just can't follow your problem with the bias?! If course i understand the unit problem, but i don't see where the difference concerning units is between classical PID and TypeC PID.
I-Part windup, i guess is the same now and with classical PID. But here also a classical controller might help.
if we detect for example load/N changes we can disable or switch to a slower kI in dynamic and let the error dependend P part take over short term.
Also an overall min/max limitation of the I-Part is of course helpful, but this is already implemented some kind of with the controller authority calibration.
In my oppinion if the controller output should be percent (%), i guess input&error would work best as lambda difference so:
e = lambda setpoint - current lambda
esum = esum + e
output = Kp * e + Ki * Ta * esum + Kd * (e – eold)/Ta
eold = e
with Ta = calculation recurrance to equalize if recurrance changes to keep factor weighting equal.
As i'am now switching to MS3 for the next season, if the development team decides to do a test on classical PID, i'am more then willing to support as a alpha or beta tester.
Honda CRX B16A1 Turbo | MS3 running | pre1.5.1 beta7 Firmware | 24/1 Dual Wheel | COP ignition | 725cc ID injectors