www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PID Regler auf Excel


Autor: Arno (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bri (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Arno (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Weihnachtsmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube Takahashi (Einstellregeln) könnte dir da hilfreich sein.

Einfach Googeln.

Autor: Bri (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/Regelungste...
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.

Autor: Bri (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Arno (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Arno (Gast)
Datum:

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

mfG
Arno H.

Autor: Arno H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Restart
Arno

Autor: Arno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann nehme ich das M.
also Arno M.

grüsse Arno M.

Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Profi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Profi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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/Regelungste...

Autor: Azubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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."

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.