Forum: Mikrocontroller und Digitale Elektronik Regelung


von Boris (Gast)


Lesenswert?

Hallo zusammen,

ich habe einen Regelkreis mit einem PI-Regler und einer P-Tt-Strecke 
(also einer Strecke mit Verstärkung und Totzeit). Die Totzeit leigt bei 
etwa 150ms und der Verstärkungsfaktor bei 8. Nun soll ich den PI-Regler 
auslegen. Leider habe ich keine Ahnung wie man das mit einer Totzeit 
macht... Könnt ihr mir weiterhelfen?

Gruß
Boris

von Maik (Gast)


Lesenswert?

entweder Linearisierung, d.h. "Enfernen" der Totzeit mit einem 
Offset---Resultat ist eine reine P-Strecke

oder Einsatz eines Smith-Prädiktors

von Christian (Guest) (Gast)


Lesenswert?

Ggf kann man das alles mit SCILAB / SCICOS  (o.ä.)
simulieren.

soll gut sein und nix kosten, ;-)

SCILAB ist so etwas ähnliches(!) wie MATLAB
- aber nicht kompatibel o,s, (wie octave)

Falls da noch mehr gemacht werden soll,
Regler testen, etc. ist das ggf. nutzbar.
(habe keine Erfahrung mit SCICOS)

Ob das anwendbar ist = ?

von Maik (Gast)


Lesenswert?

Kommt ja überhaupt drauf an, was Du wie regeln willst.

Soll es eine reine Simulation sein, ist es eine prakt. Anwendung,.....

Der Reglerentwurf ist nicht trivial, die Nutzung von z.B. Rltool in 
Matlab ist dabei sehr vorteilhaft.

von Christian (Guest) (Gast)


Lesenswert?

Nur so:

MATLAB kostet
scilab = 0 Teuros

von N. K. (bennjo)


Lesenswert?

Hallo,
eine Totzeit ist immer Gift für eine Regelung!
Grundsätzlich gehst du her und legst dir eine Grenzfrequenz fest, bei 
der die Verstärkung 1 sein soll. Diese würde ich einfach mal mit 
1/doppelte Totzeit anfangen. Also knapp 3 Hz. Jetzt setzt du deine 
Reglerverstärkung so, dass bei 3Hz eine Verstärkung des offenen Kreises 
von 1 rauskommt. Dann setzt du das Zeitglied auf nochmal einiges unter 3 
Hz ... würde einfach mal ne Sekunde ausprobieren.

Das ganze lässt sich in einem Freqenz-Gang-Phasen-Diagramm recht schön 
sehen.

Also das ist natürlich alles nur pimaldaumen ... aber in der Praxis 
wirds so gemacht.

Gruß,
Nikias

von Boris (Gast)


Lesenswert?

Danke für die Infos!

Es handelt sich dabei um eine praktische Anwendung die nun auch mal von 
der theoretischen Seite betrachtet werde soll. Der Aufbau ist 
folgendermaßen: Eine Sollstrom wird vorgegeben (bspw. 100A) und der 
Iststrom gemessen (bspw. 40A). Die Regeldifferen (also 60A) geht in den 
PI-Regler (welcher ausgelegt werden soll). Der Regler spuckt die 
Stellgröße aus, welche in die P-Tt-Strecke (Totzeit 150ms, Verstärkung 
8) geht. Der Iststrom wird dann über die Rückführung wieder an den 
Sollstrom gekoppelt.

Da eine Neuberechnung der Werte nur alle 100ms erfolgt, kommt noch hinzu 
dass die Zykluszeit der Istwertabfrage auch alle 100ms erfolgt, das 
Signal also diskret vorliegt. Muss dies dann anders betrachtet werden?

Da bei der theoretischen Betrachtung das "ausprobieren" wegfällt und ich 
die Totzeit nicht entfernen kann, hoffe ich erneut auf eure Hilfe.

von Maik (Gast)


Lesenswert?

Wenn die Neuberechnung deiner Werte aller 100ms stattfindet, hast du ja 
schon mal die Abtastzeit Ta deines Reglers ;-)

Ich bin mir nicht sicher, ob sich für ein System mit dominierender 
Totzeit überhaupt ein theoretischer Reglerentwurf durchführen lässt, da 
jedesmal in der Übertragungsfunktion dieses "e-hoch "haste nicht 
gesehen"" auftaucht. Diese Übertragungsfunktion hatte auch einen 
speziellen Namen, der fällt mir aber grad nicht wirklich ein.
Für den diskreten Fall gilt das selbe.

Stehen Dir denn Tools für Reglerentwürfe, z.B. oben genanntes Rltool von 
Matlab zur Verfügung (z.B an einer Hochschule)?

Übrigens haben die Softwaretools für den Reglerentwurf nichts mit 
"ausprobieren" zun tun, es lässt sich hiermit eine Reglerparametrierung 
korrekt und auch wissenschaftlich anhand vorgegebener Grenzen 
(Überschwingweite, Einschwingdauer,.....) durchführen.

von Boris (Gast)


Lesenswert?

Hallo Maik,

ja, Matlab/Simulink steht mir zur Verfügung.

von Maik (Gast)


Lesenswert?

Achso, bei Einsatz eines Smith-Prädiktors lässt sich das ganze glaube 
theoretisch berechnen, da hier der Regler nur die Strecke ohne Totzeit 
"sieht", und ein einfacher Reglerentwurf für eine P-Strecke ausreicht. 
Theoretisch habe ich das selber noch nicht durchgeführt, müsste aber 
funktionieren.

von Boris (Gast)


Lesenswert?

allerdings sagt mir die Funktion Rltool nichts und mit einem 
Smith-Prädiktor hatte ich bisher auch nichts zu tun. Gibt es dazu ne 
gute Hilfestellung/Erklärung?

von Maik (Gast)


Lesenswert?

Gib mal in Matlab "rltool" ein, hat auch eine vernünftige Hilfe.

Wichtig ist, das Du die Totzeit vorher Pade'-approximierst, mit der 
Darstellung "e-hoch" kann Matlab nix anfangen. Zweite oder dritte 
Ordnung reicht normal aus.

Zum Smith-Prädiktor findest Du eigentlich genug im Netz und in Büchern.

von Boris (Gast)


Lesenswert?

Und das kann ich auch auf diskrete systeme anwenden? Denn im diskreten 
Bereich sind wird doch der Laplace-Parameter s durch Transformation von 
z erstezt?

von Maik (Gast)


Lesenswert?

Das überlege ich auch grad.
Bis Du denn an die 100ms gebunden, die zurzeit vorliegen?

Ansonsten könntest Du die Abtastzeit stark verringern und hättest eine 
quasikontinuierliche Regelung, da funktioniert es auf jeden Fall.

von Boris (Gast)


Lesenswert?

Nein die Abtastzeit kann ich leider nicht verändern! Das ist genau mein 
Problem...

von Maik (Gast)


Lesenswert?

Verstehe ich das richtig, das Dein Chef, Auftraggeber, was auch immer 
nur eine vorhandene Regelung optimiert haben will, d.h. neue (bessere) 
Reglerparameter?

Und diese Parameter sollen dann nur in den vorhandenen Algorithmus 
impementiert werden. Oder hast Du noch andere Möglichkeiten, z.B eine 
Änderung des Algorithmus?

von Boris (Gast)


Lesenswert?

Ist ein Projekt der Hochschule.

Im Vordergrund steht die Optimierung der Regelparameter, da die aktuell 
eingestellten Parameter einfach ein Zufallsprodukt sind. Nun sollen die 
optimalen Parameter erarbeitet werden und diese dann am Versuchsträger 
eingestellt und an die "realen" Bedingungen angepasst werden.

Ich kann aber auch noch Einfluss auf den Alogrithmus nehmen, wird 
derzeit aber eher wegfallen. Es sei denn ich kann es irgendwie 
theoretisch begründen...

von Boris (Gast)


Lesenswert?

Es soll so auch ein Vergleich zwischen Theorie und Praxis darstellbar 
sein...

von Maik (Gast)


Lesenswert?

Achso, das mit der Linearisierung und Offset oben ist Blödsinn, war früh 
am morgen.

