Hi Leute,
bin gerade dabei, mir eine Temperaturregelung für meinen Lipo-Koffer zu basteln. Hab dazu schon mal ne Schaltung mit nem Mega32, nem Display und nem DS18S20 aufgebaut. Beheizt wird das ganze mit nem Heizelement, welches über einen Transistor an PA0 hängt. Mein eigentliches Problem ist aber die Programmierung. Hab mir jetzt schon mal ein kleines Programm zusammengebastelt, in dem meine Heizung eine Temperatur von 30 Grad hält. Mir wär aber lieber, wenn der Koffer erst auf ca. 35 Grad geheizt wird, dann die Heizung abschaltet, dann die Temperatur bis auf ca. 32 Grad fallen lässt und dann wieder auf die 35 Grad hochheizt. Eben wie ein Thermostat. Allerdings steh ich da ein bischen auf dem Schlauch, wie ich das programmieren soll.
Hoffe, mir kann da jemand von euch weiterhelfen!
Hab mal mein Programm angehängt
Code:$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 Config Portb.0 = Output Config 1wire = Porta.6 Dim Rom1 As Integer Dim Temp As Integer Wait 1 Do 1wreset 1wwrite &HCC 1wwrite &H44 Ddra.6 = 1 Waitms 800 Ddra.6 = 0 1wreset 1wwrite &HCC 1wwrite &HBE Rom1 = 1wread(1) 1wreset Temp = Rom1 / 2 Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.5 , Rs = Porta.4 Cls Locate 1 , 1 Lcd "*****Lipo-Koffer****" Locate 2 , 1 Lcd "Temperatur = " ; Temp Locate 2 , 17 Lcd "Grad" If Temp < 30 Then Locate 3 , 1 Lcd "*******heizen*******" Portb.0 = 1 End If If Temp > 30 Then Locate 3 , 1 Lcd "****Temperatur ok***" Portb.0 = 0 End If Loop End







Zitieren

Lesezeichen