PID визуализиран: Наблюдавайте пропорционалната, интегралната и диференциалната съставка в действие
PID tuning becomes safer when engineers can see how proportional, integral, and derivative actions reshape error, output, and response over time. This guide ...
Когато учех инженерство, ми се иска да бях изучавал математическия анализ по-задълбочено. Мисля, че разбирах изчисленията и как да получавам (много от) правилните отговори, но всъщност не разбирах как тези термини ще се използват в бъдещата ми работа. Можех да изчисля площта на фигура между два графични абсциса или скоростта на промяна на нивото в пълнещ се резервоар, но едва когато започнах да работя със системи за управление на движението, разбрах как тези алгоритми оформят автоматизацията.
Наскоро, благодарение на използването на контролер и ос от Delta Motion в Battle Ground, Вашингтон, успях да запиша входните и изходните вълнови форми на графика, докато системата се движеше. Възможността да регулирам параметрите P, I и D в движение помага да се визуализира влиянието на всеки от тях.

Фигура 1. Използването на управление на движението може да помогне за обясняването на детайлите при коефициентите на усилване на PID в система със затворен контур.
В този урок ще се придържаме само към членовете P и I, тъй като почти всички системи за управление на процеси и движения включват тези компоненти, включително някои специализирани PI контролери. По-късно ще разгледаме ефектите на члена D.
Пропорционално усилване
Както вече видяхме в предишни статии, пропорционален ефект има, когато стойността на входната променлива влияе върху изхода чрез постоянна линейна зависимост с множител. Ако входът е 5, а усилването е 2, изходът ще бъде 10.
Ако приложим това към движението, входната променлива е грешката, която представлява разликата (целевата позиция - текущата позиция). Колкото по-далеч сме от целевата позиция, толкова по-голяма е грешката.
Забележка: В следващото изложение „голямо“ и „малко“ са относителни стойности. В различните PID системи 1 може да е голяма стойност, докато в други 500 може да се счита за малка. Концепцията обаче остава същата, независимо от големината на окончателно настроената система.
Нулево пропорционално усилване
Ако пропорционалното усилване е нулево (0.0), изходът ще бъде нулев и системата за движение бавно ще се отклонява сама, ако изобщо се движи. Всеки частично правилен отговор би се дължал единствено на команда за изход в отворен контур, наречена предварително управление. По същество, без обратна връзка системата няма представа какво прави.
Малко пропорционално усилване
Ако добавим съвсем малко пропорционално усилване (5.0), системата вече може да реагира, но все още бавно. Ако подадем команда за позиция, системата ще започне да се движи сравнително бързо, но ще се забави много преди да достигне целта. Всъщност може да стане толкова бавна, че да спре напълно, преди да достигне желаната целева позиция; наричаме това грешка при установяване.
Във видеоклиповете можем да видим три линии на графиката. Синята линия е зададената позиция, червената линия е действителната текуща позиция на задвижващия механизъм, а последната зелена линия е аналоговият изход, изпратен към контролера.
Голямо пропорционално усилване
Сега ще увеличим пропорционалното усилване до по-голяма стойност (50.0). В тази малка система без товар тя всъщност се държи доста добре при тази стойност на усилването. Реагира бързо и се установява точно в целевата позиция, но все още виждаме известен проблем. При някои от по-големите движения тя има тенденция да надхвърля позицията и да отива твърде далеч. Без достатъчно изходен сигнал, който да я върне в обратната посока, тя все пак ще спре малко встрани от желаната цел.
Интегрално усилване
За да коригираме това превишаване и грешката при установяване, трябва да намерим начин да разберем дали системата е спряла да се движи, но не сме достигнали точно целевата позиция. С течение на времето, при всяко отчитане на позицията от сензора, добавяме всяка грешка към постоянно нарастваща кумулативна стойност на грешката. Ако тази стойност продължава да нараства, това означава, че не сме достигнали достатъчно далеч. Ако започне да нараства в отрицателна посока, сме отишли твърде далеч. Ако изобщо не нараства, сме точно в целта.
Постоянното натрупване на отделни стойности за определен период от време е точно това, което представлява интегралът — интегралът на грешката по отношение на времето. Натрупаната грешка, умножена по интегралното усилване, ще задвижи системата отново, макар и съвсем малко, ако загубим скорост поради управление само с пропорционален член.
Тъй като това е система с ниска инерция, ще изпробваме следните параметри с настроено ниско пропорционално усилване, за да можем да видим ефектите.
Малко интегрално усилване
Ако интегралното усилване е малко (0.75), кривата на движението в началото изглежда като управление само с пропорционален член. Но с течение на времето можем да видим как текущата стойност постепенно се приближава до целевата позиция. Това отнема известно време, тъй като грешката се натрупва бавно — определено не е високоскоростна реакция.
Голямо интегрално усилване
Ако имаме натрупваща се грешка, но я умножим по прекалено голямо усилване (100), ще приложим твърде голям изходен сигнал твърде бързо и системата ще отиде прекалено далеч. След това ще трябва да се обърне и да се върне обратно, вероятно също с превишаване, осцилирайки бързо напред-назад. Това може да изглежда добре на графика, но искаме да намерим оптимална стойност между малка и голяма.
Вторият тест е да изпробваме голямо интегрално усилване (този път 1000), когато сме също така настроили голямо пропорционално усилване (100). Този път има първоначално превишаване на системата поради голямото пропорционално усилване и добавеното интегрално усилване, което придава на системата значителен импулс веднага щом бъде подадена входната команда. Въпреки това, непосредствено след превишаването системата бързо реагира и се коригира със стандартния вдлъбнат наклон, характерен за интегралното усилване.
Подходящо PI усилване
В последния ни пример избираме сравнително високо пропорционално усилване, за да осигурим бърза първоначална реакция (100), и сравнително ниско интегрално усилване, така че грешката да бъде коригирана незабавно, но да се избегнат проблемното превишаване и осцилациите (10).
Този последен пример показва отлична реакция. Синият сигнал на зададената стойност почти не се вижда зад червения сигнал на текущата позиция и за това приложение за управление на движението точно това искаме.
Всички използвани видеоклипове и изображения са предоставени с любезното съдействие на автора