
Witam,
Sterownik pompy ciepła. Żeby tanio grzać trzeba nie tylko posiadać dobra pompę, ale bardzo sprytnie nią sterować. Ponieważ na rynku w ogóle nie ma sterowników, które choć trochę spełniałyby moje wymagania, wykonałem swój własny. W zaszłym sezonie dwa takie urządzenia pracowały przez całą zimę z bardzo dobrym rezultatem w domach o powierzchni ok. 200mkw.
Wymagania, jakie chciałem, aby spełniała moja konstrukcja (i spełnia):
- sterowanie sprężarką i pompami obiegowymi
- działanie jako zabezpieczenie pompy
- odczyt i przetwarzanie niezbędnych dla działania pompy, jak i dodatkowych temperatur z duża dokładnością.
- sterowanie pracą pompy w zależności od temperatury zewnętrznej jak i temperatur wewnętrznych
- grzanie w niskiej taryfie i grzanie do określonej godziny (stała godzina zatrzymania pracy)
- zapis w pamięci nieulotnej wszystkich zdarzeń (włączenia wyłączenia, awarie i błędy) i statystyk (dobowe temperatury, zużycie energii)
- sterowanie piezoelektrycznymi zaworami CO
- sterowanie poprzez sieć
Założone wymagania zostały zrealizowane w całości. Dodatkowo, w trakcie sezonu, sterownik został wzbogacony o cały szereg dodatkowych funkcji wynikających z potrzeb. Np. na zakończenie dodana została możliwość zaprogramowania pracy tylko pomp obiegowych, które powinny co jakiś czas popracować nawet w okresie letnim.
Ponieważ sterownik posiada bardzo dużą liczbę funkcji, postaram się tu opisać to, co uważam za najważniejsze, jeśli będzie zainteresowanie ze strony użytkowników forum, chętnie odpowiem na pytania o inne możliwości mojego sterownika.
Część A, Funkcjonalność
Zabezpieczenia: Sterownik współpracuje z zewnętrznymi czujnikami ciśnienia (presostaty) , czujnikiem zaniku i kolejności fazy. W razie zadziałania któregoś z tych czujników sprężarka wyłączana jest poprzez zewnętrzny stycznik natomiast mikroprocesor dodatkowo odcina triak sterujący sprężarką. Jest to w pewnym sensie podwójne zabezpieczenie. Wszystkie zabezpieczenia temperaturowe są sterowane tylko przez mikroprocesor.
Programy grzania: Sterownik realizuje jeden z 16 programów grzania, każdy program grzania składa się z maksymalnie 32 pozycji a każda pozycja to zaprogramowana o danej godzinie i dniu tygodnia czynność taka jak np. rozpoczęcie grzania. Dodatkowo każda czynność może być uzależniona od temperatur i stanu wejść. Długość grzania może być zależna od temperatur. Najważniejszą cechą mojej konstrukcji w tym punkcie jest grzanie „do godziny” co przy niskiej taryfie ma kluczowe znaczenie. Rano pompa wyłącza się dokładnie o godzinie, o której kończy się niska taryfa. Każda czynność może załączyć jedno z 5 wejść sterujących obwody AC (230V) lub 8 optostyczników AC/DC . Dzięki temu na zakończenie czynności można załączyć cześć zaworów (normalnie rozwartych) na rozdzielaczach i dogrzać np. łazienkę. Jeden program jest stały, to znaczy zawsze się wykonuje i używany jest do zaprogramowania np. taryfy czy innych urządzeń. Sterownik wyposażony jest też możliwość regulacji „termostatycznej” w przypadku używania pompy do grzania CWU.
Sterowanie: Jak każdy przyzwoity sterownik, moje urządzenie wyposażone jest w wyświetlacz. Na poniższych rysunkach pokazany jest szereg różnych funkcji tego wyświetlacza. Do sterowania używane są cztery przyciski. Za pomocą tego interfejsu, oprócz czynności związanych z normalną pracą pompy jest też klika funkcji serwisowych, np. ręczna regulacja obwodów sterujących czy ręczne załączanie pomp obiegowych.
Główne programowanie, konfiguracja i czynności serwisowe jak np. odczyt „logów” odbywa się poprzez narzędzie konsolowe (Linux/Windows/MAC). Ustawienia i programy grzania zapisana są postaci dość przejrzystych plików XML. Narzędzie konfiguracyjne odczytuje te pliki XML i konfiguruje sterownik. Dodatkowo wszystkie informacje uzyskiwane ze sterownika mogą być prezentowane w postaci „ludzkiej” lub XML. Stosowanie interfejsu XML ma na celu głownie integrację ze serwerem WWW. W moim rozwiązaniu, za względów bezpieczeństwa, nie zdecydowałem się na umieszczenie strony WWW w sterowniku. Nie dlatego bym bał się jakiegoś ataku tyko po to by sterownik zajmował się tylko sterowaniem pompy, zabezpieczeniami i robił to bardzo pewnie. Moim rozwiązaniem na przyjazny interfejs jest serwer WWW w sieci domowej, który wykorzystuje narzędzie konfiguracyjne podczas generacji stron do uzyskania informacji w postaci przyjaznej strony WWW. Dodatkowo, cyklicznie domowy serwer generuje za pomocą narzędzia plik statusu XML i przesyła go na zewnętrzny serwer poprzez FTP, który dostępny jest publicznie wraz ze stroną WWW, (zobacz obraz poniżej).
Część B, Konstrukcja
Sercem sterownika jest moduł z mikroprocesorem ST STR912FAW44 (ARM966E-S). Moduł posiada wbudowany interfejs Ethernet, 8MB pamięci flash SPI. Oprogramowanie napisane jest w C, a system operacyjny to fantastyczny FreeRTOS. Jako stos IP wykorzystałem uIP (ten akurat jest bardzo mało fantastyczny).
Jako czujniki temperatury wykorzystane są DS1820. Nie zdecydowałem się na DS18B20 ze względu na złą sławę odnośnie stabilności. DS1820 wraz z poszerzoną dokładności dają odczyt z dokładnością do 1/16C. Czujników może być maksymalnie 12 i podłączone mogą być do trzech różnych portów. Dwóch 1W na płytce i jednego RS232C (RS232C jako transmisja i mały adapter przy samym czujniku).
Sterowanie układami zewnętrznymi odbywa się poprzez układy ULN2803 które złączają diody LED w optoizolatorach. Pierwsze osiem wyjść to odseparowane za pomocą optotriaków MOC3063 triaki. Z tych wyjść zasilany jest przekaźnik sprężarki i bezpośrednio pompy obiegowe. Drugie osiem wyjść to optostyczniki AQV214 lub AQV414 (normalnie zwarty), prąd maksymalny 0.12A w zupełności wystarcza do wysterowania piezoelektrycznych 5-cio watowych zaworów. Obwody wejściowe, przy założonym napięciu obwodów kontrolnych 24V, to dwa czterowejściowe transoptory PS2501-4.
Całość zasilana jest układem LM2672(5V), oraz LM2937(3.3V).
Dość sporo napisałem ale i konstrukcja jest bardzo rozbudowana. Mam nadzieję, iż będzie choć trochę inspirująca tym bardziej, że domowej roboty pompy ciepła to bardzo atrakcyjny temat.




Cool? Ranking DIY