Настройка регуляторов, опережения (Step Response Screen)

(Нажмите на участок изображения для перехода к нужному разделу справки)
Окно настройки регуляторов и опережения (Step Response Screen) позволяет проводить измерения и строить график отклика системы с учетом профиля движения для настройки контроля положения или реакции системы на "ступеньку" для настройки регуляторов контроля скорости. График приведенный выше построен при значениях задания в 400 дискрет команды Step. Для увеличения изображения нажмите на него. Обратите внимание, что выходной сигнал содержит большие всплески. Это является результатом ошибки квантования по положению. Ошибка квантования возникает, так как в системе не было никакого движения, а потом внезапное, резкое изменение в одном серво-цикле. Это нелинейный эффект. В некоторых случаях этот "всплеск" может превысить диапазон выходного сигнала вызывая насыщение. Низкочастотный фильтр может быть использован для сглаживания этого эффекта до определенного предела. Слишком сильное сглаживание в конечном счете оказывает влияние на производительность системы, снижая запас по фазе. Как правило, частота среза фильтра нижних частот должна быть значительно больше, чем рабочая полоса частот системы.
В выпадающем списке можно выбрать один из трех режимов отображения отклика системы:

На всех трех графиках управляющий сигнал всегда отображается в качестве вспомогательной оси Y на правой стороне графика. Другие значения располагаются на первичной левой оси Y. Ось X всегда показывает время в секундах. После того, как был выбран конкретный тип графика, любую кривую можно скрыть/показать, установив флажок с соответствующим именем (и цвета) переменной.
Любая часть графика может быть увеличена с помощью выбора нужной области при зажатой левой кнопки мыши. Нажатие правой кнопкой мыши на графике вызовет контекстное меню, которое позволяет сбросить масштабирование или перейти к предыдущему уровню масштабирования.
Ниже приведен пример графика определения ошибки положения (при тех же параметрах, что и график выше). Ошибка положения (Position Error) определяется как измеренное положение (Position) - заданная позиция (Command Position). Обратите внимание, что поскольку измеренное положение квантуется к целому числу отсчетов датчика, эффект квантования наблюдается также в значениях ошибки положения.

