RTV forum PL | NewsGroups PL

Jak poprawnie odczytywać temperaturę z czujnika DS18B20 w BascomAVR?

Odczyt z DS18B20

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak poprawnie odczytywać temperaturę z czujnika DS18B20 w BascomAVR?

Goto page 1, 2  Next

Michał
Guest

Fri May 21, 2004 4:33 am   



Witam!

Mam problem z poprawnym odczytem temperatury z układu DS18B20. Program
wygląda następująco:

Config 1wire = Porta.0

Dim Ar(Cool As Byte , I As Byte
Dim Ta As Integer
Dim T1 As Integer
Dim Tmp As Byte

Cls
Lcd "termometr"
Wait 1
Cls

Do
1wreset
1wwrite &HCC : 1wwrite &H44
Waitus 200 : Waitus 200 : Waitus 200 : Waitus 200
1wwrite &HBE
Ar(1) = 1wread(Cool
Tmp = Ar(1) And 1
If Tmp = 1 Then
Decr Ar(1)
End If
Ta = Makeint(ar(1) , Ar(2))
Ta = Ta * 50 : Ta = Ta - 25 : T1 = Ar(Cool - Ar(7) : T1 = T1 * 100
T1 = T1 / Ar(Cool : Ta = Ta + T1 : Ta = Ta / 100

Lcd Ta
Waitms 500
Cls

Loop


Czy mógłby ktoś napisać, co jest źle? (BascomAVR, procesor AT90S8515)
TIA

--
/--- Michał - thnd@xl wp pl ----- / | ------ MP3 ----\
/-- http://www.thnd.private.pl -- /__| ---- feel free -\
\---------- GG: 4989168 --------- ____|___ --- to ------/
\-------- www.apma.w.pl -------- \______/ -- say no --/

Pablo C
Guest

Fri May 21, 2004 5:55 am   



Użytkownik "Michał" <thndWYTNIJTO@xl.wp.pl> napisał w wiadomości
news:c8k4bc$fem$1@news.onet.pl...
Quote:
Witam!

Mam problem z poprawnym odczytem temperatury z układu DS18B20. Program
wygląda następująco:

Config 1wire = Porta.0

Dim Ar(Cool As Byte , I As Byte
Dim Ta As Integer
Dim T1 As Integer
Dim Tmp As Byte

Cls
Lcd "termometr"
Wait 1
Cls

Do
1wreset
1wwrite &HCC : 1wwrite &H44
Waitus 200 : Waitus 200 : Waitus 200 : Waitus 200

Nie za krótki ten czas?? 800us to mniej niż 1ms a konwersja zajmuje róznie
od ~100ms do 500ms w zalezności od temperatury.

Pozdrawiam
PC

Marcin
Guest

Fri May 21, 2004 6:02 am   



Quote:
Mam problem z poprawnym odczytem temperatury z układu DS18B20. Program
wygląda następująco:


Co wy wszyscy się tak na tego dallasa rzuciliście ? Wink
A swoją drogą to chyba wiecie że dallas wypuścił niezłą partie z błędami ?

pozdrawiam
marcin

Marcin
Guest

Fri May 21, 2004 6:04 am   



Quote:

Nie za krótki ten czas?? 800us to mniej niż 1ms a konwersja zajmuje róznie
od ~100ms do 500ms w zalezności od temperatury.

.... a raczej nawet 700 ms


marcin

Marcin
Guest

Fri May 21, 2004 6:05 am   



Quote:
A swoją drogą to chyba wiecie że dallas wypuścił niezłą partie z błędami ?

może kogoś to zainteresuje:
Quote:
Problem dotyczy możliwości utraty zawartości EEPROM dla układów DS18B20,
DS18S20, DS1822 (Rev. B7):
1. Występuje bardzo rzadko i w specyficznych warunkach.
2. Nie można dokładnie określić partii towaru narażonej na błąd.
3. Utrata zawartości EEPROM-u powoduje stratę kalibracji i wartości
rejestrów TH i TL
4. Utrata zawartości może nastąpić tylko w trakcie narastania zasilania.
5. Można programowo ograniczyć błąd utraty kalibracji do maks. +/-2
stopni.
6. Można całkowicie wyeliminować potencjalny błąd poprzez zapamiętanie
kalibracji w pamięci zewn.

Z informacji podanych przez firmę Maxim wynika, że problem dotyczy
niewielkiej statystycznie ilości
układów. W trosce o dobro naszych klientów przekazujemy jednak szczegółową
informację jak zmodyfikować
oprogramowanie, aby całkowicie lub częsciowo wyeliminować potencjalne
zagrożenie. W przypadku
konieczności uzyskania dodatkowych wyjaśnień technicznych prosimy o
kontakt
z naszą firmą.

Dodatkowe objaśnienia - jak rozpoznać wersję układu, tzw. Rev. B7 (na
przykładzie układu DS18S20):
----------
| DALLAS | -> producent
| DS1820 | -> typ układu (DS18S20 kodowany jest skrótowo jako DS1820)
| 0347B7 | -> partia towaru: rrttvv (rr - rok, tt - tydzień, vv -wersja
(Revision))
| 526AA | -> kod fabryki


Pablo C
Guest

Fri May 21, 2004 6:22 am   



ja stosuję wyłącznie 18s20 i nie ma z nimi prawie żadnych problemów poza
tym, ze jedne są szybkie a inne wolne. nie wiem od czego to zalezy. leżą
obok siebie 2 i mierzą to samo w tych samych warunkach. jeden osiąga
temperaturę w 30 sekund a drugi 15 w minut.

pozdrawiam
PC

Artur Miller
Guest

Fri May 21, 2004 7:37 am   



Użytkownik "Marcin" <gotech@NOSPAMo2.pl> napisał w wiadomoœci
news:c8k9pa$mq9$1@nemesis.news.tpi.pl...
Quote:
Mam problem z poprawnym odczytem temperatury z układu DS18B20. Program
wygląda następująco:


Co wy wszyscy się tak na tego dallasa rzuciliście ? Wink

chetnie zastosuje cos innego, tak z czystej checi bycia innym ... jakies
propozycje ?

@

Marcin
Guest

Fri May 21, 2004 7:54 am   



Quote:
chetnie zastosuje cos innego, tak z czystej checi bycia innym ... jakies
propozycje ?

NTC ?

marcin

Marcin
Guest

Fri May 21, 2004 7:57 am   



Quote:
temperaturę w 30 sekund a drugi 15 w minut.

15 minut!!?? masakra. Coś mi się zdaje że to jakaś wadliwa sztuka.


marcin

Artur Miller
Guest

Fri May 21, 2004 7:57 am   



Użytkownik "Marcin" <gotech@NOSPAMo2.pl> napisał w wiadomoœci
news:c8kgbg$ert$1@nemesis.news.tpi.pl...
Quote:


chetnie zastosuje cos innego, tak z czystej checi bycia innym ... jakies
propozycje ?

NTC ?


ale to trzeba miec przetwornik AC ... i kalibrowac, bawic sie ... Neutral zbyt
skomplikowane ...

@

RoMan Mandziejewicz
Guest

Fri May 21, 2004 8:13 am   



Hello Artur,

Friday, May 21, 2004, 10:37:08 AM, you wrote:

Quote:
Mam problem z poprawnym odczytem temperatury z układu DS18B20. Program
wygląda następująco:
Co wy wszyscy się tak na tego dallasa rzuciliście ? Wink
chetnie zastosuje cos innego, tak z czystej checi bycia innym ... jakies
propozycje ?

1. Złącze pn (czyli dioda) 2.3mV/K
2. Pomiar (pośredni) różnicy napięć pomiędzy bazami pary różnicowej z
nierównymi prądami kolektorów.

--
Best regards,
RoMan mailto:roman@pik-net.pl

Artur Miller
Guest

Fri May 21, 2004 8:49 am   



Użytkownik "RoMan Mandziejewicz" <roman@pik-net.pl> napisał w wiadomości
news:1278850687.20040521111311@pik-net.pl...
Quote:
Hello Artur,

Friday, May 21, 2004, 10:37:08 AM, you wrote:

Mam problem z poprawnym odczytem temperatury z układu DS18B20.
Program
wygląda następująco:
Co wy wszyscy się tak na tego dallasa rzuciliście ? Wink
chetnie zastosuje cos innego, tak z czystej checi bycia innym ... jakies
propozycje ?

1. Złącze pn (czyli dioda) 2.3mV/K
2. Pomiar (pośredni) różnicy napięć pomiędzy bazami pary różnicowej z
nierównymi prądami kolektorów.


ponownie: przetwornik AC, kalibracja w zasadzie kazdego egzemplarza ...
skomplikowane :-|

@

T.M.F.
Guest

Fri May 21, 2004 8:54 am   



Quote:
1. Złącze pn (czyli dioda) 2.3mV/K
2. Pomiar (pośredni) różnicy napięć pomiędzy bazami pary różnicowej z
nierównymi prądami kolektorów.


Nie daloby sie tego jeszcze troche bardziej skomplikowac ?Wink
Proponuje zamknac w znanej objetosci troche gazu, a nastepnie mierzyc
cisnienie:)
Ew. zrobic kontroler ethernetowy, poprzez ktory procek bedzie sie laczyl
ze strona internetowa np. IMGW i pobieral dane o temp. w danym regionie:)

Pablo C
Guest

Fri May 21, 2004 9:03 am   



ale ja ich zuzywam dziesiątki i to jest standard.

PC

Marcin
Guest

Fri May 21, 2004 9:05 am   



Quote:
ale to trzeba miec przetwornik AC ... i kalibrowac, bawic sie ... Neutral zbyt
skomplikowane ...

Ja robię w PICach i są wersje z wbudowanym przetwornikiem do tego czujnik
NTC 1% i nie ma zabawy w kalibrowanie.
Swoją drogą nie ma żadnego zamiennika ukladu ds1820 a jak szlag trafi te
jedną fabryke która to robi to bedzie nieziemsko ciekawie ;-)

marcin

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak poprawnie odczytywać temperaturę z czujnika DS18B20 w BascomAVR?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map