Forum: Mikrocontroller und Digitale Elektronik Temperaturregelung mit DS1631


von Matze (Gast)


Lesenswert?

Hallo,
ich bin gerade dabei eine Temperaturregelung mit einem DS1631 aufzubauen 
und sthe nun vor der Regelung.
Folgendes habe ich schon realisiert:

Einlesen des Temperaturwertes (Ist-Wert) über I2C.
12 Bit Wert wird dann in zwei int Variablen gespeichert.
8 Bit für die Ganzzahl und 4 Bit für die Kommazahl.
Vorher habe ich die den "signed"-Wert in "unsigned" umgeformt. D.h. z.B 
-12,125 Grad hat den gleichen Binärwert wie +12,125 Grad.
Also für die 12 bzw. 1100 habe ich eine Variable gui_temp_highbyte und 
für die 0,125 bzw. 0010 eine Variable gui_temp_lowbyte. Beide vom Type 
"unsigned int".
gui_tem_highbyte kann ich ohne grossen Aufwand auf dem LCD anzeigen. Um 
0,125 anzuzeigen, zeige ich einfach 1250 an. Das mache ich bei allen 
möglichen Kommastellen so. Ich lege eine Tabelle mit den 16 möglichen 
Werten in den Codespeicher und hole mir dann immer den richtigen.
Jetzt geht an die Regelung. Ich möchte mit einem Peletierelement einen 
Block aus Alu auf eine Konstante Temperatur aufheizen und diese halten. 
Der Temeraturbereich liegt zwischen 16 und 30 Grad, welche vom Benutzer 
über einen Drehimpulsgeber eingestellt werden können.
Die der Wert (Soll-Wert) wird dann in der Variable gui_temp_soll 
gespeichert. Z.b. 225 für 22.5 Grad.

Kann mir jemand einen Tip geben wie man am besten so eine Regelung 
realisiert. Die Teperatur soll in 0.5 Grad Schritten eigegeben werden 
können und möglicht genau gehalten werden können.


Grüsse,
Matze

von Wolfgang (Gast)


Lesenswert?

Matze schrieb:
> Kann mir jemand einen Tip geben wie man am besten so eine Regelung
> realisiert. Die Teperatur soll in 0.5 Grad Schritten eigegeben werden
> können und möglicht genau gehalten werden können.

Das kommt auf die zu regelnde Strecke und die Störungen an. Allgemeiner 
Ansatz wäre erstmal ein PID-Regler mit Anti-Windup.

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.