W jednym z moich ostatnich artykułów (REGULACJA PID TEMPERATURY WODY METODĄ DWUSTAWNĄ ZA POMOCĄ PLC SIEMENS S-1200.) przedstawiłem sposób regulacji temperatury wody, za pomocą regulatora dwustawnego zrealizowanego dzięki sterownikowi PLC S1200. W poniższym artykule zrealizuje funkcję sterowania przepływem powietrza przy użyciu tego samego sterownika oraz przetwornicy FR-E800. Regulacja przepływu powietrza w przeciwieństwie do regulacji temperatury wody jest procesem znacznie bardziej dynamicznym. Oznacza to, że regulator typu załącz- wyłącz, nie sprawdzi się w tej aplikacji. Koniecznym jest zatem użycie regulatora PID, który działa w trybie „ciągłym”. Wartości sygnału sterującego takiego regulatora może przyjmować nieskończoną ilość wartości z danego przedziału. Oznacza to, że szybciej, skuteczniej i dokładniej będzie w stanie zmniejszać wartość uchybu regulacji.
Budowa dmuchawy i czujnika przepływu
Na potrzeby artykułu zaprojektowałem, a następnie wydrukowałem na drukarce 3D części dmuchawy oraz elementy łopatkowego czujnika przepływu powietrza. Przepływ powietrza generowany przez wirnik dmuchawy zamontowany na silniku asynchronicznym tłoczony jest do kanału, w którym znajdują się łopatki czujnika przepływu. Łopatki zamontowano na wałku enkodera, wraz ze wzrostem przepływu powietrza ilość impulsów enkodera w sekundzie będzie się zwiększać. Zbudowany przeze mnie czujnik nie pozwala na oparcie wartości przepływu powietrza o konkretne jednostki z układu Si. Jednakże jest on wystarczający do przedstawienia idei regulacji PID w sposób „ciągły”. Przepływ jest wyrażany przez ilość pełnych obrotów na minutę łopatek na wałku enkodera.
Wszystkie elementy zostały zaprojektowane w środowisko Fusion360.
Po zmontowaniu układu ręcznie nastawiono wartości częstotliwości na falowniku, aby sprawdzić charakterystykę czujnika. Czujnik reaguje od częstotliwości 60hZ od tego progu przepływ powietrza jest w stanie przełamać siły bezwładności wirnika łopatkowego oraz tarczki i wałka enkodera. Sposób odczytu prędkości obrotowej enkodera przedstawiony będzie w dalszej części artykułu.
Podłączenie, program PLC, Autotune
Opis podłączenia i skonfigurowania enkodera inkrementalnego oraz przetwornicy FR-E800 przedstawiony został w moich poprzednich artykułach:
–ENKODER INKREMENTALNY, PODŁĄCZENIE DO PLC SIEMENS S-1200.
–KOMUNIKACJA SIEMENS S-1200 Z PRZETWORNICĄ MITSUBISHI FR-E800 ZA POMOCĄ PROFINET.
Uruchamiamy środowisko TIA portal v17. Na podstawie wyżej wspominanego artykułu konfigurujemy szybkie wejście HSC do którego fizycznych wejść podpinamy enkoder inkrementalny. Tworzymy blok DB enkoder w którym przechowywane są zmienne konieczne do odczytu prędkości obrotowej enkodera pod wpływem przepływu powietrza. Blok FC enkodera odpowiada za matematyczną konwersję ilości impulsów enkodera na wartość obrotów na minutę. Zmienna typu Real ObrMin będzie odpowiadać za sygnał sprzężenia zwrotnego regulatora przepływu.
Kolejnym krokiem jest konfiguracja i podłączenie przetwornicy Mitsubishi FR-E800, która będzie regulowała prędkość obrotową silnika naszej dmuchawy. Wyjściową wartością naszego regulatora PID będzie właśnie wartość częstotliwości przesyłana do falownika przez sterownik PLC. W bloku FC falownika setowane są bity odpowiedzialne za sygnały START i ENABLE falownika, aby nasz regulator działał bity te muszą znajdować się w stanie wysokim, inaczej nasz falownik nie zareaguję na zadawanie częstotliwości przez regulator PID. Częstotliwość zadawana do falownika przechowywana jest w adresie %QW66.
Następnie tworzymy blok danych DB FlowPIDdb i dodajemy do niego dwie zmienne typu real. SetPointFlow wartość zadana wartości przepływu wpisywana do regulatora PID ustawiona wartość startową zmiennej „Start value” na 220. Kolejna zmienna FlowTemp będzie przechowywać wartość wypełnienia wyjścia regulatora w przedziale od 0.0 do 100.0.
W kolejnym kroku dodajemy blok organizacyjny OB FlowPID wywoływany za pomocą cyklicznych 100ms przerwań. Regulatory PID koniecznie muszą znajdować się w tego typu blokach, umieszczenie regulatora PID w innym typie bloku mogło by spowodować nieprawidłowe działania naszego układu.
Otwieramy nasz nowo powstały blok i dodajemy do niego z biblioteki „Technology” bloczek regulator PID_Compact. Do wejścia EN podłączamy styk NO markera %M400.1, który będzie aktywował nasz regulator. Do wejścia SetPoint podpinamy zmienną „FlowPIDdb”.SetPointFlow” przechowującą naszą wartość zadaną. Na wejście input podajemy obliczoną wartość obrotów na minutę enkodera przechowywaną w zmiennej „EnkoderDb”.ObrMin. Do wyjścia regulatora „Out” przypisujemy zmienną „FlowPIDdb”.FlowTemp do której regulator będzie wpisywał wartość wypełnienia wyjścia od 0.0 do 100.0%. Wartość wypełnianie należy jeszcze przemnożyć przez liczbę 163. Operacja ta pozwoli uzależnić wypełnienie słowa częstotliwości zadanej od wartości wyjścia regulatora. Słowo %QW66 przyjmuję wartości od 0 do 16384 (dla 0 -> 0hZ dla 16384 ->120hZ).
Przechodzimy do konfiguracji bloku PID_Compact poprzez kliknięciu ikonki skrzynki narzędziowej znajdującej się w prawym górnym rogu bloczka regulatora. W zakładce Basic settings ustalamy jaką wielkość regulujemy, wybieramy opcje „Flow”, rzeczywista jednostka mierzona przez nasz czujnik nie jest niestety znana dlatego przyjmiemy, że będzie do jednostka zbliżona do l/min. Ustawiamy w jakim trybie nasz regulator ma wystartować po resecie sterownika oraz przypisujemy odpowiednie parametry wejść i wyjścia regulatora.
Następnie w zakładce Process value settings ustalamy jakie wartości może osiągać nasza wielkość regulowana. Przy testach czujnika udało się osiągnąć wartości rzędu 250 obrotów enkodera na minutę przy 70hZ. Wpisujemy wartość 1000 l/min aby zostawić sobie odpowiedni zapas na ewentualne eksperymenty z maksymalną wartością naszej dmuchawy.
Na ten moment zamykamy okno konfiguracji regulatora i przechodzimy do okna Commissioning (symbol kombinerek na bloczku PID) w którym przeprowadzimy procedurę autotuningu regulatora PID. Proces Autotune rozpoczynamy od ustawienia w stan wysoki bitów odpowiadających za gotowość i start pracy przetwornicy częstotliwości FR-E800 oraz bit M400.1 aktywujący blok regulatora PID. Następnie w oknie commissioning klikamy podgląd działania regulatora i start pomiarów, następnie aktywujemy blok naszego regulatora PID. Wybieramy rodzaj tuningu (narzędzie samo podpowie, która metoda będzie odpowiednia) i klikamy przycisk start tunning. Na wykresie powinny pojawić się wykresy wartości wypełnienia wyjścia regulatora, wartość mierzona będąca sprzężeniem zwrotnym oraz nasza wartość zadana. Na poniższym wykresie doskonale widać algorytm doboru nastaw regulatora. Algorytm w pierwszej fazie oscyluję wokół wartości zadanej by po pewnym czasie dojść do zadowalającego wartości uchybu regulacji.
Po zakończeniu procesu autotuningu klikamy w ikonę Upload PID parameters, pokaże się na okno z nowym nastawami. Następnie przechodzimy w tryb STOP sterownika, a następnie Start. Procedura ta pozwala na wprowadzenie nowych nastaw do regulatora PID.
Pozostaje nam przetestować jak nasz regulatora radzi sobie z utrzymywanie zadanych wartości i niwelowaniem zakłóceń zewnętrznych. Do tego celu posłuży nam narzędzie Trace, które generuje przebiegi wybranych przez nas parametrów. Interesują nas 3 sygnały, wartość sprzężenia zwrotnego, wartość zadana oraz wartość wypełnienia wyjścia regulatora. Po uruchomieniu nagrywania przebiegu ustawiamy bity odpowiedzialne za gotowość i start falownika oraz bit %M400.1 aktywujący regulator PID. Przebiegi wartości zmiennych widoczne są na poniższym wykresie.
Na wykresie zaznaczono pięć etapów pracy regulatora:
1.Rozruch dmuchawy osiągnięcie przepływu zadanego (czerwony wykres) od wartości zerowej przepływu.
2.Zdławienie otworu ssącego dmuchawy, na wykresie wyraźnie widzimy spadek przepływu (wykres niebieski) oraz natychmiastową odpowiedź w postaci zwiększenia wypełnienia wyjścia regulatora (wykres zielony). Regulator w sposób zadowalający zniwelował zakłócenie powstałe w wyniku zdławienia ssania dmuchawy.
3.Gwałtowne usunięcie dławienia ssania dmuchawy, przepływ (wykres niebieski) natychmiast się zwiększył, regulator zachował się w sposób prawidłowy, ograniczył wartość wypełnienia wyjścia regulatora (wykres zielony) i przywrócił wartość przepływu do wartości zadanej.
4.Zatkanie otworu symulującego nieszczelność układu, nastąpił niewielki wzrost przepływu na co podobnie jak w punkcie 3 regulator zareagował obniżeniem wypełnienia wyjścia regulatora, a co za tym idzie powrotem wartości przepływu do wartości zadanej.
5.Normalna praca regulatora bez celowego generowania zakłóceń. Wartość mierzona oscyluję w niewielkiej przestrzeni od wartości zadanej odchyłka ok 1-2% wartości zadanej.
Podsumowanie
Podsumowując dobór nastaw regulatora PID metodą „Autotune” sprawdza się również w przypadku obiektów o dużej dynamice takich jak regulatory przepływu powietrza. Uzyskano bardzo niski uchyb regulacji rzędu 1-2%. Układ bardzo dobrze odpowiadał na zakłócenia zewnętrzne, szybko przywracał wartość przepływu do wartości zadanej. Części wykonane na drukarce 3D w pełni spełniły swoje zadanie, pozwoliły niewielkim nakładem kosztów zbudować układ generujący i mierzący przepływ powietrza. Słabym punktem aplikacji jest czujnik przepływu powietrza, który nie pozwala na opisanie ilości przepływu za pomocą jednostek układu SI tylko za pomocą ilości obrotów enkodera. Jednakże czujnik ten okazał się wystarczający do przedstawienia idei regulacji w sposób „ciągły”.