Sterowanie pompą CWU.

  • 24 Odpowiedzi
  • 12502 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline damian

  • Moderator Globalny
  • ***** 82
  • 1
  • Nazwa i wersja ID: HC2
Sterowanie pompą CWU.
« dnia: Marzec 26, 2015, 11:46:44 am »
Mam instalację wodną z dodatkowym obiegiem cyrkulacyjnym, dzięki czemu woda pod prysznicem (w kranie, wannie etc) jest zawsze ciepła od razu. Obieg wspomagany jest przez pompę, tłumaczyć nie będę bo to nie to forum.

Po co pompa ma działać cały czas, skoro wystarczy uruchomić ją powiedzmy na minutę i pozwolić na 15 minut przerwy w jej pracy? Korzyść z tego taka, że pompa pracuje 15 razy krócej, a efekt i tak jest osiągnięty. Można zaoszczędzić jeszcze kilka złotych nie uruchamiając pompy w nocy, kiedy śpimy, albo kiedy nikogo nie ma w domu.

U mnie pompa CWU rusza kiedy naruszone są drzwi którejś sypialni albo łazienki, albo jak wykryje ruch na schodach. Oczywiście pod warunkiem że określone w skrypcie granice czasowe jej na to pozwalają.

Oto skrypt. Podziękowania dla Traktor69.
--[[
%% properties
10 value
11 value
66 value
70 value
120 value
%% globals
--]]

-- Sprawdzenie czy nie jest uruchomiona więcej jak jedna scena -----------------------------------

if (fibaro:countScenes() > 1) then
  fibaro:debug("Uruchomiono druga instancje sceny - zatrzymanie")
  fibaro:abort();
end

-- Initial Values -----------------------------------------------------------
-- Nie zapomnij dodać ID czujek i sensorów drzwi w deklaracji na początku skryptu!!!

local switch = 84 -- Podaj ID switcha odpowiedzialnego za uruchamianie pompy CWU

local startTime1 = '06:00' -- czas startu pierwszego zakresu
local stopTime1 = '10:30' -- koniec czasu pierwszego zakresu

local startTime2 = '14:00' -- czas startu drugiego zakresu
local stopTime2 = '23:59' -- koneic czasu drugiego zakresu

local startTimeWe = '07:00' -- czas startu w weekend
local stopTimeWe = '23:59' -- koniec czasu w weekend

CWU_Time  = 2 -- Czas pracy CWU w minutach
CWU_Delay = 15 -- Przerwa pomiędzy kolejnymi możliwymi cyklami pompy, w minutach

-- Funkcje -----------------------------------------------------------------

-- funkcja zamienia czas w formacie tekstowym "HH:MM" lub os.date("*t")
-- na liczbę minut od północy

function toMinutes(czasHHMM)
  local a
  if type(czasHHMM) == "string" then
    a = tonumber(string.sub(czasHHMM, 1, 2)) * 60 + tonumber(string.sub(czasHHMM, 4, 5))
  else   
    a = tonumber(czasHHMM.hour) * 60 + tonumber(czasHHMM.min)
  end
  return a
end

-- funkcja sprawdza czy aktualny czas jest w określonej porze

function isTime(startHHMM, stopHHMM)
  nowMin=toMinutes(os.date("*t"))
  startMin=toMinutes(startHHMM)
  stopMin=toMinutes(stopHHMM)
  if (stopMin >= startMin) then
    if (nowMin >= startMin) and (nowMin <= stopMin) then
      isTme = true 
    else
      isTme = false
    end
  elseif (stopMin <= startMin) then
    if (nowMin <= startMin) and (nowMin >= stopMin) then
      isTme = false
    else
      isTme = true
    end
  end
  return isTme
end





---------------------------------------------------------------------------------------------------

-- Pokaż który sensor uruchomił scenę
local trigger = fibaro:getSourceTrigger();
fibaro:debug("Sensor " .. trigger['deviceID'] .. " naruszony.")


-- isActiveTime  - sprawdzenie czy to odpowiedni czas na uruchomienie pompy ---
local wD=os.date('*t').wday
isActiveTime = (wD==2 or wD==3 or wD==4 or wD==5 or wD==6) and (isTime(startTime1,stopTime1) or isTime(startTime2,stopTime2)) or (wD==7 or wD==1) and isTime(startTimeWe,stopTimeWe)
fibaro:debug("isActiveTime = "..tostring(isActiveTime))


-- Sterowanie CWU ------------------------------------------------------------------

if isActiveTime then
    fibaro:call(switch, "turnOn")
    fibaro:debug("CWU Start")
    fibaro:setGlobal("CWU_lastrun", toMinutes(os.date("*t")))
    fibaro:sleep(CWU_Time*1000*60)
    fibaro:call(switch, "turnOff")
    fibaro:debug("CWU Stop")
    fibaro:sleep(CWU_Delay*1000*60)
else
  fibaro:debug("CWU nie uruchomione - poza zakresem czasowym")
end

----------------------------------------------------------------------------- 
fibaro:debug("------------------------------------------------")
*

Offline marecki_0luk1

  • Administratorzy
  • ***** 430
  • 26
  • Nazwa i wersja ID: HC3 5.070.42 / HC2 4.600
Odp: Sterowanie pompą CWU.
« Odpowiedź #1 dnia: Marzec 26, 2015, 11:54:13 am »
zastanawiałem sięczy uruchomić sobie taką scenę, ale moja pompka bierze 3.6W, więc oszczędności raczej nie będzie ;)
*

Offline damian

  • Moderator Globalny
  • ***** 82
  • 1
  • Nazwa i wersja ID: HC2
Odp: Sterowanie pompą CWU.
« Odpowiedź #2 dnia: Marzec 26, 2015, 12:04:12 pm »
Myślę, że świetnie się ten skrypt nada do innych celów, jak na przykład elektrycznie podgrzewane lustro w łazience, czy nawet podgrzewanie kawy w ekspresie przelewowym... :)
*

Offline marecki_0luk1

  • Administratorzy
  • ***** 430
  • 26
  • Nazwa i wersja ID: HC3 5.070.42 / HC2 4.600
Odp: Sterowanie pompą CWU.
« Odpowiedź #3 dnia: Marzec 26, 2015, 01:08:46 pm »
damian to akurat prawda :) generalnie skrypt ma bardzo wiele zastosowań i już go sobie użyczyłem :D
*

Offline Grzegorz

  • * 10
  • 2
Odp: Sterowanie pompą CWU.
« Odpowiedź #4 dnia: Marzec 26, 2015, 02:33:38 pm »
marecki_0luk1, pamiętaj, że tu nie chodzi o oszczędność na prądzie w pompie.

Jak nie mielisz non-stop wody w obiegu, to rzadziej dogrzewasz. U siebie mam zbiornik warstwowy podłączony do kotła gazowego. Od kiedy uruchomiłem podobną scenę (u mnie akurat na bloczkach) to kocioł praktycznie przestał się włączać w trybie grzania wody gdy jej nie pobieram. Wcześniej regularnie "dogrzewał" bo cała instalacja, jakby nie była zaizolowana, to jednak wielka chłodnica ;-)
*

Offline marecki_0luk1

  • Administratorzy
  • ***** 430
  • 26
  • Nazwa i wersja ID: HC3 5.070.42 / HC2 4.600
Odp: Sterowanie pompą CWU.
« Odpowiedź #5 dnia: Marzec 26, 2015, 02:35:35 pm »
może i racja. Ja grzeje dom pompą ciepła i w sumie trochę zajmuje zanim nagrzeję zbiornik (300l), wykorzystam i sprawdze w logach o ile sie zmniejsza ilosc zalaczen pompy na cele CWU
*

Offline damian

  • Moderator Globalny
  • ***** 82
  • 1
  • Nazwa i wersja ID: HC2
Odp: Sterowanie pompą CWU.
« Odpowiedź #6 dnia: Marzec 26, 2015, 03:45:08 pm »
Zrobiłem sobie statystykę włączeń pompy, z ciekawości. Jutro pokażę wykres (z jednej doby) ile razy się uruchomiła. A że scena działa już od dawna, to mam pewność, że działa wystarczająco dobrze - woda w kranie zawsze ciepła. ;-)
*

Offline marecki_0luk1

  • Administratorzy
  • ***** 430
  • 26
  • Nazwa i wersja ID: HC3 5.070.42 / HC2 4.600
Odp: Sterowanie pompą CWU.
« Odpowiedź #7 dnia: Marzec 27, 2015, 10:32:52 pm »
damian i gdzie ten wykres :P ?
*

Offline damian

  • Moderator Globalny
  • ***** 82
  • 1
  • Nazwa i wersja ID: HC2
Odp: Sterowanie pompą CWU.
« Odpowiedź #8 dnia: Marzec 28, 2015, 11:28:49 am »
damian i gdzie ten wykres :P ?
Mówisz i masz, ostatnia doba. Sporo się wczoraj po domu kręciliśmy, więc w sumie wyszło że w ciągu 24 godzin pompa chodziła 30 razy po 2 minuty. Razem przez godzinę czasu - to 24 razy mniej niż praca nonstop. ;-)
*

Offline Lesław

  • ** 40
  • 1
  • Nazwa i wersja ID: HC2 4.550
Odp: Sterowanie pompą CWU.
« Odpowiedź #9 dnia: Maj 10, 2015, 10:40:27 pm »
Gdyby ktoś pytał o oszczędności, to raczej nie pojawią się one na zużyciu prądu pompy.
Kolega ostatnio liczył oszczędność na podgrzewaniu CWU, przy ograniczeniu czasu pracy pompy recyrkulacji prostą automatyką czasową.
Wyszło 1kpln rocznie dla średniej wielkości domku i pieca gazowego.
Oczywiście specyfika układu grzewczego itd., może znacznie te dane zmieniać. Nie mniej, to jest fajny element do wykorzystania.
*

Offline marecki_0luk1

  • Administratorzy
  • ***** 430
  • 26
  • Nazwa i wersja ID: HC3 5.070.42 / HC2 4.600
Odp: Sterowanie pompą CWU.
« Odpowiedź #10 dnia: Maj 11, 2015, 07:55:25 am »
Lesław chyba kolega ma problem z liczeniem.
Cytuj
Kolega ostatnio liczył oszczędność na podgrzewaniu CWU, przy ograniczeniu czasu pracy pompy recyrkulacji prostą automatyką czasową.
Wyszło 1kpln rocznie dla średniej wielkości domku i pieca gazowego.

To ile ten kolega wydaje na CWU rocznie ? Zbiornik 5000l ? ;)
*

Offline Lesław

  • ** 40
  • 1
  • Nazwa i wersja ID: HC2 4.550
Odp: Sterowanie pompą CWU.
« Odpowiedź #11 dnia: Maj 11, 2015, 08:06:56 am »
Trzeba przyznać, że te wyliczenia są mocno optymistyczne.  :)
Jednak diabeł tkwi w szczegółach. Np. jeśli piec nie moduluje mocą lub nawet moduluje, a startuje z poziomu 7-9kW, to podgrzewanie CWU powoduje duże straty na samym procesie.
Jeśli rury są niedobrze lub wcale zaizolowane, to zimą pół biedy, bo ciepło idzie w budynek ale latem to czysta strata.
Można by dodać jeszcze parę rzeczy (np. LPG lub olej jako paliwo) i jestem pewien że kilkadziesiąt złotych miesięcznie by się uzbierało.
*

Offline Boogie

  • * 8
  • 1
Odp: Sterowanie pompą CWU.
« Odpowiedź #12 dnia: Lipiec 07, 2015, 09:48:30 am »
Cześć,

na początek się przedstawię, bo to mój pierwszy wpis. Przyznam, że sporo ciekawych i konkretnych zastosowań można znaleść na tym forum.

Rzeczywiście, zastosowań powyższego skryptu można znaleźć wiele. Ja podłączyłem pod niego elektryczny odświeżacz powietrza, taki wpinany do gniazda 230V - w moim przypadku gniazdem jest WallPlug. Mój dotychczasowy odświeżacz pracował całą dobę, a powiewów świeżej bryzy w środku nocy nie potrzebuję - marnuje tylko zasobnik.

Jeżeli ktoś ma inne, ciekawe zastosowania, piszcie - czasami ciężko wpaść na rozwiązania, które są banalne a ułatwiają życie.

PS.
Próbowałem zamiast Switcha podłączyć Dimmer i działa. Czy ktoś ma pomysł, jak sterować % wartością Dimmera, aby np. odpalał 20% mocy jakiegoś wentylatora? Względnie, aby można było zadawać różne wartości w zależności od np. zakresu (w I zakresie czasowym podaje 100%, w drugim 20%). Z góry dzięki za pomoc.
*

Offline Lesław

  • ** 40
  • 1
  • Nazwa i wersja ID: HC2 4.550
Odp: Sterowanie pompą CWU.
« Odpowiedź #13 dnia: Lipiec 07, 2015, 10:49:13 am »
Najprościej zamiast
fibaro:call(switch, "turnOn") dać:
fibaro:call(dimmer, 'setValue',20)
Przy tym trzeba pamiętać o zmianach ustawień dimmera do sterowania silnikami. Info w instrukcji.
Poza tym większość silników może źle znosić start z poziomu 20%. Idealnie byłoby startować ze 100% i potem zmniejszyć na 20%.
Jaki to wentylator?

Cytuj
Względnie, aby można było zadawać różne wartości w zależności od np. zakresu (w I zakresie czasowym podaje 100%, w drugim 20%). Z góry dzięki za pomoc.
Nie mam jak sprawdzić ale chyba trzeba dodać zmienną isActiveTime2, której zadasz odpowiednie zakresy czasowe i dni.
a potem:
if isActiveTime then
<warunki>
elseif isActiveTime2 then
<warunki>
else
fibaro:debug("CWU nie uruchomione - poza zakresem czasowym")
end
*

Offline Boogie

  • * 8
  • 1
Odp: Sterowanie pompą CWU.
« Odpowiedź #14 dnia: Lipiec 07, 2015, 11:31:58 am »
Lesław - wielkie dzięki za szybką pomoc i cenne uwagi odnośnie wentylatora.

Mam prosty wentylator "a la łazienkowy" na 230V i już podłączałem go do Dimmera. Rzeczywiście - czasami ciężko go wystartować z poziomu 0 - 20%, więc lepiej byłoby z 100% i zejść do tych 20%.

Mając tą funkcjonalność będę próbował zrobić z tego jakiś sensowny układ.