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
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.
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.
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
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
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.
Ich glaube Takahashi (Einstellregeln) könnte dir da hilfreich sein. Einfach Googeln.
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.
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.
@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
Hallo Arno, wollen wie uns nicht beide noch einen Buchstaben spendieren? Ich nehme das H. mfG Arno H.
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
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?
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
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."
Hier ein Link http://www.engineers-excel.com/Apps/PID_Simulator/PID_scrollbar.xls ... und hier auf Deutsch http://www.engineers-excel.com/Apps/PID_Simulator/PID-Reglersimulation.xlsx
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.