
Witam.
Dziś chciałbym zaprezentować moją nową konstrukcję: Dwuczujnikowy regulator temperatury v2.0. Układ powstał w celu zastąpienia starego regulatora zaprezentowanego przeze mnie w tym temacie: Link. Układ ma za zadanie sterować zewnętrznym urządzeniem prądu przemiennego na podstawie odczytów temperatur z dwóch zewnętrznych termometrów.
Zasada działania jest prosta: uP czyta temperatury z termometrów i jeśli różnica przekroczy zadaną wartość, uruchamiane jest urządzenie zewnętrzne. Układ posiada wiele opcji ustawianych przy pomocy 4 przycisków sterujących znajdujących się tuż pod ekranem.
Funkcje:
-możliwość ustawiania różnicy temperatur,
-możliwość ustawienia szerokości histerezy,
-możliwość ustawienia czasu włączenia urządzenia,
-możliwość ustawienia czasu wyłączenia urządzenia,
-możliwość ustawienia temperatury minimalnej,
-możliwość ustawienia zegara czasu rzeczywistego,
-możliwość zapamiętywania maksymalnej temperatury z poszczególnych czujników,
-watchdog,
-RTC podtrzymywany baterią 3V,
-zapamiętywanie ustawionych parametrów w nieulotnej pamięci EEPROM.
Budowa:
Urządzenia bazuje na procesorze z rodziny AVR Atmega168 taktowany wewnętrznym oscylatorem 1Mhz. Procesor współpracuje z wyświetlaczem LCD WC-1602A0 2x16 na sterowniku HD44780, a konkretnie na klonie tegoż sterownika KS0066U. Rolę termometrów podłączonych przy pomocy interfejsu 1-WIRE pełnią czujniki Dallas 18B20. Układ posiada również zegar czasu rzeczywistego DS1307 który komunikuje się przy pomocy interfejsu I2C. RTC taktowany jest z zewnętrznego kwarcu 32.768kHz oraz posiada baterię do podtrzymywania czasu przy wyłączonym zasilaniu. Rolę elementu sterującego zewnętrznym urządzeniem wysokiego napięcia spełnia TRIAK BT138 odizolowany optoizolatorem MOC3041. Dwie diody kontrolne - zielona informuje o podłączeniu do zasilania regulatora, natomiast dioda czerwona mówi nam o działaniu urządzenia zewnętrznego (w moim przypadku pompki). Układ zasilany jest przez zasilacz impulsowy (5V) będący w czasach swojej świetności ładowarką do telefonu.
Oprogramowanie do AVR zostało napisane w języku C w programie AVR Studio 4. Układ posiada zaimplementowaną obsługę watchdog'a oraz zapis ustawianych parametrów do pamięci EEPROM.
Poniżej prezentuje kilka zdjęć, płytki oraz schemat. W załączniku umieszczam maski potrzebne do wytrawienia płytek, schemat oraz kod źródłowy.
PS. Zamieszczone zdjęcia i zrenderowana płytka różnią się drobnymi szczegółami. Wynika to z błędów powstałych głównie z niedopatrzeń. Publikowana wersja płytki oraz oprogramowania jest pozbawiona błędów wychwyconych podczas budowy i testów.









UWAGA!!! W układzie występują napięcia niebezpieczne dla zdrowia lub życia!
Cool? Ranking DIY