Konacno sam shvatio poentu tvoje formule ali i samu poentu sta se tu desava. Cinjenica je da ad8495 na izlazu pravi 5V kada mu je ref=gnd a temperatura na sondi 1000C i vcc=5V, znaci ako je na sondi 500C onda je na izlazu 2.5V, i to sam u ova dva primera i prakticno potvrdio da je sasvim kako treba i da je tvoja formula ok, malo sam je modifikovao ali u sustini je ista, uzeo sam 2.5V da vidim dali cu da dobijem ocekivanih 500C sa dva razlicita FSR:
temperatura_FSR2048 = ((2.5 / (2.048 / 32767) * (2.048 / 32767)) - 0) / 0.005
temperatura_FSR4096 = ((2.5 / (4.096 / 32767) * (4.096 / 32767)) - 0) / 0.005
To je to! Ddanijel svaka cast! Konacna formula koju cu da stavim u programski kod glasi:
LSB = FSR / 32767;
temperatura = ((advalue * LSB) - VREF) / 0.005
Edit:
Probano i prakticno, rezultat na podesenih 220C merim 270C, na podesenih 40C merim 50C, znaci da ocigledno VCC nije 5V ili REF nije 0V, tu bi trebalo napraviti kalibraciju mislim da bi onda bilo ok.
Edit:
Tvoja formula nista drugacija od moje prvobitne formule sa kojom sam mislio da merim tacno temperaturu a ispostavilo se da dobijam gresku za 70C od realne temperature:
temperature = (float)((((val * 2.048) / 32768.0) - 0) / 0.005)
Samo sto sam ja umesto -0 stavio +0.0xx misleci da sam kalibrisao naspram telesne temperature. Opet sam na pocetku i nista mi nije jasno niti imam ideju kako da se odradi kalibracija jer na 40C dobijam 50C a na 200C dobijam 270C nesto tu ipak nedostaje u formuli a ja ne mogu da skontam sta. I kada bi u formulu ubacio realna izmerena stanja VCC i REF ne znam da sastavim novu formulu, katastrofa
temperatura_FSR2048 = ((2.5 / (2.048 / 32767) * (2.048 / 32767)) - 0) / 0.005
temperatura_FSR4096 = ((2.5 / (4.096 / 32767) * (4.096 / 32767)) - 0) / 0.005
To je to! Ddanijel svaka cast! Konacna formula koju cu da stavim u programski kod glasi:
LSB = FSR / 32767;
temperatura = ((advalue * LSB) - VREF) / 0.005
Edit:
Probano i prakticno, rezultat na podesenih 220C merim 270C, na podesenih 40C merim 50C, znaci da ocigledno VCC nije 5V ili REF nije 0V, tu bi trebalo napraviti kalibraciju mislim da bi onda bilo ok.
Edit:
Tvoja formula nista drugacija od moje prvobitne formule sa kojom sam mislio da merim tacno temperaturu a ispostavilo se da dobijam gresku za 70C od realne temperature:
temperature = (float)((((val * 2.048) / 32768.0) - 0) / 0.005)
Samo sto sam ja umesto -0 stavio +0.0xx misleci da sam kalibrisao naspram telesne temperature. Opet sam na pocetku i nista mi nije jasno niti imam ideju kako da se odradi kalibracija jer na 40C dobijam 50C a na 200C dobijam 270C nesto tu ipak nedostaje u formuli a ja ne mogu da skontam sta. I kada bi u formulu ubacio realna izmerena stanja VCC i REF ne znam da sastavim novu formulu, katastrofa