Witam, jako że nie znalazłem gotowego rozwiązania na sensowne wysterowanie mojego ahu boxa (Type: U-Match Version: 1.02) postanowiłem spróbować samemu coś stworzyć . Na bazie płytki KINCONY A6 v1.3, oraz posiłkując się AI stworzyłem kod który mam nadzieje jak najbardziej optymalnie wykorzysta moc sprężarki, co powinno się przełożyć na koszty ogrzewania. Zamieszczam 3 pliki z kodem
1. To pełny kod z wszystkimi funkcjami w wersji 2.6
2. Wersja Light bez obsługi Serial Port i MQTT
3. Program do odczytania adresów czujników temperatury które trzeba podać w kodzie (jest wyświetlany w formie HTML pod adresem ip urządzenia. Trzeba tylko wpisać swój SSID i HASŁO)
Oto główne funkcje i możliwości programu sterującego pompą ciepła, przedstawione w punktach:
1. Monitorowanie temperatury:
o Odczyt danych z 5 czujników DS18B20 (temperatura zewnętrzna, CWU, bufor, gaz, woda w wymienniku)
o Wykrywanie błędów odczytu czujników
o Ochrona przed zamarzaniem (automatyczne wyłączenie przy niskiej temperaturze wody) (3 stopnie)
2. Sterowanie elementami:
o Kontrola 4 przekaźników (agregat pompy, pompa obiegowa, zawór 3-drogowy, grzałka CWU) przez moduł I2C
o Regulacja mocy sprężarki za pomocą przetwornika DAC (0-8.5V) (na takich napięciach pracuje mój ahu box)
o Opóźnione wyłączanie pompy obiegowej po zatrzymaniu sprężarki ( t trybie normalnym i termostat pompa obiegowa wyłącza się gdy temperatura gazu osiągnie temperaturę wyjścia wody z wymiennika)
3. Obsługa przycisków:
o Zaawansowany system odczytu stanu 8 przycisków z modułu PCF8574P (Di-1 tryb NORMALNY, Di-2 tryb CWU, Di-3 tryb LATO, Di-4 tryb TERMOSTAT, Di-5 styki termostatu, Di-6 Alarm)
o Przełączanie trybów pracy z funkcją debouncingu
o Tryby: Normalny, CWU, Lato, Termostat, Wyłączony( wyłączony polega na ponownym wciśnięciu przycisku danego trybu)
4. Wyświetlacz OLED: SDD 1306
o Prezentacja temperatur w czasie rzeczywistym
o Informacje o trybie pracy i stanie przekaźników
o Alarmy i komunikaty ostrzegawcze
5. Komunikacja sieciowa:
o Połączenie WiFi z trybem konfiguracji AP (WiFiManager)
o Publikacja danych na brokerze MQTT( Jeszcze nie testowane bo po usunięciu supla bridge, broker mi się wysypał)
o Serwer WWW z interfejsem do sterowania i monitorowania
6. Tryby pracy:
o Normalny: Automatyczna regulacja temperatury na podstawie warunków zewnętrznych ( Moc sprężarki regulowana jest krzywą grzewczą która warunkuje temperaturę na wyjściu wymiennika do temperatury na zewnątrz, i jest ustawiona pod ogrzewanie grzejnikowe. Można łatwo to zmienić w kodzie, w sezonie grzewczym pewnie będę dopieszczał)
o CWU: Priorytetowe podgrzewanie ciepłej wody użytkowej( w moim przypadku 47 stopni i histereza na 5 stopni. W tym trybie najpierw uruchamiany jest zawór 3drogowy a po minucie pompa obiegowa i agregat, wyjście z trybu też jest opóźnione o minutę czyli czas przełączenia zaworu 3d )
o Lato: Tylko podgrzewanie CWU z użyciem grzałki ( tryb grzania cwu w moim przypadku z fotowoltaiki, gdzie nagrzewa wodę do 60 stopni i później dogrzewa gdy spadnie do 45)
o Termostat: Sterowanie w oparciu o zewnętrzny termostat ( styki Di-5 ,Gnd, odpowiadają za sygnał z termostatu, moc sprężarki działa również na zasadzie krzywej grzewczej)
7. Zaawansowane funkcje:
o Automatyczna diagnostyka modułów I2C
o Mechanizm ochrony przed błędami komunikacji
8. Interfejs webowy:
o Panel sterowania z przyciskami zmiany trybów
o Wizualizacja temperatur w formie kart
o Status elementów systemu w czasie rzeczywistym
o Informacje o alarmach i ostrzeżeniach
9. Bezpieczeństwo:
o System alarmowy z detekcją przycisku awaryjnego
o Automatyczny reset przy wykryciu awarii I2C
o Ochrona przed przeciążeniem sprężarki
o Kontrola stabilności temperatury gazu
10. Konfiguracja:
o Test przekaźników podczas inicjalizacji
o Autodiagnostyka przy starcie systemu
UWAGA: nie odpowiadam za szkody jakie może wyrządzić ten program lub nie umiejętne się z nim obchodzenie, zamieszczam go tu jedynie w celu edukacyjnym .Mam nadzieją że bardziej doświadczeni użytkownicy będą mogli nanieść ewentualne poprawki lub wytknąć błędy które uda nam się wspólnie naprawić.
1. To pełny kod z wszystkimi funkcjami w wersji 2.6
2. Wersja Light bez obsługi Serial Port i MQTT
3. Program do odczytania adresów czujników temperatury które trzeba podać w kodzie (jest wyświetlany w formie HTML pod adresem ip urządzenia. Trzeba tylko wpisać swój SSID i HASŁO)
Oto główne funkcje i możliwości programu sterującego pompą ciepła, przedstawione w punktach:
1. Monitorowanie temperatury:
o Odczyt danych z 5 czujników DS18B20 (temperatura zewnętrzna, CWU, bufor, gaz, woda w wymienniku)
o Wykrywanie błędów odczytu czujników
o Ochrona przed zamarzaniem (automatyczne wyłączenie przy niskiej temperaturze wody) (3 stopnie)
2. Sterowanie elementami:
o Kontrola 4 przekaźników (agregat pompy, pompa obiegowa, zawór 3-drogowy, grzałka CWU) przez moduł I2C
o Regulacja mocy sprężarki za pomocą przetwornika DAC (0-8.5V) (na takich napięciach pracuje mój ahu box)
o Opóźnione wyłączanie pompy obiegowej po zatrzymaniu sprężarki ( t trybie normalnym i termostat pompa obiegowa wyłącza się gdy temperatura gazu osiągnie temperaturę wyjścia wody z wymiennika)
3. Obsługa przycisków:
o Zaawansowany system odczytu stanu 8 przycisków z modułu PCF8574P (Di-1 tryb NORMALNY, Di-2 tryb CWU, Di-3 tryb LATO, Di-4 tryb TERMOSTAT, Di-5 styki termostatu, Di-6 Alarm)
o Przełączanie trybów pracy z funkcją debouncingu
o Tryby: Normalny, CWU, Lato, Termostat, Wyłączony( wyłączony polega na ponownym wciśnięciu przycisku danego trybu)
4. Wyświetlacz OLED: SDD 1306
o Prezentacja temperatur w czasie rzeczywistym
o Informacje o trybie pracy i stanie przekaźników
o Alarmy i komunikaty ostrzegawcze
5. Komunikacja sieciowa:
o Połączenie WiFi z trybem konfiguracji AP (WiFiManager)
o Publikacja danych na brokerze MQTT( Jeszcze nie testowane bo po usunięciu supla bridge, broker mi się wysypał)
o Serwer WWW z interfejsem do sterowania i monitorowania
6. Tryby pracy:
o Normalny: Automatyczna regulacja temperatury na podstawie warunków zewnętrznych ( Moc sprężarki regulowana jest krzywą grzewczą która warunkuje temperaturę na wyjściu wymiennika do temperatury na zewnątrz, i jest ustawiona pod ogrzewanie grzejnikowe. Można łatwo to zmienić w kodzie, w sezonie grzewczym pewnie będę dopieszczał)
o CWU: Priorytetowe podgrzewanie ciepłej wody użytkowej( w moim przypadku 47 stopni i histereza na 5 stopni. W tym trybie najpierw uruchamiany jest zawór 3drogowy a po minucie pompa obiegowa i agregat, wyjście z trybu też jest opóźnione o minutę czyli czas przełączenia zaworu 3d )
o Lato: Tylko podgrzewanie CWU z użyciem grzałki ( tryb grzania cwu w moim przypadku z fotowoltaiki, gdzie nagrzewa wodę do 60 stopni i później dogrzewa gdy spadnie do 45)
o Termostat: Sterowanie w oparciu o zewnętrzny termostat ( styki Di-5 ,Gnd, odpowiadają za sygnał z termostatu, moc sprężarki działa również na zasadzie krzywej grzewczej)
7. Zaawansowane funkcje:
o Automatyczna diagnostyka modułów I2C
o Mechanizm ochrony przed błędami komunikacji
8. Interfejs webowy:
o Panel sterowania z przyciskami zmiany trybów
o Wizualizacja temperatur w formie kart
o Status elementów systemu w czasie rzeczywistym
o Informacje o alarmach i ostrzeżeniach
9. Bezpieczeństwo:
o System alarmowy z detekcją przycisku awaryjnego
o Automatyczny reset przy wykryciu awarii I2C
o Ochrona przed przeciążeniem sprężarki
o Kontrola stabilności temperatury gazu
10. Konfiguracja:
o Test przekaźników podczas inicjalizacji
o Autodiagnostyka przy starcie systemu
UWAGA: nie odpowiadam za szkody jakie może wyrządzić ten program lub nie umiejętne się z nim obchodzenie, zamieszczam go tu jedynie w celu edukacyjnym .Mam nadzieją że bardziej doświadczeni użytkownicy będą mogli nanieść ewentualne poprawki lub wytknąć błędy które uda nam się wspólnie naprawić.
Fajne? Ranking DIY