Алгоритм управления следящим приводом

Сервоприводы, шаговые двигатели, регуляторы скорости, частотные преобразователи
Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

Автоматизатор писал(а):Вроде теоретически такую штуку написать получилось. Вызывается раз в 10 мс в прерываниях.
Вроде как надо проще:
wзад(t) = Kp*[Hзад(t)-Hфакт(t)],
где
wзад - задание скорости частотнику ППО,
Kp - коэффициент пропорциональности,
Hзад - величина H, вычисленная по графику H(N),
Hфакт - величина H, измеренная по энкодеру.

Чем не нравится PID_Compact? Люди говорят, что он сам настраивается влет.

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Михайло писал(а):Вроде как надо проще:
wзад(t) = Kp*[Hзад(t)-Hфакт(t)],
Ваше "вроде" отличается от моего. Я думал, что проще выглядит так:

u(t) = u(t — 1) + Kp * e (t) ,
где е = заданное положение - текущее положение

а в википедии пишут
u(t) = u(t — 1) + Kp * {e (t) — e (t — 1)}

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

Эта рекуррентная формула для облегчения расчета интегральной составляющей. Для расчета П-регулятора смотри предыдущие нерекуррентные формулы.

Подставь в твою формулу из википедии u(t-1) = Kp*e(t-1), получишь мою формулу. Формулы эквивалентны, но моя более простая. На самом деле П-регулятор живет одним мгновением, ему нет необходимости запоминать предыдущие значения в отличие от ПИ-, ПИД-, ПД-, И- регуляторов.

Аватара пользователя
mr_Frodo
Профессионал
Сообщения: 588
Зарегистрирован: 22 июл 2016, 20:38

Re: Алгоритм управления следящим приводом

Сообщение mr_Frodo »

если в управлении требуется определённая динамика, то ПИД имеет место быть. Ведь в некоторых приложениях требуется не просто достичь точки А, но и за определённое время...
Вот моя подпись...

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

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

Время перемещения можно регулировать только величиной ограничения на выходе П-регулятора (=ограничение скорости). Для регулирования времени перемещения нужно вводить еще один регулятор (И-регулятор). За сколькими зайцами хочешь угнаться, столько регуляторов и должно быть.

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Автоматизатор писал(а):Есть сомнения: как будет работать если отправлять задание инвертору по Profibus? Где вызывать SFB15: в самом прерывании, или в основной программе? Цикл программы в среднем 8 мс.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

Скорость (задание скорости) не нужно слишком динамично менять, соответственно обсчитывать П-регулятор не требуется прям уж очень быстро. Да и требования к точности позиционирования не столь высокие, как я понимаю.

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Михайло писал(а):Да и требования к точности позиционирования не столь высокие, как я понимаю
Требуется отклонение от заданного положения не более 0.25 мм.

Провел ряд опытов. Получились противоречивые результаты. На графиках: синий - скорость, зеленый - заданное положение, красный - текущее положение.

скорость - плавная, ошибка по положению большая
g1.jpg
скорость скачет - положение точнее
g2.jpg
Надо усреднять значение скорости и пусть скачет ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

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

Время в секундах?

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Это точки в которых измерения производится, период 10 мс

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

Значит процесс длится 3,44 сек?

Сейчас на компьютере графики открыл и разглядел, что красная линия экспоненциально как-то догоняет зеленую линию. Не совсем понятно, почему в момент времени 1,15 сек регулятор положения вдруг остановил погоню за зеленой линией? Ведь разница (H_new - H_act) положительная и достаточно большая. Может коэффициент Kp регулятора положения слишком маленький? Kp*(H_new - H_act) - это задание скорости.

Может ты там что-то перефильтровываешь? Сократи фильтры ну хотя бы до 20 мс. Фильтры должны бороться только с помехами и не вычищать полезный сигнал (объективную "картину" для регулятора).

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Михайло писал(а):Не совсем понятно, почему в момент времени 1,15 сек регулятор положения вдруг остановил погоню за зеленой линией?
Там переходный процесс - изменяется задание (увеличивается раза в 2), тоже в конце - только уменьшается.

