Wiele pętli kontrolnych z nakładającymi się efektami

9

Jestem zaznajomiony z wykorzystaniem PID do sterowania w pętli zamkniętej, gdy występuje pojedyncze wyjście i pojedynczy sygnał błędu określający, jak dobrze wyjście osiąga pożądaną wartość zadaną.

Załóżmy jednak, że istnieje wiele pętli sterowania, każda z jednym wyjściem i jednym sygnałem błędu, ale pętle nie są w pełni niezależne. W szczególności, gdy jedna pętla zwiększa swój sygnał siłownika, zmienia to wpływ wyjścia z innych pętli w systemie.

Na konkretny przykład wyobraź sobie źródło napięcia połączone szeregowo z rezystorem, przykładające napięcie do układu sześciu regulowanych rezystorów równolegle. Możemy mierzyć prąd przez każdy rezystor i chcemy kontrolować prąd każdego rezystora niezależnie, dostosowując rezystancję. Oczywiście sztuczka polega na tym, że gdy dostosujesz rezystancję jednego rezystora, zmienia on całkowitą rezystancję zestawu równoległego, co oznacza, że ​​zmienia spadek napięcia z powodu dzielnika z rezystancją źródła napięcia, a zatem zmienia prąd przez inne rezystory .

Oczywiście mamy idealny model dla tego układu, dzięki czemu możemy przewidzieć, jaki opór powinniśmy zastosować dla wszystkich rezystorów jednocześnie, rozwiązując zbiór równań liniowych. Jednak głównym celem sterowania w pętli zamkniętej jest to, że chcemy poprawić różne nieznane błędy / błędy w systemie, które odbiegają od naszego idealnego modelu. Pytanie zatem: w jaki sposób można wdrożyć sterowanie w pętli zamkniętej, jeśli masz model z tego rodzaju sprzężeniem krzyżowym?

Dan Bryant
źródło

Odpowiedzi:

9

Zwykle o m ultiple i nPrzenieś, m ultiple O utput (MIMO) systemu, inżynier sterowania wykorzystuje regulator sprzężenia stanu . Ten styl kontrolera wykorzystuje model systemu w przestrzeni stanów i ogólnie przyjmuje postać:

x˙=Ax+Buy=Cx+Du

gdzie jest wektorem stanów, jest wektorem danych wejściowych, jest wektorem danych wyjściowych, a pochodna czasowa stanów, , pokazuje, jak stany ewoluują w czasie, określone przez kombinacje stanów i wejścia . Dane wyjściowe są również określane przez interakcję między stanami i danymi wejściowymi, ale dane wyjściowe mogą być dowolną kombinacją, więc stan wyjściowy i macierze wejściowe są różne - i .xuyx˙ABCD

Nie będę wchodził w szczegółowe szczegóły dotyczące kontroli stanu, ale ogólnie, macierze „map”, ani nie kojarzą konkretnego stanu lub danych wejściowych z innym stanem lub danymi wejściowymi. Na przykład, jeśli chcesz modelować układ niepowiązanych równań różniczkowych, otrzymasz coś takiego:AD

x˙=[x˙1x˙2x˙3]=[k1000k2000k3][x1x2x3]
który reprezentuje:
x˙1=k1x1x˙2=k2x2x˙3=k3x3

Jeśli chcesz dodać dane wejściowe do równania dla i wprowadzić do , możesz dodać termin :u1x˙1u2x˙3Bu

x˙=[x˙1x˙2x˙3]=[k1000k2000k3][x1x2x3]+[100001][u1u2]

Jeśli chcesz to zachować, ale uważasz, że stan przyczynia się do zmian , możesz dodać tę interakcję:x1x2

x˙=[x˙1x˙2x˙3]=[k100kx1x2k2000k3][x1x2x3]+[100001][u1u2]

Kiedy je teraz wypiszesz, otrzymasz:

x˙1=k1x1+u1x˙2=kx1x2x1+k2x2x˙3=k3x3+u2

Możesz dalej zwiększać złożoność zgodnie z wymaganiami systemu. Kiedy masz już model, do kontroli sprzężenia zwrotnego stanu, musisz upewnić się, że system jest liniowy , tzn. Że system nie ma funkcji wyzwalania ani jednego stanu pomnożącego się lub innego stanu, i upewnij się, że jest niezmienny w czasie , w tym sensie, że macierze nie zmieniają się z czasem - nie ma w nich funkcji (t). Możesz wprowadzić pewne uproszczenia, takie jak przybliżenie małego kąta, aby pomóc w wprowadzeniu macierzy do formularza LTI wymaganego do następnego kroku.ADA

Teraz możesz „zamaskować” cały układ w uporządkowane dwa pokazane wcześniej równania, ukrywając całą macierz tylko literą „A” itp. Dzięki transformacji Laplace'a możesz (machać ręką) ocenić niekontrolowane , dynamika systemu w otwartej pętli. Robisz to, znajdując bieguny systemu , które terminowo wskazują odpowiedź systemu.A

Możesz także ocenić system, aby sprawdzić, czy można nim sterować , co oznacza, że ​​możesz użyć swoich danych wejściowych do zmiany wszystkich stanów w unikalny sposób, i zobaczyć, czy jest to obserwowalne , co oznacza, że ​​możesz faktycznie określić, jakie wartości stany są.

Jeśli systemem można sterować, możesz pobrać informacje o stanach i wprowadzić je do systemu, korzystając z posiadanych informacji o stanach, aby doprowadzić je do pożądanej wartości. Używając tylko dwóch początkowych równań dla przejrzystości, po dodaniu sygnału sterującego do wejścia otrzymujesz:Gx

x˙=Ax+B(uGx)y=Cx+Du

który staje się:

x˙=AxBGx+Buy=Cx+Du

które można zmienić jako:

x˙=[ABG]x+Buy=Cx+Du

Kiedyś odpowiedź systemu była kierowana przez macierz , teraz jest sterowana przez . Możesz ponownie ocenić bieguny za pomocą transformaty Laplace'a, ale teraz masz macierz wzmocnienia której możesz użyć do dostrojenia kontrolera, umieszczając bieguny tam, gdzie chcesz, co ustala odpowiedź czasową na dowolną wartość.AA-BGG

Proces jest kontynuowany, z ustawieniem obserwatorów w celu porównania rzeczywistej wydajności systemu z przewidywaną wydajnością modelu . W tym miejscu należy zauważyć, że dane wyjściowe nie muszą być taką samą kombinacją stanów, jak w równaniu różniczkowym stanu - gdzie stany mogą być prądem, a dane wyjściowe mogą być napięciem ( ), więc możesz dokonać porównania z mierzalnym sygnałem w swoim prawdziwym systemie.yy^R×I

Tak jak powiedziałem, istnieje mnóstwo informacji związanych z modelowaniem systemów i projektowaniem kontrolerów informacji zwrotnej o stanie, właśnie przedstawiłem ogólny proces, ponieważ uważam, że to zakres, którego szukałeś w swoim pytaniu.

Chuck
źródło
1
Dzięki, jest to doskonała podstawa do dalszych badań.
Dan Bryant
świetna odpowiedź, tl; dr; wartości skalarne opisujące system SISO stają się macierzami dla systemu MIMO, „sprzężenie krzyżowe” można zobaczyć w wartościach nie-przekątnych w matrycach.
Giętarka 22