Beschäftige Dich mal intensiver mit dem Smith-Prädiktor, das hat bei mir 
in einer Simulation sehr gut funktioniert. Praktisch ist er eher 
schlecht, man muss die Parameter der Strecke sehr genau kennen, bzw. 
dürfen diese sich nicht geringfügig ändern, sonst macht eine Regelung 
mit Smith-Prädiktor nicht wirklich "schöne Sachen". Aber für die Theorie 
ist das schon mal ein guter Ansatzpunkt.
Als zweite theoretische Möglichkeit kann man ja die quasikontinuierliche 
Regelung aufführen.

Weisst Du denn, nach welchem Prinzip die Regelung derzeit funktioniert?

Mit der diskreten Reglerparametrierung muss ich mich selber noch mal 
beschäftigen, ich weiss jetzt nicht genau, ob und wie das in Rltool 
funktioniert.

von Boris (Gast)


Lesenswert?

Was meinst Du mit nach welchem Prinzip?

von Maik (Gast)


Lesenswert?

Ich meinte, wie genau die Regelung derzeit funktioniert.

Ist es eine ganz "normale" Regelung mit einem diskreten PI-Regler?

von Boris (Gast)


Lesenswert?

Der Versuchsträger wurde um die Regelung erweitert (zuvor wurde der 
Strom nicht geregelt). Bei dem PI-Regeler handelt es sich meiner ansicht 
nach um einen Standardregler. Der Eingangswert wird im I-Anteil alle 
100ms hochintegriert (würde der Werte kontinuierlich vorliegen, wäre er 
schneller) und im P-Anteil mit einem konstanten Faktor beaufschlagt. Zum 
Schluss wird I- und P-Anteil addiert und verlassen den Regler.

Eigentlich wäre es eine kontinuierliche Regelung, nur die Zykluszeit von 
100ms lässt dies nicht zu.

von Boris (Gast)


Lesenswert?

Ist also alles "normal", bis auf die Strecke...

von Maik (Gast)


Lesenswert?

Und warum die 100ms? Einfach weil es so ist?

Mir ist grad was eingefallen:
"Ein korrekter theoretischer Reglerentwurf für ein System mit 
dominierender Totzeit ist praktisch eigentlich nicht möglich, da die 
Totzeit mittels Pade'-Approximation in ein Übertragungsglied unendlicher 
Ordnung überführt werden müsste" (Aussage eines Professors aus der 
Studienzeit)
Mit dem e hoch.... kann man ja nicht wirklich rechnen.

Also, entweder Approximation zweiter oder dritter Ordnung, da müsste es 
für den kontinuierlichen Fall gehen. Und ein Softwaretool zum 
parametrieren.Eine rechnerische Lösung muss ja hierfür nicht unbedingt 
sein, wenn es nicht ausdrücklich verlangt ist--und das kann ich mir 
nicht vorstellen, wäre ja Beschäftigungstheorie ;-)

Wie das jetzt für den diskreten Fall mit Pade' aussieht, kann ich leider 
nicht genau sagen. Müsste aber auch einfach zu transformieren sein.
Ich schau heute abend eventuell nochmal.

von Boris (Gast)


Lesenswert?

Der der Versuchsträger noch umfangreicher ist ergeben sich für diese 
Regelung 100ms als Abtastzeit. Der Sensor kann eh nicht viel schneller 
abtasten...

Wäre super wenn Du mal schauen könntest. Ich werde mir das mit dem 
Smith-Prädiktor heute Abend auch mal anschauen.

Beste Grüße
Boris

von Boris (Gast)


Lesenswert?

Wie ist das eigentlich? Ich habe eine Zykluszeit von 100ms und eine 
Strecke mit einer Totzeit von 150ms. Ist die Zykluszeit dann nicht auch 
eine Totzeit? Und wenn es die Regelung diskret erfolgt, habe ich dann 
überhaupt noch die Zykluszeit?

von Boris (Gast)


Lesenswert?

Für einen theoretischen Teil kann ich den Smith-Prädiktor ja verwenden, 
in der Praxis kann ich das Ding aber nicht nehmen. Die Toteit der 
Strecke variiert in einem gewissen Bereich...

von Boris (Gast)


