Strojenie zysków kontrolera może być trudne, jakie ogólne strategie działają dobrze, aby uzyskać stabilny system, który jest zbieżny z właściwym rozwiązaniem?
Strojenie zysków kontrolera może być trudne, jakie ogólne strategie działają dobrze, aby uzyskać stabilny system, który jest zbieżny z właściwym rozwiązaniem?
Odpowiedzi:
W przypadku małych silników o niskim momencie obrotowym z niewielkim przełożeniem lub bez niego, jedną z procedur, które można zastosować, aby uzyskać dobrą melodię wyjściową, jest sprawdzenie jej reakcji na zakłócenie.
Aby dostroić PID, wykonaj następujące czynności:
To, czego używasz, zależy od mechanizmu, do którego podłączony jest kontroler. Zwykle wystarczy przesunąć mechanizm ręką od wartości zadanej i zwolnić. Jeśli oscylacje rosną i rosną, musisz zmniejszyć wzmocnienie P.
Jeśli ustawisz zbyt duże wzmocnienie D, system zacznie drgać (wibruje z większą częstotliwością niż oscylacje wzmocnienia P). Jeśli tak się stanie, zmniejsz wzmocnienie D, aż się zatrzyma.
Wierzę, że ta technika ma nazwę. Umieszczę go tutaj, kiedy go znajdę.
Podobna metoda eksperymentalna do odpowiedzi hauptmech, której nauczono mnie na studiach:
Metoda Zieglera-Nicholsa jest bardziej precyzyjna, jeśli można uzyskać dokładną liczbę dla okresu oscylacji. Generalnie powoduje oscylacje przy użyciu podanych „klasycznych liczb PID”, więc nie zawsze jest to optymalne.
Aby zapoznać się z ogólnymi zasadami dotyczącymi wpływu każdego terminu na czas narastania, przekroczenie, czas ustalania, błąd stanu ustalonego i stabilność, patrz Tabela 1 „Analiza i projektowanie układu sterowania PID” , autor: Li, Ang i Chong w IEEE Control Systems Magazyn.
Embedded.com po raz kolejny przeniósł mój artykuł, ale tutaj jest teraz. To pokazuje zarówno, jak napisać pętlę PID (zastanawianie się, jak to zrobić w czymś innym niż zmiennoprzecinkowy, pozostało jako ćwiczenie dla czytelnika) i jak ją dostroić.
Najlepszym sposobem zależy wiele na swoje możliwości. Najlepszym sposobem na dostrojenie , zakładając, że jesteś doświadczonym układem sterowania, jest zwykle zmierzenie reakcji rośliny („roślina” == „rzecz, którą kontrolujesz”), a następnie w zależności od tego, jak zrobiłeś pomiary wyodrębniają model zakładu i projektują do tego, lub po prostu projektują bezpośrednio do pomiarów.
W przypadku niektórych trudnych roślin przekonasz się, że nigdy nie będziesz w stanie wykonać zadowalających pomiarów, w takim przypadku musisz przejść sam przez modele. Są to rzadkie, ale satysfakcjonujące, kiedy je uruchomisz.
Sebastian Thrun przedstawił prosty algorytm dostrajania PID w swojej klasie „How to Program a Robotic Car”. Nazywa się to „twiddle”, opisuje to tutaj .
Twiddle jest bardzo podatny na znajdowanie lokalnych minimów - oznacza to, że możesz wymyślić zestaw trzech stałych, które są w porządku, ale nie optymalne do sytuacji. Problem dostrajania stałych PID stanowi podzbiór bardziej ogólnego problemu wyszukiwania w celu znalezienia pewnych parametrów w celu maksymalizacji użyteczności (w tym przypadku minimalizacji błędu algorytmu PID). Możesz przyjrzeć się innym ogólnym rozwiązaniom tego problemu, takim jak wspinaczka, symulowane wyżarzanie, algorytmy genetyczne itp., Które mogą w końcu znaleźć bardziej optymalne rozwiązania.
W przeciwieństwie do pozostałych dwóch odpowiedzi powiedziałbym, że dobrym ręcznym sposobem dostrajania PID jest ignorowanie Kd. Zacznij więc od 0 i zwiększ Kp, aż dojdziesz do celu, a następnie zwiększ Ki, aby pozbyć się błędu stanu ustalonego.
Kd może pomylić problem, ponieważ słabo reaguje na szum, a następnie zaczynasz dodawać filtry na wejściu analogowym, a następnie zastanawiasz się, co to poza tym spowalnia kontrolę i utrudnia całą pracę ...
Inną rzeczą, która może mnie pomylić, jest to, czy równanie PID ma postać standardową lub niezależną (równolegle w wikipedii). Wydaje się, że efekt Ki jest odwrotny, gdy forma jest złym sposobem na to, co myślisz. Oba typy są używane w automatyce, czasem z opcją przełączania się między nimi.
Modelowanie systemu
Oczywiście dostrajanie eksperymentalne można wykonać, jak wspomniano w innych odpowiedziach, ale jeśli jesteś w stanie zdefiniować rozsądny model dynamiczny dla wszystkiego, co chcesz kontrolować i jesteś w stanie zidentyfikować jego parametry , powinieneś być w stanie zaprojektować kontroler w oparciu o dobrze -defined kryteria, takie jak przeregulowania , czas narastania , rozliczania czasu , w stanie stacjonarnym błąd i tak dalej.
Istnieją nawet narzędzia w MATLAB, które są w stanie dostroić kontroler, aby zoptymalizować kombinację tych kryteriów, co czyni go jeszcze lepszym w użyciu.
Poznaj swojego kontrolera
Uczenie się, co robi każdy parametr w regulatorze PID, jest również bardzo pomocne. Wszystkie algorytmy eksperymentalne są w jakiś sposób oparte na tego rodzaju wiedzy. Jeśli nie tylko postępujesz zgodnie z instrukcjami, ale jesteś w stanie sam to poczuć, łatwiej będzie dostroić kontroler ręcznie.
Rzeczywiste problemy świata
Istnieje szansa, że jedna z tych rzeczy, między innymi, stanie na twojej drodze podczas strojenia kontrolera: windup , nieodpowiednia częstotliwość próbkowania , nasycenie .
Wniosek
Ostatecznie wszystko zależy od tego, co możesz zrobić z systemem, aby uzyskać wiedzę na temat jego działania i rodzaju eksperymentów. Najlepiej jest dowiedzieć się więcej o sterownikach PID i ogólnie teorii sterowania, IMO, ale jestem stronniczy :)
Spróbuję rozszerzyć trochę z mojego doświadczenia dla tych, którzy mogą być zainteresowani. Myślę, że problem polega na tym, że mamy wiele teorii sterowania, które są nieco niedostępne (a czasem nie są przydatne), a następnie mamy praktyczne reguły, które przyjmują założenia dotyczące systemów, które są często niedokładne.
Stabilność
Porozmawiajmy najpierw o tym, dlaczego pętle sterowania stają się niestabilne. W tej dyskusji przyjmuję układ liniowy. Nieformalnie oznacza to, że jeśli twój sygnał kontrolny jest falą sinusoidalną przy danej częstotliwości, wówczas obserwowana moc wyjściowa jest na tej samej częstotliwości, a jeśli zmienisz amplitudę układu sterowania, twoja odpowiedź zareaguje w tym samym stosunku. To założenie jest dobrym przybliżeniem dla wielu rzeczywistych systemów i pozwala spojrzeć na różne częstotliwości w izolacji.
Jeśli spojrzysz na ścieżkę sterowania, masz nastawę, kontroler PID, system (inaczej „Plant”), a następnie czujnik. Wyobraź sobie ustaloną wartość zadaną i falę sinusoidalną z czujnika (jest to równe zakłóceniom rzeczywistym na czujniku, sprzężonym zwrotnie). W niestabilnym systemie sprzężenie zwrotne powoduje, że pętla sterująca wzmacnia błąd, zamiast go zmniejszać, tak że wraz ze wzrostem czasu wzrasta amplituda. Powodem tego jest opóźnienie lub dla tej konkretnej częstotliwości przesunięcie fazowe między wejściem a wyjściem. Dla danej częstotliwości możemy spojrzeć na to przesunięcie w otwartej pętli (tj. Bez sprzężenia zwrotnego) i amplitudę wyjścia, a kiedy narysujemy wszystkie na wykresie, otrzymamy coś w rodzaju wykresu Bode. Jeśli mamy sytuację na tym wykresie z otwartą pętlą, w której błąd ciągle się wzmacnia, mamy niestabilny system. Jeśli opóźnienie jest mniejsze niż 1/2 długości fali lub wzmocnienie jest mniejsze niż x1, system będzie stabilny . W praktyce chcemy od tego momentu marginesu (margines wzmocnienia i margines fazy), dlatego w wielu metodach manualnych / heurystycznych zobaczysz to „wycofywanie się”.
Głównym problemem związanym z tymi metodami ręcznymi jest to, że latasz w ciemno i masz prawie gwarancję, że uzyskasz słaby system kontroli.
Należy również pamiętać, że znaczenie P, I i D jest powiązane z tym, co mierzy czujnik i jaką kontrolą stosujesz. Częstym błędem w domowych kontrolerach jest to, że ludzie myślą, że stosują P, kiedy tak naprawdę nie są. Sterowniki silnika często mają pętlę położenia, przebiegającą przez pętlę prędkości biegnącej nad pętlą momentu obrotowego. ( Kaskada )
OK, ale jak to nam pomaga?
Pierwszą kwestią, o której chciałbym powiedzieć, jest to, że jeśli budujesz swój własny regulator PID, powinieneś również zbudować sposób pomiaru odpowiedzi w otwartej pętli. Wykonaj przemiatanie częstotliwości na wejściu do sterownika i zmierz moc wyjściową czujnika przy odłączonym sprzężeniu zwrotnym. Następnie możesz narysować wykres Bode z otwartą pętlą i zobaczyć, dlaczego twój system jest stabilny i być w stanie wymienić różne elementy sterujące. Przydatny jest również pomiar odpowiedzi w zamkniętej pętli i możesz to zrobić w dowolnym systemie, wykonując przemiatanie częstotliwości dla swojej wartości zadanej, gdy pętla jest zamknięta. Oba nie są tak trudne i nie wymagają dużej wiedzy teoretycznej.
Jeśli po prostu poprawiasz sterowanie, nie rozumiejąc, co dzieje się pod maską, nie będziesz w stanie zoptymalizować systemu. Budowanie intuicji na temat tych systemów nie jest trudne. Np. Wzmocnienie proporcjonalne nie ma wpływu na fazę, ale po prostu zwiększa wzmocnienie w otwartej pętli na wszystkich częstotliwościach. Tak więc, gdy zwiększasz proporcjonalne wzmocnienie we wszystkich tych metodach ręcznego strojenia, znajduje się częstotliwość, w której faza dochodzi do -180. Zobacz to, aby uzyskać więcej informacji na temat wpływu różnych elementów sterujących na pasmo przenoszenia.
Dość często uzyskanie najlepszej wydajności w zamkniętej pętli wymaga dostosowania systemu, a nie tylko wzmocnienia kontrolera. Chcemy, aby system był jak najbardziej „sztywny”. To pozwoli ci zwiększyć parametry sterowania i uzyskać najlepszą przepustowość w pętli otwartej i zamkniętej. Z mojego doświadczenia w aplikacjach sterowania silnikiem, proporcjonalne wzmocnienie jest tym, które powinno wykonywać większość „pracy”, a integrator „resztą”. Nie sądzę, żebyś potrzebował określenia D. Posiadanie filtra dolnoprzepustowego i filtra wycinającego bardzo pomaga w sytuacjach, w których możesz mieć pewien rezonans mechaniczny, ale ustawienie ich bez wykresu Bode jest bardzo trudne (częstotliwość oscylacji obserwowana w pętli zamkniętej może być inna niż w pętli otwartej).
Jeśli chodzi o bezpieczeństwo (bardzo mocne silniki lub system, który może zostać zniszczony przez silnik wymykający się spod kontroli), należy wprowadzić pewne ograniczenia przed rozpoczęciem strojenia (np. Ograniczenie prądu, błąd maksymalnego położenia), aby chronić system. Następnie musisz poczuć pewien zakres zakresu parametrów. Jeśli twoja informacja zwrotna ma 40 zliczeń na obrót lub 4000 zliczeń na obrót, twoje parametry będą miały współczynnik 100 dla danego systemu. Moim podejściem byłoby najpierw znaleźć zasięg, w którym masz słabą sterowalność, a następnie przyspieszyć stamtąd, zaczynając od P, a potem ja (choć znowu jesteś ślepy). Wycofanie tworzy margines stabilności.
Poza zamkniętą pętlą
Zamknięta pętla próbuje usunąć błąd z systemu. Zawsze będzie miał nieco ograniczoną wydajność. To, co chcesz zrobić, to zminimalizować błąd, który widzi kontroler w zamkniętej pętli, a jednym ze sposobów na to jest technika zwana feed forward. W informacjach zwrotnych omijasz kontroler i kierujesz polecenie bezpośrednio do systemu. Przykładem może być sprzężenie zwrotne przyspieszenia. Jeśli wiesz, że jesteś stałym momentem obrotowym silnika i znasz obciążenie, możesz właściwie powiedzieć, ile prądu potrzebujesz, aby uzyskać określone przyspieszenie obciążenia. Po prostu weź przyspieszenie wejściowe polecenia, pomnóż je przez stałą i dodaj to do polecenia napędu kontrolera. Zasadniczo robisz, co trzeba, aby sterować systemem, gdyby nie było kontrolera, a im bliżej możesz uzyskać, tym mniej błędów musi usunąć pętla i tym lepiej system będzie działał. To robi ogromną różnicę w praktyce.
Ziegler-Nichols to łatwa metoda ręczna. Istnieją również bardziej niezawodne metody - zwykle opierają się one na rozwiązaniach matematycznych (analiza analityczna, optymalizacja iteracyjna itp.)
Poza tym Google „samostrojeniowy PID” dla niektórych automatycznych technik. Moim ulubionym jest zastosowanie sieci neuronowych do strojenia PID.
0.01sec
) czasie 20secs
jako macierz 3
x 2000
)Istnieje szybsze podejście zwane Ziegler – Nichols :