Cyfrowy pomiar temperatury w browarze

Z Wiki piwo.org
Przejdź do nawigacji Przejdź do wyszukiwania

Przywykliśmy do klasycznego pomiaru temperatury termometrami analogowymi, ale w prosty i szybki sposób można samodzielnie wykonać dokładny, wielopunktowy termometr elektroniczny oparty na układach DS1820 (dokładnie DS18B20 lub DS18S20) firmy Maxim (wcześniej Dallas). Zaletą takiego rozwiązania jest brak możliwych uszkodzeń mechanicznych (metalowa kapilara), wysoka dokładność, możliwość używania na jednej magistrali wielu czujników, brak konieczności kłopotliwej kalibracji, niska cena układu. Do obrazowania oraz zapisu pomiary będziemy wykorzystywać komputer PC wyposażony w port RS232

Wymagane elementy i schemat ideowy

Do wykonania układu wystarczą proste elementy, dostępne w każdym sklepie elektronicznym. Cena nie powinna przekroczyć 20zł

  • 1x DallasSemiconductor DS1820 temperature sensor (został użyty DS18S20)
  • 2x dioda schottky 1N5818 (lub odpowiedniki - BAT85)
  • 1x dioda zenera 6.2V 1N5234 (lub odpowiednik)
  • 1x dioda zenera 3.9V 1N5228 (lub odpowiednik)
  • 1x złącze RS232C żeńskie + obudowa
  • 1x rezystor 1,5KOhm

Ds9097e.gif

Układ możemy wykonać lutując elementy na tzw. "pająka", czyli bez płytki drukowanej i zamknąć w obudowie DB9.

Cały układ pomiarowy oparty na czujnikach DS1820 to DS9097 - warto zapamiętać ten symbol, ponieważ właśnie taki występuje w oprogramowaniu.

Zmontowany układ DS9097 - zdjęcie: www.eko.one.pl

Oprogramowanie

MS Windows

Najpopularniejsze programy na platformę MS Windows. Działają na wersjach 98/XP/2000/2003 (Vista, 7 - nie testowane)



Linux

Do pomiaru temperatury w systemach Linux najlepiej sprawuje się konsolowy program Digitemp. Występuje w większości repozytoriów dystrybucji Linuxowych. Instalacja w Debian/Ubuntu sprowadza się do wydania komendy:

~# apt-get install digitemp

Po zainstalowaniu wystarczy nam podstawowa konfiguracja:

~# digitemp_DS9097 -i -s /dev/ttyS0 -a

Oznaczenie przełączników: -i inicjalizacja pliku konfiguracyjnego w katalogu domowym -s określenie portu szeregowego. W tym przypadku port pierwszy RS232 -a zapisanie danych wszystkich wykrytych czyjników.

Powinieneś otrzymać wynik podobny do poniższego

~# digitemp_DS9097 -i -s /dev/ttyS0 -a
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
....
Searching the 1-Wire LAN
107C2F9901080026 : DS1820/DS18S20/DS1920 Temperature Sensor
ROM #0 : 107C2F9901080026
Wrote .digitemprc
Dec 28 18:50:49 Sensor 0 C: 0.50 F: 32.90


Teraz wystarczy wydać komendę

~# digitemp_DS9097 -a

dzięki czemu otrzymamy wynik odczytu temperatury:

DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Dec 28 18:52:48 Sensor 0 C: 0.50 F: 32.90



OWFS oraz rejestracja danych poprzez Mumin

Budowa sondy pomiarowej

dedykowana obudowa czujnika Zdjęcie: josefik

Aby nasz termometr sprawdził się w działaniu w środowisku o dużej wilgotności (czytaj - w zacierze lub brzeczce) musimy ochronić układ przez dostępem wody i zwarcia wyprowadzeń. W praktyce można zastosować kapilarę wykonaną z:


  • rurki miedzianej
  • rurki z stali nierdzewnej
  • dedykowanej obudowy
  • długiej koszulki termokurczliwej

W przypadku dwóch pierwszych rozwiązań zakończenie możemy zalutować lub zaklepać w imadle. Warto umieścić czujnik w silikonie termo-przewodzącym. (pasta termo-przewodząca do procesorów komputerowych)