Forum: Mikrocontroller und Digitale Elektronik PID-Temperaturregler mit PWM o. Linearausgang


von Christoph K. (christoph_k314)


Lesenswert?

Hallo zusammen,

aktuell stehe ich vor folgender Aufgabe:

ich möchte einen kleinen Aluzylinder (ca. D18x40) auf ca 60°C heizen. 
Dafür nutze ich eine Heizpatrone (70W) wie sie in 3D Druckern verwendet 
wird. 24V. Ich möchte die Temperatur des Aluzylinders auf 60°C regeln. 
Dafür kann in den Block ein Temperaturfühler versenkt werden.

Die Verwendung ist das vorheizen einer Passung in einem 
Druckgussteil(grob 30x40x20), sodass eine Buchse gefügt werden kann. Die 
Genauigkeit ist nicht besonders wichtig, +-5k ist völlig ausreichend.

Das Problem ist: In nicht eingeführtem Zustand ist die Wärmekapazität 
sehr gering, sobald der Heizer in das Gussteil eingeführt ist wird sie 
riesig.

Sprich: ich brauche eine hohe Leistung um die Temperatur zügig erreichen 
und halten zu können, sobald der Heizer aber nicht mehr im Gussteil 
steckt führt das dazu, dass die herkömmlichen "günstigen" Regelungen mit 
SSR oder Relais nicht mehr in der Lage sind die Temperatur ohne massive 
(Über-)schwinger zu halten.

Ich suche deshalb einen günstigen PID Regler der das am Ausgang der PWM 
macht oder eine andere Lösung für dieses Problem die ich bisher nicht 
auf dem Schirm habe.


Grüße + Danke fürs Mitdenken.

von Andras H. (kyrk)


Lesenswert?

Hallo,

Es kann auch sein dass ein PID Regler damit auch nicht klar kommt. Da 
müsstest du erstmals die Streckenidentifizierung durchführen und gucken 
wie die 2 Strecken aussehen. Erstmal ohne einführen, dann mit einführen.

Ich glaube da wirst du etwas brauchen, wo du die Regelparameters 
umschalten kannst. Deine Strecke ändert sich, dass heißt der 
Paramtersatz muss auch angepasst werden. Sprich, versuche erstmal ganz 
low tech vorzugehen und gucken was würde passieren, wenn du nur ein 
Schalter hättest womit du dein Heizer einfach zwischen 2 vordefinierte 
Stufen schalten könntest. Zum Beispiel 10% und 100%. Ob so die 
Temperaturen mehr oder weniger passen. Wenn dass so klappt kann man das 
Problem mit einem P Regler lösen was natürlich irgendwie wissen müsste 
in welcher Zustand da benötigt wird. Wenn das nicht klappt, dann kannst 
du immerhin noch die Strecken identifizieren. Dann klassisch vorgehen, 
zu den Strecken Struktur und Paramteres ein Reglerstruktrur wählen und 
dann Parametrieren.

von Michael B. (laberkopp)


Lesenswert?

Christoph K. schrieb:
> andere Lösung

Setze den Sensor direkt an die Heizung, thermisch besser gekoppelt als 
das Gussteil.

von Andras H. (kyrk)


Lesenswert?

Michael B. schrieb:
> Setze den Sensor direkt an die Heizung, thermisch besser gekoppelt als
> das Gussteil.

Meiner Meinung nach sollte man den Sensor genau da setzen wo man die 
Temperatur regeln möchte. Alle anderen Punkte werden je nach Distanz 
andere Werte aufweisen.

: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

> Meiner Meinung nach sollte man den Sensor genau da setzten wo man die
> Temperatur regeln möchte.

Mag ja sein das dies deine Meinung ist, aber die allgemeine Meinung
der Regelungstechnik ist das man den Sensor am Heizelement haben sollte
weil du sonst eine zusaetzliche Totzeit im System hast die dir
viel Freude machen kann.

Vanye

von Andras H. (kyrk)


Lesenswert?

Vanye R. schrieb:
> Vanye

Hmm. Macht irgendwo Sinn :)

Wie wird dann das Problem gelöst, dass dadurch wo man wirklich die 
Temperatur regeln möchte, ganz andere Werte hat als was man haben 
möchte? Sollte man dann den Totzeit aus dem System irgendwie wegmachen?

von Christoph K. (christoph_k314)


