Strona 1 z 1

Regulator PID

: 31 maja 2006 16:14
autor: Robson_7777
Witam!
Zrealizowałem regulator PID w układzie regulacji prędkości silnika DC. Pierwszym licznikiem dokonuje pomiaru częstotliwości z prostego "enkodera", (proporcjonalnej do prędkości obrotowej 1obrót=1 Hz), drugi licznik wykorzystuję do generacji sygnału PWM podawanego na sterownik silnika! Ta cześć działa prawidłowo! Problem jest z realizacją regulatora PID! Na wyjściu bloczka PID Auto powinienem otrzymać ustalony sygnał (współcz. wypełnienia), jednak układ nie może ustalić odpowiedzi (występują szybkie zmiany współcz. wypełn. od 0,1 do 0,9! W czym tkwi problem?Czy ktoś realizował podobny układ?
Karta pomiarowa NI 6024E, LabView 7.1+toolkit PID

Re: Regulator PID

: 31 maja 2006 19:22
autor: marte
Witam!
Niestety nie mam możliwości przetestowania tego układu. Ale jak na moje oko to coś nie tak z regulatorem jest. Jeżeli sygnał cały czas zmienia się od 0.1 do 0.9 i nie osiąga stanu ustalonego to znaczy, że regulator jest źle nastrojony albo są takie duże zakłócenia w układzie. Piszesz coś o PWM a to jest regulacja z modulowana szerokością impulsu, a to niewiele ma wspólnego z regulatorem PID. Proponuje dopracować nastawy regulatora.
Pzdr

P.S.
Co to jest PID Auto? Samodostrajanie?

Re: Regulator PID

: 31 maja 2006 20:11
autor: Gość
jesli program nie jest w systemie RT to nigdy nie bedzie dzialac. pasmo sygnalow wejsciowych jest duzo wieksze od pasma ktore moze przetwarzac klasyczny system nie-realtime'owy. blozki regulatorow mozesz uzywac do symulacji albo do sterowania procesami o dlugiej stalej czasowej. do tego dochodzi zjawisko "glittingu" (nie wiem czy dobrze to napisalem) ktore polega na tym, ze probki sygnalu wejsciowego nie sa zbierane z tym samym interwalem czasowym.

rozwiazanie problemu: 1) zastosowac system RT lub 2) zastosowac karte FPGA ktora pozwala na sprzetowa realizacje kilku regulatorow dzialajacych w pasmach 100kHz, 3) zastosowac sterownik typu cRIO, 4) napisac regulator na jakims procesorze (na przyklad na ATMega), 5) zrobic regulator analogowy.

Re: Regulator PID

: 01 cze 2006 05:42
autor: rumcajs
Gość ma rację, najlepszym rozwiązaniem są systemy RT ale przy niezbyt wygórowanych prędkościach i częstotliwościach da się to zrobić bez RT.
Podstawą jest jednak wiedza z zakresu Komputerowych układów sterowania, temat jest szeroki i dużo by opowiadać jak zrobić aby poprawnie sterować, polecam literaturę lub pomoc fachowców z branży automatyki.
Użyłeś regulatora PID z opcją Autotuningu, jeżeli sygnał Start Autotune jest TRUE to regulator będzie próbował się dostroić, tzn określić parametry obiektu. Standardowa procedura autotuningu dla PID polega właśnie na naprzemiennym wysterowywaniu obiektu sygnałami max i min z określoną częstotliwością, pomiarem stałych czasowych i obliczeniem nastaw. Niestety najlepiej nadaje się to dla systemów inercyjnych 1 lub wyższego rzędu, dla silnika może to być trudne wyzwanie.
Powinieneś mierzyć impulsy z enkodera w osobnej pętli (jak najszybciej jak się da) przeliczać na prędkość i przekazywać do pętli głównej typu Timed loop wtedy opóźnienie pomiędzy kolejnymi pomiarami i pomiędzy pomiarem wielkości wyjściowej obiektu (prędkość) a wysterowaniem obiektu (PWM) będzie stała równa czasowi pętli time loop co pozwala na wprowadzenie odpowiednich korekt w algorytmie sterowania.
Jest jeszcze wiele detali, które wpływają na prawidłowe sterowanie - polecam właścnie literaturę z zakresu KUS.
Na początek wyłącz samostrojenie i spróbuj samemu ustalić nastawy regulatora PID.
Rumcajs.

Re: Regulator PID

: 01 cze 2006 16:17
autor: marte
Do sterowania obrotami raczej nie wykorzystałbym regulatora PID. Proponuje wyłączyć część różniczkującą. Cześć D może wprowadzić więcej szkody niż pożytku. Aby stosować regulator z częscią D trzeba siedzieć długo w tym temace i posiadać pewne doświadczenie. Sterowanie silnikiem musi odbywać się z pewną histerezą, ponieważ silnik ma bezwładność i inne takie pierdoły, które dośc mocno utrudniają sterowanie. Funkcja samodostrajania nie jest dobrym patentem i dość często zawodzi. Pozatym układ musi spełniać pewne warunki aby można było wykonać samonastrojenie.

Re: Regulator PID

: 01 cze 2006 16:37
autor: Robson_7777
Dziekuje za wszelkie uwagi. Celem wyjaśnienia, prezentowany układ ma służyć celom dydaktycznym, w układzie zastosowano malutki silniczek prądu stałego, więc rozwiązania podane przez Gościa są słuszne ale dla poważniejszych zastosowań :) ! Istotnie problem może wynikać z opóźnień między pomiarami prędkości a sterowaniem układu! Do dyspozycji posiadam jednak tylko karte pomiarową NI 6024E.
[quote="marte"]
Piszesz coś o PWM a to jest regulacja z modulowana szerokością impulsu, a to niewiele ma wspólnego z regulatorem PID.

Regulator PID wypracowuje sygnał, który steruje obiektem poprzez układy wykonawcze! Jednym z praktycznych sposobów regulacji prędkości silników DC jest sterowanie układu wykonawczego sygnałem PWM.

Bedę wdzięczny za kolejne uwagi i sugestie!
Pozdrawiam

Re: Regulator PID

: 02 cze 2006 12:59
autor: marte
Robson_7777 pisze:
Regulator PID wypracowuje sygnał, który steruje obiektem poprzez układy wykonawcze! Jednym z praktycznych sposobów regulacji prędkości silników DC jest sterowanie układu wykonawczego sygnałem PWM.

Bedę wdzięczny za kolejne uwagi i sugestie!
Pozdrawiam
Zgadzam się z tym, że regulator wypracowywuje sygnał, który jest przekazywany na urzadzenie wykonawcze. Na regulator podajesz uchyb regulacji, który jest różnicą wartości zadanej SP oraz wielkości regulowanej PV. e = SP - PV. Jeśli e jest różne od 0 to regulator wystawia odpowiednie sterowanie w zależności od typu zastosowanego regulatora i jego nastaw. Dodałem plik, który obrazuje ogólnie ideę regulacji PWM. Może to nie ma nic wspólnego ze sterowaniem silnikiem, ale chodzi o ideę. Nie wiem w jakim stopniu znasz się na automatyce. ALe jak dla mnie to innaczej rozwiązałbym sterowanie tym silniczkiem. W każdym badź razie na regulator podaj sygnał z jakiegoś "czujnika obrotów". A to co wypracuje regulator na urzadzenie sterujące tymi obrotami. Lepiej będzie zamodelować regulator sobie samemu. Z doświadczenia wiem, że te które są np w standardzie w matlabie są kiepskie. Nigdy nie wiadomo jaka jest struktura itp. Moge wrzucić tu jakiś przykładowy regulator PI.
Pzdr

Re: Regulator PID

