Smoothieware/Smoothieware — pull request #563 by PetteriAimonen (2014-12-19 20:19:30+00:00)
Title: Pid improvements

Improve the operation of PID temperature control.

1) http://koti.kapsi.fi/jpa/stuff/other/therm_test/report.html (current edge / new default is first image, pull request + config is last image)
This feature is off by default, set temperature_control.hotend.oversample_freq to e.g. 1000 Hz to enable it.
By oversampling the ADC value, we get more accurate and less quantized temperature readings.
This in turn makes the PID D-term behave better and improves temperature stability.
The effect is largest at high temperatures (>200 C), where the steps are larger with 100K NTC.

2) http://koti.kapsi.fi/jpa/stuff/other/therm_test/overshoot.html
This was suggested by ElMonkey. It reduces overshoot by not winding up the I term when output is already saturated. There was already windup handling, but this way is more effective. Effect is most notable when the heater is high-powered, which in turn is useful for getting up to print temperature fast without waiting.