Forum: Mikrocontroller und Digitale Elektronik Reglerentwurf - Bitte mal drüberschauen


von Bernhard (Gast)


Angehängte Dateien:

Lesenswert?

Hallo ihr alle,

für die angegebene Schaltung soll ich einen PID-Regler einstellen, 
besonderes Wichtig ist dabei die Reaktion auf Lastsprünge (nur 
zunehmend), der Sollwert verändert sich nur langsam.
Selbst eine bleibende Regeldifferenz von 2 V könnte bleiben, bloß 
größere Überschwinger sollten ausbleiben.
- Sollwert ca. 8 bis 45 Volt
- Laststrom 0,1 bis 4 A
- Ri vernachlässigbar
- PWM-Frequenz 200 kHz

* Ist mein Blockschaltbild für die Strecke so richtig?

* Bisher würde ich einen PI-Regler mit Störgrößenaufschaltung (I_Last) 
nehmen, die Dimensionierung würde ich nach Ziegler-Nichols machen, geht 
das so?

* Muss ich meine Reglerparameter sogar mit dem Sollwert verändern?


Liebe Experten, wie würdet Ihr so ein Problem angehen?

Viele Grüße und danke im Voraus,
Bernhard

von Nealpotter (Gast)


Lesenswert?

Den FET direkt auf den Cap durchknallen zu lassen ist eine schlechte 
Idee. Du hast die Spule und die Diode vergessen.

von Bernhard (Gast)


Lesenswert?

Ich kenne den Haken der Schaltung sehr wohl, aber diese kann ich nunmal 
nicht verändern. Die Schaltung funktionert so und wurde bereits 
(allerdings mehr schlecht als recht) geregelt.

von Nealpotter (Gast)


Lesenswert?

Zum Glueck ist der Trafo ein Schwamm mit einem genuegend grossen 
Innenwiderstand. Mit einem grossen Ringkern ginge das nicht. Du 
probierst dem Fet einen Widerstand proportional dem dutycycle zuzuweisen 
? Wenn er leitet hat er ein paar miliohm, und wenn nicht ist er offen. 
Der ESR des Kondensators ist hier Null. Ob man das darf ? Zum Regler, 
wenn ein Regelfehler zugelassen ist, sollte ein P-Regler genuegen.

von Frank (Gast)


Lesenswert?

Ziegler-Nichols verursacht ca 20% Überschwingen AFAIR. Außerdem könnte 
der I-Anteil in Verbindung mit der Stellgrößenbeschränkung (mehr als 
100% Duty geht halt nicht) zu unschönen Effekten führen. Wenn du 
wirklich 2 V Regeldifferenz tolerieren kannst, würde ich im ersten 
Versuch einen schnöden P-Regler untersuchen. Wenn der nicht schnell 
genug ist, einen PD.
Der I-Anteil macht den Regler nur unnötig langsam und bereitet 
Kopfschmerzen bei nicht absolut linearen Systemen (PWM mit 
Stellgrößenbegrenzung ist nichtlinear). Also weg damit. Einstellung des 
Reglers über Einstellregeln (Wikipedia) oder Simulation/Rastern der 
Parameter/Optimierung.

von Matthias L. (Gast)


Angehängte Dateien:

Lesenswert?

Die Regelung wird ohne SPule nicht richtig funktionieren, zumindest 
nicht, wenn du den FET nur an/aus schaltest.

Vielleicth hilft der Anhang weiter...

von Bernhard (Gast)


Lesenswert?

Vielen Dank für eure Antworten.

Faul wie ich bin, habe ich den Regler gerade mal als reinen P-Typ 
geschaltet und ein paar Kp-Werte ausprobiert; leider ohne Erfolg.

Wenn ich den Regler so auf kleine Lasten vernünftig einstelle, dann 
erreiche ich bei großen Lasten die Spannung nicht mehr.
Also benötige ich doch einen variablen Kp, oder?

von Bernhard (Gast)


Lesenswert?

@ Matthias
danke für das Rechenbeispiel.
Wieso soll diese Schaltung eine Regelung unmöglich machen?
Nehmen wir mal an, der MOSFET kann weggen Leitungsinduktivitäten und des 
Innenwiderstands des Trafos als linear einstellbarer Widerstand 
angesehen werden (in etwa geht das ja, weil die Schaltung ja bisher 
funktionierte).
Dann handelt es sich doch um einen einstellbaren Spannungsteiler mit 
Kondesator parallel zum Lastwiderstand.

von Matthias L. (Gast)


Lesenswert?

> weggen Leitungsinduktivitäten und..
>ieso soll diese Schaltung eine Regelung unmöglich machen?

Dann setz mal in mein Beispiel als L einige Nanohenry ein..
Sowas wirkt erst bei vielen Megahertz..
Außerdem ist bei L=0 mein Beispiel falsch, weil dann UL/sL=IL auf "Null 
durch Null" als Grenzwertbetrachtung rausläuft...
Immer wenn du den FET anschaltest, lädst du mit maximalem Strom den 
Elko...


>ands des Trafos als linear einstellbarer Widerstand

Dann führst du aber das Schaltreglerprinzip ad adsurdum!
Und kannst gleich nen FET mit analoger ansteuerung nehmen! Wäre auch 
einfacher im Aufbau (kein Sägezahn,...)

von Bernhard (Gast)


Lesenswert?

>> Immer wenn du den FET anschaltest, lädst du mit maximalem Strom den
>> Elko...
Ja, das ist sicherlich weder ideal noch sonderlich hübsch. Es fließen 
maximal knapp 20 A, wenn ich meinem Oszi trauen darf.
Aber wie gesagt ist die Schaltung nun mal gegeben (existiert ca. 50 mal 
und soll nur durch Firmware-Update verbessert werden).

>> Dann führst du aber das Schaltreglerprinzip ad adsurdum!
>> Und kannst gleich nen FET mit analoger ansteuerung nehmen! Wäre auch
>> einfacher im Aufbau (kein Sägezahn,...)
Der Ersatzwiderstand des Ventils ist bei idealem PWM doch
R = Rdson + d*unendlich, oder? So werden in Halbleitern ja auch 
Widerstände nachgebildet.

von Matthias L. (Gast)


Lesenswert?

>R = Rdson + d*unendlich, oder?

Ich würde sagen eher so:  R_mittel = Rdson / d

Aber eben nur im Mittel. Für ne Regelung gibt das Null Punkte. Weil 
immer im Einschaltmoment ein Riesenstrom fließt..

>So werden in Halbleitern ja auch Widerstände nachgebildet.

Hab ich noch nie gesehen, dass irgendwelche (Pullups)-Widerstände in 
Schaltkreisen mit PWM realisiert werden. Dort wird meineswissens die 
Sättigungskurve von selbstleitenden FETs als Funktion von Ugs verwendet.

von Bernhard (Gast)


Lesenswert?

>> Ich würde sagen eher so:  R_mittel = Rdson / d
Ok, Kopfnuss an mich.

>> Für ne Regelung gibt das Null Punkte. Weil
>> immer im Einschaltmoment ein Riesenstrom fließt..
Wieso sollten mich die Pulsströme am Kondensator bei der 
Spannungsregelung? Die Welligkeit der Ausgangsspannung ergibt sich doch 
nach:
C = Q/dU = (I*t)/dU
t sei dabei die Periodendauer (d = 1)
dU (die Welligkeit) = 5*10e-6 s * 18 A / 10 * 10e-3 F ~ 10 mV

Erlich gesagt habe ich sie noch nie richtig gemessen (war halt weit 
unter 1 V), also bitte nicht hauen, falls meine Rechnung schlecht war.


Nachdem du ja wirklich Ahnung zu haben scheinst, könntest du mir auch 
etwas zur Regelung der Strecke sagen?

von Bernhard (Gast)


Lesenswert?

...ung interessieren?

von Matthias L. (Gast)


Lesenswert?

