Was versucht PID im Allgemeinen zu lösen? Einfach ausgedrückt ist PID eine Möglichkeit, die Frage zu beantworten: Wie viel „Kraft“ muss angewendet werden, um von einem Zustand aus einen Zielzustand zu erreichen?
Einige Beispiele:
- Passen Sie die Leistung einer Klimaanlage an, um eine Temperatur zu erreichen
- Gas geben oder bremsen, um eine Geschwindigkeit zu erreichen
- Passen Sie die Motordrehzahl einer Drohne an, um eine bestimmte Rotationsgeschwindigkeit zu erreichen
Einige Konzepte:
- Die „Kraft“: Ausgabe des PID-Systems, auch bekannt als PID-Summe, es handelt sich im wahrsten Sinne des Wortes um die drei P/I/D-Komponenten, die addiert werden.
- Der Zielzustand: Sollwert
Einige Fakten:
- Es handelt sich um einen iterativen Algorithmus. Wir müssen die Ausgabe basierend auf dem aktuellen Status ständig neu bewerten
- Je höher die Frequenz, desto gleichmäßiger wäre das Steuersignal (vorbehaltlich Einschränkungen bei der Signalausführungskomponente – dem Aktuator)
Das Folgende ist ein Blockdiagramm des PID-Algorithmus
Das Folgende ist eine einfache Implementierung des Algorithmus
const dt = time - this._prevTime;
const error = setpoint - measurement;
this._i += error * dt;
const p = this.kp * error;
const i = this.ki * this._i;
const d = this.kd * (measurement - this._prevMeasurement) / dt;
const f = this.kf * (command - this._prevCommand) / dt;
this._prevCommand = command;
this._prevTime = time;
return (p + i + d + f);