br3ttb / Arduino-PID-Library

1.93k stars 1.11k forks source link

Maybe your project needs Fuzzy logic #119

Open rtek1000 opened 2 years ago

rtek1000 commented 2 years ago

This Issue is just a small suggestion for those who are having difficulties in starting the controller operation, with very high Overshoot (probably due to the integral term that will accumulate a lot, while the system is still far out of the operating range, for example a cold oven).

I once saw a group present a course conclusion work, about Fuzzy logic being present in a crockpot, in conjunction with PID. This helped me to avoid Overshoot on a gas heater control, which I mounted. There was a lot of Overshoot, so I remembered this Fuzzy logic and tried to implement something similar, so that Overshoot would not occur anymore, I did something like setting the Setpoint value of the PID control gradually, in order to go up automatically without OverShut.

https://en.wikipedia.org/wiki/Fuzzy_control_system

https://www.omega.com/en-us/resources/pid-fuzzy-logic-adaptive-control

rtek1000 commented 2 years ago

It also looks interesting:

The frustrating thing about these processes is that with traditional PI or PID control they overshoot setpoint. Not sometimes, but always:

This can be maddening if you don’t know about it. You can adjust the tuning parameters forever and the overshoot will still be there; the underlying math makes it so. Proportional on Measurement changes the underlying math. As a result, it’s possible to find sets of tuning parameters where overshoot doesn’t occur:

Overshoot can still happen to be sure, but it’s not unavoidable. With PonM and the right tuning parameters, that sous vide or linear slide can coast right in to setpoint without going over.

http://brettbeauregard.com/blog/2017/06/introducing-proportional-on-measurement/