Forum: Mikrocontroller und Digitale Elektronik Heizelement und Ventilator steuern, inkl. Temperaturmessung und UI


von Martin S. (martin_s49)


Lesenswert?

Hallo,

Ich würde gerne ein vorhandenes Chemie-Laborgerät mittels 
Mikrocontroller steuern.
Prinzipiell ähnelt es einem verschlossenen Wasserkocher (4l, 750W 
Heizelement, 230V~) mit angeschlossenem Kondensationsrohr das mittels 
eines Ventilators gekühlt wird.

Momentan besitzt es eine analoge Steuerung, bei der man die Temperatur 
einstellen kann.
Der vorhandene Temperatursensor (anscheinend ein Widerstand) sitzt 
direkt neben dem Heizelement auf der Unterseite des Kessels.
Das Heizelement und der Ventilator (?) wird beim erreichen der 
eingestellten Temperatur mittels einem Relais abgeschaltet.
Das führt zum ständigem Ein- und Ausschalten und schwanken der 
Temperatur.
Ausserdem wird die Temperatur des Inhalts nicht direkt gemessen, sondern 
nur die der Kesselunterseite.

Ich würde nun gerne eine MC-System bauen, dass das Heizelement und den 
Ventilator getrennt und fein genug ansteuern kann. Ich haette gerne ca. 
drei verschiedene Temperaturfühler an verschiedenen Orten (z.T. 50cm 
entfernt vom MC). Der Temperaturbereich wäre meist 20*C - 100*C, max. 
0*C - 150*C, feucht (Wasserdampf etc.).
Das Ganze sollte mittels ein paar Tasten und einem Display bedienbar 
sein.
Zum Kalibrieren der T-Fühler und zum Debuggen etc. hätte ich gerne eine 
Verbindung zum PC. Allerdings ist eine RS232 COM-Port Mangelware bei 
uns, was eigentlich nur USB übrig lässt.

Ich habe Erfahrung mit MC (z.B. MSP430, AVR) und Platinendesign (bin 
Dipl.-Ing.(FH) ET, M.Eng.). Allerdings hätte ich gerne ein paar Tipps 
welche Bauteile ich verwenden soll:

 * Welcher Mikrocontroller würdet ihr mir empfehlen? (Braucht 
Display-Unterstützung, RS232/besser USB (ja, ich kenne den FT Chip zum 
RS232-USB wandeln), wahrscheinlich ein paar ADC Ports für die Sensoren, 
5V ist wahrscheinlich besser als 3.3V um die Schaltlogik anzusteueren, 
sollte in der Lage sein ein kleine Regelung zu betreiben)
 * Welche Temperaturfühler würdet ihr mir empfehlen? (Sollte auf 1*C 
genau sein, besonders bei höheren Graden. Wie gesagt sollte Wasserdampf 
bei >~100*C aushalten)
 * Welche Schaltlogik sollte hier verwendet werden? Ich habe mir die 
ähnlichen Foreneinträge über Heizelement-Steuerungen bereits angesehen. 
Dort wurde der S202S01 und MOC304x empfohlen.
Ich würde gerne die Heizleistung genau regeln können, habe diesbezüglich 
aber keine Erfahrung. Einfach ein paar Sekunden ein- und ausschalten ist 
in diesem Fall wohl nicht genau genug. Gibt es da was einfaches zum 
Phasen anschneiden? Für die Drehzahlregelung des Ventilators (um die 
Kühlleistung zu regulieren) bräuchte ich das doch sowieso, oder?

Vielen Dank im Voraus für alle Tipps und Hinweise,

Grüße,
Martin

von weinbauer (Gast)


Lesenswert?

alle paar Sekunden schalten per Relais wird der einfachste Weg sein,
ob Phansenanschnitt bei Heizelementen funktioniert kann ich nicht sagen,
würde aber schaltungstechnisch etwas mehr Aufwand sein.
Wenn das geht wärs sehr elegant.

Für die Temperaturmessung mit 1°C Auflösung geht einfach n LM75,
müsste man dann halt in n Gehäuse packen und gegen Feuchtigkeit 
isolieren.
Eventuell in Harz eingießen. Alternativ ginge auch DS1820 in n
Stahlröhrchen und mit Silikon verschlossen.

Als fertigen Fühler kann ich diese empfehlen:
http://www.fkr.de/6523/QAP_.pdf

Hab da die 10K NTC verbaut und bin sehr zufrieden. Brauchts halt nen 
Spannungsteiler dazu, Umrechnung des Widerstandswertes in Temperatur
halt per Software. ATMega16 ATMega32

