PID Advanced- regulacja nastaw

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
siadajpan
Posty: 6
Rejestracja: 19 cze 2012 07:45
Wersja środowiska: LabVIEW 2011

PID Advanced- regulacja nastaw

Post autor: siadajpan »

Hej

Mam do nastrojenia regulator PID, ktory dziala na pompie z przeplywomierzem. Zadaniem jest ustawienie takich wartosci regulatora, aby mozna bylo zadac pompie pewna wartosc przeplywu i zwiekszac/zmniejszac jej moc, aby ta wartosc przeplywu osiagnac. (Zastosowane za pomoca cRio)

Zgodnie z zalozeniami strojenia metoda Zieglera-Nicolsa, wylaczylem czesc calkujaca i rozniczkujaca natomiast zostawilem samo wzmocnienie.

Problem jest taki, ze jezeli mierzony przeplyw jest powyzej setpointa, to pid reguluje wyjscie na 0 (czy tak powinno byc?). Przeplyw zaczyna malec, i zanim znow zareaguje na zmiane PIDa, osiaga bardzo niska wartosc, przy ktorej PID ustawia sie na maksimum zakresu. Przeplyw znowu wyjezdza a na PIDzie jest 0 i tak w kolko. Chyba nie powinno to tak dzialac... Jak moge ustawic regulator PID ta metoda, skoro nie potrafie doprowadzic do oscylacji?
milten
Posty: 77
Rejestracja: 25 paź 2011 20:49
Wersja środowiska: LabVIEW 2012

PID Advanced- regulacja nastaw

Post autor: milten »

A powiedz jak inaczej nazwiesz napełnianie i opróżnianie się zbiorniczka jak nie oscylacjami? Masz po prostu bardzo duże opóźnienie i dlatego regulator P się nie wyrabia.

Swoją drogą, to strojenie PID-a tymi wszystkimi metodami, to jedna wielka ściema, bo nie ma obiektów idealnie liniowych i wystarczy zmiana punktu pracy i już zaś trzeba stroić na nowo.
Obrazek
siadajpan
Posty: 6
Rejestracja: 19 cze 2012 07:45
Wersja środowiska: LabVIEW 2011

PID Advanced- regulacja nastaw

Post autor: siadajpan »

no wydaje mi sie ze oscylacje to wykres zbliżony do sinusoidy wokół wartości zadanej, a nie wykres wyglądający jak "mmmmm"

Jest jakiś inny sposób znalezienia tych nastaw?
Zyga
Posty: 86
Rejestracja: 26 sty 2012 23:36
Wersja środowiska: LabVIEW 2011

Re: PID Advanced- regulacja nastaw

Post autor: Zyga »

Jest jeszcze jedna metoda. Można uzyskać model liniowy obiektu, a dokładniej jego transmitancję. Rejestrujesz odpowiedź skokową obiektu, w Twoim wypadku poziom cieczy zbiornika na zadaną, stałą moc pompy. W pewnym momencie czasowym odpowiedź zacznie narastać liniowo i to jest koniec pomiaru. Liniową odpowiedź przedłużasz tak aby przecięła oś czasu i szczytujesz punkty jak na załączonym obrazku. Podstawiasz do ogólnej postaci obiektu jakim dysponujesz (o ile się nie mylę zbiornik będzie całkująco-inercyjny).
Załączniki
ident.png
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: PID Advanced- regulacja nastaw

Post autor: PiDi »

siadajpan, możesz jakiś wykres z tym problemem pokazać, zamiast strzępić klawiaturę niepotrzebnie? ;) Pokaż też ten kawałek kodu z PID.
ObrazekObrazekObrazekObrazek
siadajpan
Posty: 6
Rejestracja: 19 cze 2012 07:45
Wersja środowiska: LabVIEW 2011

Re: PID Advanced- regulacja nastaw

Post autor: siadajpan »

W załączniku jest wykres przepływu (Fluss) sterowanego przez regulator PID z minimalnym wzmocnieniem (dla mniejszej wartości output pompa nie reaguje i przeplyw=0).
milten pisze:Masz po prostu bardzo duże opóźnienie i dlatego regulator P się nie wyrabia.
Dokładnie tak jest i w tym jest problem. Czas opóźnienia jest równy w przybliżeniu czasowi narastania! Za każdym więc razem jak przepływ wyjeżdża do góry, PID ustawia się na 0, a jak przepływ spada do 0, PID ustawia max itd.
Metoda Zieglera- Nicolsa jest przeznaczona dla obiektów ze stosunkiem 0,16<To/T<0,6. U mnie ten stosunek wynosi 1.
Czy są jakieś metody na taki obiekt?
Załączniki
odpowiedz skokowa.jpg
wykres zmiennosci.jpg
Zyga
Posty: 86
Rejestracja: 26 sty 2012 23:36
Wersja środowiska: LabVIEW 2011

PID Advanced- regulacja nastaw

Post autor: Zyga »

Dasz radę częściej próbkować sygnały?
Możesz zapisać do pliku tekstowego to co wrzuciłeś na wykres?
siadajpan
Posty: 6
Rejestracja: 19 cze 2012 07:45
Wersja środowiska: LabVIEW 2011

PID Advanced- regulacja nastaw

Post autor: siadajpan »

problem rozwiązany:) Zauważyłem, że ten PID zachowuje się trochę bez sensu, bo zakładając ze wartość PV stabilizuje się blisko wartości zadanej, to output ustalałby się blisko 0, co nigdy nie utrzyma takiej wysokiej wartości PV, w rezultacie PV musi spadać!
Rozwiązaniem jest beta, <muszę się dowiedzieć co to jest>. Po zmianie tego parametru na 2, output był większy od 0 nawet gdy wartość PV przewyższała setpoint. Łatwo było więc odnaleźć wzmocnienie 1,25 dla którego PV stabilizuje się przy setpoincie.
ODPOWIEDZ