Wie funktioniert der PID-Algorithmus?

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:

  1. Passen Sie die Leistung einer Klimaanlage an, um eine Temperatur zu erreichen
  2. Gas geben oder bremsen, um eine Geschwindigkeit zu erreichen
  3. Passen Sie die Motordrehzahl einer Drohne an, um eine bestimmte Rotationsgeschwindigkeit zu erreichen

Einige Konzepte:

  1. 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.
  2. Der Zielzustand: Sollwert

Einige Fakten:

  1. Es handelt sich um einen iterativen Algorithmus. Wir müssen die Ausgabe basierend auf dem aktuellen Status ständig neu bewerten
  2. 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

Diagramm 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);
Deutsch