Forum: Analoge Elektronik und Schaltungstechnik Schaltung für Temperaturregelung mit Mikrocontroller


von Ngu Y. (redpill)


Lesenswert?

Hallo,

für eine kleine Messkammer aus Aluminium muss ich eine 
Temperaturregelung entwickeln, welche sie relativ konstant auf 32°C 
hält.

Habe kaum Erfahrung mit dem Thema also kann gut sein das mein Ansatz 
komplett falsch ist..

Mein Ansatz wäre über einen Spannungsteiler mit einem Widerstand und dem 
PT100 an der Messkammer eine Spannung von 1V abfallen zu lassen und bei 
dem PT100 die Spannung mit einem analogen Eingang eines Mikrocontrollers 
zu messen und in Temperatur umzurechnen.

Ein Heizwiderstand am Aluminium wird von einem Transistor über eine 
Spannung am analogen Ausgang des uC eingeschalten bis die Temperatur 32° 
(proportionale Spannung) erreicht und schaltet immer ein sobald die 
Temperatur darunter fällt.

Könnte man das so umsetzten oder ist hier eine andere Herangehensweise 
vorzuziehen?

Danke!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ngu Y. schrieb:
> Könnte man das so umsetzten oder ist hier eine andere Herangehensweise
> vorzuziehen?
Warum nimmst du nicht einfach ein fertiges Reglermodul?

> relativ konstant auf 32°C hält.
Wie "relativ"?

> Mein Ansatz wäre über einen Spannungsteiler mit einem Widerstand und dem
> PT100 an der Messkammer eine Spannung von 1V abfallen zu lassen
Kann man machen.

> Ein Heizwiderstand am Aluminium wird von einem Transistor über eine
> Spannung am analogen Ausgang des uC eingeschalten bis die Temperatur 32°
> (proportionale Spannung) erreicht und schaltet immer ein sobald die
> Temperatur darunter fällt.
Warum analog? Ich würde einen Zweipunktregler nehmen und die Hysterese 
schön klein machen. Dann ginge das Ganze mit einem einfachen Opamp und 
einem Treibertransistor.

von Amateur (Gast)


Lesenswert?

Schau Dir mal beim blauen "C" den folgenden Artikel an: 194883 - 62
Für eine 2-Punkt Regelung erscheint mir ein µP etwas zu überkandidelt.

von foobar (Gast)


Lesenswert?

Schon mal auf eBay nach z.B. W1209 gesucht?

von Michael B. (laberkopp)


Lesenswert?

Ngu Y. schrieb:
> Könnte man das so umsetzten

So ungefähr.

Alleine der Pt100 am Spannungsteiler nutzt nicht den ganzen Messbereich 
eines Anlaogeingangs, ein OpAmp sazwischen würde die Messung verbessern.

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.32

uC haben i.A. keine Analogausgänge, sondern nutzen PWM, wie der Arduino. 
Die kann über einen Transistor verstärkt direkt auf's Heizelement 
gegeben werden.

Aber deine Beschreibung enthält widersprüchliches: Wieso Analogausgang, 
wenn du doch nur je nach Temperatur ein und ausschalten willst 
(Zweipunktregelung) ?

Wie willst du genau temperieren, wenn du immer volle Kanne heizt so 
lange die Temperatur drunter liegt, dann bekomst du doch einen 
Overshoot, und nicht mehr heizt wenn sie drüber liegt, das ergibt dich 
ein zu spätes einschalten.

Wer genau regeln will, verwendet eine PID Regelung.

Lohnt sich ein Selbstbau wirklich, wenn es das schon fertig gibt ?
https://www.ebay.de/itm/Digital-Pid-Temperature-Controller-Pt100-Thermocouple-Sensor-Pid-Control-One-Key/302912984951

von M. K. (sylaina)


Angehängte Dateien:

Lesenswert?

Ngu Y. schrieb:
> Könnte man das so umsetzten oder ist hier eine andere Herangehensweise
> vorzuziehen?

Warum unbedingt mit einem Mikrocontroller?

