mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik PID-Regler selbsteinstellend


Autor: Donald Duck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich will eine Art Temperaturregelung mit PID-Regler bauen.
Wie finde ich dei optimalen Parameter?
Bisher fummel ich solange rum, bis es nicht mehr schwingt.
Den D-Anteil lasse ich im allgemeinen weg.
Kann man den Regler  (Software auf einem ATmega) nicht selbsteinstellend 
hinkriegen? Aber wie?

Autor: Daniel Düsentrieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Google +PID +Autotuning 15.000 Hits

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt etliche einstelltabellen für pid regler

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann den Regler (ohne weitere andere Parameter, die du aber wieder 
vorgeben musst) nicht automatisch einstellbar machen.

Denn, der Algorithmus kann nicht beurteilen, wann der Regelkreis für 
dich in Ordnung ist. Ein Regelkreis kann ja nicht nur "stabil" und 
"nichtstabil" sein. Sondern auch noch schnell, langsam, mit 
Überschwinger, ohne.. etc.

Du wirst also Grips reinstecken müssen.

Autor: EMU (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
google mal nach Ziegler Nichols und schau bei Wiki in dtsch und engl. 
nach
EMU

Autor: Alter Schwede (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Man kann den Regler (ohne weitere andere Parameter, die du aber wieder
> vorgeben musst) nicht automatisch einstellbar machen.

Der Satz macht nicht so richtig Sinn und ist in deinem Sinne falsch.

Für bestimmte Regler für bestimmte Strecken gibt es Algorithmen, um die 
Parameter zu bestimmen.

Du kannst das experimentelle Verfahren nach Ziegler-Nichols auch 
automatisch Ablaufen lassen. Da man unkontrollierte Schwingungen durch 
"ungeeignete" Parameter vermeiden will (Schäden an Anlage, Dauer des 
Einstellens) macht man es eben kontrolliert..

http://books.google.de/books?id=_99UubsEMGIC&lpg=P...

Autor: JW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Für bestimmte Regler für bestimmte Strecken gibt es Algorithmen, um die
> Parameter zu bestimmen.

Genau das meinte simon. Wenn die Randbedingungen bekannt sind.
Nur einfach so: "Regel mal optimal" ist zu wenig.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alter Schwede schrieb:
>> Man kann den Regler (ohne weitere andere Parameter, die du aber wieder
>> vorgeben musst) nicht automatisch einstellbar machen.
>
> Der Satz macht nicht so richtig Sinn und ist in deinem Sinne falsch.
Ja, etwas blöd ausgedrückt.
Wie auch immer: Es gibt selbsteinstellende Regler, aber denen muss man 
auch vorgeben, WIE sie einstellen sollen. Und damit hat man wiederum 
einen Parameter, wo man per Hand dran rumdrehen muss.
Man kann keinen Regler bauen, wo man nichts mehr dran einstellen muss.

> Du kannst das experimentelle Verfahren nach Ziegler-Nichols auch
> automatisch Ablaufen lassen. Da man unkontrollierte Schwingungen durch
> "ungeeignete" Parameter vermeiden will (Schäden an Anlage, Dauer des
> Einstellens) macht man es eben kontrolliert..
>
> 
http://books.google.de/books?id=_99UubsEMGIC&lpg=P...

Soweit ich weiß, hat Ziegler und Nichols irgendwie nur stark 
theoretischen Hintergrund. In der Praxis liegt man oft (hängt natürlich 
von vielen anderen Sachen ab) viel besser, wenn man per Handgefühl 
einstellt (sofern möglich) oder direkt ein richtiges 
regelungstechnisches Modell aufnimmt.

Trotzdem hat man bei den ganzen Einstellverfahren immer noch einen (oder 
mehrere) zusätzliche Parameter. Beim Ziegler-Nichols ist das (laut 
Wikipedia):

---
Bei Einstellung des Reglers nach diesem Verfahren wird ein leicht 
schwingendes Führungsverhalten (schlechter als beim Reglerentwurf nach 
dem Betragsoptimum) aber ein gutes Störverhalten erreicht.
---

Wenn man ein anderes Regelverhalten haben will, muss man eben andere 
Parameter bzw. Verfahren anwenden.

Fazit: Man kann keinen Regler aufbauen ohne irgendwelche Parameter 
festlegen zu müssen.

JW schrieb:
>> Für bestimmte Regler für bestimmte Strecken gibt es Algorithmen, um die
>> Parameter zu bestimmen.
>
> Genau das meinte simon. Wenn die Randbedingungen bekannt sind.
> Nur einfach so: "Regel mal optimal" ist zu wenig.

Genau. Denn was "optimal" ist, weiß nur der Benutzer (oder nicht mal 
der).

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man sollte auch die Faehigkeiten des Stellgliedes richtig einordnen. Ein 
Temperatursteller, die nur einen Quadranten (heizen) kann bedingt einen 
anderen Regler wie ein System, das zwei Quadranten (heizen und kuehlen) 
kann, auch wenn die Temperaturen auf der einen Seite (zB oberhalb) der 
Umgebungstemperatur liegen.
Man sollte sich die Zeit nehmen und eine Simulation schreiben.

Autor: Andi ... (xaos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es gibt sehr viele verschiedene verfahren wie man Adaptive Regler 
realisiert. im simpelsten fall PID wird die strecke durch ein PTn model 
approximiert und dadurch die parameter automatisch bestimmt und im 
betrieb angepasst. zB "least square method"

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der adaptive Regler ist das Stiefkind der theorielastigen 
Regelungstechniker und soll in der Regel ueberdecken, dass man weder 
eine Ahnung vom System hat, noch eine Ahnung haben will. Der adaptive 
Regler soll einfach mal machen - so schwierig kann's ja nicht sein -
Genauso wird der PID Regler verwendet wenn man weder eine Ahnung vom 
System hat, noch eine Ahnung von Regelungstechnik hat. Der PID soll 
natuerlich auch bei nichtlinearen Systemen optimal performen. Das hat 
Grenzen.
Was ich damit sagen will ... falls man eine Ahnung von Regelungstechnik 
hat, sollte man vielleicht mal eine Messung machen. Es kann sogar recht 
spannend sein.

Autor: Donald Duck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
O.. oha Jetzt ! schrieb:
> Der adaptive Regler ist das Stiefkind der theorielastigen
> Regelungstechniker und soll in der Regel ueberdecken, dass man weder
> eine Ahnung vom System hat, noch eine Ahnung haben will.

Hat da jemand die Wut auf die Reglungstechniker oder ist gar wegen 
Regelungstechnik aus dem Studium geflogen? Tsstsstss....


Autor: Andi D. (xaos) schrieb:
> es gibt sehr viele verschiedene verfahren wie man Adaptive Regler
> realisiert. im simpelsten fall PID wird die strecke durch ein PTn model
> approximiert und dadurch die parameter automatisch bestimmt und im
> betrieb angepasst. zB "least square method"

Wie kann ich das machen?
(Mein wichtigster Randparameter ist: niemals Überschwingen!)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Donald Duck schrieb:
> O.. oha Jetzt ! schrieb:
>> Der adaptive Regler ist das Stiefkind der theorielastigen
>> Regelungstechniker und soll in der Regel ueberdecken, dass man weder
>> eine Ahnung vom System hat, noch eine Ahnung haben will.
>
> Hat da jemand die Wut auf die Reglungstechniker oder ist gar wegen
> Regelungstechnik aus dem Studium geflogen? Tsstsstss....

Mag sein, dass der erste Satz ein wenig missverständlich war. Aber man 
muss schon sehr begriffsstutzig sein, wenn man hackys Ausführungen so 
falsch versteht...

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> es gibt sehr viele verschiedene verfahren wie man Adaptive Regler
>> realisiert. im simpelsten fall PID wird die strecke durch ein PTn model
>> approximiert und dadurch die parameter automatisch bestimmt und im
>> betrieb angepasst. zB "least square method"

>Wie kann ich das machen?
>(Mein wichtigster Randparameter ist: niemals Überschwingen!)

Temperaturregler ... was fuer eine Temperatur, was fuer eine Strecke, 
Medium ? Was ist die Funktionalitaet des Systemes ? Gibt es 
Stoergroessen ? Nichtlinearitaeten? Zeitabhaengigkeiten ? Was fuer ein 
Stellglied ? Wo wird wie gemessen ?

Ich bin auch seit ein paar Wochen an einem Temperaturregler. Ein Gas mit 
ein paar Hundert Grad, kann aber da wo ich sollte nicht messen, sondern 
raeumlich spaeter. Dafuer lass ich eine Simulation mitlaufen, und nehm 
den spaeteren Messpunkt. Das nennt sich dann Beobachter. Die Zeit geht 
drauf um das Modell anzupassen. Erst muss die Diskrepanz zwischen 
Messung und Simulation charakterisiert werden, dann kann man das Modell 
verfeinern, dann durch eine Messung die Parameter bestimmen, und testen. 
Und am Schluss sollte der Benutzer mit einer minimalen Anzahl von 
Paramtern in Beruehrung kommen.

Autor: Peter S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann manuell einen kleinen Sprung aufschalten und dann die 
Sprungantwort messen. Hiernach hofft man, dass sich die Strecke in 
einige typische Modelle vereinfachen lässt, z.B. P-T1 oder P-T2 
aperiodisch oder bei Schaltnetzteilen mit LC Filter auch P-T2 
periodisch. Oder auch integrierend etc. Thermische Prozesse sind fast 
immer mit aperiodischem P-T2 annäherbar.

Anhand der Sprungantwort und dem Modell erfasst man dann die relevanten 
Parameter wie stationäre Verstärkung, Zeitkonstanten etc. Hieraus 
rechnet man die Reglkerparameter aus. Es kann lästig sein, diese 
Parameter zu erfassen, wenn die Strecke langsam ist oder sich mit der 
Zeit ändert (Zeitvarianz).

Bekannte Einflussparameter wie z.B. Netzspannung auf Heizleistung oder 
strömende Medien sollte man rechnerisch kompensieren, so dass sie der 
Regler nicht sieht.

Nichtlinearitäten wie quadratische Zusammenhänge Spannung zu Leistung 
oder krumme Kennlinien der Sensorik kann man mit interpolierten Tabellen 
kompensieren. Der Regler kriegt dann nichts mit und regelt linear.

Wenn sich eien Strecke stark ändert, nimmt man die Parameter an 
verschiedenen Arbeitspunkten auf und hinterlkegt die Reglerparameter als 
interpolierten Parametersatz.

Diese Verfahren kann man automatisieren, indem man einen Algorithmus für 
Autotuning implementiert. Dies erspart aber nicht die vorgherige 
Abschätzung des groben Streckenmodelle. Man kann z.B. stationäre 
Verstärkung und Zeitkonstante vom P-T1 im Autotune messen und dann im 
Controller per Autotune die Parameter rechnen lassen - die Gefahr ist 
aber, dass sich die Strecke ändert und das System dann schwingt.


Will man nicht den klassischen, kontinuierlichen Regler anwenden, so 
bleiben Alternativen diskreter Regler mit Auslegung über 
Z-Transformation. Z.B. kann mnan auch hier einen Sprung aufschalten, die 
diskrete Streckenantwort messen und dann z.B. einen Deadbeatregler 
entwerfen. Es kommt auf die Applikation an, welches Verfahren letztlich 
einfach zum Erfolg führt. Mit Begrenzung der Parametergrenzen sollte man 
aber die Stabilität sicherstellen, wenn das Autotune fehlschlägt.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.