Forum: Mikrocontroller und Digitale Elektronik PID Regler Parameter rechnerisch bestimmen?


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 M. S. (perilun)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann mir bitte sagen, ob es möglich ist bei der PID Regelung die 
Parameter P, I und D rechnerisch zu bestimmen? Das Ziel ist es, dass in 
einem Programmcode die Bestimmung dieser Parameter automatisch erfolgen 
soll.

Danke!

von Jan H. (j_hansen)


Bewertung
0 lesenswert
nicht lesenswert
Klar.

(Wenn du die Strecke kennst und weißt, wie du regeln möchtest).

von Dussel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das geht, aber selbst wenn ich noch wüsste wie, wäre das für einen 
Beitrag zu lang. Da braucht man schon ein paar Vorlesungen, bis man da 
ist.
Zuerst braucht man mal die Übertragungsfunktion der Strecke. Daran 
scheitert es oft schon, denn die kann man oft nicht so einfach 
aufstellen.

von Chris K. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danach Pole und Nullstellen ausrechnen, Bode Diagramm Zeichen, alles auf 
Stabilität prüfen. Ja, definitiv Stoff für ein Semester

von M. S. (perilun)


Bewertung
0 lesenswert
nicht lesenswert
Chris K. schrieb:
> Danach Pole und Nullstellen ausrechnen, Bode Diagramm Zeichen,
> alles auf
> Stabilität prüfen. Ja, definitiv Stoff für ein Semester

Diesen Vorgang kenne ich.

Ich kann aber nicht z.B. einen C++ Code Programmieren, welcher einen 
Bode Diagramm zeichnet oder mit Hilfe eines Nyquist Diagramm die Pole 
und Nst. bestimmt.

Aus diesem grund die Frage, ob es eine rechnerische Methode gibt?

: Bearbeitet durch User
von Dussel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
M. S. schrieb:
> Aus diesem grund die Frage, ob es eine rechnerische Methode gibt?
Wenn der Nenner 0 ist, ist es ein Pol, wenn der Zähler 0 ist, eine 
Polstelle. Oder liege ich gerade total falsch?
(Mit dem Sonderfall, dass beide 0 sind.)

von M. S. (perilun)


Bewertung
0 lesenswert
nicht lesenswert
Dussel schrieb:
> M. S. schrieb:
>> Aus diesem grund die Frage, ob es eine rechnerische Methode gibt?
> Wenn der Nenner 0 ist, ist es ein Pol, wenn der Zähler 0 ist, eine
> Polstelle. Oder liege ich gerade total falsch?
> (Mit dem Sonderfall, dass beide 0 sind.)

Die Frage ist wie kann man einen PID Regler z.B. in C++ Programmieren?

Ich meine jetzt nicht den Code, sondern die Formeln!

: Bearbeitet durch User
von Narf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hier findest du diesbezüglich einen einfach nachzuvollziehenden 
Einstieg:

http://rn-wissen.de/wiki/index.php?title=Regelungstechnik

von Michael M. (michael89)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Hab mir mal die Formeln aus Wikipedia gesucht und den selber 
nachprogrammiert. Funktioniert super.

Würde die Begriffe Tv,Tn,Kp nach googln um dein Regler richtig 
einstellen zu können. Diese ergeben sich aus der Übertragungsfunktion.

Hab die Werte für P,I,D einzelt im Code berechnen lassen. Musst nur die 
Funktion erweitern das nicht die Stellgröße sondern P,I,D ausgegeben 
wird.

Bei delta_t stellst du die Zeit ein in der die Funktion Regelmäßig 
aufgerufen wird.

Bei mir lass ich die zyklisch alle 0,1 Sekunden aufrufen darum --> 
delta_t=0.1;

Mfg
M.V

: Bearbeitet durch User
von M. S. (perilun)


Bewertung
0 lesenswert
nicht lesenswert
Danke! Werde ich mal ausprobieren!

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.