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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.