Naja, ich kanns versuchen..

Was willst denn wissen?

von Bernhard (Gast)


Lesenswert?

Ich stelle jetzt einfach mal meinen Gedankengang vor; vielleicht 
könntest du da einhaken, wo ich falsch liege. Mein Wissen ist (fast) nur 
theoretisch.

* Die geforderte Ausregelzeit für einen 50%-Lastsprung liegt bei 15 ms, 
das tau des RC-Glieds beträgt bei d=0,5
tau = Rdson / d * C = 20*10e-3 Ohm / 0,5 * 10*10e-3 F ~ 0,4 µs
Es handelt sich um eine Strecke 1. Ordnung ohne Totzeit mit (im 
Verhältnis zur geforderten Ausregelzeit) recht kleinem tau.

* Benötigt wird also ein PI-Regler.

* Der Laststrom beinflusst die benötigte Stellgröße d völlig linear, 
also ist eine Störgrößenaufschaltung mit
d_add =  Rdson/Rparallel_add = (Ilast*Rdson)/(Utrafo-Ulast)
angebracht.

* Dass ein Anpassen der Parameter an die Sollgröße schön ist, habe ich 
gelsen und würde es ungekaut ubernehmen.

* Die Einstellung würde ich, wie erwähnt, nach Ziegler-Nichols o.ä. 
machen; es gibt ja auch "sanfte" Faktoren.

von Meck-Meck (Gast)


Lesenswert?

Einer muss den Merkerer und Besserwisser spielen... 50 mal einen Mist 
verkloppt zu haben macht die Sache nicht besser. Wenn die Dinger 
aussteigen gibt's Aerger. Auch wenn die Gewaehrleistungsfrist schon 
abgelafen ist, kann man sich den Namen versauen. Der 10000uF Elko ist 
akut gefaerdet wegen Ueberstrom vorzeitig auszusteigen. 20A bei 200kHz 
ist vielzuviel fuer einen 10000uF. Vom EMV Problemen reden wir noch 
nicht. Die 20A bei 200kHz sind auf der Zuleitung. Das wird schwierig, 
die nicht abstrahlen zu lassen.

von Arno H. (Gast)


Lesenswert?

Auf dieser Basis funktioniert der Schaltregler aus dem Beitrag "Kurz und 
klein gehackt" in der  Elrad 12/87 S.32. Vielleicht hat deine Schaltung 
dort "Anleihen" gemacht.
Die knapp 20 Euro für die DVD sind doch eine gute Investition!

@Matthias L.: Schaltregler benötigen einen Energiespeicher und es ist 
eigentlich egal, ob es eine Spule oder ein Kondensator ist.
Die Kondensatoren am ICL 7660 und seinen Brüdern halten ja auch 
Jahre,oder?

Arno

von Matthias L. (Gast)


Lesenswert?

@ Arno H. (Gast):

Ein switched-capacitor-schaltregler ist was anderes ein ein 
step-up/down..!

Dort gibt es auch solche Stromspitzen, nur werden diese keine 20A 
erreichen, weil die (internen) Schalter einen großen Widerstand haben 
(gegenüber FETs bei Step-up/down).

von Frank (Gast)


Lesenswert?

>* Benötigt wird also ein PI-Regler.

Wieso das denn?

>* Der Laststrom beinflusst die benötigte Stellgröße d völlig linear,
>also ist eine Störgrößenaufschaltung mit
>d_add =  Rdson/Rparallel_add = (Ilast*Rdson)/(Utrafo-Ulast)
>angebracht.

Beeinflusst aber praktisch die Begrenzung der Stellgröße, also 
insgesammt nicht so ganz linear.

>* Dass ein Anpassen der Parameter an die Sollgröße schön ist, habe ich
>gelsen und würde es ungekaut ubernehmen.

Na dann verschluck dich nicht! Ein korrekt ausgelegter Regler braucht 
das bei bekannter (und nicht veränderlicher) Strecke nicht.

>* Die Einstellung würde ich, wie erwähnt, nach Ziegler-Nichols o.ä.
>machen; es gibt ja auch "sanfte" Faktoren.

WLKIKIV! Ziegler-Nichols = Überschwinger. Mit Stellgrößenbegrenzung wird 
es hässlich bis instabil. Nachdem du das ja mit einer neuen Firmware 
verbessern willst, geh ich mal von einem zeitdiskreten Regler aus. 
Vergiss die Totzeit nicht.

Aber was schreib ich. Wenn du nicht lesen willst, musst du eben fühlen.

Das Schaltreglerkonzept ohne Spule wird auch bei einigen PC-Mainboards 
eingesetzt, funktioniert also. Die "Fach"presse war ganz angetan, dass 
endlich PWM (buzzword) für die Spannungsregler eingesetzt wird...

von Bernhard (Gast)


Lesenswert?

>> Wieso das denn?
Der D-Anteil scheint mir unnötig, da die Zeitkonstante der Strecke nicht 
sonderlich groß ist.

>> Beeinflusst aber praktisch die Begrenzung der Stellgröße, also
>> insgesammt nicht so ganz linear.
Ok, aber würdest du es jetzt verwenden oder nicht?

>> Na dann verschluck dich nicht! Ein korrekt ausgelegter Regler braucht
>> das bei bekannter (und nicht veränderlicher) Strecke nicht.
Danke, dann hat sich das schon mal erledigt.

>> Aber was schreib ich. Wenn du nicht lesen willst, musst du eben fühlen.
Ich glaub dir ja; aber welches Verfahren würdest du jetzt nehmen?

>> Vergiss die Totzeit nicht.
Die Strecke hat doch keine Totzeit, oder? Und was soll ich mit der 
Totzeit anfangen?

Also ein einfacher P-Regler geht, wie gesagt, nicht. Was würdest du 
jetzt machen:
- Störgrößenaufschaltung
- doch Parameter-Resterung (hast du weiter oben vorgeschlagen)
- ???

Danke im Voraus,
Bernhard

von Peter D. (peda)


Lesenswert?

Bernhard wrote:
> Die Schaltung funktionert so und wurde bereits
> (allerdings mehr schlecht als recht) geregelt.

Aha, die Schaltung funktioniert, nur die Regelung nicht.
Witz Du bist umzingelt.
Man kann grobe Schaltungsfehler nicht mit SW ausbügeln.


Da die Schaltung keinerlei Energiespeicher im PWM-Zweig enthält, hat sie 
den gleichen Wirkungsgrad wie ein Linearregler.
Bloß, daß man je nach Innenwiderstand des FET die Verluste in den 
Trafoinnenwiderstand verlagert.
Einen gute Idee also, um den Trafo zu killen.
Und den Siebelko durch die hohen Impulsströme sowieso.


Peter

von Bernhard (Gast)


Lesenswert?

@ Peter Dannegger
Zitat MeckMeck:
Einer muss den Merkerer und Besserwisser spielen...

von Matthias L. (Gast)


Lesenswert?

>>Man kann grobe Schaltungsfehler nicht mit SW ausbügeln.

Peter Dannegger hat mit seiner Aussage vollkommen recht!

von Bernhard (Gast)


Lesenswert?

Ich kenne andere Beiträge von Peter Dannegger, halte ihn (bzw. dich) für 
sehr kompetent und bestreite die Aussagen nicht.

Ich halte es aber für wenig sinnvoll, mich wegen einer mir vorgelegten 
Hardware anzugreifen und werde ganz sicher nicht ständig wiederholen, 
dass die Schaltung funktioniert und nur im Regelverhlaten verbessert 
werden soll.

Für mich stellt sich bei ähnlich "unschönen" Problemstellungen anderer 
Fragesteller immer die Frage, ob ich auf "Wo geht es nach HH" mit 
"Stuttagrt ist falsch" (egal wie recht ich damit habe) oder mit "Ich 
würde links abbiegen" (und somit eine vielleicht konstruktive und auch 
für mich lehrreiche Diskussion anregen) antworten sollte.

