Aljaž Ogrin - Elektro zadeve - OneWire Termometer

 
 
  Termometer uporabljam na domačem WEB serverju, da meri temperaturo zunaj hiše (rdeča), na podstrešju, kjer je server postavljen (modra) in v računalniku (zelena). Zadeva krmili ventilator v napajalniku, da temperaturna nihanja v računalniku niso prevelika.

 

Celoten projekt je sestavljen iz sledečih komponent:

-  3x DS1820 ali DS18S20 temperaturni senzorji
-  one-wire vodilo za izmenjavo podatkov s senzorji
-  uC pic16F628 ki komunicira s senzorji in PC-jem ter krmili ventilator
-  RS-232 vodilo med mikro-kontrolerjem in PC-jem
-  program na PC-ju, ki poganja celotni sistem.
 


  blok shema sistema:


 
 

program je narejen v Lab-View okolju in izgleda tako:


 
 
ukazi PC -> mikrokontroler so sledeči: (preko RS-232)
 
  --LOW-LEVEL:
   Z = reset mikrokontrolerja

   R = reset One-Wire protokola (vrne 1 =ok ali 0, če se noben ne javi - ascii)

   X = pošlji podatek (1 byte) na OW [X + vpiši 1 byte, vrne OK] = samo ukaz za pisanje na OW
   Y = preberi podatek (1 byte) z OW [Y + preberi 1 byte] = samo ukaz za branje z OW

--MEDIUM-LEVEL:
   M = match ROM (pokliče en sam čip v verigi) [M + vpiši 8 bytov, vrne OK]
   S = skip ROM (pokliče vse čipe v verigi) [S]

   V = convert T (začetek pretvorbe temp. in drži močan pull-up na liniji in čaka na zaključek) [T]


--HIGH LEVEL:
   P = read Scratchpad (branje iz registrov - RAM) [P + preberi 9 bytov] Z resetom zaključi.
   D = read ROM (prebere ROM enega samega čipa) [D + preberi 8 bytov]
   d = read ROM in izpis v ASCII.

   Q = reset, skip-ROM, convertT, čakaj, reset, 2x read byte, pretvorba in izpis v ASCII.

--Generalni IO:
   a,b,c = izbrani pin (a,b,c) je izhod in ničla.
   A,B,C = izbrani pin (a,b,c) je izhod in enka.
   1,2,3 = izbrani pin (a,b,c) je vhod in vrne stanje na vhodu (0 ali 1 ascii).
 
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Mogoče bom v kratkem napisal članek v katero od revij, skupaj z vsemi izvornimi kodami...

Če koga takšen ali modificiran projekt zanima, mi lahko pusti kakšno vrstico na moj email in me tudi motivira k objavi članka :-)
 


Zadnja sprememba: 2. 2. 2005
Oblikovanje: Aljaz