DS18B20 to produkowany przez firmę Maxim IC/Dallas Semiconductor termometr cyfrowy z interfejsem1-Wire. Mierzy on temperaturę od -55°C do +125°C, zapewnia dokładność 0.5°C dla temperatur z zakresu -10°C do +85°C. Czujniki mogą być oddalone od komputera nawet o 100 m! Jeżeli jednak chcemy go podłączyć do portu RS232, musimy wykonać przystawkę. Najprostszą wydaje się być DS9097 Serial (COM) port adapter (zobacz kartę katalogową). Co prawda układ ten nie jest zalecany w nowych wdrożeniach, a proponowany jest jego zamiennik – DS9097U-S09 Universal 1-Wire COM Port Adapter, ale jego główną zaletą jest to, że jest bardzo prosty do wykonania, a przez to także niedrogi.
Wykaz elementów
- DS18B20 – termometr cyfrowy,
- R1 – 1.5kΩ (brąz-zielony-czerw.-złoty),
- D1 – 3v9/500mW – dioda Zenera,
- D2 – 6v2/200mW – dioda Zenera,
- D3, D4 – BAT85 – dioda Schottky,
- żeńska wtyczka RS232 DB9F.
Jako sklep internetowy, polecam TME
Opcjonalnie:
- Obudowa do wtyczki DB9F,
- D5 – Dioda LED 5mm lub 3mm!,
- R2 – 1kΩ (brąz-czar.-czerw.-złoty).
Narzędzia:
- Lutownica + cyna,
- Nożyk
Rys. 1 Potrzebne elementy elektroniczne. Źródło: kml
Schemat elektryczny
Rys.2 Źródło: Termometr na DS1820.
Rys. 3 Źródło: Termometr do PC DS1820.
Rys. 4 Rozmieszczenie elementów “na pająka”. Źródło: kml
Mając wtyczkę żeńską (z dziurkami), kierujemy w swoją stronę piny, do których lutuje się elementy. Obracamy ją tak, by strona, która ma więcej pinów była skierowana do nas. Lewy dolny pin to GND.
Rys. 5 RS-232
Rys. 6 Widok na mój czujnik (koszulka termokurczliwa)
Rys. 7 Polutowany układ, gotowy termometr
Rys. 8 Polutowany układ, gotowy termometr #2
Podłączenie
Najprostsza metoda to podłączenie wtyczki bezpośrednio do portu RS232 (COM).
Oprogramowanie
# Windows – nie testowane
# Linux
Narzędzie DIGITEMP
apt-get update apt-get install digitemp
Po czym po prostu wydajemy komendę odczytu temperatury:
digitemp_DS9097 -i -s /dev/ttyS0 -a
U mnie wynik polecenia wygląda następująco:
root@Debian:~# digitemp_DS9097 -i -s /dev/ttyS0 -a DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane GNU General Public License v2.0 - http://www.digitemp.com Turning off all DS2409 Couplers .. Searching the 1-Wire LAN 1059318102080065 : DS1820/DS18S20/DS1920 Temperature Sensor 109D428102080005 : DS1820/DS18S20/DS1920 Temperature Sensor ROM #0 : 1059318102080065 ROM #1 : 109D428102080005 Wrote .digitemprc 2013-09-25 15:40:59 16.62 2013-09-25 15:41:00 22.19
Jak widać, dwa czujniki, jeden jest na zewnątrz drugi w mieszkaniu.
Miłych pomiarów!