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?
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.
google mal nach Ziegler Nichols und schau bei Wiki in dtsch und engl. nach EMU
> 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
> 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.
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).
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.
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"
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.
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!)
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...
>> 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.