Третий тип графика отображает заданную скорость движения и/или измеренную скорость. Скорость показана в единицах позиции в секунду. При нажатии кнопки Move вычисляется профиль движения для достижения заданного положения в кратчайшие сроки без превышения максимальной скорости, ускорения или рывка. Поскольку вычисления происходят с использованием арифметики с плавающей точкой, кривая команды выглядит очень гладко. На графике снизу отлично показана эта ситуация. В графике скорости, наклон кривой зависит от ускорения. В этом примере относительно низкое значение, заданное для максимального рывка изменяет наклон ускорения постепенно. Второй график ниже сделан с теми же данными, но задания по скорости отображаются вместе с измеренными значениями скорости. Из-за ограничений разрешающей способности энкодера, измеренная скорость, рассчитанная с помощью простой разницы позиции за период рассчета, как правило, сильно квантуется, как показано на рисунке.
График скорости ниже, показывает эффект от установки максимально допустимого рывка(Jerk) до очень больших значений (в сто раз больше относительно графика выше).
Настройка PID регулятора (Tuning Parameters - PID)
ПИД (пропорциональной, интегральной и дифференцирующей составляющей) регулятор.
Пропорциональная составляющая вырабатывает выходной сигнал, противодействующий отклонению регулируемой величины от заданного значения, наблюдаемому в данный момент времени.
Он тем больше, чем больше это отклонение. Если входной сигнал равен заданному значению, то выходной равен нулю.
Например, если положение оси измеряется в импульсах датчика энкодера, а выходной сигнал задается в дискретах ШИМ, то усиление 10.0 будет применяться к выходному сигналу таким образом - 10 дискрет ШИМ для каждого 1 импульса ошибки.
Интегрирующая составляющая пропорциональна интегралу по времени от отклонения регулируемой величины. Её используют для устранения статической ошибки.
Она позволяет регулятору со временем учесть статическую ошибку. Работа интегральной составляющей базируется на частоте расчета, которая фиксирована в KMotion's и составляет 90μs.
Интегратор складывает ошибку позиции при каждом рассчете.
Например, с интегральным коэффициентом усиления 10, и полученной ошибкой в 1 значение энкодера, после 5 периодов рассчета работы сервоприводов, выходной сигнал будет содержать 50 дискрет ШИМ.
Как правило, это используется для достижения высокой точности, так как даже очень небольшая ошибка, в конечном счете интегрируется и достигает достаточно большого значения для того, чтобы происходили корректирующие действия.
Фактически, коэффициент усиления интегратора гарантирует устойчивое состояние ошибки (средняя ошибка), равное нулю.
Этот эффект также гарантирует, что всегда будут существовать некоторые перерегулирования в ответ на ступенчатые функции, в противном случае средняя ошибка не может быть равна нулю.
Дифференцирующая составляющая пропорциональна темпу изменения отклонения регулируемой величины и предназначена для противодействия отклонениям от целевого значения, которые прогнозируются в будущем.
Отклонения могут быть вызваны внешними возмущениями или запаздыванием воздействия регулятора на систему.
Например, с дифференцирующим коэффициентом усиления 10, и изменением позиции на 1 значение энкодера от предыдущего рассчета, выходной сигнал будет содержать -10 дискрет ШИМ.
Отрицательный знак показывает, что выходной сигнал изменяется таким образом, чтобы противостоять движению.
Несмотря на то, что дифференцирующая составляющая часто с успехом используется в системе управления, стоит рассмотреть вопрос об использовании lead/lag фильтра, который работает аналогичным образом,
но не имеет нежелательного признака увеличения коэффициента усиления на высоких частотах.
Так же смотрите раздел Алгоритм работы управления приводами (KMotion Servo Flow Diagram).
Настройка параметров максимальных значений (Tuning Parameters - max limits)
Максимальные значения(max limits) KMotion показаны в разделе Алгоритм работы управления приводами. Пределы в алгоритме обозначаются следующим образом:
. Эти параметры оказываются полезными при реакциях системы на экстренные ситауции.
Максимальное значение выхода (output) используется для ограничения максимального значения, в выходных единицах оси (значения ШИМ, максимум 255 или ЦАП, максимум 2047).
Предел интегратора (integrator) используется для ограничения максимального значения интегратора. Это часто используется, чтобы избежать эффекта "ветра". Рассмотрим случай, когда без ограничения интегратора каким-то образом поддерживается существенная ошибка в течение значительного периода времени. Например вал двигателя поворачивается вручную в течение нескольких секунд. В течение этого времени интегратор будет увеличиваться до очень большого значения. Когда вал двигателя будет освобожден, он будет ускоряться на максимуме и будет перемещаться около цели до тех пор, пока значение интегратора снизиться до приемлемого значения. Максимальный предел интегратора это предотвращает. Часто основной целью использования интегратора компенсировать статическое трение, чтобы снизить итоговую ошибку к нулю. Почти никогда не стоит устанавливать максимальное значение интегратора выше максимального значения выходного сигнала.
Максимальная ошибка error ограничивает допустимое значение, которое подается на вход регулятора. Указывается в тех же единицах, что и позиция. Как правило, когда сервопривод работает нормально, его следящая ошибка мала. Например, при аварийной ситуации это значение может стать очень большим и вывести систему из равновесия.
Настройка профиля движения (Tuning Parameters - Motion Profile)

Профиль движения зависит от максимальной допустимой скорости (в единицах положения в секунду), максимального допустимого ускорения (в единицах позиции в секунду2) и максимально допустимого рывка (в единицах положения в секунду3). Эти параметры так же будут использоваться для любого независимого (движения не по координатам) перемещения оси. Параметры ускорения и рывка учитываются при движении по команде от кнопок оператора KMotionCNC (jog) или кнопок внешнего пульта.
Настройка опережения (Tuning Parameters - Feed Forward)
В KMotion опережение (Feed Forward) используется для значительного уменьшения ошибки слежения. Смотрите Алгоритм работы управления приводами (Servo Flow Diagram), чтобы увидеть принцип реализации. Решение заключается в том, что бы корректировать управляющий сигнал с учетом опережения по скорости, ускорению и не дожидаться увеличения ошибки слежения.
Большинство контроллеров движения работает по принципу, что сила двигателя используется для ускорения массы. В этих случаях, требуется усилие пропорциональное необходимому ускорению. Опережение позволяет уменьшить ошибку для коррекции положения по обратной связи. Фактически, при правильно настроенном опережении мы уменьшаем значение силы полученной с учетом обратной связи, до значения необходимого для требуемого ускорения.
Точно так же требуется некоторое количество силы, которое пропорционально скорости, чтобы просто поддерживать постоянную скорость. Это происходит из-за трения или возможно, обратной ЭДС двигателя. В любом случае опережение может быть использовано для снижения требований к цепи обратной связи, что приводит к меньшим ошибкам слежения.
Для настройки опережения, следует выбрать график position error и производить измерения командой Move.
Следует отметить, что в Алгоритме работы управления приводами (Servo Flow Diagram) видно, что опережение учитывается перед последним фильтром (IIR Filter). Импульсы опережения могут быть довольно резкими при больших ускорениях, это может привезти к резонансу в системе. Как правило, стоит использовать последний фильтр в режиме режекторного для повышения стабильности системы.
Настройка "мертвой зоны" (Tuning Parameters - Dead Band)

Мертвая зона испольуется для применения другого коэффициента усиления около нуля ошибки слежения. Как правило в пределах действия мертвой зоны коэффициент устанавливается значительно меньше 1.
Смотрите Алгоритм работы управления приводами (Servo Flow Diagram) для понимания очередности этой функции в алгоритме. Использование мертвой зоны приводит к некоторому снижению точности, но
может уменьшить и устранить колебания во время остановки в целевом положении.
При значениях диапазон (range) 0 , коэффициент усиления (gain) 1 мертвая зона не вносит изменения в сигнал и не учитывается.
На графике установлен диапазон 2, коэффициент усиления 0. За пределами мертвой зоны коэффициент усиления всегда равен 1.
Для выполнения измерения, выберите продолжительность времени сбора данных и размер шага, нажмите Move для перемещения с учетом профиля движения или кнопку Step для просмотра реакции системы на ступень.
Если ось в данный момент включена, она будет отключена, все параметры со всех экранов будут загружены, ось будет включена, выполнено задание, данные собраны, затем загружены и построен график.
При выполнении команды Move будет выполнено перемещение до указанной позиции, небольшая остановка и возращение в исходное местоположение. Заданием отрицательного значения целевой позиции можно изменить первичное направление движения.
Командой Шаг (Step) будет выдано максимальное выходное значение (output) для шага в целевую позицию, затем будет выполнена пауза и сделан еще один шаг в обратном направлении без учета ограничений профиля движения (первый график на этой странице).
Максимальное время сбора данных 3,5 секунды (3,5 секунды / 90μs = 38,888 точек). Сбор данных на такой скорости позволяет использовать масштабирование графика, сохраняя при этом высокое разрешение.
Управление осью (Axis Control)

Кнопки управления осью позволяют отключить (Disable), обнулить (Zero) или включить ось (Enable). Если ость стала нестабильной, например, из-за слишком большого P, можно отключить ось, затем ослабить усиление и снова включить ось.
Для режимов работы с бесколлекторными двигателями (brushless output modes) обнуление позиции может отрицательно сказаться на управлении в момент сброса.
Сохранение/Загрузка данных (Save/Load Data)

Кнопки сохранения/загрузки данных позволяют сохранить полученные значения и загрузить их позже или импортировать эти данные в стороннее программное обеспечение. Формат файла состоит из одной строки заголовка в котором 5 значений разделенных запятой и далее по одной строке для каждой точки измерения. Данные:
Пример содержания файла:
Sample,Time,Command,Position,Output
0,0,5,5,-0.3301919
1,9e-005,5,5,-0.3300979
2,0.00018,5,5,-0.3300258
3,0.00027,5,5,-0.3299877
4,0.00036,5,5,-0.3299999
5,0.00045,5,5,-0.3300253
6,0.00054,5,5,-0.3300359
7,0.00063,5,5,-0.3300304
8,0.00072,5,5,-0.3300199
9,0.00081,5,5,-0.3300156
10,0.0009,5,5,-0.3300157
62