Wie konstant ist relativ Konstant? Entweder würde ich es ähnlich lösen 
wie Lothar (mit Zweipunktregler) oder aber einen PID-Regler einsetzen.

Wenn es zwingend mit Mikrocontroller sein muss empfehle ich den PID nach 
AVR221 zu implementieren oder aber man implemetiert den PID als float so 
wie ich (siehe Anhang, an OC0B hängt ein TP, der PID regelt im Beispiel 
die PWM für OC0B so, dass am Ausgang des Tiefpasses die Spannung 
konstant gehalten wird, siehe auch: 
Beitrag "PID-Regler: Wie schnell ist schnell genug?"). Ist zwar etwas langsamer 
als der PID nach AVR221, dafür aber kann man da lehrbuchmäßig ran gehen 
und muss sich nicht an die Festkomma-Arithmetik anpassen. Für Temperatur 
sind beide PIDs mehr als ausreichend.

Aber wie schon gesagt, ich würde auch zunächst eine analoge Regelung 
bevorzugen, mit µC nur wenn der µC zwingend erforderlich ist (zum 
Beispiel wenn das System über eine Art Remote-Funktion verfügen soll).

: Bearbeitet durch User
von Ngu Y. (redpill)


Lesenswert?

Lothar M. schrieb:
> Ngu Y. schrieb:
>> Könnte man das so umsetzten oder ist hier eine andere Herangehensweise
>> vorzuziehen?
> Warum nimmst du nicht einfach ein fertiges Reglermodul?

Hab diese Möglichkeit auch in Anbetracht gezogen aber dachte, dass es so 
einfacher und günstiger geht.
Wäre dieses Bauteil hierfür geeignet? 
https://www.analog.com/media/en/technical-documentation/data-sheets/tmp01.pdf


Lothar M. schrieb:
>> relativ konstant auf 32°C hält.
> Wie "relativ"?

Nicht sehr genau, sprich +-0,5-1°C wäre aureichend.

Lothar M. schrieb:
>> Ein Heizwiderstand am Aluminium wird von einem Transistor über eine
>> Spannung am analogen Ausgang des uC eingeschalten bis die Temperatur 32°
>> (proportionale Spannung) erreicht und schaltet immer ein sobald die
>> Temperatur darunter fällt.
> Warum analog? Ich würde einen Zweipunktregler nehmen und die Hysterese
> schön klein machen. Dann ginge das Ganze mit einem einfachen Opamp und
> einem Treibertransistor.

Alles klar Zweipunktregler ist bestimmt simpler in der Umsetzung. Gibt 
es hier etwas zu beachten bei der Schaltung des Zweipunktreglers?

M. K. schrieb:
> Warum unbedingt mit einem Mikrocontroller?

Da die Temperaturregelung nur ein Teil eines größeren Projekts ist, 
hätte ich noch einige analoge Ein- und Ausgänge (eines STEMlab Red 
Pitaya Board) und eine Labview Oberfläche mit den Eingängen und 
Ausgängen zur Verfügung und dachte ich kann sie dafür nutzen. der 
Vorteil dabei wäre auch, dass ich so in der Software sehen würde wenn 
die Temperatur erreicht worden ist.


foobar schrieb:
> Schon mal auf eBay nach z.B. W1209 gesucht?

Das wäre natürlich am einfachsten. werde diese Möglichkeit im Hinterkopf 
behalten falls die eigenen Varianten nicht ausreichend funktionieren.

Michael B. schrieb:
> Alleine der Pt100 am Spannungsteiler nutzt nicht den ganzen Messbereich
> eines Anlaogeingangs, ein OpAmp sazwischen würde die Messung verbessern.

Alles klar, in welcher Schaltung wäre der OPAmp hier zu wählen? 
Instrumentationsverstärker?

Ich hätte auch noch einen 10kOhm NTC statt dem Pt100, wäre der für diese 
Aufgabe eventuell besser geeignet?

