Ich bin selbst gespannt, ob es da irgendwas gibt, aber ich denke dass dieses Problem prinzipiell nicht formalistisch gelöst werden kann. Nur mit Probieren und mit Erfahrung. Mit einer Simulation könnte man in Grenzen brute-forcen.
Liebe Forumuser,
ich mache gerade ein Projekt, bei dem ich ein Heizelement, also ein Peltier Elelemt regeln soll. Ich habe mir das Tutorial von RN Wissen hergenommen und hänge da an einer verständnissfrage.
Der Code für einen PI Regler ist eigentlich nicht schwer zu verstehen:
Aber ich verstehe nicht wie man auf die Koeffizienten Kp und Ki kommt. Mir ist bewusst, dass man das wie es beschrieben ist mit LTspice simulieren kann. Aber es soll angeblich auch sehr genau mittels der z-Transformation gehen können. Weiß irgendwer wie das geht?Code:e = w - x; //Vergleich esum = esum + e; //Integration I-Anteil if (esum < -400) {esum = -400;} //Begrenzung I-Anteil if (esum > 400) {esum = 400;} y = Kp*e + Ki*Ta*esum; //Reglergleichung if (y < 0) {y = 0;} //Begrenzung Stellgröße if (y > 255) {y = 255;} PWM = y; //Übergabe Stellgröße
Ich möchte das genau machen und nicht mit Werten herumspielen...
Ich bin noch ziemlich neu in der ganzen Sache und bitte um Hilfe.
lg Ethernut
Ich bin selbst gespannt, ob es da irgendwas gibt, aber ich denke dass dieses Problem prinzipiell nicht formalistisch gelöst werden kann. Nur mit Probieren und mit Erfahrung. Mit einer Simulation könnte man in Grenzen brute-forcen.
Im RN-Wissen stehen 2 Methoden wie man die Parameter Kp und Ki ermittelt. Das scheint wohl experimentell zu gehen.
Ich habe auch aktuell das Problem, das ich einen Regler umsetzen möchte.
Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]
Hallo!
Ich denke, dass man ein Regler nur für voll definierten Regelkreis, also mit genau bekannter Regelstrecke, bestimmen kann.
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
@all:
vielen lieben Dank für eure Antworten
@PICture:
Ich habe ein Peltier Element als Regelstrecke die ich über PWM und MOSFET regeln will. Ich weiß nicht genau wie ich die Regelstrecke bestimmen soll. Mir wurde gesagt das sich ein PI Regler dafür aneigent, aber ich weiß nicht genau wieso. Im RN Wissen steht auch, dass man die Regelstrecke über eine Sprungantwort feststellen kann. Ich weiß aber nicht genau wie das gehen soll...
Hat irgendwer einen Rat?
Ich weiss bisher nicht was und wie dein Peltier Element stabil halten soll. Eine Sprungantwort bekommt man am Ausgang der Regelstrecke durch Sprungänderung von Eingangsparameter (z.B. Spannung, Temperatur, usw.).
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Die beiden Varianten nach Ziegler/Nicholls sind experimentelle Lösungen um deinen Regler zu parametrisieren.
Es gibt Analytische Verfahren, z.B. die Auslegung mit Integralkriterien.
Dazu benötigst du die Übertragungsfunktion deines gewünschten Systemes. (Also wie die Ausgangsgröße von der Eingangsgröße abhängt)
Falls du die als Differentialgleichung aufstellst, kannst du diese mithilfe der genannten z-Transformation aus dem Zeitbereich in den Frequenzbereich transformieren.
Damit, und mit der Übertragungsfunktion deines PI-Reglers kannst du dann den Regelkreis analytisch beschreiben.
Jetzt kannst du zB über den Betrag der Regelabweichung integrieren (von t=0 bis t->unendlich)
Dieses Integral musst du dann minimieren, was dir eine Gleichungssystem für die gesuchten Reglerparameter beschert.
Du kannst auch andere Integranden verwenden, wenn du zB den Reglerausgang auch möglichst klein haben willst, u.v.m.
Beschreibe mal was genau du regeln willst, und was alles zwischen dem µC und der Regelgröße ist.
@BurningBen:
Also:
Mir steht ein ATmega32 zur verügung und ein Board auf dem ich programmieren kann. Ich soll einen PI-Regler entwerfen der über PWM einen MOSFET ansteuert. Dieser wiederum dient als Schalter für dieses Element. Ein Peiltier Element ist ein element, dass sich auf der einen Seite aufheizt und auf der anderen sich abkühlt wenn man eine Spannung anlegt.
Man soll über externe Taster und Display eine Temperatur einstellen können auf die der Regler dann arbeitet. Dadruch soll dieses Element dann über den benutzer aus individuell gereegelt werden können.
Den Wert des PI-Reglers werde ich in das PWM Register schreiben und Ausgeben.
Ich tue mich aber immer noch schwer die Regelstrecke zu errechnen. Wenn ich einen Puls anlege, wie komme ich dann zu einer Gleichung im s Bereich?
Ich hoffe das war halbwegs verständlich. Für mich, als Einsteiger sind da viele viele Fragen noch offen. Aber es ist auch etwas neues und aufregendes. Ich hoffe ich kann daraus viel lernen.
Liebe Grüße und herzlichen Danke an alle,
Ethernut
- - - Aktualisiert - - -
Ich glaube jetzt verstehe ich es...
http://www.rn-wissen.de/index.php/Regelungstechnik#Dimensionierung_nach_Einstellrege ln
Ich muss also an dem peltier Element einen Sprung anlegen und die Zeiten herausmessen, oder?
Okay, zunächst mal ist wichtig, dass du einen Sprung als Eingang anlegst, und keinen Puls.
Gleichzeitig musst du deine Ausgangsgröße messen (und aufzeichnen).
Das wäre bei dir dann wohl die Temperaturdifferenz am Pelztier
Damit erstellst du dir jetzt ein Diagramm, Temperaturdifferenz über Zeit.
Anhand des Diagramm kann man dann schätzen, was für ein System vorliegt.
Und damit wiederum lassen sich dann die Parameter für die Übertragunsfunktion im Frequenzbereich (s bzw. z) ermitteln.
Du schreibst ja oben, dass du es möglichst genau haben willst, das untergräbst du natürlich ein bisschen, wenn du die Übertragungsfunktion so abschätzt.
Die genauere Alternative wäre: Du überlegst dir die physikalischen Vorgänge in deinem System und stellst damit dann die Übertragungsfunktion auf.
In deinem Fall würde die ÜF des Mosfet und die ÜF des Peltier-Elements reichen. (Die einzelnen ÜF der Streckenteile werden multipliziert)
EDIT: zu deinem edit:
Das was du verlinkt hast, ist wieder nur eine Experimentelle Einstellmöglichkeit.
Besser dürfte allerdings eine analytische Lösung auch nicht werden, wenn du die Übertragungsfunktion aus der Sprungantwort bestimmst.
Geändert von BurningBen (26.03.2013 um 09:37 Uhr) Grund: angepasst an aktualisierung
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Lesezeichen