Projektowanie regulatorów PID bez problemów i tajemnic

Proces projektowania regulatora PID, dotychczas uważany za skomplikowane zadanie, może zostać przeprowadzony w prosty sposób, za pomocą bezpośredniego przełożenia schematu blokowego PID na funkcjonujący układ. Wykonuje się to poprzez użycie programowanej namiejscu matrycy analogowej FPAA (Field Programmable Analog Array) oraz odpowiednich narzędzi programowych, wykorzystując samo urządzenie do modelowania fizycznych procesów. 


Rys. Regulator PID oparty na chipie programowalnej macierzy analogowej FPAA

Krzemowa struktura urządzenia FPAA jest łatwo programowalna za pomocą narzędzi programowych CAD oraz CAM (Configurable Analog Modules – konfigurowalnych modułów analogowych). CAM to modularne bloki logiczne (takie jak: filtry, stopnie wzmacniające, prostowniki oraz komparatory) stanowiące podstawowe elementy składowe służące do budowania projektu. Pozwalają inżynierowi skupić się na opracowaniu układu sterowania systemu na wysokim poziomie abstrakcji, bez zajmowania się szczegółami technicznymi podstawowych obwodów. Obwody projektowane z użyciem tej nowej metody można modyfikować i kopiować w kilka sekund, co ułatwia szybkie ich wdrażanie i testowanie. Ponadto istnieje możliwość automatycznego wygenerowania kodu kontrolującego w języku C, co pozwala na konfigurowanie i modyfikowanie urządzenia FPAA poprzez mikroprocesor.

Konstruowanie regulatora PID z użyciem konfigurowalnych modułów analogowych CAM jest proste, ponieważ inżynier wykonuje projekt na poziomie systemowym, a nie na poziomie układu elektrycznego. Rozpoczynając od lewej strony na schemacie regulatora PID: zarówno wartość zadana (SP – set point), jak i regulowana (PV – process variable – zmienna procesowa) są przepuszczane przez analogowe filtry przeciwzakłóceniowe typu „anti-alias” (przeciwdziałające podwajaniu) i podawane do modułu wyznaczającego sumę/różnicę z wbudowaną kompensacją dryftu (offset-compensated sumdifference stage). Moduł ten generuje sygnał uchybu (błędu regulacji) e(s). Należy zwrócić na to uwagę, ponieważ wartość zadana SP jest podawana przez multiplekser 4:1, obwód może być zaprogramowany tak, żeby przełączał naprzemiennie pomiędzy czterema skonfigurowanymi wstępnie wartościami zadanymi. Sygnał uchybu e(s) jest następnie podawany poprzez układ różniczkujący, całkujący oraz indywidualnie do wzmacniacza różnicowego (realizującego proporcjonalne wzmocnienie sumy/różnicy), który wytwarza sygnał wyjściowy regulatora P+I+D, u(s). Na koniec sygnał jest podawany do dwubiegunowego filtra dolnoprzepustowego, który usuwa zakłócenia (szumy) i niepożądane sygnały, równocześnie tłumiąc działania sterujące w celu uniknięcia zbyt gwałtownego narastania sygnału sterującego u(s), który mógłby uszkodzić niektóre systemy fizyczne. I tak oto zaimplementowany został regulator PID z filtrem drugiego rzędu, gdzie: Kp to wzmocnienie proporcjonalne, Td – stała czasowa różniczkowania, 1/Ti – stała całkowania, ë – stała (w istocie jest to stała czasowa filtra) określająca szybkość odpowiedzi układu regulatora na zakłócenia.

 

Strojenie regulatora PID

Aby zaprojektować regulator, współczynniki wzmocnienia komponentów P, D oraz I są właściwie ustawiane w celu osiągnięcia wymaganej krzywej odpowiedzi dla danego układu. Inżynier w oparciu o współczynnik tłumienia może dostroić stosunek zanikania drgań, czas odpowiedzi, reakcję w funkcji częstotliwości czy inne kryteria niezbędne do sprostania wymogom układu regulacji. Praktyczne techniki projektowania i dostrajania stosowane w procesach przemysłowych obejmują następujące metody: IMC, Cohena Coona, Zieglera-Nicholsa oraz Ultimate Gain Method (tj. dążenie do uzyskania zadanej, końcowej wartości współczynnika wzmocnienia). Regulator PID musi być dostrojony na podstawie matematycznych charakterystyk (modelu) procesu czy też fizycznego układu przemysłowego, który jest sterowany.

Analogowe macierze programowalne FPAA mogą być używane nie tylko do budowania regulatora, ale i do tworzenia liniowych przybliżeń (liniowej aproksymacji) modelu procesu, oszczędzając w ten sposób czas potrzebny do debugowania i strojenia po skonstruowaniu regulatora PID. Konsekwentnie inżynier może dostroić regulator w procesie symulacji lub po prostu skopiować (download) projekt (model procesu) i regulator (projekt regulatora) do dwóch oddzielnych chipów FPAA. Opracowawszy w ten sposób regulator PID i stosując model procesu zakodowany w macierzy FPAA, można bardzo dokładnie dostroić regulator do rzeczywistego procesu technologicznego.

Różne kombinacje CAM mogą odzwierciedlać różnorodne modele regulatorów i układów regulowanych. Na przykład integrator CAM może mieć charakter czysto pojemnościowy (jak typowy integrator Mullera). Napięcie ujemne może reprezentować fizyczny przepływ wyjściowy ze zbiornika lub „zakłócenia” (tj. być sygnałem tylko błędnego stanu, gdzie informację przenosi sam znak, a nie analogowa wartość). Schemat „Model FPAA” pokazuje symulację – model zbiornika napełnianego poprzez wartość sterującą o sinusoidalnie zmiennym wypływie. Sinusoidalnie zmienny wypływ można zamienić na wypływ o charakterystyce prostokątnej on/off poprzez maksymalizację wzmocnienia prostownika i spowodowanie, że fala sinusoidalna wzmocniona i obcięta będzie reprezentowana przez przebieg prostokątny. Zastosowanie generatora przebiegów periodycznych do reprezentowania dowolnego wymaganego napływu lub odpływu może dodatkowo zmieniać modelowany przebieg wypływu z fizycznego zbiornika. Modele te można wykonywać w trybie symulacji, po czym końcową, najlepszą wersję skopiować do rzeczywistego urządzenia FPAA.

 

Wymagania filtracyjne

Filtrowanie to nieodłączna część każdego układu sterowania. Dotyczy ono ograniczenia pasma częstotliwości lub kompensowania przesunięcia fazowego.

Opisane tu macierze FPAA mogą być programowane z użyciem CAM, które zawierają filtry jednobiegunowe górnoprzepustowe, dolnoprzepustowe oraz wieloprzepustowe, jak również filtry dwubiegunowe górno-, dolno-, pasmowoprzepustowe i pasmowozaporowe. Jeśli zachodzi potrzeba zastosowania bardziej złożonych filtrów, narzędzie do syntezy filtrów może zarówno zaprojektować, jak i zsyntetyzować monolityczne filtry wielobiegunowe o dowolnym poziomie złożoności. Ośmiobiegunowy filtr może zostać utworzony w jednym urządzeniu FPAA, a dowolną liczbę tych urządzeń można połączyć razem.

Rys. Model FPAA zbiornika z zaworem napełniania i wypływem okresowym.

 

Doświadczenia wykazały, że te wygenerowane narzędziowo filtry są bardzo precyzyjne i niewrażliwe na temperatury. Filtry te są syntezowane bezpośrednio z wykresów Bodego za pomocą metody „przenieś i umieść” lub na podstawie bezpośrednio wprowadzanych parametrów.Nie ma potrzeby, aby inżynier rozumiał aparat matematyczny realizowany przez program projektujący filtr, ani zastanawiał się nad konfiguracją elektrycznych komponentów konstruowanych w ten sposób filtrów.

 

Sterowanie mikroprocesorem

Inżynier może automatycznie wygenerować kod w języku C, który będzie konfigurował i kontrolował taką macierz FPAA. Ten kod C, który inżynier ładuje do systemu jako bibliotekę własnych lub indywidualnie dedykowanych podprogramów w języku C, generuje pakiety danych w celu rekonfigurowania i sterowania urządzeniami FPAA. Te pakiety danych są ładowane do chipa z macierzą FPAA, co, w zależności od wielkości pakietów danych i częstotliwości zegara systemowego, może trwać ok. 10 mikrosekund na pakiet. Następnie są równocześnie (dokładnie – naprzemiennie) wykonywane w takt zegara, bez ingerencji w działanie urządzenia i bez przerywania jego pracy.

Każda konfiguracja czy ustawienie parametru obwodu, jakie może wykonać odpowiedni program narzędziowy wchodzący w skład systemu CAD, mogą również być wykonane z poziomu wbudowanego kodu C (embedded C code). Sterownik zaimplementowany za pomocą programowalnej macierzy analogowej FPAA może zapewnić sterowanie adaptacyjne, przełączając się pomiędzy kilkoma różnymi wejściami i różnymi wyjściami, oraz wykonać wiele zadań, dzięki czemu zostaje zaoszczędzony czas inżynierów i pieniądze przeznaczone na programowanie.

 

Autorzy:

Chris Schene, Victor de la Torre oraz Mike

Waters to inżynierowie specjalizujący się w programowaniu, pracujący dla firmy Anadigm.