Michael B. schrieb:
> uC haben i.A. keine Analogausgänge, sondern nutzen PWM, wie der Arduino.
> Die kann über einen Transistor verstärkt direkt auf's Heizelement
> gegeben werden.
>
> Aber deine Beschreibung enthält widersprüchliches: Wieso Analogausgang,
> wenn du doch nur je nach Temperatur ein und ausschalten willst
> (Zweipunktregelung) ?

Das Red Pitaya Board hat laut Angabe Analogausgänge, die Spannungen 
werden aber wie du gesagt hast auch durch hochfrequentes PWM erzeugt 
(ist mir beim Messen mit dem Oszi aufgefallen)

Hätte überlegt den Transistor für das Heizelement mit dem Analogausgang 
zu schalten..


Michael B. schrieb:
> Wie willst du genau temperieren, wenn du immer volle Kanne heizt so
> lange die Temperatur drunter liegt, dann bekomst du doch einen
> Overshoot, und nicht mehr heizt wenn sie drüber liegt, das ergibt dich
> ein zu spätes einschalten.

Ein overshoot von 1°C wäre kein Problem, kann man ungefähr einschätzen 
wie hoch so ein overshoot bei dieser Konfiguration sein könnte? Als 
Heizelement hätte ich diese hier: 
https://docs-emea.rs-online.com/webdocs/0ed5/0900766b80ed5eb6.pdf


Vielen Dank euch allen!

von M. K. (sylaina)


Lesenswert?

Ngu Y. schrieb:
> Ein overshoot von 1°C wäre kein Problem, kann man ungefähr einschätzen
> wie hoch so ein overshoot bei dieser Konfiguration sein könnte? Als
> Heizelement hätte ich diese hier:

Nein, kann man nicht. Denn der Overshoot ist ja in erster Linie durch 
das System bestimmt, nicht durch das Stellglied.

Dein gewähltes Stellglied halte ich dafür auch für eher schlecht, nicht 
einen Leistungswiderstand brauchst du sondern eher einen Heizstab oder 
ähnliches.
Der Widerstand könnte zwar auch heizen, es wird dann aber eher eine 
punktförmige Heizquelle. Du willst ja ein Volumen erhitzen, da würde ich 
was wählen, was die Hitze zumindest auf ein Länge verteilt oder, noch 
besser, auf eine Fläche. Es gibt da so Heizfolien zum Aufkleben, 
vielleicht wären die ja was.

Ngu Y. schrieb:
> Da die Temperaturregelung nur ein Teil eines größeren Projekts ist,
> hätte ich noch einige analoge Ein- und Ausgänge (eines STEMlab Red
> Pitaya Board) und eine Labview Oberfläche mit den Eingängen und
> Ausgängen zur Verfügung und dachte ich kann sie dafür nutzen. der
> Vorteil dabei wäre auch, dass ich so in der Software sehen würde wenn
> die Temperatur erreicht worden ist.

Das spricht auf jeden Fall für eine Mikrocontroller-Lösung und ist daher 
nachvollziehbar. Wie gesagt, würde hier dann auch eher auf eine 
PID-geregelte Heizung setzen. Hat dann den Vorteil, dass man bei 
richtiger Auslegung 1. keinen Overshoot bekommt (bzw. nur einen sehr 
kleinen) und 2. auch keine bleibende Regelabweichung hat.

von Chlorozote (Gast)


Lesenswert?

Temperaturregelungen haben jeweils ein Problem mit dem Sensor. Es wird 
nicht die Temperatur des zu regelnden Gutes geregelt, sondern die 
Temperatur des Sensores. Die zentrale Frage ist, wie kommt die Waerme an 
den Sensor.

von M. K. (sylaina)


Lesenswert?

Chlorozote schrieb:
> Die zentrale Frage ist, wie kommt die Waerme an
> den Sensor.

Eingangspost gelesen?

von Manfred (Gast)


Lesenswert?

Das Thema kommt mir bekannt vor, insbesondere der teure 
Dickfilmwiderstand - das hatten wir vor ein paar Wochen doch schon 
einmal?

von Wolfgang (Gast)


Lesenswert?

