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.
На вкладке Stepper motor можно дополнительно назначить следующие параметры:
- Resistance - cопротивление обмотки \(R\) Ω
- Inductance - индуктивность обмотки \(L\) H
- Back EMF coefficient -потокосцепление ротора \(\lambda_m\) Hm/A
- Значение всех этих параметров сохраняется в профиле для двигателя.
Для большинства двигателей удовлетворительно работает автоопределение параметра 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\))