Serwisy partnerskie:
Close icon
Serwisy partnerskie

Prosty wskaźnik temperatury wody oraz sterownik z użyciem Arduino

Article Image
Elmax
Bieżący projekt powstał z myślą o aplikacjach gdy trzeba kontrolować temperaturę wody (lub innej cieczy) i ew. podgrzewać ją do z góry założonej temperatury. Konstrukcja układu stwarza następujące możliwości: ustawienie maksymalnej temperatury do której woda ma się podgrzewać, wyświetlenie temperatury aktualnej, wyłączenie grzałki gdy zostanie osiągnięta temperatura zadana oraz indykacja tego faktu diodą LED oraz za pośrednictwem dźwięku buzzera. Co prawda, wiele podgrzewaczy wody dla użytku domowego takie możliwości ma, jednak chcąc wykorzystać typową grzałkę zanurzeniową takiej kontroli mieć nie będziemy.

Woda podgrzewa się tak długo, aż użytkownik ją wyłączy. Takie „ręczne sterowanie” skutkuje niepotrzebnie nadmiernym zużyciem energii elektrycznej oraz przegrzaniem wody ponad temperaturę której oczekujemy. 

Jako czujnik temperatury wykorzystano układ scalony DS18B20. Do wskazywania  temperatury wykorzystano cztero-cyfrowy siedmio-segmentowy multipleksowany wyświetlacz znakowy. Mózgiem zarządzającym jest mikrokontroler ATmega328 na płytce Arduino Nano. Pozostałymi podzespołami są: transoptor MCT2E, potencjometr, dwie diody LED, miniaturowy buzzer oraz przekaźnik. Mikroprocesor na bieżąco odczytuje temperaturę z czujnika DS18B20 i wartość tą wyświetla na podłączonym czterocyfrowym wyświetlaczu znakowym. Docelową temperaturę można dostroić za pomocą dołączonego do Arduino potencjometru.Następnie można wystartować proces grzania wody. Od tego momentu automat przejmie kontrolę nad tym procesem. Wyłączy grzałkę, gdy żądana temperatura zostanie osiągnięta, równocześnie sygnalizując o tym fakcie.

W projekcie wykorzystano termometr Dallas-a DS18B20. Ten trzy-nóżkowy element oferuje bardzo cenne cechy. Komunikacja odbywa się po jednym przewodzie z wykorzystaniem protokołu One-Wire. Nie stwarza to problemu jeśli w projekcie i tak wykorzystano mikrokontroler. Odczyt jest w postaci cyfrowej. Mikrokontroler bez problemu przetworzy odczytaną z czujnika wartość temperatury i wyświetli ją użytkownikowi za pomocą wspomnianego wyświetlacza. To zadanie leży po stronie softwareowej projektu. Ustawienia żądanej temperatury także dokonuje program. Po stronie sprzętowej znajduje się jest prosty potencjometr. Mikrokontroler czyta analogową wartość napięcia i tutaj duża precyzja nie jest wymagana. Regulacja potencjometrem „przemiata” programowo założony zakres temperatury, którą natychmiast widać na wyświetlaczu. Wyświetlacz DIS1 jest typowym LEDowym wyświetlaczem składającym się z cyfr, a każda z cyfr składa się jedynie z siedmiu segmentów (diod LED). Dla wyświetlacza nie przewidziano żadnego rejestru który miałby zapamiętywać wartość każdej cyfry. W zamian za to, mikroprocesor przemiata kolejne cyfry w trybie multipleksowania. Proces ten odbywa się z częstotliwością przekraczającą percepcję ludzkiego wzroku i jest to rozwiązanie stosowane od początku ery techniki cyfrowej. Informacja z wyświetlacza wzbogacona jest dwoma diodami LED które informują czy włączona jest grzałka, czy też została już osiągnięta temperatura zadana. Ta informacja jest także potwierdzona dźwiękiem buzzera. Obsługa wszystkich komponentów leży po stronie programowej, co stwarza łatwą możliwość adaptacji do konkretnego zastosowania. Dźwięk buzzera może być ciągły, lecz tutaj przewidziano krótki ‘beep’ tuż po wyłączeniu grzałki. Mikrokontroler na bie­żąco wyświetla temperaturę  odczytaną z termometru, a jedynie w trybie ustawiania wartości zadanej odczytuje wartość analogową z potencjometru z wykorzystaniem przetwornika ADC. Elementem wykonawczym systemu jest przekaźnik włączający grzałkę. Jako driver wykorzystano transoptor MCT2E. Izolacja na tej ścieżce ma charakter zabezpieczenia mikrokontrolera przed ew. uszkodzeniem przepięciami ze strony wysokoprądowej projektu (dodatkowe uwagi na temat drivera przekaźnika na końcu artykułu). 

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Firma:
Tematyka materiału: Arduino Nano, wskaźnik temperatury wody, sterownik, DS18B20, MCT2E, ATmega328
AUTOR
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"