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.