Ngu Y. schrieb:
> Das Red Pitaya Board hat laut Angabe Analogausgänge, die Spannungen
> werden aber wie du gesagt hast auch durch hochfrequentes PWM erzeugt
> (ist mir beim Messen mit dem Oszi aufgefallen)

Da guck noch mal. Bei 125MSpS und 14 Bit wird das wohl kaum PWM sein 
können.
Oder benutzt du einen der analogen Hilfsausgänge. Da steht explizit 
dran, dass das PWM mit einem Basistakt von 250MHz ist.
https://redpitaya.readthedocs.io/en/latest/developerGuide/125-14/fastIO.html#analog-output
https://www.galagomarket.com/datasheet/redpitaya_hardware%20specifications.pdf

> Hätte überlegt den Transistor für das Heizelement mit dem Analogausgang
> zu schalten..
"Schalten" und "Analogausgang" passt irgendwie nicht zusammen oder ist 
Perlen vor die Säue geworfen.

von Ngu Y. (redpill)


Lesenswert?

M. K. schrieb:
> Ngu Y. schrieb:
>> Da die Temperaturregelung nur ein Teil eines größeren Projekts ist,
>> hätte ich noch einige analoge Ein- und Ausgänge (eines STEMlab Red
>> Pitaya Board) und eine Labview Oberfläche mit den Eingängen und
>> Ausgängen zur Verfügung und dachte ich kann sie dafür nutzen. der
>> Vorteil dabei wäre auch, dass ich so in der Software sehen würde wenn
>> die Temperatur erreicht worden ist.
>
> Das spricht auf jeden Fall für eine Mikrocontroller-Lösung und ist daher
> nachvollziehbar. Wie gesagt, würde hier dann auch eher auf eine
> PID-geregelte Heizung setzen. Hat dann den Vorteil, dass man bei
> richtiger Auslegung 1. keinen Overshoot bekommt (bzw. nur einen sehr
> kleinen) und 2. auch keine bleibende Regelabweichung hat.

Alles klar, werde es dann so versuchen.

Der Widerstand als Heizung sollte reichen, da ich ihn momentan mit dem 
Netzteil betreibe und das Ergebnis ausreichend ist. Werde es aber bei 
anderen Aufgaben auf jeden Fall bedenken.

Wolfgang schrieb:
> Ngu Y. schrieb:
>> Das Red Pitaya Board hat laut Angabe Analogausgänge, die Spannungen
>> werden aber wie du gesagt hast auch durch hochfrequentes PWM erzeugt
>> (ist mir beim Messen mit dem Oszi aufgefallen)
>
> Da guck noch mal. Bei 125MSpS und 14 Bit wird das wohl kaum PWM sein
> können.
> Oder benutzt du einen der analogen Hilfsausgänge. Da steht explizit
> dran, dass das PWM mit einem Basistakt von 250MHz ist.
> 
https://redpitaya.readthedocs.io/en/latest/developerGuide/125-14/fastIO.html#analog-output
> https://www.galagomarket.com/datasheet/redpitaya_hardware%20specifications.pdf
>
>> Hätte überlegt den Transistor für das Heizelement mit dem Analogausgang
>> zu schalten..
> "Schalten" und "Analogausgang" passt irgendwie nicht zusammen oder ist
> Perlen vor die Säue geworfen.

Ach ja stimmt, habe auch die analogen Hilfsausgänge gemeint.

Mein Ansatz wäre es den Spannungswert des NTC einzulesen mittels 
Labview, dort den PID-Regler laufen zu lassen, der dann einen analogen 
Ausgang auf >0,7 setzt und so einen Transistor schaltet der die 
Versorgungsspannung (ca. 3V) für das Heizelement aktiviert.. Mach das 
zum ersten Mal, wenn das Blödsinn ist bitte keine Rücksicht.

Eine Frage noch: welchen Widerstand soll ich optimalerweise als R1 bei 
dem Spannungsteiler für den 10k @25° NTC verwenden?

: Bearbeitet durch User
von Walta S. (walta)


Lesenswert?

Rex-c 100 direkt auch China wenn es günstig und einfach sein soll.

Walta

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.