1. PID-Reglern einfach den kompletten Regelparametersatz vor die Füße zu schmeißen und auf ein gutes Ergebnis zu hoffen, funzt in der Regel nicht.
Setz mal iGain und dGain zuerst auf 0 und erhöhe pGain langsam, bis Ist möglichst nahe am Soll landet und nicht überschwingt.
2. Der Tausch von Ist und Soll bei der Übergabe tauscht zwar das Vorzeichen von "error", für "position" wird dann allerdings der Sollwert weiter verwendet. Zumindest der dTerm wird damit zum Quatsch.
3. Auch ohne Verständnis der ganzen Mathematik eines
PID sollte man zumindest mal grob abschätzen, was der Code treibt.
Lesezeichen