Lesenswert?

Hallo kann mir jemand weiterhelfen?

von JÜrgen G. (psicommand)


Lesenswert?

Deine Zykluszeit geht nicht in die Totzeit mit ein, da du bei jedem 
neuen "Arbeitstakt" einen Wert einließt und den alten, abgearbeiteten 
wieder ausgibst... das ist nicht das Problem...
Die Zykluszeit wird dir mit deiner Totzeit ein größeres Problem... Es 
wäre sicherlich ein gutes wenn du die Zykluszeit verkleinern könntest...

von JÜrgen G. (psicommand)


Lesenswert?

Achja zum anderen... Du hast wenn du das ganze diskret aufbaust (OPV) 
keine Zykluszeit... Da hast allerdings andere Stellgrößenbeschränkungen 
wie Ausgangsspannung am OPV und die Slewrate...

von Boris (Gast)


Lesenswert?

"Die Zykluszeit wird dir mit deiner Totzeit ein größeres Problem... Es
wäre sicherlich ein gutes wenn du die Zykluszeit verkleinern 
könntest..."

Warum wäre es gut die Zykluszeit zu verändern? Damit das System nicht so 
leicht instabil werden kann?


"Achja zum anderen... Du hast wenn du das ganze diskret aufbaust (OPV)
keine Zykluszeit... Da hast allerdings andere Stellgrößenbeschränkungen
wie Ausgangsspannung am OPV und die Slewrate..."

Heißt das, ich kann den Regelkreis auch kontinuierlich aufbauen? Dachte 
dass man bei zyklischen Regelkreisen das diskret aufbauen muss... Wenn 
das so ist würde ich das ganze kontinuierlich betrachten, weiß nur nicht 
wie ich dann die Abtastzeit des Reglers einbeziehen soll...?

von Maik (Gast)


Lesenswert?

Guten Morgen,

wenn Du das ganze kontinuierlich aufbaust, hat der Regler keine 
Abtastzeit.
Darum heisst das ja kontinuierlich.
Oder eben du machst das ganze wie schon mal gesagt "quasianalog" und 
machst die Abtastzeit sehr klein (mindestens 10mal kleiner als kleinste 
Zeitkonstante---bei Dir 150ms Totzeit). Dann steht sie zwar immer noch 
in den Parametern des Reglers, spielt aber bei der Reglerparametrierung 
keine Rolle.

von Boris (Gast)


Lesenswert?

Danke für die Infos!

Gehen wir mal davon aus, dass ich den Regler quasikontinuierlich 
betrachte, also mit einer Abtastzeit von 10ms (oder die Abtsastzeit 
belibt bei 100ms und die Strecke hat eine Totzeit von 1s). Wie würde ich 
dann vorgehen um den Regler auszulegen?

von Maik (Gast)


Lesenswert?

-Pade'Approximation der Totzeit in zweite oder dritte Ordnung
-Eingabe der Übertragungsfunktion der Regelstrecke in rltool
-Vorgabe der Grenzen (max. 5% Überschwingen, oder wie auch immer)
-Verschieben der Pole an die vorgegebenen Grenzen
-Reglerparameter entnehmen
-simulieren ob richtig
-fertig

oder Smith-Prädiktor:

-Übertragungsfunktion der Strecke mit Prädiktor aufstellen
 (Totzeitanteil müsste entfallen)
-Reglerentwurf anhand dieser Ü-funktion
-simulieren
-fertig

von Boris (Gast)


Lesenswert?

Und wenn ich dann einen diskreten Regler entwerfen will?

Was wenn sich die Strecke wie folgt ändert: Verzögerungsglied, Totzeit 
und Proportionalglied (Zeit Verzögerung und Totzeit 500ms); Verstärkung 
8?

Grüße
Boris

von Maik (Gast)


Lesenswert?

Dann überträgst du Deine Reglerparameter des quasikontinuierlichen 
PI-Reglers in die Parameter des diskreten Reglers.

Eine Totzeit und Verzögerungszeit kann man nicht einfach zusammenfassen.
Ich empfehle Dir mal ein Buch der Regelungstechnik (z.B. Taschenbuch der 
Regelungstechnik, Lutz/Wendt o.ä.)
D

