Hallo Community, villeicht kann mir jemand ein paar Tips bezüglich der Parameterfindung für meine Kühlbox-PID-Steuerung geben anhand des angehängten Plot's. Man sieht, dass die Kühlbox um die Zieltemperatur recht stark Schwingt (Ziel 9Grad). Der Plot ist über einen Zeitraum von ca 13min gemacht. Zum Kühlen verwende ich 8 Peltier-Elemente und PWM. Als Software-Regelung verwende ich simple_pid (python https://pypi.org/project/simple-pid/) mit den Parametern: PID_P = -1 PID_I = -0.1 PID_D = -0.05 Kann mir jemand auf wirklich einfache weise erklären, wie ich villeicht über das anpassen der Parameter Schritt für Schritt an bessere Werte komme, damit die gewünschte Zieltemperatur besser gehalten wird. Oder villeicht kann ja jemand schon was aus dem beigelegtem Graphen herauslesen, welche Parameter man evtl erhöhen müsste oder verringern? Für jegliche Tipps bin ich sehr dankbar.
Was ist denn das Ziel der Übung? Und was spricht gegen den klassischen Kühlschrank-Zweipunktregler? Oliver
8 peltier elemente werden gemeinsam angesteuert oder einzeln? Wo sind diese platziert? Wo und wie wird die Temperatur gemessen? Das Ziel soll eine möglichst homogene Temperaturverteilung in der Kühlbox sein nehme ich an?
Oliver S. schrieb: > Was ist denn das Ziel der Übung? Und was spricht gegen den klassischen > Kühlschrank-Zweipunktregler? > > Oliver Ich möchte eine möglichst genaue Temperatur halten können (So gut es mir halt möglich ist), so wie ich das im Internet recherschiert habe kann PID das besser als der Zweipunktregler.
Dieter H. schrieb: > 8 peltier elemente werden gemeinsam angesteuert oder einzeln? > Wo sind diese platziert? Wo und wie wird die Temperatur gemessen? > Das Ziel soll eine möglichst homogene Temperaturverteilung in der > Kühlbox sein nehme ich an? Alle Elemente werden über ein Mosfet gemeinsam gesteuert. Kann als ein Gesamtsystem betrachtet werden, wo man eine bestimmte power von 0%-100% übergeben kann. Ja genau die Temperatur besser auf einem bestimmten Grad halten zu können wäre das Ziel. Hab einen simplen digitalen Temp Sensor in der Box, Daten werden am raspi ausgewertet (mittels oben erwähnter software) und dann werden alle peltier elemente gleichzeitig über den Mosfet gesteuert. Also ich bin mir sicher dass man bessere Parameter finden kann nur weis ich nicht wie und kann auch meine Messung nicht dahingehend interpretieren, sodass ich wüsste was ich anpassen kann damit die temperatur nicht mehr so stark schwingt.
> Also ich bin mir sicher dass man bessere Parameter finden kann nur weis > ich nicht wie Wieso googlest du nicht? https://tlk-energy.de/blog/pid-regler-einstellen Olaf
Ein D-Anteil für eine so träge Temperaturregelung ist schon einmal Unsinn. Ein so großer I-Anteil auch. Ich würde einen simplen 2-Punkt-Regler nehmen. Oder eventuell einen P-Regler mit größerem Faktor, wenn es denn kein 2-Punkt sein darf.
Ricco S. schrieb: > Alle Elemente werden über ein Mosfet gemeinsam gesteuert. Was dabei auch eine Rolle spielen kann: Die Pelztiere sollte man NICHT mit PWM ansteuern, sondern nur mit Gleichstrom.
PID-Regler sind immer schwierig, wenn die Regelstrecke eine (grosse) Totzeit hat. Mein Ansatz waere, bei Annaeherung an die Zieltemperatur die Peltierelemente einzeln abzuschalten, eines nach dem anderen (aber immer mit min. 2 Min. Abstand). Wenn dann die Temperatur wieder steigt, wieder einzeln einschalten. wendelsberg
wendelsberg schrieb: > Mein Ansatz waere, bei Annaeherung an die Zieltemperatur die > Peltierelemente einzeln abzuschalten Zwei Peltierelemente mit halben Strom ist besser als eins mit ganzem Strom. Warum? Die Verluste steigen quadratisch mit dem Strom, die Kühlleistung linear. Aus diesem Grund ist Ricco S. schrieb: > PWM maximal ungünstig. Wie schon gesagt ist eine (geschaltete) Stromregelung viel besser. 10% Ripple im Strom sind völlig ok. Zur Regelung: digitale Regelungen haben als ersten und wichtigsten Parameter die Abtastzeit (rate). In dem Reglercode oben sehe ich nur ein "while ..." Eine sich ändernde und viel zu schnelle Abtastzeit ist absolut Mist, weil die Auswirkung der Parameter direkt vonb der Abtastzeit abhängt. Hat man eine für das System viel zu hohe Abtastrate, dann werden die notwendigen Parameter unhandlich klein. Die Schwingung würde ich erst mal auf eine viel zu hohe Abtastrate und dafür zu hohe P und/oder I Parameter tippen. Also als erstes mal eine sinnvolle Abtastrate wählen. Vieleicht mal mit 10s starten. Zur Zweipunktregelung gilt das gleiche wie zu PWM. Maximnal schlechter Wirkungsgrad plus zusätzlich thermischen Stress für das Paltierelement.
Siehe dazu auch https://rn-wissen.de/wiki/index.php/Regelungstechnik Vor allem Kapitel 6 und Kapitel 7 In Kapitel 7 steht eine rein empirische Methode um die Parameter anzunähern.
Ricco S. schrieb: > Ich möchte eine möglichst genaue Temperatur halten können Dann sollte in der Box noch ein kleiner Miefquirl sein, der eine Temperaturschichtung verhindert.
MaWin schrieb: > Ein D-Anteil für eine so träge Temperaturregelung ist schon einmal > Unsinn. > Ein so großer I-Anteil auch. > > Ich würde einen simplen 2-Punkt-Regler nehmen. > Oder eventuell einen P-Regler mit größerem Faktor, wenn es denn kein > 2-Punkt sein darf. Hi du hast recht, ich habe den P wert erhöht und den I wert verkleinert. Ein maßgeblicher Unterschied ich komme auf eine Abweichung von +-0.4 Grad
Deine Konstruktion heizt besser als sie kühlt - sagt mir wenigstens dein Bild. Untersuche mal woran das liegt. Vorher brauchst nicht groß an den Regler-Parametern drehen. Oder muss das so?
Udo S. schrieb: > digitale Regelungen haben als ersten und wichtigsten Parameter die > Abtastzeit (rate). [...] > Die Schwingung würde ich erst mal auf eine viel zu hohe Abtastrate und > dafür zu hohe P und/oder I Parameter tippen. I dürfte der Knackpunkt sein. Insbesondere ohne Anti-Windup kommt dann näherungsweise doch wieder nur das grundsätzliche Verhalten einer Zweipunktregelung heraus. Nur mit sehr viel mehr Rechenaufwand und deutlich schlechterem Regelverhalten als eine echte primitive Zweipunktregelung... > Also als erstes mal eine sinnvolle Abtastrate wählen. Vielleicht mal mit > 10s starten. So isses. Wobei man allein der Grafik nicht entnehmen kann, wo die Zeitkonstante der Schnwingung herkommt. Ein Teil ist sicher die Regelstrecke. Aber ich vermute anhand der Kurvenform, dass der weitaus größere Teil ursächlich der I-Komponente des "Turbo-Reglers" zuzuschreiben ist. Um das abzuklären, könnte man erstmal alles so lassen, wie es ist, nur den I-Koeffizienten auf 0 setzen und dann nochmal dieselbe Grafik aufnehmen. Die wird sehr wahrscheinlich völlig anders aussehen.
Ich denke schon das man sowas gut und brauchbar mit PID regeln kann. Hab ich schon gemacht. Aber man sollte natuerlich schon die Leistung linear und ohne PWM steuern koennen. Was ich aber bei diesem Vorhaben als interessante Herausforderung sehen wuerde, die Regelkonstanten werden sich vermutlich stark unterscheiden ob deine Kiste leer oder randvoll Bier ist. Erzaehl mal wenn du das in den Griff bekommen hast..... Olaf
Udo S. schrieb: > Siehe dazu auch > https://rn-wissen.de/wiki/index.php/Regelungstechnik > Vor allem Kapitel 6 und Kapitel 7 > > In Kapitel 7 steht eine rein empirische Methode um die Parameter > anzunähern. Vielen Dank!
Udo S. schrieb: > Ricco S. schrieb: >> Ich möchte eine möglichst genaue Temperatur halten können > > Dann sollte in der Box noch ein kleiner Miefquirl sein, der eine > Temperaturschichtung verhindert. guter hinweis, ja hab zwei eingebaut
Olaf schrieb: > die Regelkonstanten werden sich vermutlich stark > unterscheiden ob deine Kiste leer oder randvoll Bier ist. Und wenn es nur eine Kiste Bier wäre, die von Zimmertemperatur auf bekömmliche 10°C gekühlt würde, wette ich, dass das buchstäblich Tage dauern wird. Das hört man zumindest von diversen Getränkekühlschränken (mit Peltier)...wenn das Trinkgut nicht schon vorgekühlt ist, sollen die meisten die gewünschte Temperatur gar nicht erreichen (in welchem Fall ja auch noch keine Regelung einsetzen konnte :-). Nun weiß man ja hier nicht, was der TO konkret an Peltierelementen verbaut hat und wie die Box konstruiert/isoliert ist, aber die Aufgabe, mittels PID-Regler eine "absolut" gleichmäßige Temperatur zu erzielen, kann man getrost als akademisch und damit als realitätsfern einstufen. Abgesehen davon, dass ich mir keine Anwendung einer Kühlbox vorstellen kann, wo die Temperatur so genau gehalten werden muß, wäre vielleicht auch der Ansatz mit Peltierelementen zu überdenken. Die Steuerung per PWM ist jedenfall schon mal falsch...auch wenn es natürlich immer Leute gibt und geben wird, die genau das Unsinnige machen und es schon seit Jahrzehnten erfolgreich laufen haben. Ich glaube es nicht... Gruß Rainer
Oliver S. schrieb: > Was ist denn das Ziel der Übung? Zum bisherigen Verlauf siehe den Beitrag "Mosfet IRFP4568PbF wird extrem heiß - warum?"
:
Bearbeitet durch Moderator
Hier ein kurzes Update mit neuen Parametern, kann tatsächlich auf schonmal ungefähr kleiner 0.5Grad abweichung gehalten werden und das mit meiner Canon Eos 2000D in der Box drinnen. Den neuen Graphen hab ich angehägt die Parameter sind derzeit: TARGET ist hier 20 GRAD PID_P = -15 PID_I = -0.05 PID_D = -0.01 Ob man das noch verbessern kann, wrsl irwie schon aber bin schon fast zufrieden..
:
Bearbeitet durch User
Tagelang hatte ich versucht Parameter für einen sehr trägen Brennofen zu finden - dann hab ich einen selbstoptimierenden OMRON E5CW genommen und nach einer Fahrt hat alles gepasst. Man kann sich das Leben auch schwer machen...
:
Bearbeitet durch User
Ricco S. schrieb: > Ob man das noch verbessern kann Du musst den Regler einfach so abgleichen, wie alle Welt einen Regler abgleicht. Erst nur P, dann D dazu und zum Schluss noch den I dazu wie dort: http://www.vias.org/mikroelektronik/regler_pid.html Oder alternativ erst nur P, dann I dazu und das Schwingen mit dem D-Regler unterdrücken: https://tlk-energy.de/blog/pid-regler-einstellen Siehe dort auch unter "Empirische Dimensionierung": https://de.wikipedia.org/wiki/Faustformelverfahren_(Automatisierungstechnik) > aber bin schon fast zufrieden.. Dann ist es ja gut. Allerdings solltest du im mittleren der drei Links mal noch den Abschnitt "Robustheit" ansehen. Denn du hast deinen Regler jetzt auf genau 1 einzigen Arbeitspunkt "optimiert" (und er schwingt da trotzdem immer noch). Wenn du jetzt einen anderen Arbeitspunkt hast (andere Aussentemperatur oder Versorgungsspannung), dann kann das Schwingen auf einmal wieder stärker werden.
:
Bearbeitet durch Moderator
Ricco S. schrieb: > PID_P = -1 > PID_I = -0.1 > PID_D = -0.05 Ist der Regler komplett in Parallelstruktur, oder werden die Zeitanteile noch mit PID_P multipliziert? Wenn ja, hast Du aufgrund der Vorzeichen teilweise Mitkopplung.
Walter T. schrieb: > Ricco S. schrieb: > >> PID_P = -1 >> PID_I = -0.1 >> PID_D = -0.05 > > Ist der Regler komplett in Parallelstruktur, oder werden die Zeitanteile > noch mit PID_P multipliziert? Wenn ja, hast Du aufgrund der Vorzeichen > teilweise Mitkopplung. Würde der dann nicht einfach abhauen, also in die Stellgliedbegrenzung rein fahren, weil der zunehmende error den Integrator weiter/schneller voll laufen lässt? Für alle die sich wundern... Die Minusse kommen durch den Umstand, dass es durch zugeführten Strom letztendlich kälter in der Kiste wird. Ich hab zuerst an falsche Polarität des Error-Signals gedacht :D mfg mf
:
Bearbeitet durch User
Achim M. schrieb: > Würde der dann nicht einfach abhauen, also in die Stellgliedbegrenzung > rein fahren, weil der zunehmende error den Integrator weiter/schneller > voll laufen lässt? Guter Punkt. Wenn kein Anti-Windup vorhanden ist.
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.