wilt converteren waarden in Celsius

E

engr.hayee

Guest
Hey iedereen;
i am lezing analoge waarden uit lm35 (temprature IC) in pica6f877a.
Ik wil weten hoe ik deze waarden in Celsius.
Bereik van lm35 is van 2 graden Celsius tot 150 graden Celsius en ik wil om te lezen n elkaar temprature van 2 graden tot 50 graden Celsius en
ook ik ben met behulp van 10-bit A / D converter.
plz tell me
Bedankt

 
hoi
i think
spanning = ADC waarde * stapgrootte

stepsize voor 10 bit = 5 / 1024 als 5V als referentie
Shakeel
Laatst gewijzigd door ahmedshakeel op 22 juli 2008 8:20; bewerkt 1 keer in totaal

 
thanx shakeel
maar ik ben nog steeds in verwarring.Ik krijg niet ur punt correct.
als ik de formule als u zeggen
Citaat:ADC-waarde = (v-ingang (lm35 uitgang) * 1024) / vref

 
U
hebt aan de input signaal aan de ADC-converter dynamisch, met andere woorden, je PIC ADC kan 10 bit woord van een signaal tussen 0 en 5V dan bij de eerste die u nodig hebt om het analoge signaal met de input range van de gebruikte ADC.
Als u wilt voor het meten van een temperatuur waarde tussen 2 ° C tot 150 ° C naar de LM35 specificatie, als u het eerste schema (figuur 1 in de datasheet)
Je hebt 10 mV per ° C dan 2 ° C -> 20mV, voor 150 ° C moet je kunnen lezen 1,5 V.
Nu je
hebt een probleem, voor een 10 bit DAC je
hebt minimaal 5 / 1024 = 4,88 mV dan moet u kunnen lezen 20 mV en correct te begrijpen, maar de maximale waarde van uw interval is slechts 1,5 V, minder dan de maximaal toegestane van 5V vervolgens uw lezing zal worden comprimeren omdat 20 mV is ongeveer gelijk aan een digitale waarde 4 en 1,5 V is gelijk aan 307,2 een totaal bereik van ongeveer 303 digitale waarde wat een totaal van 1024 beschikbaar.Je moet passen in de analoge signaal naar de 0 - 5 V bereik, of beter 0,5 tot 4 V, om dit te doen gebruik operationele versterker en daarna de benodigde berekening in de microcontroller.

Andere manier kunt u gebruik maken van goedkope digitale termometer LM70 met een SPI interface, nauwkeurigheid 0,25 ° C voor een temperatuurbereik van -55 tot 150 ° C, met dit apparaat geen gebruik hoeven te maken ADC of een andere versterker, gewoon lezen van de digitale waarde en make your scaling calculation inside the microcontroller.

http://www.national.com/pf/LM/LM70.html
http://www.national.com/ds.cgi/LM/LM70.pdf

Hoop dat het helpt

Dag
Powermos

 
Dankzij TekUT
als ik gewoon dit doen dan zou het goed of fout of display goed of fout waarden
mijn code ziet er als volgt uit
Citaat:void main ()

(

int16 waarde, waarde1;

setup_adc_ports (ALL_ANALOG);

setup_adc (ADC_CLOCK_INTERNAL);

while (1)

(

set_adc_channel (2);

delay_ms (500);

value = read_adc ();

waarde1 = 5 * waarde * 100/1023;

printf ( "% f \ r \ n", (float) waarde1);

)

)

 
Kunt u het bericht geleid gegevens na conversie en de bijbehorende spanning waarde bij de ingang van de ADC-pin?

Dag
Powermos

 
het resulteerde gegevens toen mijn kamer temperatuur is 27

27,34
27,34
27,83
27,83
.
.
.
.toen ik de temperatuur door middel van plaats soldeerbout buurt lm35 de temprature werpt.

de spanning aan de ingang van de ADC is approx274.78mV
is deze berekening juist is.
Ik denk dat het verkeerd is, maar ik ben er niet zeker

 

Welcome to EDABoard.com

Sponsor

Back
Top