Angehängte Dateien:

Lesenswert?

Andras H. schrieb:
> Hmm. Macht irgendwo Sinn :)
>
> Wie wird dann das Problem gelöst, dass dadurch wo man wirklich die
> Temperatur regeln möchte, ganz andere Werte hat als was man haben
> möchte? Sollte man dann den Totzeit aus dem System irgendwie wegmachen?

So ist es schon gelöst - siehe Bild. Die Patrone sitzt fast auf der 
Achse, der Sensor nur wenig daneben. Ein Kompromiss aus Totzeit und 
Genauigkeit. Hab mir das auch mal mit ner Simulation angeschaut, die 
Position im Zylinder ist sehr unkritisch was Totzeit und 
Temperaturfehler angeht.

Danke schonmal für euren Input. Das Problem lässt sich über 
Regelparameter so einfach nicht lösen. Die Strecke ist so schnell, dass 
sie bei den üblichen Temperaturreglern deren Stellgröße ein grob 
gerastertes 1/0 ist (SSR, Relais etc) im Fall ohne das Gussteil keine 
stabile Regelung möglich ist - meiner Meinung nach wegen der zu groben 
Zeitdiskretisierung. In anderen Worten: Die Bandbreite des Reglers 
reicht nicht aus um die Kombination aus 70W Heizung und einer recht 
kleinen Wärmekapazität zu regeln.

Da hilft alles genannte nicht. Ich habe es aus neugier mal analog gelöst 
mit einer DC tauglichen Audioendstufe und einem OPV-basierten Regler. 
alles kein Problem.Allerdings möchte ich hier eine käufliche Lösung und 
kein privates gebastel.

von Rainer W. (rawi)


Lesenswert?

Vanye R. schrieb:
> Mag ja sein das dies deine Meinung ist, aber die allgemeine Meinung
> der Regelungstechnik ist das man den Sensor am Heizelement haben sollte
> weil du sonst eine zusaetzliche Totzeit im System hast die dir
> viel Freude machen kann.

Die Ausbreitung der Wärme wird durch den Gradienten und nicht durch eine 
Geschwindigkeit bestimmt. Damit ergibt das bestimmt keine Totzeit im 
System.

von Christoph K. (christoph_k314)


Lesenswert?

Rainer W. schrieb:
> Vanye R. schrieb:
>> Mag ja sein das dies deine Meinung ist, aber die allgemeine Meinung
>> der Regelungstechnik ist das man den Sensor am Heizelement haben sollte
>> weil du sonst eine zusaetzliche Totzeit im System hast die dir
>> viel Freude machen kann.
>
> Die Ausbreitung der Wärme wird durch den Gradienten und nicht durch eine
> Geschwindigkeit bestimmt. Damit ergibt das bestimmt keine Totzeit im
> System.

das ist so erstmal Falsch bzw mindestens unvollständig. Das System kann 
man als Serienschaltung von Wärmewiderständen und Wärmekapazitäten 
verstehen. Damit ergibt sich automatisch auch eine zeitliche Komponente. 
Super zu sehen wenn z.B. Wärmeübergänge schlechter sind als die 
Leitfähigkeit vom Bulkmaterial. So z.B. am Übergang von der Hülse aufs 
Gussteil (Spielpassung).

Allerdings ist die Diskussion müßig und führt in die falsche Richtung. 
Das Problem ist aktuell, dass die REGELHARDWARE die zeitliche Dynamik 
der Strecke im nicht eingebauten Zustand nicht bedienen kann. Es bedarf 
also Hardware die entweder ein stetiges Stellglied oder aber eine 
deutlich höhere zeitliche Auflösung aka halbwegs zügige PWM bietet.

Grüße

von Vanye R. (vanye_rijan)


Lesenswert?

> Danke schonmal für euren Input. Das Problem lässt sich über
> Regelparameter so einfach nicht lösen.

Dein Problem ist das du natuerlich zwei unterschiedliche Regelstrecken
hast. Also braeuchtest du eigentlich zwei unterschiedliche 
Parametersaetze.

Oder du verabschiedest dich vom PID ansatz und kaufst einen fertigen 
Regler.

Also sowas hier:

https://www.eurotherm.com/de/products/pid-regler/einkanalregler/2400-temperature-controller-programmer/

