Termometr w komputerze...

 Wstęp

Do wykonania układu potrzebne będą nastepujące elementy:

 Cena układu

Na koszt wykonania całego układu składają się:

Jak widać najdroższy jest właśnie czujnik... Koszt wykonania samego układu to około 3 PLN. Biorąc pod uwagę jego możliwości, łatwą obsługę i satysfakcję jaką daje zapewniam, że warto zbudować sobie taki układ.

 Odczyt 1-wire przez RS232c

Do samego układu (zwanego często DS9097e) można podłączyć właściwie dowolne urządzenie pracujące na magistrali 1-wire. Z naszego punktu widzenia (pomiar temperatury) może to być jeden z czujników: DS1820, DS18S20, DS18B20, DS1821, DS1822.

 Schemat układu

Schemat układu jest banalnie prosty - można go zlutować 'na pająka' wewnątrz wtyczki DB9.

Piny elementów serii DS18x20 można zobaczyć tutaj.

DS1820 nie jest już produkowany, zastąpił go nowocześniejszy DS18S20. DS18B20 to udoskonalona wersja DS18S20 - można zwiększyć rozdzielczość odczytów z 9 do 11 bitów. Poza tym jest całkowicie zgodny ze swoim poprzednikiem i może go bezpośrednio zastąpić. Oba dysponują 0,5°C dokładnością odczytów i nie wymagają kalibracji. Warto zauważyć, że pomiędzy DS18B20 a DS18S20 nie ma zazwyczaj różnicy w cenie - warto więc pomyśleć o nowszym układzie...

DS1821 i DS1822 to ubodzy krewni układów DS18x20 - np. dokładność pomiarów ograniczono do 2°C...

Każdy z wymienionych elementów może być podłączony to przedstawionego schematu a to czy da się z niego odczytać dane zależy wyłącznie od programu jakim będziemy to robić. Ja używam Linuxa i chyba najlepszym programem pod ten system jest Digitemp - nie ma żadnych zbędnych wodotrysków - robi to co do niego należy i robi to dobrze. A poza tym ma obsługę wszystkich wymienionych czujników i nie tylko ich...

Do magistrali 1-wire można podłączyć właściwie dowolną (na zwykle warunki) ilość czujników - każdy z nich na własny ROM-ID po którym program obsługujący układ może identyfikować każdy czujnik.

 Oprogramowanie czujników

Tak wygląda przykładowa sesja z identyfikowania czujników na magistrali w programie digitemp:

m@esmeralda digitemp-3.3.2$ ./digitemp_DS9097 -i -s /dev/ttyS0
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Turning off all DS2409 Couplers
..
Searching the 1-Wire LAN
28941B60000000EF : DS18B20 Temperature Sensor
287F36600000002A : DS18B20 Temperature Sensor
ROM #0 : 28941B60000000EF
ROM #1 : 287F36600000002A
Wrote .digitemprc

A tak wygląda odczyt temperatur:

m@esmeralda digitemp-3.3.2$  ./digitemp_DS9097 -a -s /dev/ttyS0 -q
Oct 03 18:06:04 Sensor 0 C: 24.81 F: 76.66
Oct 03 18:06:05 Sensor 1 C: 18.88 F: 65.97

Przetworzone dane z czujników mogą prezentować się w ten sposob:


Prawda, że to wszystko jest banalne? W przypadku jakichkolwiek pytań proszę o kontakt -- chętnie odpowiem i pomogę (w miarę możliwości).

 Prawa autorskie

© Copyright by Miłowan Odya (jeśli nie zaznaczono inaczej)

Keywords: Miłowan Miłosz Milowan Milosz Odya Pigwa pigwa.rekords Atari Digispark DS1820 Arduino Irix PWSZ Elblag Elbl+g Immunix Trustix 8051 AVR Linux Polska Poland SCSI DS1820 DS18S20 DS18B20 Microcontroller Epia BP6 ftp