problem z DS18B20



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "kpiotrek" <removeit_piokacz_at_nospam_proterians.net>
Subject: problem z DS18B20
Date: Mon, 13 Aug 2001 13:52:56 +0200


Witam,

Mam problem z odczytem temperatury z czujnika DS18B20.
Robię mniej więcej tak:
1. Reset:
Ustawiam zero na wej¶ciu DQ czujnika na 500us
Daje na DQ wysoką impedancję na 500us sprawdzając czy Dallas odpowie
2. Je¶li odpowie to wysyłam polecenie CCh - Skip ROM
3. Wysyłam polecenie 44h, ustawiam DQ na wysoką impedancję - Convert T
czyli tu powinien zacząć mierzyć temperaturę
4. Czekam ok. 1s
5. Resetuję czujnik (jak w p. 1)
6.Wysyłam polecenie CCh - Skip ROM
7. Wysyłam polecenie BEh - Read Scratchpad
8. ... i za każdym razem odbieram warto¶ć 0550h czyli jak powinna być po
włączeniu zasilania

Sygnały podglądam na oscyloskopie więc zależno¶ci czasowe mam zgodne z
dokumentacja DS1820. Co robię źle?
Bedę wdzięczny za każdą sugestię.

PK









Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: ams_at_nospam_e7.pl (Andzej Sarbinowski)
Subject: Re: problem z DS18B20
Date: Mon, 13 Aug 2001 18:43:41 GMT


On Mon, 13 Aug 2001 13:52:56 +0200, "kpiotrek"
<removeit_piokacz_at_nospam_proterians.net> wrote:

Mam problem z odczytem temperatury z czujnika DS18B20.
Bedę wdzięczny za każdą sugestię.

Wyglada, ze robisz wszystko OK(no prawie, inaczej by dzialalo).
Na pierwszy rzut wyglada, je chodzi o problem z zasilaniem DS podczas
konwersji temp. I teraz jesli :
1. Uzywasz parasite power : bardzo wazne jest podciagniecie DQ do VCC
NATYCHMIAST po wyslaniu ostatniego bitu rozkazu ConwertT. Odczekanie
np 100 uS zniweczy cala sprawe i da dokladnie taki efekt jak na
obrazku.
2. Uzywasz zasilania zewnetrznego - sprawdz czy nie kupiles DS18B20P -
przystosowanej tylko do parasite power.

Jesli te wskazowki nie pomoga to bedziemy myslec dalej ...

Powodzenia :

Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: problem z DS18B20
Date: Tue, 14 Aug 2001 09:09:31 +0200



--------------1F69D9DB59DE5677652DCAB4
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit

Kiedy¶ napisałem cu¶ takiego....

CALL W_RST
MOV A,#0CCH ;SKIP ROM
CALL W_WR8
MOV A,#044H ;CONVERT
CALL W_WR8
PORES: CALL W_RD8
CJNE A,#0FFH,PORES
CALL W_RST
MOV A,#0CCH ;SKIP ROM
CALL W_WR8
MOV A,#0BEH ;READ SCRATCHPAD
CALL W_WR8
MOV A,#030H
CALL W_RD64
CALL W_RD8
MOV 038H,A

W_RST resetuje i czeka na potwierdzenie
W_WR8 - zapis bajtu
W_RD8 - odczyt bajtu.....itd.

--
PZD, Irek.N. (ALIAS)


--------------1F69D9DB59DE5677652DCAB4
Content-Type: text/html; charset=iso-8859-2
Content-Transfer-Encoding: 8bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Kiedy¶ napisałem cu¶ takiego....
<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp;
W_RST</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A,#0CCH&nbsp; ;SKIP ROM</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp;
W_WR8</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A,#044H&nbsp; ;CONVERT</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp;
W_WR8</tt>
<br><tt>PORES:&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp; W_RD8</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CJNE&nbsp;&nbsp;&nbsp;&nbsp;
A,#0FFH,PORES</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp;
W_RST</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A,#0CCH&nbsp; ;SKIP ROM</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp;
W_WR8</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A,#0BEH&nbsp; ;READ SCRATCHPAD</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp;
W_WR8</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A,#030H</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp;
W_RD64</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp;&nbsp;
W_RD8</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
038H,A</tt>
<p>W_RST resetuje i czeka na potwierdzenie
<br>W_WR8 - zapis bajtu
<br>W_RD8 - odczyt bajtu.....itd.
<p>--
<br>PZD, Irek.N. (ALIAS)
<br>&nbsp;</html>

--------------1F69D9DB59DE5677652DCAB4--