wunderwaffe: тупят другие (karliki)
доктор Вандершпигель ([personal profile] wunderwaffe) wrote2021-07-16 02:59 am

Теперь о ошибках в ПИД-регуляторах

но не о рассогласовании, а о тех, что писал Энгельс в Анти-Дюринге.

Что будет, если управляющий сигнал приложить не к скорости, а к ускорению машинки из предыдущего примера? Вот что -

x''=K*(x-x0)

т.е. вместо ожидаемого П-регулятора получится И-регулятор, который даст незатухающие колебания. В статье для новичков http://we.easyelectronics.ru/Theory/pid-regulyatory--dlya-chaynikov-praktikov.html автор так и делает -

"А теперь – обещанная пара слов по Excel-файлу. В нем реализована модель, схожая с перемещением по линии. Не очень корректная, возможно, но вполне достаточная для старта (может, по результатам обсуждения сделаю более точную модель — возьму для примера модель электродвигателя из статьи Полякова). Есть предыдущее положение, скорость и ускорение. Скорость рассчитывается как разница предыдущих перемещений. Ускорение определяется как П-И-Д – воздействие, умноженное на коэффициент усиления (в верхней части таблицы)."

но тем не менее у него получаются правдоподобные графики. Почему?

Для ответа на этот вопрос надо залезть в дебри этого excel - файла -

X(i)=X(i-1)+V(i-1)*dt+A(i-1)*dt*dt/2 //уравнение ускоренного движения
V(i)=X(i)-X(i-1) //скорость
A(i)=Uall(i)*Ku //ускорение, Ku - коэффициент усиления двигателя
E(i)=X0-X(i) //ошибка
Up(i)=Kp*E(i) //пропорциональная составляющая
Ui(i)=Ui(i-1)+Ki*E(i) //интегральная составляющая
Ud(i)=Kd*(E(i)-E(i-1)) //дифференциальная составляющая
Uall(i)=Up(i)+Ui(i)+Ud(i) //управляющий сигнал


То, что в разностном ур-ии равноускоренного движения написана лажа, сразу видно, если подставить формулу для скорости в это уравнение -

X(i)-X(i-1)=V(i-1)*dt+A(i-1)*dt*dt/2=V(i)=X(i)-X(i-1)

Т.е. V(i)=V(i-1)*dt+A(i-1)*dt*dt/2 <==???


То, что у автора - не очень понятно, какое именно получилось, проще его промоделировать - каково оно будет, если не воздействовать на модель ПИД-регулятором, положив A(i)=1, т.е. постоянной величине, а коэффициент усиления двигателя сделать равным Ku=200. Вот какую зависимость положения от времени мы получаем (оранжевая линия)



Для равноускоренного движения это должна быть парабола, а на рисунке мы видим что-то, начинающееся как экспонента, и продолжающееся как прямая линия. То есть сначала скорость нелинейно возрастает, а потом устанавливается равной постоянной величине - и это не равноускоренное движение, а классический случай ПИД регулятора, когда скорость пропорциональна воздействию. Поэтому сначала мы на нелинейном участке получаем колебания, а потом их затухание в соответствии с теорией.

Post a comment in response:

If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting