Forum: Compiler & IDEs Temperaturüberwachung


von bounceboy (Gast)


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
      };
}

von Helmut -. (dc3yc)


Lesenswert?

Bounceboy,

schreib mal anstatt der ....... PORTD.4 = 0

Dann sollte die LED auch wieder ausgehen.

Helmut.

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.