von Andreas K. (a-k)


Lesenswert?

> Für mich stellt sich bei ähnlich "unschönen" Problemstellungen anderer
> Fragesteller immer die Frage, ob ich auf "Wo geht es nach HH" mit
> "Stuttagrt ist falsch"

Du wirst damit leben müssen, dass manche Teilnehmer zu anderen 
Ergebnissen kommen als du. Das ist auch unter Experten nicht unüblich.

Übrigens ist es im Forum sehr häufig, dass einer die falsche Frage 
stellt. Da denkt sich jemand eine Lösung aus, hat ca. die Hälfte seines 
Problems damit gelöst und will für den Rest noch eine Detailfrage klären 
(so sieht er es). Und kriegt die gänzlich ungeliebte Antwort, dass er 
schon die ganze Zeit auf dem Holzweg war. Manchmal führt das zur 
richtigen Lösung, manchmal zu erbittertem Streit, weil keiner der 
"sogenannten Experten" die ihm genehme Lösung präsentiert.

von Frank (Gast)


Lesenswert?

>Der D-Anteil scheint mir unnötig, da die Zeitkonstante der Strecke nicht
>sonderlich groß ist.
Damit hat der D-Anteil wenig zu tun. Er sorgt erstens für schnelles 
Ansprechen im Falle eines echt linearen Systems (hier nicht der Fall) 
und zweitens verringert er Überschwingen durch hohe P-Anteile. Und genau 
dazu könnte man ihn hier einsetzen.

>Ok, aber würdest du es jetzt verwenden oder nicht?
PI würde ich nicht machen, weil der I-Anteil wie gesagt nur Probleme 
macht und ein bleibender Fehler akzeptabel ist.
Da die Anforderungen an die Ausregelgeschwindigkeit nicht allzu hoch 
sind, müsste das eigentlich mit einem reinen P-Regler gehen. Falls nicht 
eben PD.
Du sagst, dass die Sollgröße unterschiedliche Parameter notwendig macht. 
Das ist sehr seltsam. Eine Verstärkungsanpassung ist eher bei Unsicheren 
Systemen und robuster Regelung üblich. Vielleicht solltest du mal 
Sourcecode und Blockschaltbild deines Reglers zeigen.

>Ich glaub dir ja; aber welches Verfahren würdest du jetzt nehmen?
Für den schnellen Schuss: P-Regler, anfangen mit Verstärkung 0 (=keine 
Regelung), dann Verstärkung langsam erhöhen und mit Sprungantworten 
kontrollieren, ob das gewünschte Verhalten erreicht werden kann. Wenn 
z.B. der bleibende Regelfehler bei tolerierbarem Überschwingen zu groß 
ist, kann man das mit einem D-Anteil in den Griff bekommen.

>> Vergiss die Totzeit nicht.
>Die Strecke hat doch keine Totzeit, oder? Und was soll ich mit der
>Totzeit anfangen?

Abgetasteter Regler -> effektive Totzeit von Ta/2
Schaltende Ansteuerung -> Totzeit
Die wird bei ZN und Konsorten normalerweise nicht berücksichtigt.

>Also ein einfacher P-Regler geht, wie gesagt, nicht. Was würdest du
>jetzt machen:
>- Störgrößenaufschaltung
>- doch Parameter-Resterung (hast du weiter oben vorgeschlagen)
>- ???

Das wäre komisch. P-Regler geht fast immer. Ist halt nur die Frage, wie 
gut. Falls du Matlab/Simulink hast, bau dir ein Modell und spiel damit 
mal herum. Falls nicht, nimm Scilab/Scicos ;-) Du scheinst ja recht 
wenig Erfahrung mit Reglern zu haben, also sammle sie. Und genaue 
Angaben zur Realisierung des Reglers wären auch nützlich. Mir scheint, 
dass da noch ein Fehler drin ist.

von Bernhard (Gast)


Lesenswert?

@Frank
Zuerst mal danke für deine Antworten, langsam komme ich weiter.

