Termometr wykonany jest z wykorzystaniem procesora Atmega8 (oprogramowanie w BASCOM):
- posiada interfejs 1wire - do podłączania czujników DS18B20 (programowo ograniczone do 4)
- wejście odizolowane galwanicznie transoptorem - do wyciszania aktywnych alarmów
- wyjście niskoprądowe na dodatkowy, zewnętrzny sygnalizator alarmu (buzzer)
- RS232 do programowania ustawień zapisanych w eepromie (opisy miejsc montażu czujników - wyświetlane na lcd, temperaturę alarmu, czas na pomiar temperatury przez układ DS i czas wyświetlania).
Opis działania:
- Po załączeniu układu wyświetlany jest przez 1 sekundę ekran powitalny, włączony jest także buzzer.
- Po tym czasie wyświetlane są identyfikatory znalezionych na szynie 1wire układów - maksymalnie czterech.
- Po czym układ przechodzi do wyświetlania w pętli temperatur z czujników (z dokładnością co 0,5 st. C), jeśli zostanie przekroczona temperatura ustawiona jako temperatura alarmu układ załącza buzzer oraz wyświetla wykrzyknik oraz symbol głośnika (tylko podczas wyświetlania informacji dot. czujnika jest sprawdzane przekroczenie temperatury).
- Podanie napięcia (5-12V) na wejście powoduje wyciszenie aktualnie aktywnego alarmu/aktywnych alarmów - wyciszenie jest symbolizowane na lcd przekreślonym głośniczkiem - podczas wyświetlania temperatury z danego czujnika.
- Zresetowanie wyciszenia alarmu następuje gdy temperatura mierzona jest mniejsza przynajmniej o 2 st. C od temperatury alarmu, wówczas ponowny wzrost temperatury wywoła ponownie alarm.
Urządzenie powinno pracować z rezonatorem skonfigurowanym na 8 Mhz, prędkość transmisji na RS232 wynosi 19200. Po zaprogramowaniu FLASHa należy zaprogramować wartości w eeprom zgodnie z poniższą instrukcją. Układ powinien być zasilany napięciem 5V, pobiera prąd ok. 70mA wraz z podświetleniem lcd. W załączeniu oddzielna płytka z modułem zasilania.
Po podłączeniu komputera możemy programować (podczas programowania podana komenda, wartość oraz opisy pojawiają się na wyświetlaczu lcd):
- temperaturę alarmu - po osiągnięciu, której włączy się alarm (komenda 0, potem nr układu - od 1 do 4 - i wartość temperatury alarmowej - aby wyłączyć ustawiamy 255)
- opisy (komenda 1, potem nr układu - od 1 do 4 - oraz treść opisu)
- czas konwersji temperatury pomiędzy "Convert T - 44h" a "Read Scratchpad - BEh" (komenda 2, wartość czasu w sekundach, minimum 1)
- czas oczekiwania przed wyświetleniem następnej temperatury (komenda 3, wartość czasu w sekundach)
Do programowania przez RS232 wykorzystywałem BASCOM AVR, moduł TERMINAL EMULATOR, komenda SEND ASCII CHARAKTER - do wpisywania komend i wartości oraz normalnego wpisywania z klawiatury w tymże module do definiowania opisów.
Załączam zdjęcia układu, schemat płytki urządzenia oraz zasilacza, wsad do mikrokontrolera, kodu źródłowego nie udostępniam, schematu też niestety nie będzie, przez co układ polecić mogę osobom, które mimo wszystko mają już jakieś doświadczenie w wykonywaniu prostych urządzonek przynajmniej z RS232. Kondensatorki oraz niektóre elementy typu rezystorki smd nie są opisane ponieważ większość z nich to bezpieczniki 0ohm lub dobierane doświadczalne typu kontrast LCD. W razie niepewności co do działania lub wartości elementu odpowiem osobom zainteresowanym.
Układ pracuje u mnie w domu, do zbudowania jego zmotywowało mnie codzienne gotowanie się w wody w starym piecu węglowym. Od momentu zamontowania nie mam już takiego problemu Mam podłączony czujnik na piecu oraz na zewnątrz domu. Wyciszanie alarmu odbywa się poprzez wciśnięcie klawisza na manipulatorze alarmu, który odpowiednio zaprogramowałem i podłączyłem - dzięki czemu mogę wyciszać alarm na każdej kondygnacji, wystarczy podejść do manipulatora. Zasilanie mam zaczerpnięte z transformatora zasilającego system alarmowy. Obudowa to puszka natynkowa do sieci komputerowych (za 6zł) panel przedni wykonany jest z obudowy na płytę CD dociętej na wymiar i zamaskowanej okleiną.