Aljaž Ogrin - Elektro zadeve - OneWire Termometer

 
 
 

Opozorilo - projekt je star že konkretnih nekaj let in je objavljen samo še za referenco. Program je samo ena verzija.
Za ta projekt ne nudim več podpore!
 
Za gradnjo priporočam sledeč projekt: Elektronik.si - 1-wire termometer z DS2480B na RS232 in USB
To je projekt v teku, kjer se program stalno posodablja in dodaja nove funkcije.


 
 

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.
 


 

sistem:


 
 

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).
 
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Celoten projekt je v detajle, skupaj z izvorno kodo, opisan tukaj: Elektronik.si - 1-wire termometer s PIC na RS232


 


Zadnja sprememba: 2. 2. 2005
Oblikovanje: Aljaz