Da duerfte SEHR viel Arbeit in den Reglern und der automatischen 
Parametrierung stecken. Es ist vermutlich klueger einfach so ein Teil zu 
kaufen anstatt selber viel dazu zu lernen. Jedenfalls fuer ein 
Einzelstueck.

Vanye

von Christoph K. (christoph_k314)


Lesenswert?

Vanye R. schrieb:
> Dein Problem ist das du natuerlich zwei unterschiedliche Regelstrecken
> hast. Also braeuchtest du eigentlich zwei unterschiedliche
> Parametersaetze.
>
> Oder du verabschiedest dich vom PID ansatz und kaufst einen fertigen
> Regler

Wie weiter oben schon beschrieben habe ich die Strecke mit einem 
analogen PID Regelkreis und Leistungsendstufe problemfrei in Betrieb. 
Die Argumentation trifft es also nicht so wirklich.

Grüße

von Christoph K. (christoph_k314)


Lesenswert?

Das Problem lässt sich ziemlich schön als Serienschaltung von 
Widerständen und Kondensatoren modellieren. Ungünstig für die Regelung 
sind:

a) Phaselag aka Totzeit der Strecke-> die habe ich stark reduziert durch 
die Sensorposition (Sensor ist großflächig und gut leitend an die 
Patrone angebunden, die Wärmekapazität ist klein), sie ist nicht das 
Problem.

b) das Verhältnis von Stellgröße und Kapazität. Es ist vergleichbar mit 
einem PWM-Ausgang der auf einen Kondensator geht. Wenn die 
kleinstmögliche Pulsweite bereits mehr Ladung liefert als abfließt kommt 
es zwangsläufig zu Instabilität.

von Rainer W. (rawi)


Lesenswert?

Christoph K. schrieb:
> Wie weiter oben schon beschrieben habe ich die Strecke mit einem
> analogen PID Regelkreis und Leistungsendstufe problemfrei in Betrieb.

Sagtest du nicht, dass sie fürchterliche Überschwinger zeigt - wegen 
falscher Parametrierung?

Christoph K. schrieb:
> ... führt das dazu, dass die herkömmlichen "günstigen" Regelungen mit SSR
> oder Relais nicht mehr in der Lage sind die Temperatur ohne massive
> (Über-)schwinger zu halten.

von Rainer W. (rawi)


Lesenswert?

Christoph K. schrieb:
> Das System kann man als Serienschaltung von Wärmewiderständen und
> Wärmekapazitäten verstehen

Eben, deswegen ergibt das einen Tiefpass und keine einfache Totzeit. Den 
Unterschied siehst du besonders anschaulich in der Sprungantwort.
Bei einer Totzeit käme der Sprung in der Form unverändert am Sensor an 
(lediglich um die Totzeit verzögert), bei dem betrachteten System nähert 
sich der Wert am Sensor exponentiell.

: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

> Wie weiter oben schon beschrieben habe ich die Strecke mit einem
> analogen PID Regelkreis und Leistungsendstufe problemfrei in Betrieb.

Gut, hab ich uebersehen. Aber wenn dir das gelungen ist dann sollte
es auch problemlos mit PWM klappen. PWM ist doch genau dasselbe
wie eine analoge Leistungsendstufe. Du musst nur darauf achten das
die PWM-Frequenz so hoch ist das von deiner Regelung linear war
genommen wird. Also sagen wir mal >10x deine Regelgeschwindigkeit.

Vanye

von Christoph K. (christoph_k314)


Lesenswert?

Rainer W. schrieb:
> Eben, deswegen ergibt das einen Tiefpass und keine einfache Totzeit.

Ja, das stimmt - du betrachtest das hier differenzierter auch wenn es 
sich in meinem Fall ähnlich auswirkt.

Vanye R. schrieb:
> Aber wenn dir das gelungen ist dann sollte
> es auch problemlos mit PWM klappen. PWM ist doch genau dasselbe
> wie eine analoge Leistungsendstufe.

Das ist ja genau das Problem. die Hardware die ich habe ist viel zu 
langsam. Diese PID-Temperaturregler für die Schalttafelmontage haben 
einen Relais oder SSR Ausgang und relativ lange Updateraten für den 
Temperatursensor...die Stellgröße lässt sich nur in 50..100ms 
Intervallen aktualisieren und ist keine PWM sondern 1/0 also am ehesten 
eine "Pulsdichtemodulation" von niedriger Frequenz.

