Forum: Mikrocontroller und Digitale Elektronik PID-Regler aus ARM CMSIS DSP Library


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Walter T. (nicolas)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

ich versuche gerade die Implementierung des PID-Reglers aus der ARM 
CMSIS DSP library zu verstehen. Beschrieben ist das Ganze hier: 
https://www.keil.com/pack/doc/CMSIS/DSP/html/group__PID.html

Zum ersten: Was will der Autor mit der Rückführung in dem Bild sagen?

Zum anderen: Wie passt das Bild mit der Implementierung zusammen?

Reglergleichung

P-Anteil:
Klar - es wird y_{n-1} addiert und sofort wieder abgezogen, damit man 
für den I-Anteil den integrierten Regelfehler nicht als separate 
Variable einführen muss.

I-Anteil:
Normal (bis auf dass die Zeitschrittweite in K_i eingerechnet ist).

D-Anteil:
oder
Was passiert hier? Es wird die Differenz der Differenz der letzten drei 
Eingangswerte gebildet. Das sieht so nach zweiter Ableitung aus, die 
aber für den D-Anteil nicht benötigt wird.

Grüße
W.T.

Nachtrag: Mit zwei Stunden Abstand ergibt sich doch ein Sinn:

Der D-Anteil läßt sich auch so schreiben:
Es ist also einfach der Differenzenquotient der letzten beiden 
Eingangswerte gemeint. Und wie beim P-Anteil wird der D-Anteil des 
letzten Schrittes, der in y_{n-1} noch drinsteckt, wieder abgezogen.

Ich habe keine Frage mehr. Ich lasse das hier aber trotzdem stehen, 
falls irgendein Google-Sucher auf die gleiche Frage stößt.

: Bearbeitet durch User
von Walter T. (nicolas)


Bewertung
0 lesenswert
nicht lesenswert
Problem gelöst.

von aSma>> (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Servus,
mit Verlaub ein paar kleine Anmerkungen meinerseits. Ein 
gegengekoppelter PID-Regler hat wenig Sinn. Da fehlt eine Strecke oder 
einfach offen lassen.

Ein PID Regler besteht aus folgenden Teilen: yn = yP+yI+yD
mit yp = Kp*xn_p,  yI = ...,  yD = ...

Die Summe muss die Ausgangsfunktion yn ergeben.

Deine Rechnung ist mathematisch falsch!

von Pandur S. (jetztnicht)


Bewertung
0 lesenswert
nicht lesenswert
Die Strecke ist implizit als =1 drin. y ist der Sensorwert, der 
zurueckgefuehrt wird.

von aSma>> (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Welche Erkenntnisse erzielt man dadurch?!

von Walter T. (nicolas)


Bewertung
0 lesenswert
nicht lesenswert
y ist der Reglerausgang, x ist der Reglereingang (in der Skizze hatte 
ich "e" drangeschrieben). Die Strecke ist gar nicht drin.

Das Bild soll vermutlich wohl nur sagen, daß y_{n-1} auch verwendet 
wird.

: Bearbeitet durch User
von aSma>> (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Walter T. schrieb:
> Das Bild soll vermutlich wohl nur sagen, daß y_{n-1} auch verwendet
> wird.

Das Bild zeigt eher sinnbildlich eine Regelstrecke. Die Variablennamen 
sind aber falsch gewählt. Die Variable "e" gehört nach der Summation. 
Der Autor nennt es "xn".

Beim reinen PID Regler gehört keine Rückkopplung hin, da diese eine 
grundlegend andere Übertragung ergebe.

Ich würde eher vorsichtig sein mit fremden Bibliotheken und würde diese 
ggf. erstmal validieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.