Traumflug
Traumflug
To be honest, your findings go quite a bit beyond my knowledge now. This shouldn't hold you back to experiment and improve the algorithm. If you want, replace it entirely....
Looks good! Of shall I say "breadcrumbs", like people in other forums do? Anyways, it's interesting to follow your work.
Nice! Is there a reason to turn conditional integration off, like misbehaviour in some situations or substantial more code size? If not, I think it would be a good idea...
> Keeping the #ifdef would let folks try [...] As nice as it would be if people would optimize their firmware, to my experience such behaviour is extremely unlikely. Instructions...
As this discussion is going on for several months now, it sits somewhere in the corner of my brain and develops slowly. Let me write down the current results. To...
> I'm unclear on your D term [...] Perhaps the behavior would be better described as a Bang-Bang term rather than D? Yes, also a valid description. The point is...
> The conditional un-integration already does this Ah, OK. Adding first, then substracting again. Let me sketch what I mean: ``` C void heater_tick(heater_t h, temp_type_t type, uint16_t current_temp, uint16_t...
We could also pre-guess heater_i as long as P is full steam to avoid gaps when nearing target temperature: ``` C if (pid_output_intermed < 255) { // integral [...] }...
> Pre-guessing heater_i, can make it accumulate to more than is needed. Yes, possible. Just as without pre-guessing in case you have a too steep Ki. Or a far too...
> we have P and as such an idea of how much power we need Answering myself: no, we don't. Assuming a perfectly isolated heater, P would heat up to...