: 02 cze 2006 18:52
autor: Robson_7777
marte pisze: Nie wiem w jakim stopniu znasz się na automatyce
Może 5 lat studiów na kierunku Automatyka i Robotyka to niezbyt dużo jednak metody regulacji, struktury oraz zasady doboru regulatorów nie są mi obce :) Jednak dziekuje za przypomnienie podstaw :wink:
marte pisze: Dodałem plik, który obrazuje ogólnie ideę regulacji PWM. Może to nie ma nic wspólnego ze sterowaniem silnikiem, ale chodzi o ideę.
Sama idea regulacji PWM nie jest zbyt skomplikowana :) W praktycznych i sprzętowych zastosowaniach realizuje się to jednak troszke inaczej niż w zamieszczonych przez Ciebie materiałach! Zastosowanie metody PWM do sterowania silnika prądu zapewnia prostą regulację prędkości oraz zmniejsza straty mocy na elemencie wykonawczym (np. tranzystor, mostek H)
marte pisze: ALe jak dla mnie to innaczej rozwiązałbym sterowanie tym silniczkiem
Jakieś propozycje?
Dodam że silnik sterowany jest za pomocą mostka H, natomiast informacja o prędkości uzyskiwana jest za pomocą prostego "enkodera" wykonanego na transoptorze :) Wszystko działa poprawnie sterowane za pomocą karty pomiarowej i LabView! Problem jest jedynie z implementacja regulatora PID?
marte pisze: Lepiej będzie zamodelować regulator sobie samemu. Z doświadczenia wiem, że te które są np w standardzie w matlabie są kiepskie.
Zależy jak zamodelujesz konkretną strukturę regulatora a następnie obliczysz jego nastawy!
Wracając do tematu, chodzi mi o realizację regulatora PID w LabView do opisanego przykładu?
Pozdrawiam

Re: Regulator PID

: 03 cze 2006 07:57
autor: marte
Zależy jak zamodelujesz konkretną strukturę regulatora a następnie obliczysz jego nastawy! Wracając do tematu, chodzi mi o realizację regulatora PID w LabView do opisanego przykładu? Pozdrawiam
Regulator PID wystepuje w dwóch strukturach. Skoro jestes automatykiem to wiesz w jakich :). Jeżeli koniecznie upierasz sie o sterowanie tym silnikiem regulatorem PID to niestety nie moge ci pomóc bo nie posiadam żadnego przykładowego algorytmu. Ale, znając struktrę regulatora PID oraz jego równania możesz swobodnie zamodelowac go wykorzystując np. metodę Eulera. Wg mnie to jest najlepsze wyjscie. Przez 4 lata studiów ani razu nie wykorzystałem gotowej struktury regulatora.
Jeśli chodzi o rozwiązania techniczne to raczej nie moja działka...
Pozdrawiam

Re: Regulator PID

: 06 cze 2006 10:43
autor: Gość
mam pytanie w takim razie jaką wartość mają sygnaly sterujace z tego regulatora PID ? czy mieszcza sie w zakresie 0-20 mA ? bo tyle obsluguje regulator w rzeczywistosci a przy symulowaniu jakiegokolwiek ukladu regulacji np. w Matlab/Simulink sygnaly sterujace z regulatora sa duzo wieksze w przypadku z klasycznym PID

Re: Regulator PID

: 06 cze 2006 12:45
autor: Robson_7777
W przedstawionym układzie na wyjściu regulatora uzyskujemy zakres zmian sygnału od 0,01 do 99,9, bo taki był potrzebny. Sygnał ten po podzieleniu przez 100, reguluje współczynnik wypełnienia sygnału sterującego PWM.
nowy pisze: czy mieszcza sie w zakresie 0-20 mA ? bo tyle obsluguje regulator w rzeczywistosci
Nie muszą :) pętla 0-20 mA jest jednym z wielu standardów wyjścia, regulatory wyposażone są jeszcze w inne standardy np.:
* 0/4..20 mA, 0/1..5 V
* ON/OFF
Proponuje przejrzeć strony producentów regulatorów :wink:
Pozdrawiam

Re: Regulator PID

: 06 cze 2006 15:03
autor: Gość
Robson_7777 pisze: Proponuje przejrzeć strony producentów regulatorów :wink:
Pozdrawiam
przejrzałem, moze byc i 200 mA jednak w takim przypadku zmienia sie transmitancja ukladu a konkretnie maleje wzmocnienie, wiec otrzymasz jeszcze wiekszy sygnal z regulatora nie mieszczacy sie w tych granicach, dotyczy to ogolnie ukladu regulacji a nie tego konkretnego przykladu