Es gibt da ein älteres Programm von waste, das die Vorgehensweise beim PID-Regler gut zeigt:
https://www.roboternetz.de/phpBB2/ze...&highlight=pid
https://www.roboternetz.de/phpBB2/vi...=285825#285825
Den entscheidenden Teil des Programms, der den PID-Regelalgorithmus abbildet, ziehe ich heraus:
Code:x = don - doff; // Abweichung yp = x * kp; // P-Anteil berechnen isum += x; // Begrenzung um Überlauf zu vermeiden if (isum > 16000) isum = 16000; if (isum < -16000) isum = -16000; yi = isum / 625 * ki; // I-Anteil berechnen yd = (x - xalt) * kd + drest; // D-Anteil berechnen if (yd > 255) drest = yd - 255; else if (yd < -255) drest = yd + 255; else drest = 0; y = yp + yi + yd; //Stellgröße des PID-Reglers







Zitieren

Lesezeichen