Automatické otevírání světlíku

Ilustrační foto světlíku   S rostoucím rozvojem zejména podniků zabývajících se výrobou plastů a s tím související výstavbou nebo renovací hal, kde dochází ke vzniku většího množství odpadního tepla, nastává oživení staré, ale osvědčené myšlenky střešních světlíků.
   Výrobci světlíků instalují jen omezené, spíše ruční řízení a v lepších případech zavírání světlíků od silného větru a deště. Jelikož při vlastní realizaci nebývá dostatek času na „vymazlení“ algoritmu a i když se snažím v každé další realizaci program vylepšit, tak si člověk musí po nabití zkušeností v klidu sednout a podívat se na problém komplexně a o tomto by měl být tento článek. Měla by to být kostra algoritmu pro mě i pro všechny kdo mají o danou problematiku zájem, a proto budu rád za jakékoli názory k tématu.


   Základní údaje: Elektrické pohony světlíku jsou většinou osazeny vlastními koncovými spínači či proudovou spojkou, kde k ovládání dochází pomocí přivedení napětí na pól otevřeno nebo zavřeno, v provedení většinou 230V. Zdvih se pohybuje v rozmezí 100 až 400mm a přestavná doba se pohybuje většinou v rozmezí 16 - 30 sekund. Měli bychom dodržet minimální časovou prodlevu mezi dvěma po sobě jdoucími povely. Primární funkce světlíků je ve většině případů odvětrání vysoké prostorové teploty ve výrobních halách. Z opakovaného principu „co odteklo, musí přitéci“ je nutné zajistit přívod venkovního vzduchu, jinak je celý systém nefunkční. Většinou stačí pro dosažení „komínového efektu“ netěsnosti ve stavební konstrukci (okna, dveře), ale při větší ploše světlíků, při nutnosti rychlého odvodu tepla, nebo při použití vzduchotechniky v daném prostoru, je dobré přívod vzduchu stavebně realizovat například větracím otvorem. Ovládání může být realizováno pomocí manuálních tlačítek (žaluziový ovladač), jako samočinné v závislosti na teplotě, samočinné v závislosti na vzdušné vlhkosti, jejich kombinacemi, případně výjimečně podle jiných požadavků investora. Realizujeme-li ovládání v řídicím systému a světlík má podstatný vliv na kvalitu klimatu v dané místnosti, doporučuji ovládání i řízení realizovat procentuální tz. plynulý pohyb v rozmezí 0–100% s rozumným rozlišením kroku (cca 10%), daného přestavnou dobou pohonu. Pro vlastní automatickou regulaci na teplotu či vlhkost bez použití místního ovládání doporučuji použití PID regulátoru (D složka je vhodná pro rychlé odvětrání tepla). Pro zabezpečením motoru bychom zabezpečit blokaci otevření od přítomnosti větší vrstvy sněhu na světlíku, venkovní teploty, kdy může dojít k přimrznutí světlíku a uzavření v případě silného větru. Pro ochranu vnitřního prostoru bychom měli zajistit uzavření světlíku při minimální teplotě v prostoru cca 5°C, při poruše tohoto snímače a v případě deště. V případě vizualizace připravíme pro obsluhu přepínač pro blokaci místního ovládání, procentuální ruční nastavení a signalizaci stavu světlíku včetně indikace podmínek pro provoz světlíku (blokace od větru, deště atd.).
   Toto jsou odzkoušené vlastnosti včetně níže uvedeného programátorského postupu (více v připravované knize „Regulace v knize po deseti letech“ a nyní se dostáváme k zamýšleným úpravám algoritmu.
   Nejvíce mě trápí možnost přimrznutí světlíku nebo je zasypání sněhem v zimních měsících a při následném pokusu o otevření, k poškození motoru. Nepozoroval jsem tento problém, protože se zdá, že konstrukce světlíků v součinnosti s teplem u stropu haly dokáže tomuto stavu předejít, ale může nastat stav, kdy odstávka topení v době vánočních svátků v kombinaci s velkým přívalem sněhu světlík zablokuje a čas pro přehřátí haly bude kratší než čas potřebný pro odtání světlíku.
   Zde se přímo nabízí využití koncového spínače „zavřeno“, který je součástí většiny motorů světlíků. Postup otevření by byl následující: Při povelu otevři testovat polohu, a pokud nedojde k rozepnutí do 10% přestavné doby světlíku, tak vyhlásit poruchu a zablokovat motor například na jeden den nebo do prověření stavu obsluhou.
   Tímto jsme vyřešili ochranu motoru, ale nic jsme neudělali pro předejití tomuto stavu. Pro automatické řízení, případně i pro signalizaci obsluze bychom měli nějak spočítat pravděpodobnost přimrznutí světlíku a světlík zablokovat do doby příznivějších podmínek. Samozřejmě záleží na prioritě tz. ochrana motoru světlíku versus přehřátí prostoru, ale na toto by měl být algoritmus připraven. Jestliže by měl být algoritmus stoprocentní, tak bychom museli vzít v potaz velmi mnoho proměnných (teplota, vlhkost, vítr) ve všech časech výpočtu, což by bylo komplikované a náchylné na chyby programátora, poruchové vlivy a vstupní parametry, což je v našem případě neopodstatněné, proto si vystačíme s teplotou, případně vlhkostí a výpočtem pravděpodobnosti 0–100%.
   Základem by měl být teplotní (teplotně/vlhkostní) integrál, který by nám udával pravděpodobnost přimrznutí světlíku. V základu bych začal v referenční venkovní teplotou 3°C pod kterou by se integrál odečítal o nuly a nad 5°C přičítal s násobitelem (pro doladění jarního a podzimního počasí).
   Totéž bychom měli vytvořit pro možnost velké vrstvy sněhu. Zde včetně teplotního integrálu pracujeme se senzorem deště, kde pokud bychom byli po 1°C venkovní teploty a prší déle než například hodinu, tak integrál snižovat a nad 5°C zvyšovat. Zde je důležité použít senzor deště s vyhříváním.
   Následně budeme vybírat s integrálů minimu a převedeme na pravděpodobnost 0–100%. Otevření světlíku povolíme, pokud pravděpodobnost dosáhne nastavené úrovně např. „0% pravděpodobnost zablokování světlíku“ a zároveň nejsou další nepříznivé vlivy (déšť, vítr, mrazová ochrana prostoru atd.).
   Tolik teorie, ale realita může být jiná a zároveň zde máme plno hraničních hodnot, které nejsem bez podrobného testování určit, též letos nebyla žádná zima ani sníh, proto budu rád, pokud se semnou podělíte o vaše zkušenosti a následně určíme tyto hranice nebo reálnost/nereálnost popsaného doplnění algoritmu.

Programátorský postup  
Programátorský postup světlíku s AUT/RUČ ovládáním:

  1. Nejprve realizujeme ochranné funkce. V přídě deště nebo silného větru aktivujeme ochranu počasí. Jestliže klesne prostorová teplota pod 4,5°C (hystereze 1°C), nebo dojde k poruše snímače, tak aktivujeme ochranu mráz.
  2. Realizujeme uživatelské nastavení teploty. Jestliže prostorová překročí nastavenou teplotu například 26°C (hystereze 1°C), tak generujeme puls od náběžné hrany teplo. Od sestupné hrany generujeme puls zima.
  3. Načteme vstup tlačítka zavřít, a pokud je povoleno ovládání z prostoru [nebo] je tlačítko drženo cca 15 sekund (havarijní nucené uzavření i při zakázání prostorového ovládání) [a zároveň] není povel otevři, tak aktivujeme povel zavři.
  4. Načteme vstup tlačítka otevřít, a pokud je povoleno ovládání z prostoru [a zároveň] není porucha počasí [a zároveň] není povel zavři, tak aktivujeme povel otevři.
  5. Abychom měli vždy aktuální polohu světlíku i bez zpětné vazby o poloze (třípolohové řízení), musíme vždy i při ručním ovládání pracovat s touto polohou tj. žádaná poloha a aktuální poloha.
    Automatické zavření/otevření podle prostorové teploty: Žádaná = Jestliže (je zima [nebo] je počasí [nebo] je mraz, [tak] 0%, [jinak] jestliže (je teplo [a zároveň] není počasí, [a zároveň] není mráz, [tak] 100%, [jinak] žádaná)).
  6. Realizujeme zastavení pohybu světlíku při aktivaci tlačítka STOP v řídicím systému: Žádaná = Jestliže (je STOP, [tak] poloha, [jinak] žádaná).
  7. Připravíme ruční zadání polohy z řídicího systému: Žádaná = Jestliže (byl proveden zápis do uživatelsky definované polohy [a zároveň] není počasí, [a zároveň] není mráz, [tak] uživatelsky definovaná poloha, [jinak] žádaná). Před vlastním vynulováním uživatelsky definované polohy, musíme provést odblokování napájecího napětí pro motor (do motoru by neměla jít trvale fáze, i když je v krajní poloze). Změna = jestliže je aktivní vstup pro tlačítko dolů [nebo] tlačítko nahoru [nebo] byl proveden zápis do uživatelsky definované polohy [nebo] je změna dne (denní cejchování polohy). Následně uživatelsky definovanou polohu vynulujeme.
  8. Provedeme přepočet žádané polohy od tlačítka zavřít. Žádaná = Jestliže (je zavři [a zároveň] je poloha větší než 0% [a zároveň] není cejchování při zapnutí řídicího systému, [tak] vyber maximum z (0% a (polohapohyb)), [jinak] žádaná). Parametr pohyb vypočítáme z periody smyčky programu a přechodové doby světlíku.
  9. Provedeme přepočet žádané polohy od tlačítka otevřít. Žádaná = Jestliže (je otevři [a zároveň] je poloha menší než 100%, [tak] minimum z (100% a (poloha + pohyb)), [jinak] žádaná).
  10. Zavedeme modul pro třípolohové ovládání podle aktuální polohy a žádané polohy 0–100%.
  11. Pro odepnutí napětí do ovládacího motoru v krajních polohách si vytvoříme příznaky těchto poloh. Doraz100% = poloha je větší nebo rovna 100% [a zároveň] není cejchování při zapnutí řídicího systému [a zároveň] není změna po dobu dvojnásobku přechodové doby. Doraz0% = poloha je menší nebo rovna 0% [a zároveň] není změna po dobu dvojnásobku přechodové doby.
  12. Pohyb nahoru je aktivní, jestliže je povel z modulu pro třístavové ovládání motoru [a zároveň] není doraz100% . Pohyb dolů je aktivní, jestliže je povel z modulu pro třístavové ovládání motoru [a zároveň] není doraz0% .

Komentáře

4-20mA

K těm motorům. Na jedné akci mám 2 kalová čerpadla. Občas do nich "vleze" něco většího. Jako ochranu tam mám převodníky od Rawetu z 0-5A na 4 - 20mA. Proud motorem mám změřený, když je vše OK. Takže když jsem mimo rozsah, vyhodnotím to jako poruchu. Nevím kolik berou motory od světlíků, ale v případě zatížení sněhem by to mohlo jít podobně.

4-20mA - odpověď

   Občas je i hardwarové řešení to nejlepší a věřím, že v i v tomto případě by zapojení bylo funkční k celkové spokojenosti. Souhlasím, že je to nejspolehlivější řešení, ale kdyby šlo udělat algoritmus, tak by to bylo fajn. Už při psaní článku by bylo jasné, že je tam mnoho proměnných, ale někdy člověka nakopne i takovýto neodladitelný polotovar.