von Boris (Gast)


Lesenswert?

Wie unterscheiden sich denn die Totzeit von einer Verzögerungszeit bei 
einer diskreten Betrachtung?

Bsp. für meinen Fall:
Am Computer gebe ich meinen Sollwert vor (100A). Den Istwert (40A) 
erhalte ich alle 100ms aus meinem Messglied zur Verarbeitung am Computer 
(AD-Wandler). Die Regeldifferenz wird also alle 100ms neu berechnet. Der 
PI-Regler (auch am Computer umgesetzt) ändert dann der Regeldifferz 
entsprechend die Stellgröße (auch alle 100ms). Die Stellgröße schaltet 
dann über zwei Elektroniken und Kommunkationsbus einen 
Konstantstromverbraucher zu (oder ab). Diese Zuschaltung hat eine 
Änderung des Istwertes zur Folge, daher die Regelung...

Ist doch dann eine reine Totzeit, oder liege ich da falsch?

von Maik (Gast)


Lesenswert?

Wenn Du alle 100ms einen Messwert bekommst, dann ist das die Totzeit des 
Messgliedes.

Das heisst aber nicht, das der Regler dann alle 100ms die Stellgröße neu 
berechnet. Der kann auch alle 5ms neu berechnen, und das wäre dann 
"quasianalog".

Der Unterschied zwischen Totzeit und Verzögerungszeit steht in jedem 
Buch.

von Boris (Gast)


Lesenswert?

Oh, danke für den Hinweis.
Habe mal geschaut, der Regler berechnet etwa alle 60ms die Stellgröße 
neu. Der Istwert wird alle 100ms gemessen und die Zeit bis sich der 
Verbraucher einschaltet beträgt etwa 500ms. Daher werde ich diskret 
rechnen müssen? Für mich stellt sich noch die Frage, ob die Zeit in der 
die Elektronik und der Bus durchlaufen wird eine Verzögerungszeit oder 
Totzeit darstellen?

Grüße
Boris

von Tupf (Gast)


Lesenswert?

Ist dein System ein real-existierendes System? Oder steht dein System 
nur auf dem Papier?

Ueberlege dir erst einmal, wofuer du den I-Anteil vom Regler ueberhaupt 
brauchst. In vielen Systemen ist er unnoetig, ausserdem neigt er zur 
Instabilitaet und macht dein System nur komplexer. Eine Komponenente die 
zur Instabilitaet neigt hast du sowieso schon (Totzeit).

Also, ist es wirklich eine Anforderung, dass das System Regeldifferenz 
== 0 hat? Oder darf das System eine konstante Regeldifferenz im 
Ruhezustand haben?
Ausserdem: koennen die Sensor ueberhaupt so genau messen, dass ein 
I-Anteil im Regler gerechtfertig ist?

Tupf

von Boris (Gast)


Lesenswert?

Ja, es handelt sich um ein real existierendes System!

Der Regler fand ich mit I-Anteil vor... Aber kann mir gut vorstellen, 
dass ich den I-Anteil gar nicht brauche, die Regelabweichung muss nur 
klein genug sein. Der Regler darf beim erreichen dieser Regelabweichung 
(die versucht er ja nicht mehr auszuregeln) allerdings dann keinen 
Änderung des Stellwerts vornehmen. Wenn das so ist, wie ich es 
beschrieben habe und nur einen P-Regler einsetze, wie würdst Du dann an 
die Sache rangehen?

Wie meinst Du das: "Ausserdem: koennen die Sensor ueberhaupt so genau 
messen, dass ein I-Anteil im Regler gerechtfertig ist?"

von Tupf (Gast)


Lesenswert?

"Der Regler fand ich mit I-Anteil vor... Aber kann mir gut vorstellen,
dass ich den I-Anteil gar nicht brauche, die Regelabweichung muss nur
klein genug sein."

Waere gut, wenn du genau wuesstest, wie gross deine Regelabweichung sein 
darf.
Das nennt man in der Fachsprachen deine Anforderungen kennen!

"Der Regler darf beim erreichen dieser Regelabweichung
(die versucht er ja nicht mehr auszuregeln) allerdings dann keinen
Änderung des Stellwerts vornehmen."