Als µC kannste praktisch alles nehmen was genug Pins hat um n LCD
anzusteuern. Für praktisch alle am Markt erhältlichen LCD gibts passende
LIB um die auch zu managen.
Bei GLCD würd ich auf Typen mit KS0108 zurückgreifen, die sind recht 
gängig.
Bei TextLCD auf HD44780 und kompatible.

von Hermann G. (df2ds)


Lesenswert?

Hallo,
das Heizelement lässt sich am besten mit Pulsgruppen ansteuern 
("Vollwellensteuerung"). Da werden immer ganze Schwingungen der 
Netzspannung zum Verbraucher durchgelassen. Phasenanschnitt sollte man 
wegen potenzieller EMV-Probleme vermeiden.
Für die Vollwellensteuerung muss man allerdings einen brauchbaren 
Nulldurchgangsdetektor für die Netzspannung haben (=bauen). Als 
Stellelement kommt dann ein Opto-Triac in Frage (z.B. S202... von Sharp 
oder ein MOC30xx mit nachgeschaltetem Standard-Triac).

Ich betreibe schon seit ca. 2 Jahren auf diese Weise ein themostatisch 
gesteuertes Heizgerät, das funktioniert tadellos. Bin nur im Moment 
unterwegs, sonst hätte ich Schaltplan- und Programm-Ausschnitte 
angehängt. Kann auf Wunsch aber nachgereicht werden :-)

Viel Erfolg...

Hermann

von Martin S. (martin_s49)


Lesenswert?

Danke Hermann,

reicht es wenn ich einen Opto-Triac mit Nulldurchgangserkennung verwende 
und dann einfach 20ms Pulse darauf gebe?

Funktioniert eine Vollwellensteuerung auch mit einem Ventilator gut 
genug? Hab im Studium mal gehört das fuer E-Motoren gerne die Phase 
angeschnitten wird um die Leistung zu regeln. Der Ventilator ist aber 
weniger wichtig, u.U. reicht sogar ein einfaches EIN/AUS.

Schaltplan- und Programm-Ausschnitte waeren toll! Ich werde sowieso 
nicht sofort dazu kommen damit anzufangen.

Vielen Dank,
Martin

von weinbauer (Gast)


Lesenswert?

Ach so, USB zu RS232 gibts 5 Euros iin der Bucht ... :)

von Martin S. (martin_s49)


Lesenswert?

Danke für die Hinweise.
Dann weiss ich schon mal, wo ich anfangen soll.

Der LM75 hat laut Datenblatt allerdings nur 2*C Auflösung.
Ich hab mir mal den DS18S20 (Nachfolger vom DS1820) bestellt. Der 
gefällt mir auch von der Bauform.

Grüße,
Martin

von Helmut L. (helmi1)


Lesenswert?

Das hier

>max. 0*C - 150*C,

und der Maximale Temperaturbereich vom DS18S20 (-55 .. 125 Grad) passt 
nicht zusammen.

von Martin S. (martin_s49)


Lesenswert?

Helmut Lenzen schrieb:
> Das hier
>
>>max. 0*C - 150*C,
>
> und der Maximale Temperaturbereich vom DS18S20 (-55 .. 125 Grad) passt
> nicht zusammen.

Danke für den freundlichen Hinweis ;-)
Das ist mir auch schon aufgefallen.
Momentan kann man des Gerät von ca. 45 - 125 *C einstellen. Benötigt 
wird eigentlich immer nur bis 100*C + ein paar Zerquetschte.
Der Kessel (d.h. die Unterseite) kann momentan max. 150*C heiß werden. 
Dort ist ja bereits ein passiver Temperatursensor angebracht, denn ich 
wahrscheinlich auch weiter verwenden werde. Die anderen werden dort 
montiert wo es nicht so heiß wird.

Ich benütze des Gerät nur privat, wenn da mal ein Sensor den Geist 
aufgibt ist es ned so schlimm. Für den Worst Case ist da noch eine 
Temperatursicherung vorhanden.

Grüße,
Martin

von Hermann G. (df2ds)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,
leider komme ich wegen Berufstätigkeit erst heute dazu, das Codestück zu 
mailen. Den Schaltplan kann ich leider nicht finden, das ist aber auch 
kein Problem; der Ausgang des AVR steuert direkt die LED im Sharp 
Opto-Triac an-

Im Anhang der Code für die Vollwellensteuerung (AVR-GCC). Der Interrupt 
wird bei jedem Nulldurchgang der Netzspannung ausgelöst. Ich habe dazu 
einfach hinter dem Gleichrichter die 100-Hz-Spannung abgenommen und über 
einen Schmitt-Trigger zum INT0-Eingang geführt (ich weiß, das ist nicht 
gerade präzise, aber es hat für meine Zwecke gereicht).

Viele Grüße

Hermann

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.