Strona 1 z 1

Problemy z nastrawami PID Whale3

: 11 wrz 2010, 20:14
autor: ljmp
Witam.

Zbudowałem prosty serwonapęd na bazie serwomotoru DC 45W z cncdrive oraz Whale3. Mój problem polega na tym, że układ wpada w rezonanse na różnych prędkościach pomimo iż nastawy PID zostały dobrane i sprawowały się dobrze przy innych prędkościach pracy. Wykonanie przejazu o kilka obrotów wału silnika nie sprawia problemu (nastawy tak dobrane, że oscylacje są prawie zerowe) ale gdy tylko chcę pojechać trochę dalej i silnik rozpędzi się do większej prędkości to wpada w rezonans, jak skoryguję nastawy tak aby rezonans ustąpił to pojawiają się rezonanse np przy przyspieszaniu albo przy jeszcze innych nastawach rezonansów wogóle nie ma a silnik nie ma momentu aby nadążyć za pozycją zadaną i serwo wywala błąd. Dodam tylko, że silnik ma 3000RPM enkoder 2048imp/obr a serwo wykrywa 4 zbocza zatem uzyskuję 8192imp na obrót, problemy pojawiają się już przy prędkościach rzędu 300RPM a gdzie tu mowa o 3000? Proszę o wszelaką możliwą pomoc.

: 12 wrz 2010, 20:58
autor: Leoo
Ile trwa czas próbkowania pętli PID?

: 13 wrz 2010, 00:24
autor: ljmp
Próbowałem na różnych nastawach od 1 do 15. Ale ostatecznie zostawiłem na 10.

: 13 wrz 2010, 21:54
autor: Leoo
ljmp pisze:Próbowałem na różnych nastawach od 1 do 15. Ale ostatecznie zostawiłem na 10.
To daje czas 600us. Trudno w tak krótkim czasie dokładnie stwierdzić co dzieje się z silnikiem zwłaszcza na małych obrotach.
Zakres wg. dokumentacji mamy do 65535*60us. Proszę spróbować ustawić więcej, tak w okolicy 1ms czyli 17. Oczywiście strojenie trzeba przeprowadzić od nowa.

: 13 wrz 2010, 23:59
autor: ljmp
W sumie to można powiedzieć że w 90% sobie poradziłem. Czas cyklu nie ma wpływu na regulację pozycji, bo przy zmianie czasu cyklu reakcja regulatora się nie pogarszała (przynajmniej w zakresie 1-15). Teoretycznie im krótszy okres regulatora tym lepiej bo regulator jest bardziej zbliżony do idealnego niemniej w przypadku Whale3 zmiana czasu cyklu wiąże się ze zmianą nastaw części całkującej (I) oraz różniczkującej (D). Z punktu widzenia teorii regulacji jest to całkiem normalne ale spodziewałem się czegoś mniej topornego. Sprawa się trochę komplikuje w przypadku nastaw części całkującej bo wpisanie nawet najmniejszej wartości, czyli 1, powoduje duże przesterowania na wyjściu oraz oscylacje. Przydałoby się jakieś programowe ograniczenie efektu windup. Spróbuję się jeszcze pobawić z dużo wyższymi czasami cyku to powinno osłabić część całkującą, ale z drugiej strony będzie wolniejsza odpowiedź regulatora.