Forum: Mikrocontroller und Digitale Elektronik Wie Temperaturregler optimieren?


von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Hallo allerseits,

ich bau mir gerade eine Art kleiner "Klimakammer" die ich mittels 
Peltier-Element auf konstanter Temperatur halten will. Hardware (AVR) 
ist fertig und funktioniert, mit der Software kämpfe ich gerade. Dabei 
bin ich draufgekommen, dass ich wohl massive Defizite in 
Regelungstechnik habe :-(

Vorab: ich weiss dass es ein reiner Zwei-Punkt-Regler auch täte, weil 
die Temperatur an und für sich unkritisch ist, aber ich möchte das 
Beispiel nutzen um etwas zu lernen...

Erstmal hab ich einen reinen P-Regler versucht: Temperatur (recht genau) 
gemessen, Delta zur Solltemperatur ermittelt, mit einem Faktor 
multipliziert, begrenzt auf 0..255, ergibt meine PWM-Größe für die 
Peltier-Ansteuerung.

Diesen "Faktor" hab ich mal versuchsweise so gesetzt, dass bei 5° 
Abweichung volle Pulle geheizt wird.

Problem: Regelabweichung recht groß (logisch!).
Wenn ich nun den Faktor vergrößere, wird die Abweichung zwar geringer, 
dafür beginnt das Ding zu schwingen (langsam, aber doch).

Soweit glaube ich das zu verstehen, und es ist mir auch klar dass der 
reine P-Regler da nicht optimal arbeiten kann.

Nächster Versuch sollte sein, einen PI-Regler (mit Anti-Windup) zu 
verwenden.

Hier hab ich aber keine Ahnung wie ich den I-Anteil abschätzen soll.

Es gibt wohl eine Methode die Parameter abzuschätzen, Basis dafür ist 
aber ein reiner P-Regler, wobei der P-Anteil solange erhöht wird bis die 
Strecke zu schwingen beginnt. Das ist aber etwas mühsam, weil das System 
sehr träge ist, ich würde vermutlich Stunden brauchen bis ich mir hier 
ans "Schwingen" herangetastet hätte.

Was ich machen kann ist regelmäßig alle Parameter per UART an den PC 
senden und aufzeichnen, daraus kann ich auch nette Diagramme malen etc.

Was mir spontan einfiele wäre eine Art "Sprungantwort" aufzuzeichnen, 
d.h. ist lasse das Ding sich auf Raumtemperatur einpendeln, geb dann 
Vollgas (bei deaktiviertem Regler) und zeichne die Temperatur auf. Hilft 
mir das was?

Danke schon mal!

von m Lindner (Gast)


Lesenswert?

hallo,

hast du die möglichkeit die Strecke zu analysieren?? also peltier auf 
100% und dann in regelmäßigen Abständen die Temperatur in deiner Klima 
Kammer messen. wenn du dir dann die resultierende Kurve anguckst, kann 
man Rückschlüsse auf das Verhalten ziehen.

aus dem Bauch raus würde ich auf eine PT1 Strecke tippen.

optimal wäre es wenn du das Ergebnis hier mal postest.!

vg

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Abgesehen davon dass ich niht nur barfuß in Regelungstechnik bin, bin 
ich offensichtlich auch zu dumm zum googeln :-(

http://www.rn-wissen.de/index.php/Regelungstechnik#Dimensionierung_durch_Probieren_.28Empirisches_Einstellen.29

Da ist eine methode mit Sprungantwort beschrieben. Das werd ich jetzt 
mal ausprobieren...

@mLindner: Gerne werd ich das Diagramm dan posten...

von Anja (Gast)


Lesenswert?

Michael Reinelt schrieb:
> Hier hab ich aber keine Ahnung wie ich den I-Anteil abschätzen soll.

Hallo,

ich verwende 2 getrennte Temperatursensoren

Ein schneller P-Regler für den Temperatursteller
und einen langsamen I-Regler (Temperaturoffset für den 
P-Regler-Setpoint)
der dann die Temperatur dort regelt wo sie gebraucht wird.
Der I-Anteil wird nur dann geändert wenn stabile Temperaturen vorhanden 
sind.

Beitrag "Re: Temperaturreglung für einen Brutschrank"

Gruß Anja

von hinz (Gast)


Lesenswert?

Michael Reinelt schrieb:
> PWM-Größe für die
> Peltier-Ansteuerung.

PWM ist da keine gute Idee.

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

hinz schrieb:
> Michael Reinelt schrieb:
>> PWM-Größe für die
>> Peltier-Ansteuerung.
>
> PWM ist da keine gute Idee.

PWM wird sauber geglättet, am Peltier kommt nur Gleichstrom an.

von Olaf (Gast)


Lesenswert?

> Da ist eine methode mit Sprungantwort beschrieben. Das werd ich jetzt
> mal ausprobieren...

Einfach Methoden setzen einfache Regelstrecken vorraus. Hast du soetwas 
gebaut? :-)

Dazu drei Tips:

1. Dein Temperaturfuehler sollte einen guten thermischen Kontakt zu 
deinem Peltierelement haben. Ist da nicht der Fall so gibt es eine 
Zeitkonstante zwischen deinem Heiz/Kuehlelement und deinem Fuehler und 
das macht deine Regelstrecker schwieriger.

2. Dein Peltierlement sollte an deine Regelstrecke angepasst sein. Wenn 
du z.B maximal 0Grad erreichen willst und dein Peltier laeuft dabei mit 
80% PWM so ist das okay. Wenn es aber erheblich ueberdimensioniert ist, 
also sagen wir mal dafuer nur 30% seiner Leistung braucht, so bekommst 
du grosse Probleme wenn du nur einen Teil der Leistung abrufen willst 
weil du z.b gerade nur auf 10Grad regeln moechtest. Es kann dann 
notwendig sein mit angepassten Parametern fuer verschiedene Sollwerte zu 
arbeiten.

3. Die Theorie geht ueblicherweise von LTI-Systemen aus. Erwartet also 
einen linearen Zusammenhang zwischen Stellgroesse und Eingangsgroesse. 
Sollte das nicht der Fall sein kann es dein Leben viel einfacher machen 
wenn du eine Kennlinie aufnimmst und dein System darueber linearisierst.

Olaf

von Ulrich (Gast)


Lesenswert?

Im Kühlbereich, vor allem wenn man sich der Leistungsgrenze annähert, 
ist ein Peltierelement recht nichtlinear - es gibt halt einen optimalen 
Strom, und darum eine Parabel für die Leistung . Auch PWM mit Glättung 
(per Induktivität und Diode+Kondensator ?) ist nichtlinear. Das sollte 
man raus rechnen. Für die Glättung muss man ggf. die Kennlinie 
nachmessen.

Beim Peltierelement lohnt es sich ggf. auch die Temperatur der anderen 
Seite (außen) zu messen, denn auch die Temperatur außen hat einen 
deutlichen Einfluss. Das ist dann zwar schon fortgeschrittene 
Regelungstechnik, aber auch nicht so kompliziert. Es geht auch ohne 
(ggf. braucht man dann auch noch das Differentialglied), aber den Sensor 
sollte man wenigstens vorsehen.

Das Peltierelement darf zum kühlen ruhig ein bisschen größer ausgelegt 
sein, wenn nicht die volle Temperaturdifferenz benötigt wird. Ein zu 
knapp ausgelegtes Element braucht da ggf. mehr Strom und im Bereich über 
etwa 80% des Stromes wird die Sache sehr nichtlinear. Wichtig ist auch 
eine gute Kühlung der heißen Seite, vor allem wenn man die nicht 
zusätzlich misst. Zum heizen darf das Peltierelement ruhig kleiner sein 
- da ist ein Peltierelement sowieso nur etwas besser ein ein einfacher 
Heizwiderstand.

Die Aufnahme der Sprungfunktion ist schon ein guter Weg.

von Michael R. (Firma: Brainit GmbH) (fisa)


Angehängte Dateien:

Lesenswert?

Sodala, die Sprungfunkion wäre ermittelt (siehe Bild)

Y ist Temperatur in °C, X ist Zeit in Sekunden.

ich hab versucht diese "Wendetangente" einzuzeichnen, und die Werte wie 
im obigen Link auf rn-wissen zu ermitteln.

ich komme auf eine Verzugszeit Tu = 60 Sekunden, und eine Ausgeichszeit 
Tg = 850 Sekunden.

Istwertänderung = 26.4°C, Stellgrößenänderung = 200 (ich hab absichtlich 
nicht voll ausgesteuert)

Ergibt eine Ks von 0.132

Was mich verwirrt ist dass die beiden Einstellregeln so unterschiedliche 
Werte liefern:

Ziegler/Nichols: Kp=96,5 Ki=0,5
Chien/Hrones/Reswick: Kp=37,5 Ki=0,04

Naja, ich werd halt beide mal probieren....

Danke für den Hinweis auf die Nichtlinearität des Peltier-Elements. Die 
Kennlinie sollte ich dann auch noch erfassen :-(

von Ulrich (Gast)


Lesenswert?

Die Parameter nach Z.N. geben normal eine ziemlich aggressive 
Einstellung mit deutlichem Überschwingen / nachschwingen. Das ist mehr 
ein guter Startpunkt um dann von Hand weiter zu optimieren. Das man 
danach die Werte für Ki und Kp nochmal deutlich reduziert ist nicht 
ungewöhnlich.

Es gibt halt auch nicht einen Optimalen Satz Parameter - was man als 
optimal empfindet hängt von der Anwendung ab. Der 2. Vorschlag ist da 
wohl mehr auf der sicheren Seite, also langsamer aber dafür sicher kein 
Schwingen.

Die Linearisierung ist vor allem wichtig wenn die Regelung schnell und 
damit dicht an der Grenze der Stabilität eingestellt 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
Noch kein Account? Hier anmelden.