>> Du scheinst ja recht wenig Erfahrung mit Reglern zu haben, also sammle >> sie
Ack, damit habe ich gerade angefangen.

Leider habe ich die Strecke falsch gedeutet; es handelt sich nicht um 
ein lineares System, da die Ausgangsgröße (U_L) nicht proportional zur 
Stellgröße (d) ist. Es stellt sich ja schließlich der Endwert
U_L = U_T - Rdson / d * I_L
ein.
Deshalb konnte ich die Strecke bisher auch nicht vernünftig regeln; der 
für einen AP passende Parametersatz hat an einem anderen AP zu viel 
Schwingungen oder Regelabweichung erzeugt. -> Gain-scheduling

>> PI würde ich nicht machen, weil der I-Anteil wie gesagt nur Probleme
>> macht und ein bleibender Fehler akzeptabel ist.
Gut, und da ich die Strecke sowieso durch gain-scheduling 
(Regelparameter in Abhängigkeit von I_L) linearisieren muss wird auch 
die bliebende Regelabweichung nicht zu groß werden.

>> verringert er Überschwingen durch hohe P-Anteile. Und genau
>> dazu könnte man ihn hier einsetzen.
Ok, daran habe ich nicht gedacht. Also PD.

>> Und genaue
>> Angaben zur Realisierung des Reglers wären auch nützlich. Mir scheint,
>> dass da noch ein Fehler drin ist.
Es ist ein PID-Regler mit Abtastzeit 2 ms, 14 bit Auflösung, der 
Möglichkeit von gain-scheduling und einer einstellbaren 
I-Anteil-Begrenzung.
Meine Dokumentation ist fast komplett im Quelltext und den möchte ich 
hier nicht posten. Wenn du ihn möchtest, kann ich ihn dir gerne per 
E-Mail schicken.

von Realpotter (Gast)


Lesenswert?

Wenn man ein System nicht kennt zieht man den Signalanalyzer (Agilent..) 
hervor und misst das System mal durch. Resultat ist die 
Uebertragungsfunktion der Strecke, resp von Stellglied plus Strecke plus 
Sensoren. Ein System ist linear, wenn doppelter Eingang auch doppelten 
Ausgang bedeuten. Falls nicht, muss man die Arbeitspunkte linearisieren. 
Dh man bekommt fuer jeden Arbeitspunkt eine Uebertragungsfunktion. Und 
dann zieht man die Theorie der Regelungstechnik wieder hervor und 
strickt sich einen Regler.

von Matthias L. (Gast)


Lesenswert?

>Ein System ist linear, wenn doppelter Eingang auch doppelten
>Ausgang bedeuten

Das stimmt so aber nicht.. Denke mal an ein einfaches D-Verhalten.

Ein System ist dann linear, wenn alle Ableitungen lineare konstante 
Koeffizienten hat! Also keine Wurzeln, Potenzen...

von Realpotter (Gast)


Lesenswert?

Deine Definition ist rekursiv. Meine war etwas salopp. Mach einen 
Frequenzsweep mit 10mV AC am Eingang und vergleiche den Ausgang mit dem 
eines 20mV Frequenzsweeps.

von +++ (Gast)


Lesenswert?

Kannst du den wenigstens an der PWM etwas ändern, bzw. diese ersetzen? 
Ich würde dir dann zu einem Hysterese-Controller raten 
(Bang-Bang-Controller).
Normalerweise setzt man diesen in Verbindung z.B. mit einem 
Tiefsetzsteller ein.
Das ist ziemlich einfach: Du misst die Ausgangsspannung und schaltest 
bei z.B. 4.9V den FET durch und bei 5.1V wieder ab. Im Durchschnitt 
ergeben sich dann z.B. 5V. Die durchschnittliche Schaltfrequenz ergibt 
sich mit R, C und deinem Lastwiderstand.

Das ist keine gute Lösung, aber für deine fest vorgegebene Hardware die 
einfachste die ich kenne.

+++

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.