Forum: Mikrocontroller und Digitale Elektronik PID Regler auf Excel


von Arno (Gast)


Lesenswert?

Hallo,
möchte einen PID Regler auf Excel simulieren,kann mir jemand bitte
weiterhelfen wie man z.B. einen beheizten Metallblock (angeblich
"Verzögerungsglied 1.Grades") in Excel ausdrücken kann?
Herzlichen Dank für jede Hilfe.
Arno

von Schoaschi (Gast)


Lesenswert?

Willst du damit vl auch noch Dif.-Gleichungen 3.Ordnung lösen und das am
besten mit Laplace?

Ähm, du weist aber schon das Excel kein Simulationsprogramm ist oder!?
Sorry, aber da würde ich dir doch eher empfehlen, dass du das ganz mit
der Hand machst anstatt mit Excel. Ausserdem gibts für solche Sachen
auch eigene Programme.

Hast du schon mal was von MathCAD gehört. Ist zwar nicht die beste
Lösung, aber besser als Excel ist es.

von Bri (Gast)


Lesenswert?

Wenn du sowas mit Exel darstellen willst, dann geht es wohl nur, indem
du deine Gleichungen im Zeitbereich darstellst. (inverse Laplace
Transformation) Im Prinzip ist das wohl machbar.

Viel besser geeignet ist aber Matlab mit Simulink. Octave ist die
kostenlose Variante von Matlab und hat wohl auch einige Funktionen in
Richtung Regelungstechnik.

von Arno (Gast)


Lesenswert?

Habe mich nicht richtig ausgedrückt, möchte eben mittels Excel Diagramm
Soll- und Ist-Wert im Zeitbereich darstellen,wie Bri schreibt.Mit
Laplace kann ich leider wenig anfangen(meine schulische Ausbildung
reicht nicht... sorry).Es muss aber doch eine Gleichung geben die das
Verhalten eines beheizten Metallblocks wiedergibt.
(Möchte dann später alles auf einem AVR implementieren)
Nochmals Danke.
Arno

von Weihnachtsmann (Gast)


Lesenswert?

Hallo

Also ich hatte mal ein normale Simulationsprogramm für PID.
Warum soll das auf Excel nicht gehen. Das kann man ja mit VBA
programmieren. Müsste eigentlich gut gehen.

Gruss
Weihnachtsmann

von Alex (Gast)


Lesenswert?

PID Regler ohne Ahnung von Laplace bzw. Z-Transformation, da hast du dir
was vorgenommen :-)
Ich würde mir eine Gleichung für den PID im z-Bereich suchen, die
kannst du dann auf dem AVR als Differenzengleichung implementieren. So
ist auch die Implementierung im Excel keine Hürde mehr (nur +, - und *
Operationen).

Die Reglereinstellung wird mit deinen Vorkenntnissen jedoch schwierig.

von Alex (Gast)


Lesenswert?

Ich glaube Takahashi (Einstellregeln) könnte dir da hilfreich sein.

Einfach Googeln.

von Bri (Gast)


Lesenswert?

Die Sprungantwort des Metallblocks kannst du im Zeitbereich darstellen:

im Bildbereich sieht die Sprungantwort für ein PT1-Glied so aus:

G(s) = 1/s * k/(1 + T * s)

= k/s - k/(s + 1/T)

die Zeitfunktion sieht dann so aus: (inverse Laplacetransformation)

f(t) = k * (1 - e^(-t/T))

für t >= 0

Mit dieser Kurve kannst du die Reglerparamter für deinen PID-Regler
bestimmen:

http://mitglied.lycos.de/FlorianSchott/Regelungstechnik/Bild6.gif
und
http://www.meilhaus.de/regeltechnik/bilder/rtform1.gif
und
http://www.meilhaus.de/regeltechnik/regelt5.html

Für den gesamten Regelkreis kann man auch eine Übertragungsfunktion
angeben, nur wird die inverse Laplacetransformation dann etwas
schwieriger. Das ist mir im Moment zu viel Aufwand ;-) und auch nicht
sinnvoll, weil ein PID Regler den Soll-Wert immer auf den Ist-Wert
einstellt. Das einzig sinnvolle ist, den Verlauf des Ist-Wertes und den
Verlauf der Stellgröße darzustellen. Und dazu würde ich dir auf keinen
Fall Excel empfehlen.

von Bri (Gast)


Lesenswert?

Ich glaub ich hatte es etwas falsch verstanden, du willst nicht den
Ist-Wert als Funktion des Soll-Wertes darstellen, sondern beide als
Funktion im Zeitbereich in Abhängigkeit von t. Dann nimm lieber die
Differenzengleichungen wie weiter oben beschrieben.

von Arno (Gast)


Lesenswert?

@Bri
Vielen Dank für deine Mühe und für die Links,das bringt mich schon ein
grosses Stück weiter.So einfach eine PID Implementation auf einem
Mikrokontroller in der Praxis aussieht(wenige Rechenoperationen),aber
wenn man etwas mehr in die Theorie und Simulation übergreift,da wird es
sehr rasch kompliziert...(wenn man die nötigen Grundlagen leider nicht
hat).
Grüsse Arno

