Sari la conținut
ELFORUM - Forumul electronistilor

termometru digital cu pic16f84 si DS18B20


gr1ph0n

Postări Recomandate

Am construit termometru digital de aici: http://www.coolcircuit.com/project/digitemp/ . Initial nu imi afisa decat "Temp :". Am reusit sa il fac sa imi arate temperatura pana la urma, dar imi arata undeva pe la vreo 70 *C. Ma poate ajuta cineva sa modific codul sursa astfel incat sa citeasca corect temperatura din camera?

Banuiesc ca e vorba de delay-ul senzorului. In proiect era folosit un DS1820 iar eu am pus un DS18B20

Link spre comentariu
  • Răspunsuri 5
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • gr1ph0n

    3

  • Laci

    1

  • kit

    1

Top autori în acest subiect

Nu e intrerupta alimentarea senzorului, am verificat. Temperatura indicata de senzor creste daca apropii de el o sursa de caldura, nu stiu poate se face altfel conversia l a DS18B20 fata de DS1820 sau poate e vorba de delay. Nu s-a jucat nimeni cu acest tip de senzor?

Link spre comentariu

problema, cred eu, este in codarea temperaturii la DS18B20.

La DS1820 zecimalele sunt retinute in bitul 0 al LS, restul (b1-b7) dau partea intreaga. MS retine doar semnul temperaturii.

La DS18B20 insa, MS foloseste pentru semn doar 5 biti, cei mai semnificativi. Restul de 3, b0-b2, impreuna cu cei mai semnificativi biti ai LS (b4-b7) formeaza temperatura, partea intreaga, iar restul, b0-b3 dau inregistreaza partea zecimala.

La http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf gasesti datasheetul lui DS18B20, iar la http://www.systronix.com/Resource/ds1820.pdf (de exemplu) pt DS1820.

Am extras din primul pdf ce-i mai important:

LS BYTE

2^3 2^2 2^1 2^0 2^-1 2^-2 2^-3 2^-4

MS BYTE

S S S S S 2^6 2^5 2^4

S = SIGN

ca urmare,

+0.5°C 0000 0000 0000 1000

la DS18B20 este, pentru DS1820

+0.5°C 0000 0000 0000 0001

tot asa,

+25.0625 °C 0000 0001 1001 0001 -18B20

+25.0000 °C 0000 0000 0011 0010 -1820

Ca sa extragi partea intreaga a temperaturii la 18B20 trebuie sa scoti B0-B3(MS) si sa-i pui langa B4-B7(LS). Apoi, zecimalele sunt B0-B3(LS), iar pentru semn testezi oricare bit dintre B3-B7(MS).

Bafta!

LE: cred eu...

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări