Przeszukaj forum
Pokazywanie wyników dla tagów 'ogrzewanie'.
Znaleziono 1 wynik
-
... Czyli zbudowałem po prostu termostat ukończony termostat Remontując moje mieszkanie stwierdziłem, że dopóki mam dostęp do rur, to wyposażę je w dodatkowy zawór. Ale nie byle jaki - elektrozawór. Pomyślałem, że spróbuję swoich sił i stworzę prosty system kontroli nad temperaturą w mieszkaniu w czasie sezonu grzewczego. Ale zaraz - przy grzejnikach są głowice termostatyczne, więc jaki jest tego sens? Otóż pod względem praktycznym może niewielki, ale zawsze to jakaś okazja, żeby pobawić się w elektronika Poza tym, można w przyszłości rozbudować system o podłączenie do internetu. Wtedy wyjeżdżając z domu na dłuższy czas głowice zostawiamy na maksymalnym poziomie, a temperaturą domu sterujemy z aplikacji. Ale tutaj koniec dygresji, wracamy do właściwego projektu Jak miałoby to wyglądać? położenie elektrozaworu w biegu rury zasilającej C.O. W obudowie urządzenia zostanie zamknięty mikrokontroler oraz czujnik temperatury powietrza. Do tego wyświetlacz i kilka przycisków jako interfejs komunikacji z użytkownikiem. W obiegu rur wody centralnego ogrzewania, a dokładniej na rurze zasilającej, zamontowany zostanie elektrozawór przystosowany do pracy z ciśnieniem i temperaturą w takich instalacjach. teoretyczny przebieg temperatury w czasie Użytkownik w dowolnym momencie używając przycisków na obudowie wybierze zadaną temperaturę powietrza. Mikrokontroler cały czas porównuje ją z temperaturą zmierzoną wbudowanym czujnikiem. Możliwe są tylko 3 opcje: obie będą równe, zadana będzie większa, lub zadana będzie mniejsza. Przypadek, kiedy są one sobie równe uznałem, że zaliczę do jednej z pozostałych, ponieważ nie ma to zbyt dużego wpływu na działanie urządzenia. A więc pozostają 2 przypadki: wybrano temperaturę większą od obecnej (lub mieszkanie się wystudziło), więc zawór trzeba otworzyć; wybrano temperaturę mniejszą (lub obecna się na tyle zwiększyła) i wtedy zawór należy zamknąć. Lista materiałów użytych do budowy tego projektu: Mikrokontroler - Proces prototypowania rozpocząłem jak to zwykle bywa na płytce Arduino UNO. Łatwo się na nią wgrywa program, więc proces poprawiania kodu i naprawiania błędów trwa możliwie szybko. Docelowo jednak do urządzenia trafił klon płytki Arduino Pro Mini z popularnego, azjatyckiego sklepu internetowego. Kosztowały mnie poniżej 7 zł / sztukę, więc koszt zbudowania projektu był o wiele przyjemniejszy. A Pro Mini posiada na tyle dużo wyprowadzeń, że ogarnie każdy nieduży projekt. Elektrozawór - Potrzebny był taki, który wytrzyma pracę przy ciśnieniu i temperaturze wody C.O. Kiedyś mierzyłem ciśnienie zimnej wody w kranie, to wyszło mi 4 bary, natomiast z tego co widziałem, to większość urządzeń do pracy w domowej sieci wodociągowej ma określoną wytrzymałość do 10 barów (złączki, baterie umywalkowe). Temperatura w najgorszym wypadku będzie bliska wrzeniu, ale wiele rzeczy musiałoby pójść nie tak, żeby się tak nagrzała - instalacja jest przed tym zabezpieczona. Znalazłem więc w internecie taki elektrozawór: max. 16 bar, <95 st. C, bistabilny. Jest zasilany napięciem 230V. Nie jest to najbezpieczniejsze wyjście, początkującym elektronikom odradzam - zastąpcie go innym, na przykład na 24V. Ja wybrałem taki, ponieważ nie znalazłem wtedy żadnych ciekawych na 5V ani 12V, a zasilacza 24V nie chciałem kupować - budżet był mocno ograniczony. nakręcana głowica elektrozaworu instrukcja podłączenia mojego elektrozaworu Uwaga! Osoby nieuprawnione do pracy z napięciem sieciowym 230V nie powinny samodzielnie dokonywać przy nim jakichkolwiek prac! Nieumiejętna praca z napięciem sieciowym grozi porażeniem, pożarem, a nawet śmiercią. Najlepiej wybierać więc komponenty sterowane napięciami bezpiecznymi, albo jeśli to niemożliwe: tę część prac, która jest związana z napięciem sieciowym oddać do wykonania elektrykowi. Obudowa - W chwili powstawania tego projektu nie miałem jeszcze przywileju posiadania własnej drukarki 3D. Kolega miał, ale zgodził się tylko na wydruk małych przycisków, obudowa była za duża na jego sprzęt ze względu na uszkodzenie poziomowania stołu i odklejanie się wydruków. Wtedy jeszcze się na tym nie znałem, więc korzystałem z tego co jest. Po partyzancku kupiłem więc odpowiedniej wielkości zamykaną puszkę elektryczną w niebieskim markecie budowlanym z nadzieją, że wszystko się do niej zmieści i nie będzie to wyglądało jak rupieć z wysypiska (to akurat się niezbyt udało). Czujnik temperatury - wybór padł na DHT11 - czujnik temperatury powietrza i wilgotności. Bez większego powodu. Bez porównywania do innych rodzajów czujnika. Jest po prostu mały, tani i oferuje wystarczający zakres mierzonych wartości - 0°C do +50°C, wilgotność od 20% do 90% RH. Wilgotności w tym projekcie w ogóle nie badam, a temperatura pomieszczenia mieści się z dużym zapasem w podanych widełkach. Ja miałem już ten czujnik w wersji nagiej - sam czujnik, jednak polecam rozważyć gotowy moduł na płytce, ponieważ wtedy problem rezystora podciągowego nie będzie Was dotyczyć (o tym niżej). Wyświetlacz - LCD 2x16 znaków z niebieskim podświetleniem. Duży, czytelny, łatwo się nim steruje. Przyciski - do sterowania najlepiej nadają się monostabilne / chwilowe. Wystarczą nawet najprostsze, tzw. tactile switche. Zasilacz 5V - wystarczy jakikolwiek stałonapięciowy. Układ nie pobiera dużo mocy, więc nawet niewielka moc zasilacza sobie poradzi. Dobrze mieć kompatybilną wtyczkę, żeby nie trzeba było ciąć przewodu. Miałem akurat gniazdo montażowe jack 5,5/2,1, więc dobrałem zasilacz z odpowiednią wtyczką. Przekaźniki - w mojej wersji projektu są potrzebne, ponieważ wybrany elektrozawór jest sterowany napięciem 230V. Wybrałem gotowe moduły, które są wyposażone w odpowiednie zabezpieczenie, o czym też niżej. Sposób podłączenia: Całość układu najlepiej zobrazuje schemat. Jest on prosty, wykonany na szybko w programie graficznym. Nie jest to najlepsza metoda, ale na czas budowy tego projektu jeszcze nie umiałem korzystać z niczego bardziej profesjonalnego. Uproszczony schemat układu Na schemacie wyraźnie widać rozdzielenie części układu, która pracuje na napięciu 230V, i pozostałą, zasilaną napięciem 5V. Tych dwóch światów lepiej nie łączyć, a już na pewno nie w niekontrolowany sposób. Przekaźniki zapewniają wystarczającą izolację galwaniczną, która zabezpieczy pozostałą część układu przed śmiercionośnym napięciem sieciowym. Użyłem dwóch przekaźników: pierwszy umożliwia załączenie fazy w ogóle, a drugi przekierowuje ją na jeden z dwóch przewodów sterujących elektrozaworu (FO - faza otwieranie, FZ - faza zamykanie) zgodnie ze schematem przedstawionym w jego instrukcji obsługi. tutaj proces montażu układu w obudowie, dzisiaj wiele rzeczy zrobiłbym inaczej... jedyne elementy, które udało mi się wydrukować - przedłużki do przycisków zaprojektowane w TinkerCAD Arduino, serce układu jest oczywiście podłączone do zasilania: VCC do 5V, GND do masy. Czujnik temperatury oprócz pinów zasilania ma trzeci pin - wyjście danych. Podłączony jest bezpośrednio do cyfrowego wejścia Arduino, ale w posiadanej przeze mnie wersji dodatkowo potrzebny jest rezystor podciągowy do 5V (na przykład 4,7 kilooma), ponieważ to wyprowadzenie wewnątrz samego czujnika jest typu otwarty kolektor. Przesyłając dane zwiera on wyjście danych do masy, jednak trzeba ustalić jego stan w momencie, kiedy nie zwiera. 3 przyciski zwierają po wciśnięciu cyfrowe wejście Arduino do masy, ale podobnie jak wyżej opisany czujnik, należy ustalić ich stan bez wciśnięcia, dlatego znowu dajemy rezystory podciągowe (na przykład 4,7 kilooma). Jeśli chodzi o podłączenie wyświetlacza LCD to, szczerze mówiąc, Ameryki nie odkryłem. Zrobiłem to zgodnie z poradnikiem, jakich wiele w sieci. Ciekawe jest to, że nie trzeba podłączać wszystkich pinów danych (D0-D7), wystarczy podłączyć 4 z nich (D4-D7) i wyświetlacz działa jak należy, a piny mikrokontrolera można wykorzystać na co innego. Pamiętajcie o potencjometrze do ustalania kontrastu - ja użyłem zwyczajny liniowy 10 kiloomów. Przekaźniki na schemacie przedstawione są w uproszczony sposób. Te użyte przeze mnie są gotowymi modułami na płytce, która zawiera ważny element - diodę gaszącą. Jest ona podłączona równolegle do cewki przekaźnika w kierunku zaporowym. Podczas załączenia zasilania na cewkę nic szczególnego się nie dzieje - elektromagnes przełącza styki. Ale przy nagłym zaniku zasilania na niej - powstaje przepięcie przez zapadające się pole magnetyczne. To zjawisko potrafi niszczyć czułe komponenty. Popularnym rozwiązaniem tego problemu jest właśnie dioda gasząca, która rozładowuje cały impuls przepięcia chroniąc resztę układu. tym skutkuje brak zabezpieczenia przekaźnika - błędy i krzaki na wyświetlaczu tak faktycznie wygląda moduł przekaźnika - widać diodę gaszącą (1N4007) Sterowanie: Całością urządzenia zarządzał prosty kod napisany w C++ w starym IDE Arduino. Zawierał gotowe biblioteki do pracy z czujnikiem temperatury DHT11 oraz z wyświetlaczem LCD. Niestety kodu już nie posiadam przez śmierć ówczesnego dysku, opiszę zatem słowami co mniej-więcej się działo, ale służę pomocą, jeśli ktoś będzie chciał odtworzyć coś podobnego i będzie miał jakieś pytania. Układ nie posiada pamięci podtrzymywanej po zaniku zasilania, więc po uruchomieniu ustawiona zostaje temperatura zadana domyślna, wybrana przeze mnie w sposób subiektywny - 22 stopnie C. Użytkownik zmieni ją w miarę potrzeby. Wyświetlacz pokazuje w pierwszym wierszu frazę "T. zmierz. 22.3" pokazując jaką wartość temperatury aktualnie zmierzono. W drugim wierszu wyświetla obecną pozycję zaworu: "zawór zamknięty", "zawór otwarty", "otwieranie zaworu", "zamykanie zaworu". Środkowy przycisk "OK" powoduje przełączenie urządzenia z trybu wyświetlania wartości na tryb nastaw. Symbolizuje to zmiana tekstu pierwszego wiersza na "T.zadana >22.0<". Objęcie wartości temperatury nawiasami trójkątnymi sugeruje w intuicyjny sposób, że tę wartość można zmieniać. Służą do tego oczywiście przyciski "góra" i "dół". Ponowne przyciśnięcie "OK" wraca do trybu wyświetlania jak na początku. Pętla programu w regularnych odstępach czasu pobiera wartość temperatury z czujnika i porównuje ją z wartością zadaną. Jeśli wymagana jest zmiana położenia zaworu (zawór jest otwarty i jednocześnie t.zmierzona > t.zadana, albo zawór jest zamknięty i jednocześnie t.zmierzona < t.zadana) to wystawiane są odpowiednie sygnały na przekaźniki na czas ok. 20 sekund - tyle potrzeba żeby zawór się całkowicie obrócił w drugą skrajną pozycję, z lekkim zapasem. Podsumowanie: Urządzenie działa dokładnie tak, jak zaplanowałem. To znaczy zawór obraca się w docelową pozycję, wtedy kiedy wykryje konieczność nagrzania / schłodzenia mieszkania. Niestety ze względu na dużą inercję temperatury powietrza, pewną odległość urządzenia od grzejników, odczyt temperatury wewnątrz obudowy oraz kilka innych czynników mój termostat przestrzeliwuje nieco w obie strony. Temperatura powietrza w mieszkaniu nie jest utrzymywana na stałym poziomie, ale oscyluje wokół wartości zadanej. Po zamknięciu zaworu ciepła woda niby nie płynie w grzejnikach, ale wciąż w nich stoi nieruchomo. Nadal przez jakiś czas oddaje więc ciepło do pomieszczenia. Przez to temperatura rośnie o około 1,5 stopnia C powyżej zadanej, zanim zacznie faktycznie spadać. Podobnie w drugą stronę: zawór się otwiera, ciepła woda płynie w kierunku grzejników, ale są one już wystudzone i potrzebują chwili żeby się rozgrzać. Wobec tego temperatura spada o około 1,5 stopnia C poniżej zadanej i tak w kółko w cyklu trwającym około 1,5 - 2 godzin. Nie jest to może idealne rozwiązanie, ale ja i tak jestem z tego projektu zadowolony. Ja się dużo przy nim nauczyłem, a może też kogoś z czytających zainspiruję. Całość powstała 4 lata temu, moja wiedza poszła dużo naprzód, w końcu dorobiłem się też drukarki 3D, więc następne projekty będą wyglądały na pewno dużo lepiej. Życzę powodzenia i czekam na pytania. zmierzona faktycznie temperatura pokazuje niedoskonałość mojego termostatu
