Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

DS18B20 - czy ktoś potrafi go skalibrować ???

lolek50
-
-
Posty:12
Rejestracja:26 sie 2006, o 10:22
Lokalizacja:WRONKI
DS18B20 - czy ktoś potrafi go skalibrować ???

Postautor: lolek50 » 28 sie 2006, o 19:38

Witam wszystkich!
Bawię się czujnikiem temperatury DS18B20 i po odczytaniu wartości temperatury stwierdziłem, że jest ona 3 st. wyższa niż na normalnym termometrze cyfrowym, który mam w pokoju. Jak już gdzieś na forum przeczytałem - zdarzają się poprostu takie egzemplaże i tyle. Spróbowałem jednak mimo odczytania określonej wartości z czujnika na wyswietlaczu podać wartość taką jaka jest w rzeczywistości - odejmując od wyniku 3 st.
Problem tylko w tym, że tak zapisany program (poniżej fragment programu) działa tylko w temp. dodatnich.
Po przekroczeniu 0 w kierunku temp. ujemnych wypisuje jakieś dziwne wartości.

Czy ktoś wie jak to zmodyfikować aby było OK.

PS. Czy ma ktoś może jakiś schemat jaki powinien być podłączony termistor np.
NTC 10K do uP - aby odczytywać temp. w zakresie od - 30 do +120C

..............
..............
..............

Do
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
'Waitms 250
1wreset
1wwrite &HCC
1wwrite &HBE

B1 = 1wread()
B2 = 1wread()

1wr

If B2 >= 248 Then
B1 = R - B1
B2 = R - B2
Znak = "-"
Else
Znak = "+"
End If
T1 = B1 / 16
T2 = B2 * 16
T1 = T1 + T2

Tmp = Fusing(t1 , "###.&")

A = T1 * 10

B = A - 30 '- tu odejmuję 3 stopnie (30)

C = B \ 100 ' dziesiątki

D = C * 100


E = B - D

F = E \ 10 ' jedności

G = F * 10

H = E - G ' po przecinku

Cls
Locate 1 , 3
Lcd Znak ; C ; F ; "." ; H ; Chr(0) ; "C " '- 3 stopnie niżej
Cursor Off

Lowerline
Locate 2 , 3
Lcd Znak ; Tmp ; Chr(0) ; "C " '- wyniki z czujnika
Cursor Off

Loop
End

szymel
-
-
Posty:212
Rejestracja:16 sty 2005, o 16:42
Lokalizacja:Włocławek

Re: DS18B20 - czy ktoś potrafi go skalibrować ???

Postautor: szymel » 28 sie 2006, o 20:10

Witam wszystkich!
Bawię się czujnikiem temperatury DS18B20 i po odczytaniu wartości temperatury stwierdziłem, że jest ona 3 st. ...
A co Ty za "algebrę" spłodziłeś ;) , a na dokładkę jeszcze Fusing :?:.
Chcesz strzelać z armaty do wróbla :?:
Takie "cuś" , robi sie niezwykle prosto:

Kod: Zaznacz cały

'*********** DS18B20 11 bit *********************** Dim Tds As Integer,Sds As String *6 .............. Do 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 'Waitms 250 1wreset 1wwrite &HCC 1wwrite &HBE Tds=1wread(2) '*** Jeśli nadal zawyża , to odejmujemy te nieszczęsne 3 C Tds = Tds - 48 ' (3 * 16) '***Liczymy,konewrtujemy i wyświetlamy na LCD Tds = Tds * 10 Tds = Tds / 16 Sds = Str(Tds) Sds = Format(sds , " 0.0") Lcd Sds ; Chr(0); '**** to wszystko Loop End
Piotrek

lolek50
-
-
Posty:12
Rejestracja:26 sie 2006, o 10:22
Lokalizacja:WRONKI

Re: DS18B20 - czy ktoś potrafi go skalibrować ???

Postautor: lolek50 » 29 sie 2006, o 19:07

A co Ty za "algebrę" spłodziłeś ;) , a na dokładkę jeszcze Fusing :?:.
Chcesz strzelać z armaty do wróbla :?:


Wiedziałem, że przesadziłem ale początki bywają trudne.

Dzieki za pomoc

Pozdrawiam
Lolek

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 29 gości