Tak už několikrát jsem byl zaskočen plynulým pohybem regulačního ventilu, i když podle daných okolností jsem byl přesvědčen o dvoupolohovém řízení. Modelová situace: řídicí systém, programátor aplikačního software snažící se vyhýbat PID regulátoru, regulační okruh šel v základu řešit též jednoduchým spínáním, ale ventil se nepohyboval skokově, ale poloha nabývala plynule v čase přibližně podle kvadratické křivky hodnot 0 až 100%. Kde jsem udělal v úsudku chybu?
Předpoklad byl správný, ale řešení až překvapivě kreativní ;-) Obvod byl řešen opravdu dvoupolohovým spínáním a výstup z této části nabýval jen hodnot 0 a 100%. Hlavní vychytávka byla v použití filtru prvního řádu s časovou konstantou 100 – 150 sekund, mezi výstup ze spínací části kódu a výstup pro regulační ventil. Ventil jevil známky plynulé regulace a kupodivu to jak regulačně, tak vizuálně vypadalo efektně. Krásný rychlý nájezd a pomalý dojezd do žádané polohy. Sice se ventil nezareguloval v nějaké poloze, pořád různou rychlostí „upaloval“ ke sto procentům, ale pro zákazníka to vypadalo, že to tak není. Kupodivu i regulační soustava toto řešení přijmula bez větších protestů. Nevím, jestli to mělo být obejití problému implementace kvalitní plynulé regulace, rychlé vyřešení problému nebo promyšlený záměr, ale čím déle o tom přemýšlím, tak dobře zvolená časová konstanta toto řešení povýší na použitelné v řadě situací. Původně jsem byl proti tomuto zjednodušování algoritmu, ale pro začínající programátory a pro rychlá robustní řešení je to cesta. Pro zkušenější programátory MaR, toto nechť je podmět k zamyšlení…
Poslední komentáře