Forum: Analoge Elektronik und Schaltungstechnik PID-Regler selbsteinstellend


von Donald Duck (Gast)


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?

von Daniel Düsentrieb (Gast)


Lesenswert?

Google +PID +Autotuning 15.000 Hits

von hans (Gast)


Lesenswert?

gibt etliche einstelltabellen für pid regler

von Simon K. (simon) Benutzerseite


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.

von EMU (Gast)


Lesenswert?

google mal nach Ziegler Nichols und schau bei Wiki in dtsch und engl. 
nach
EMU

von Alter Schwede (Gast)


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=PP1&dq=pid%20auto-tuning&pg=PP1#v=onepage&q&f=false

von JW (Gast)


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.

von Simon K. (simon) Benutzerseite


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=PP1&dq=pid%20auto-tuning&pg=PP1#v=onepage&q&f=false

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).

von Purzel H. (hacky)


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.

von TestX .. (xaos)


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"

von Purzel H. (hacky)


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.

von Donald Duck (Gast)


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!)

von Michael (Gast)


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...

von Purzel H. (hacky)


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.

von Peter S (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.