*   TERMOMETAR NA USB  PORTU

 

Na donjoj slici prikazana je šema USB termometra.

 

 

Za realiziciju ovog interfejsa neophodan je materijal dat u donjoj tabeli:

 

Rb.

Komponenta

Količina

1.

IC1 - mikrokontroler PIC16C745 – DIP pakovanje

1 kom

2.

IC2 –DS1820 kolo

1 kom

3.

DIL - 28  podnožje (profesional)

1 kom

4.

Led1-  zelena led diode fi 3mm

1 kom

5.

TIP B USB konektora za pcb montaža

1 kom

6.

Q1 – kvarc kristal 6 Mhz

1 kom

7.

R1 -  4k7 (1/4W)

1 kom

8.

R2 – 10k (1/4W)

1 kom

9.

R3 – 1k5 (1/4W)

1 kom

10.

R4 – 330W (1/4W)

1 kom

11.

C1, C2– 33pF keramički

2 kom

12.

C3 – 220nF keramički

1 kom

13.

C4 - 1mF elektrolitski stojeći (16V)

1 kom

14.

Vitroplast jednostrani(100 x 160 mm)

1 kom

 

Kolo DS1820 firme Dallas je digitalni termometar koji u sebi sadrži jedinstveni identifikacioni broj. Raspored 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

 

         Izmerenu temperaturu kolo šalje PC računaru koju prikazuje. Pozivom programa na hostu dobićemo ekran prikazan kao na donjoj slici:

 

 

Programe za podršku ovom intefejsu možete preuzeti ovde.

 

 

http://vojo.milanovic.org
© Copyright, 2005 Milanović Vojo 
All right reserved