Diesen Satz verstehe ich nicht ganz. Ist dein Regelsystem stabil und 
eingeschwungen, dann bleibt deine Regelabweichung konstant. Im 
allgemeinen gilt (bei linearen Systemen): je groesser der P-Anteil, 
desto kleiner die Regelabweichung. Allerdings neigen hohe P-Anteile zu 
Instabilitaet. Vielleicht schockiere ich jetzt alle Studenten oben, die 
dir zu irgendwelchen Smithpraedikatoren oder so ein Quatsch raten. Wenn 
es geht, wuerde ich einfach solange den P-Anteil vom Regler hochdrehen, 
bis dein System die Anforderungen erfuellt. Frequenzganganalysen und 
andere Verfahren haben das Problem, dass du dein System genau mit 
Differentialgleichungen beschreiben musst. Die Modellierung ist 
zeitaufwendig und machmal gar nicht moeglich, da du dein System nicht 
genau kennst.

"Wie meinst Du das: "Ausserdem: koennen die Sensor ueberhaupt so genau
messen, dass ein I-Anteil im Regler gerechtfertig ist?""

Alle Sensoren messen eine physikalische Groesse und setzen sie in der 
Regel in elektrische Signale um. Manche Sensoren sind sehr gut, manche 
nicht. Ich wuerde an deiner Stelle die Spec. deines Sensors studieren. 
Vielleicht misst er so schlecht, dass der Fehler eine Dimension groesser 
ist als deine Regelabweichung. Dein Regelkreis regelt nur so gut, wie 
dein Sensor misst.

Done!

von Maik (Gast)


Lesenswert?

Guten Morgen,

hier ist der Student (der keiner ist) und Dir zu irgendeinem "Quatsch" 
rät.

@Tupf
Dann erkär mir mal bitte, wie die Regelung mit einem P-Regler aussehen 
soll. Um die Regelabweichung möglichst klein zu halten, brauchst Du eine 
relativ große Verstärkung. Was ist dann mit der Totzeit bzw. was macht 
das System, wenn die Totzeit vorüber ist?

von Boris (Gast)


Lesenswert?

Die Regelabweichung ist nicht das Problem, von der Betrachtung würde ein 
P-Regler ausreichen.
Allerdings wird die Regelabweichung mit einem weiteren Wert (welchen man 
zur ersten Betrachtung konstant ansetzen kann) über ein Kennfeld (das 
ich beeinflussen kann) ausgegeben. Der Ausgangswert des Kennfelds ist 
entweder -1, 0 oder 1. Dieser Wert wird dann in der Regler geführt, wo 
durch den I-Anteil den Ausgangswert des Reglers erhöht oder verringert 
(je nach Ausgangswert, der im Bereich von 0 bis 100 liegt, also 
Verbraucher ein- oder ausgeschaltet werden).
Würde ich nun den I-Anteil im Regler weglassen, würde am Ausgang immer 
nur Werte zw. 0 und 1 erhalten, wo max. ein Verbraucher gesteuert wird! 
Erhöhe ich bei reinem P-Regler den Verstärkungsfaktor des Regler so dass 
alle geschalten werden, sind immer alle Verbraucher an oder aus...

Anmerkung: Der Ausgangswert des Reglers im Wertebereich von 0 bis 100 
bedeutet, dass bei 0 keine Verbraucher ausgeschalten werden, bei 1 wird 
ein Verbraucher ausgeschalten, bei 2 werden zwei ausgeschalten... und 
bei 100 alle Verbarucher ausgeschalten.

von Marius (Gast)


Lesenswert?

Würde ich auch mal gerne wissen wie man mit der Totzeit in dem Fall 
umgehen soll...? Vor allem da es sich um ein diskretes System handelt!

von Boris (Gast)


Lesenswert?

Da über die Ostertage keine neuen Beiträge dazugekommen sind, stoße ich 
den Thread nochmal an...

Kann man eigentlich an einem digital realisierten Regler die Dauer der 
Stellgrößenberechung beeinflussen, oder geht das nur von der 
Taktfrequenz der Reglerplatform abhängig?

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.