TemperaturR

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Sitemap
Index
Links
Impressum
Mail
 

Aufgabe

"Die Heizung wird simuliert durch die Linsenlampe M2, als Kühlaggregat dient das Gebläse am Ausgang M1. Zur Temperaturmessung verwenden wir den NTC-Widerstand am Eingang EE. Programmiere das Modell so, daß oberhalb einer bestimmten Temperatur die Heizung aus- und das Gebläse einschaltet. Dieses soll so lange kühlen, bis ein unterer Grenzwert erreicht ist. Dann soll das Gebläse auss- und die Heizung eingeschaltet werden". Soweit das Zitat aus dem "Computing Starter" Begleitheft.

Anwendungskonstanten

mVentilator = 1; mLampe = 2;
aNTC = 0;
wHeiss = 1; wKalt = 2;

Beschriftung der Textfelder

clblTitel = 'Temperaturregelung';
clblM: array[1..4] of string = ('Kühlung', 'Heizung', 'M3', 'M4');
clblA: array[1..2] of string = ('Temperatur', 'EY');
clblW: array[1..2] of string = ('Heiß', 'Kalt');
ctxtW: array[1..2] of string = ('520', '560');

fishMain

var t: Integer;
begin
  repeat                   // --- Endlosschleife, Ende : HALT-Button
    t := ftiGetAnalog(aNTC);
    if t < Werte(wHeiss) then begin
      ftiSetMotor(mLampe, ftiAus);
      ftiSetMotor(mVentilator, ftiEin);
      end
    else if t > Werte(wKalt) then begin
      ftiSetMotor(mLampe, ftiEin);
      ftiSetMotor(mVentilator, ftiAus);
      end;
  Until ftiFinish(0);
end;

Was passiert da? 
Es gibt da zunächst wieder eine Endlosschleife, die über den HALT-Button beendet werden kann. In der Schleife gibt es ein geschachteltes if um die Fälle Heiss und Kalt unterscheiden zu können. Abgefragt werden die Werte des NTC (Negative Temperature Coeffient : je heißer, je kleiner der Wert). Wenn die Temperatur hochgenug ist, wird die Lampe (Heizung) abgeschaltet und der Ventilator (Kühlung) eingeschaltet ... und umgekehrt. Das wars. Bei der Inbetriebnahme sollte man etwas mit den Werten für Heiss und Kalt experimentieren, sie sind vom NTC und der Raumtemperatur abhängig.

Erweiterungen

Anzeige des Betriebszustandes in der Statuszeile durch printStatus wie gehabt. 

Man sollte dem Modell etwas Ruhe gönnen und noch einen Case einbauen bei dem die Temperatur stimmt (also kein Kühlen/Heizen).