Фильтров нет.

При увеличении Кр ошибка уменьшается, но скорость скачет. Страшно смотреть. Может надо на приводе сделать разгон/торможение плавным, чтобы не дергался?

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

Автоматизатор писал(а):Может надо на приводе сделать разгон/торможение плавным, чтобы не дергался?
Ну тебе же надо обеспечить точность 0,25 мм. А график пусть дергается, там все равно ток (=момент=ускорение) ограничен в контуре регулирования тока. Скачет скорость немножко вокруг некоторого значения.
Вон я когда на приводе отрегулировал почти нулевой момент, так кинематические передачи начинали стучать зубьями (=повышенный шум). Вот это да.

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Дергается не только график. Вибрации видно на глаз, что не очень хорошо. Полученный с частотника график выглядит так:
График.jpg
Это нормальная работа?

Есть документ
Настройка регулятора скорости.pdf
в котором даны рекомендации по настройке регулятора скорости. К настройке регулятора положения это справедливо?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

Ах да, я что-то про регулятор скорости забыл.
У тебя наверное из-за него проблемы. Работа ненормальная. Черная линия от красной отстает (на последнем графике). Попробуй убрать контур положения и задание скорости подать ступенькой (П-регулятор положения отсоединить). Займись сначала внутренними регуляторами: регулятор тока, потом регулятор скорости и только потом отстраивать регулятор положения. Ведь теория о том, что регулятор положения должен быть пропорциональным, строится на предположении, что внутренние контуры регулирования качественно отрабатывают задания (быстро и без перерегулирования).
Может там задатчик интенсивности (Ramp-function-generator) мешает? Надо попробовать уменьшить время разгона-торможения.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

Настраивать регулятор положения намного проще, здесь же всего один параметр Kp. Увеличение Kp приводит к увеличению быстродействия, но перерегулированию. Уменьшение - наоборот. При условии, что внутренние контуры уже оптимизированы (настроены регуляторы, задатчики интенсивности и прочие лимитеры).

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Михайло писал(а):Ах да, я что-то про регулятор скорости забыл.
У тебя наверное из-за него проблемы. Работа ненормальная. Черная линия от красной отстает (на последнем графике)
Автонастройку привода скорее всего делали без вращения, т.к. нагрузка (редуктор + ШВП) была приделана. Да и массы там, подозреваю, хорошие - есть инерционность.
На ступенчатое изменение задания привод отрабатывает с небольшим перерегулированием.
Михайло писал(а):Настраивать регулятор положения намного проще, здесь же всего один параметр Kp.
При Кр=15 при равномерном перемещении ошибка около 6 мм. При Кр=20 идут сильные колебания (привод сильно дергается даже на глаз).

Я добавил интегральную составляющую с целью уменьшить статическую ошибку П-регулятора. Ошибка уменьшилась в 2 раза (Ki=0.15)

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Алгоритм управления следящим приводом

Сообщение Михайло »

Здесь рекомендуют ПИ-регулятор в п. 9.3.1: http://model.exponenta.ru/epivod/glv_090.htm Причина в том, что для следящего привода требуется обеспечить астатизм второго порядка (как бы нечувствительность к линейно нарастающему сигналу задания).
Можно перейти к той самой рекурсивной формуле.

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Результаты опытов: статическую ошибку с 18 мм удалось снизить до 4 путем введения интегральной составляющей и увеличения коэффициентов Кр и Кi до максимальных значений (Кр=8,0 Кi=0.1; есть колебания и перерегулирование).
График.jpg
Если еще увеличивать коэффициенты, то вибрации уже ощутимые становятся. При данной реализации ничего лучше не получить. Надо что-то принципиально менять в реализации алгоритма работы регулятора.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 993
Зарегистрирован: 09 окт 2012, 05:18

Re: Алгоритм управления следящим приводом

Сообщение Автоматизатор »

Может до кучи диф. составляющую добавить?

Ответить