atmega8L avr met temp sensor

W

welkyb

Guest
Hoi,
Ik doe mijn eerste avr exp met een temp sensor LM35 te knipperen blauw groen of rood leidde volgens de temperatuur van de kamer.
• Connected de leds aan PORT B van atmega8L uC en temp sensor aan ADC 3 input.
• Gebruik van interne oscillator 1MHz als clk, interne referentie spanning van 2,56 als referentie spanning in GRATIS RUNING MODE.
• ADLAR = 0 dwz recht aangepast.
• Connected een 0.1uF ontkoppeling condensator op vref pin per gegevensblad, "Interne 2.56V Spanning Referentie met externe condensator op Aref pens".
• Gebruik ProLight leds 1W (voor de goede intensiteit), transistor in verzadiging met Ic ongeveer 10 mA.
Volgens wat ik begrepen HV temp sensor met 10,0 mV / ˚ C schaalfactor, uitgangsspanning van de sensor is ingangsspanning van de ADC ... ...
ADC = (Vin * 1024 / vref)
Als room temp = 30 ˚ C, Vin = 300mV = 0.3V, dus ADC = (.3 * 1024/2.56) = 120.Dus ik HV gedeeld door het resultaat 4.Fig b.png<img src="http://images.elektroda.net/79_1246637009_thumb.jpg" border="0" alt=""/>
Hier is mijn code die ik HV geschreven in AVR Studio4
#
include <avr\io.h>
# define F_CPU 1000000UL
#
include <util/delay.h>
int main (void)
(
unsigned int temp;
ADMUX = (1 <<REFS1) | (1 <<REFS0) | (1 <<MUX1) | (1 <<MUX0);
ADCSRA = (1 <<ADEN) | (1 <<ADFR);
DDRB | = 0xFF;
while (1)
(
TEMP = ADCL ADCH * 256; / / ADCH is alleen-lezen te actualiseren ADC-gegevens registreren, anders is het niet nodig
TEMP = TEMP / 4;
if (TEMP <= 20)
PORTB = 1 <<PB1 / / BLAUW
else if (temp> 20 & & TEMP <= 2

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />PORTB = 1 <<PB0 / / GREEN
anders als (TEMP> 28 & & TEMP <= 35)
PORTB = 1 <<PB3 / / RED
anders
PORTB = ((1 <<PB1) | (1 <<PB0) | (1 <<PB3));
)
)

Maar ik weet niet wat het probleem is; uC alleen knippert de LED die voldoet aan de minimale criteria voor temp dwz blauw.Zelfs als ik vermenigvuldigen de definitieve TEMP variabele door 10000 en houden
min. temp criteria voor de blauwe LED te knipperen als minder dan 2 ˚ C, dan ook alleen maar blauwe LED knippert.Het lijkt erop dat de uC neemt geen spanning als input.
Ik HV gecontroleerd dat als ik schrijf (PORTB = 1 <<PB0), vervolgens de groene LED knippert of (PORTB = 1 <<PB3), dan rode led knippert in plaats van (PORTB = 1 <<PB1)

Ik heb aangesloten output pin van de sensor direct op UC, is er een probleem in of moet ik gebruiken meer ontkoppeling condensatoren ergens in het circuit.

plz help

 

Welcome to EDABoard.com

Sponsor

Back
Top