*      DIGITALNI TERMOMETAR SA KOLOM DS1820

 

Šema kola koje omogućuje merenje temperature sa kolom DS1820 data je na donjoj slici:

 

          Kolo se realizuje na univerzalnoj pločici(sa linijama) tako da može da stane u DB-9 konektor. Potrebne komponente za realizaciju ovog interfejsa su date u sledećoj tabeli:

Rb.

 Komponenta

Količina

1.

D1 - zener dioda 3.9V

1 kom

2.

D2, D3 - šotki diode BAT 85

2 kom

3.

D4 - zener dioda 6.2V

1 kom

4.

IC1 - kolo DS1820

 1 kom

5.

R1 - 1k5

1 kom

6.

Univerzalna pločica sa linijama

1 kom

7.

Flet kabal

1.5 m

8.

DB-9 ženski konektor za kabal

1 kom

 

          Zener dioda D1 omogućava da se Data linija drži na 3.9V. Zener dioda D4 ograničava maksimalan napon na 1-Wire basu na 6.2V. Ona takođe ograničava negativan napon na RXD na -2.3V. Kada je TXD pozitivan šotki dioda D3 limitira razliku napona između 1-wire data linije i povratne linije na 0.2V, dok D2 spaja TXD i RXD. Veza preko R1 je pasivni bus "pull-up" otpornik i omogućava malu impedansu u inicijalnom stanju. 1.5K je minimalna vrednost "pull-up" otpornika koji daje 0.3V kao logičku nulu na 100 oma otpora 1-wire jedinice. Na izlaz ovog kola moguće je priključiti više DS1820 kola a u ovom primeru je su upotrebljeno jedno kolo.

          Kolo DS1820 firme Dallas Semiconductors je digitalni termometar sa rasporedom njegovih pinova prikazan je na donjoj slici.

    

          Struktura memorijske mape ovog kola data je na donjoj slici:

 

 

          Prva dva bajta u memoriji(Scratchpad) su bajtovi koji se koriste za merenje temperature, kada kolo meri temperaturu u koracima po 0.5 °C. Sve dok se ne pozove komanda za merenje temperature sardržaj je prvog baja AAh i drugog 00h što odgovara temperaturi od 85 °C. Sadržaj LSB bajta i MSB bjata prikazan je na donjoj slici.

 

 

          Iz sadržaja ova dva bajta vidi se da niži bajt (LSB) sadrži očitanu temperaturu pri čemu bit najniže težine predstavlja vrednost temperature iza decimalnog mesta. Bajt više težine sadrži sve nule ili jedinice i određuje da li je temperatura pozitivna ili negativna. Ako su sve nula temperatura je pozitivna a ako su sve jedinice onda je negativna. U donjoj tabeli dato je nekoliko primera očitane temperature.

 

Temperatura

Binarna vrednost

Heksa vrednost

+85.0 °C

0000 0000 1010 1010

00AAh

+25.0 °C

0000 0000 0011 0010

0032h

+0,5.0 °C

0000 0000 0000 0001

0001h

0 °C

0000 0000 0000 0000

0000h

-0,5.0 °C

1111 1111 1110 1111

FFFFh

-25.0 °C

1111 1111 1100 1101

FFCEh

-55.0 °C

1111 1111 1001 0010

FF92h

 

          U slučaju kada je temperatura negativna LSB bajt sadrži komplement 1 očitane temperature. U slučaju ako želimo tačnost temperature na dve decimale ili više tada se ona sračunava po formuli:

 

gde je:  ProcitanaT - temperatura upisana u LSB bajtu,  Obracun-po-°C - sadržaj 7 bajta i Ostatak obračuna - sadržaj 8 bajta.

          Četvrti i peti bajt su rezervisani i sadrže sve jedinice. Bajt TH i TL su bajtovi u koje se može upisati alarmna temperatura pri čemu je TH više bajt a TL niži bajt.

          Naši interfejs koristi takozvano parazitno napajanje kola DS1820 pa se u tom slučaju temperatura očitava po proceduri datoj u donjoj tabeli:

Mod računara

Podatak

Komentar

TX

Reset

Računar resetuje DS1820

TR

Odgovor

DS1820 odgovara sa impulsom

TX

CCh

Računar šalje Skip ROM komandu

TX

44h

Računar šalje Convert T komandu

TX

Čekanje

Računar čeka na konverziju

TX

Reset

Računar šalje reset impuls

RX

Odgovor

DS1820 odgovara sa impulsom

TX

CCh

Računar šalje Skip ROM komandu

TX

BEh

Računar šalje READ Scratchpad komandu

RX

9 bajta

DS1820 šalje sadržaj Scratcpad memorije u dužini od 9 bajta uključujući i generisani CRC kod koji se nalazi u zadnjem pročitanom bajtu.

TX

Reset

Računar šalje reset impuls

RX

Odogovor

DS120 odgovara impulsom

 

 

Sračunavamo u programu pročitanu temperaturu na osnovu sadržaja primljenih bajtova

 

          Pozivom programa dobićemo ekran prikazan kao na sledećoj slici(Ds1820):

 

 

          Pritiskom na taster Pocetak biće startovano merenjenje temperature i njen  prikaz na ekranu. Pomoću menija Port može promeniti port na koji je priključen termometarsko kolo.

 

Programe za rad sa digitalnim termometrom možete preuzeti ovde.

 

http://vojo.milanovic.org
© Copyright, 2003 Milanović Vojo

All Rights Reserved.