Gleichzeitig ist die Abtastrate für den Temperaturfühler zu gering (etwa 
100ms pro Datenpunkt)

Ich brauche einen Temepraturregler mit analogem oder PWM Leistungsteil. 
Meine Frage: Kennt jemand oder weiss jemand wo ich so etwas zu 
vernünftigen Preisen bekomme?  Bei den Reglern mit stetigem Ausgang 
müsste ich noch eine entsprechende Leistungsendstufe haben...

Grüße

von Vanye R. (vanye_rijan)


Lesenswert?

> Das ist ja genau das Problem. die Hardware die ich habe ist viel zu
> langsam.

Damit ist dann ein PID-Regler nicht mehr moeglich weil dein System 
nichtlinear ist.

> Ich brauche einen Temepraturregler mit analogem oder PWM Leistungsteil.

Geben tut es vermutlich alles irgendwo, aber die Regler die ich kenne
haben das getrennt weil die sich ja an unterschiedliche Kunden richtigen
die wiederum unterschiedliche Vorstellung von Leistung haben.

Es gibt also schon fertig kaufbare Regler welche dann z.B die LED eines 
elektronischen Relais ansteuern koennen.
Da wird dann der eigentlich Regler so langsam laufen das er wieder die
Aussenwelt als linear/gemittelt ansehen kann.

Aber das kannst du ja auch selber machen indem du deinen Regler stark 
verlangsamst. (und daran denkst das die Abtastzeit deine Regelparameter 
gewichtet)

Was haelst du von einem anderen Ansatz? Du verzichtest auf die PWM.
Stattdessen nimmst du einen Schaltregler dessen Ausgangspannung du 
linear
ueber eine Steuerspannung einstellen kannst. Haken koennte sein
das du dann mit dieser Spannung die Leistung quadratisch einstellst. Ich 
wuerde dann den Ausgang eventuell ueber eine Tabelle auf die Leistung 
linearisieren.

Was mir aber nicht ganz klar ist wie du das nun loesen willst:

1. Selber aus Bauteilen aufbauen.

2. Fuer eine Firma neue Fertige Regler bei einer anderen Firma kaufen.

3. Als armes Wuerstchen irgendwo einen gebrauchten Regler abgreifen um
   damit etwas fuer ein einmaliges Projekt zu basteln.

Vanye

von Christoph K. (christoph_k314)


Lesenswert?

Vanye R. schrieb:
> Geben tut es vermutlich alles irgendwo, aber die Regler die ich kenne
> haben das getrennt weil die sich ja an unterschiedliche Kunden richtigen
> die wiederum unterschiedliche Vorstellung von Leistung haben.

Es gibt ja auch genug Regler die z.B. einen Triac-Leistungsteil haben - 
das passt halt nicht zu einem DC Modul. Das würde ich aber gerne 
beibehalten um im Bereich der Schutzkleinspannung zu bleiben.

Aktuell sieht es so aus, dass eine nicht super elegante aber gangbare 
Lösung wird einen Temperaturregler zu verwenden der einen 0..10V Ausgang 
besitzt und damit auf 
https://www.conrad.de/de/p/h-tronic-dc-drehzahlsteller-baustein-12-v-dc-24-v-dc-10-a-191507.html#productDownloads 
zu gehen. Das Modul hat einen 0..10V Eingang und erzeugt daraus eine 
PWM.

Das ist zwar weniger elegant als ich es wollte aber immerhin alles 
Kaufteile.

Vanye R. schrieb:
> Was mir aber nicht ganz klar ist wie du das nun loesen willst:

Das Teil ist für eine kleine Prototypenproduktion gedacht und ich habe 
keine Lust dort eine Bastellösung zu supporten. Das soll jeder I**** 
nach Doku aufbauen, ersetzen oder Reparieren können. D.h. ich möchte 
nicht mehr als Verdrahtungsaufwand auf Anwenderseite erzeugen. <60°C und 
Schutzkleinspannung sind da auch wichtig.

Klar kann man das alles mit SPS oder einem Schnellen µC totschlagen. Das 
passt aber weder in den Budget noch in den Zeitrahmen. das Ganze ist ein 
"Gefallen" für ein nichtkommerzielles kleines Projekt.

: Bearbeitet durch User
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.