von Arno (Gast)


Lesenswert?

Hallo Arno, wollen wie uns nicht beide noch einen Buchstaben
spendieren?
Ich nehme das H.

mfG
Arno H.

von Arno H. (Gast)


Lesenswert?

Restart
Arno

von Arno (Gast)


Lesenswert?

Dann nehme ich das M.
also Arno M.

grüsse Arno M.

von tobias hofer (Gast)


Lesenswert?

Hallo Arno

Also wenn du gerne einen PI Regler oder was auch immer im Excel
simulieren möchtest kann ich dir nur sagen das das problemlos geht.
Du musst einfach den Regler in Visualbasic programmieren und dann
kannst du einfach die Grafikausgabe vom Excel benutzen. Ich habe schon
viele solche Simulationen mit Excel gemacht und das funktioniert
wirklich gut und einfach.

Wenn du einmal ein Bsp. möchtest für z.b.ein einfach PT1 Glied musst es
mal sagen. Ich würde dir dann ein solches programmieren.

Gruss Tobias

von Profi (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang findest Du 3 Formulare:
Formular 1: Relikte vom Anfang meiner Reglerzeit: ich versuchte, einen
reinen I-Regler zu bauen. Mit konstantem KI schwingt der so gut wie
immer, deshalb machte ich KD vom Betrag des Errors abhängig
(quadratisch und kubisch). Das ging schon recht gut, reagierte aber auf
Änderungen rel. langsam.

Formular 2: PID-Regler, bei dem die IST-Werte frei erfunden sind. Er
lehnt sich an den Beitrag von M.v.Gershoff an (Sprung von 20 auf
100°):
http://www.mikrocontroller.net/forum/read-1-6490.html

Formular 3: PID-Regler, bei dem die IST-Temp. in Abhängigkeit von
Umgebungstemperatur (A3=10), Heizleistung (B1=1), Wärmeabgabe
(B3=0,01), Starttemperatur (B4=20), den 3 Regelfaktoren und dem
Integrator-Startwert iterativ berechnet wird.


Noch etwas ist mir unklar:
These A:
http://www.mikrocontroller.net/forum/read-1-6490.html:
Der P-Anteil macht die Regelung schnell (mit nur dieser Verstärkung
solltest Du anfangen bis der Regelvorgang anfängt zu schwingen).
Der D-Anteil (Geschwindigkeitsrückführung) wird zur Dämpfung von
Überschwingen verwendet. er macht die Regelung langsamer.

These B:
C:\eigene\pid\FlorianSchottRegelungstechnik\Regelungstechnik.htm:
Durch den D-Anteil reagiert der Regler schon stark auf kleine
Veränderungen und wartet nicht erst auf eine starke Abweichung. Daher
auch der Begriff Vorhaltezeit.


Was stimmt nun?

von Profi (Gast)


Angehängte Dateien:

Lesenswert?

Hier nochmal eine verbesserte Version:
1. Tabellen 1 und 2 entfernt, da veraltet
2. berechnete Werte sind geschützt, können also nicht versehentlich
überschrieben werden.
3. Grafik (für 1600x1200 Displayauflösung eingestellt)
4. 444 Einträge mit 3 Sollwertbereichen (4..100..277..444)
5. Integratorwert nach unten (0) begrenzt
6. Summenwert nach unten (0) und oben (120) begrenzt, d.h. der Regler
kann nicht kühlen, was sein Regelverhalten (vor allem bei kleinem
Lastfaktor B3) verschlechtert.

Am Anfang braucht er gar nicht regeln, da er genau so stark heizt
(10*1,0), wie er gekühlt wird ((20-0)*0,5=10) und Integratorstart=10.

T (C1) ist die Dauer eines Durchlaufes. Braucht man nur, damit die
K-Werte bei verschiedenen Dauern den selben Einfluß haben, also eine
Skalierung von KD und KI.

B1 skaliert alle drei Faktoren nochmal, d.h. ob man für
B1   KP   KD   KI   I-Start
1,0  0,1 0,09  0,2  10     oder
0,1  1   0,9   2    100    einträgt, bleibt sich gleich (bis auf die
Tatsache, dass der Regler dann bei Soll=100 den Ausgang auf 120
begrenzt und der Integrator deswegen 'davonläuft' (sollte evtl. auch
nach oben begrenzt werden)).


Errata im vorhergehenden Beitrag:
machte ich KD vom -> machte ich KI vom
Formular -> Tabelle
M.v.Gershoff -> M.v.Gersdorff

Quelle der These B ist
http://mitglied.lycos.de/FlorianSchott/Regelungstechnik/Regelungstechnik.htm

von Azubi (Gast)


Lesenswert?

Zur Frage nach dem D-Anteil, hier ein Auszug aus dem Europa
Tabellenbuch:
"Verglichen mit dem PI- Regler wird Regeldifferenz bei gleicher
Dämpfung schneller ausgeregelt, oder bei gleicher Schnelligkeit besser
gedämpft."

von Hermes (Gast)


Lesenswert?


von Sebastian R. (sebastian_r569)


Lesenswert?

Nach 12...13 Jahren sicherlich richtig wichtig!

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.