Temperaturüberwachung

Gast #880974
Lesenswert?

Guten Tag,

für die Steuerung einer stromgesteuerten Bremse benötige ich eine 
Temperaturüberwachung. Zu Beginn der Endlosschleife lese ich den Wert 
des NTC aus, der am PortA.1 des AD-Wandlers (Atmega16) hängt. Solange 
der Wert unter 85°C ist (entspricht temp > 164) soll das Porgramm 
ausgeführt werden, steigt die Temperatur über  85°C, soll die Steuerung 
nichts tun und eine rote LED (PORTD.4) solange leuchten, wie die 
Temperatur die 85°C noch überschreitet. Mein Problem ist nun, dass die 
LED zwar angeht, bei Abkühlung allerdings nicht wieder aus - habe das 
ganze auch schon mit einer eleganteren while-Schleife versucht, da ging 
sie erst gar nicht an! Wie lässt sich das in den Griff bekommen? Gibt es 
auch eine Funktion in C bei der der Controller nichts macht? Ich 
programmiere mit Code Vision AVR. Vielen Dank


while (1)
{
      read_adc(1);
      temp85 = ADCW;

      if(temp85 > 164)               // Temperatur unter 85°C
      {
           ........;
      }
      else
      {
      PORTD.4 = 1;                   // LED leuchtet
      };
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren