4.2.9. Feedback EMF

4.2.9.1. Преимущества

  • Всегда сохраняет синосуидальную форму тока, что обеспечивает бесшумную работу;
  • На высоких скоростях он может динамически адаптироваться к внешним нагрузкам, ограничениям тока и напряжения (автоматически снижает скорость);
  • На низких скоростях использует частотное управление без контроля позиции ротора. Когда положение ротора начинает выдавать корректные показания алгоритм переключается на полеориентировнное управление с обратной связью по позиции ротора. Порог переключения индивидуален для каждого двигателя, он определяется качеством оценки выдаваемой наблюдателем позиции ротора;
  • Не использует датчик позиции (encoder);
  • Может работать в трех режимах:
    • MTPA - наиболее экономичный режим, характеризующийся минимальным током, но напряжение быстро растет со скоростью, \(I_d=0\);
    • FW - режим понижения потокосцепления, активен, когда заданной скорости невозможно достигнуть при текущих ограничениях напряжения, используя MTPA, \(I_d<0\);
    • Limit - режим насыщения, когда движение с заданной скоростью невозможно. Возникает при насыщении напряжения и силы тока. В нем привод выдает максимальный момент определяемый текущей скоростью и ограничениями по току и выставляет флаг PowerLimited.

Важно

Алгоритм не должен использоваться с включенным флагом «Position Control». Для плавности хода в EMF алгоритме реализовано расхождение c реальной позиции и позиции по профилю. Если флаг «Position Control «включен, могут быть вызваны ложные срабатывания Alarm.
Чтобы избежать ложных срабатываний следует во вкладке «Position control» поставить галочку «Position Control» и в поле «Threshold» указать допустимую ошибку. Тогда при рассогласовании позиции, в главном окне XiLab будет загораться индикатор SLIP и, если стоит галочка «Alarm on errors», контроллер будет переходить в состояние Alarm.

4.2.9.2. Поведение двигателя при воздействии внешней силы

В режиме частотного управления:
- Положение ротора не контролируется, но ток равен номинальному значению. Только внешняя сила, превышающая момент удержания, может привести к потере шагов

В режиме полеориентированного управления:
- Если сила может быть преодолена, то движение продолжается с заданной скоростью.
- Если сила не может быть преодолена, то устанавливается флаг PowerLimited и установленное значение скорости начинает уменьшаться в соответствии со значением замедления, уставка положения, определяемая логикой генератора профиля скорости (интеграл от скорости), изменяется соответственно;
- Если действие силы прекращается, то расхождение между уставкой и реальной позицией будет компенсировано за счет PID регулятора позиции;
- Если сила не может быть преодолена приводом (превышает удерживающую силу), то на пороге скорости происходит переключение с последующим отказом ротора и потерей шагов.

4.2.9.3. Выбор параметров L, R и backEMF для алгоритма EMF

После включения питания (переключения из состояния Power: Off) и перед началом перемещения параметры \(R\) и \(L\) автоматически определяются (слышен короткий звуковой сигнал). Если эти параметры устанавливаются через интерфейс xilab, этап пропускается. Для повторной оценки параметров двигатель должен быть возвращен в состояние Power: off.

../../../_images/BackEMF_estimatorpng.png

На вкладке Stepper motor можно дополнительно назначить следующие параметры:

  1. Resistance - cопротивление обмотки \(R\) Ω
  2. Inductance - индуктивность обмотки \(L\) H
  3. Back EMF coefficient -потокосцепление ротора \(\lambda_m\) Hm/A
  4. Значение всех этих параметров сохраняется в профиле для двигателя.

Для большинства двигателей удовлетворительно работает автоопределение параметра back-EMF parameter. Однако назначение параметров через профиль обеспечивает большую устойчивость алгоритма.

Значения \(R\) Ω и \(L\) H следует брать непосредственно из datasheet.

Значение потокосцепления ротора \(\lambda_m\) Hm/a может быть получено следующим образом:

В datasheet дано значение электромеханического коэффициента двигателя \(K_m\) (torque constant, Hm/A) или коэффициента противоЭДС \(K_{emf}\) (backEMF constant, Vs),, тогда

\(\lambda_m = \frac{4K}{n}\), где
\(K\) значение \(K_{emf}\) или \(K_{m}\), а \(n\) - число шагов на оборот.

В datasheet дана номинальная сила тока \(i_n\) (nominal current, A) и момент удержания \(T_n\) (holding torque, Hm), тогда \(\lambda_m = \frac{4T_n}{I_{n}n}\),где
\(n\) - число шагов на оборот.

4.2.9.4. Выбор коэффициентов PID для EMF

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

Точность позиции по профилю определяется многими факторами:

  • В режиме удержания - соотношением силы удержания и мешающей силы, так же как у всех алгоритмов открытого контура;
  • На низких скоростях - расхождение реальной позиции и позиции по профилю не должно превышать одного шага;
  • На высоких скоростях расхождение может составлять несколько шагов, что обусловлено переходными процессами, коэффициентами обратной связи и наличием внешних сил.

Мы предлагаем использовать стандартный набор коэффициентов:
\(K_p = 3.6,\quad K_d = 0.028,\quad K_i = 38\)

  • \(K_p\) увеличение коэффициента увеличивает точность (уменьшает ошибку \(\theta_e\)), уменьшает время регулирования;
  • \(K_d\) увеличение коэффициента, увеличивает демпфирование системы и снижает вибрации. Неустойчивость может быть следствием слишком маленького значения \(K_d\);
  • \(K_i\) мало влияет на точность в переходных режимах, но уменьшает постоянную ошибку при движении с постоянной скоростью и ускорением, а также позволяет компенсировать постоянные внешние силы. Во многих приложениях может быть принят нулевым. Слишком большое значение приводит к потери устойчивости.

4.2.9.4.1. Алгоритм работы

Входом регулятора является is:

  • \(\theta_r\) - желаемое положение ротора (рад), значение формируется генератором профиля скорости
  • \(\omega_r\) - желаемая угловая скорость ротора (рад/с), значение формируется генератором профиля скорости
  • \(\theta_{m}, \omega_{r}\) - положение ротора (рад) и его скорость (рад/c), вычисленные оценщиком положения ротора

Выход: \(I_{qr}\) - значение тока (А), определяющее момент создаваемый двигателем: \(M = k_m I_{qr}\), где \(k_m\) электромеханический коэффициент (torque constant) двигателя

Параметры: \(K_p\), \(K_i\), \(K_d\) - коэффициенты обратной связи (значения заданные во вкладке «PID Control»).

Закон управления:
1. Вычисление ошибки регулирования:
\(\theta_e = \theta_{r} - \theta_{m}, \quad \omega_e = \omega_r - \omega_m\),
2. Расчет силы тока:
\(I_{qr} = K_p \theta_e + K_d \omega_e + K_i \int_0^t \theta_e d\tau\)

Регулятор снабжен контуром противонакопления, на основе алгоритма условного интегрирование. Рост интегральной части прекращается, если произошло насыщение силы тока (\(|I_{qr}| > I_{max} и I_{qr}\cdot \theta_e < 0\))