Документация Engee

Stepper Motor

Шаговый двигатель с постоянными магнитами для полных, половинных и микрошагов.

stepper motor

Описание

Блок Stepper Motor представляет собой шаговый двигатель. Шаговые двигатели имеют ротор с постоянными магнитами и две обмотки статора.

Шаговые двигатели с меньшим размером шага обычно имеют роторы с зубцами на северном и южном полюсах. Шаговые двигатели с большим размером шага обычно имеют несколько магнитов, распределенных по окружности ротора. Можно смоделировать оба типа устройств с помощью блока Stepper Motor и управлять двигателем с помощью блока Stepper Motor Driver.

Можно использовать шаговые двигатели, чтобы избежать необходимости измерения положения. Шаговые двигатели используются в таких устройствах, как принтеры, и в таких приложениях, как робототехника и автоматизация производства.

Блок использует входные последовательности импульсов и , для управления механическим выходом в соответствии с этими уравнениями:

где

  • и — обратные электродвижущие силы (ЭДС), индуцированные в фазных обмотках и соответственно;

  • и — токи фазных обмоток и ;

  • и — напряжения фазных обмоток и ;

  • — постоянная крутящего момента двигателя;

  • — количество зубцов на каждом из двух полюсов ротора. Параметр Full step size равен ;

  • — сопротивление обмотки;

  • — индуктивность обмотки;

  • — сопротивление намагничивания;

  • — демпфирование вращения;

  • — инерция;

  • — скорость вращения ротора;

  • — угол поворота ротора;

  • — амплитуда момента фиксации (торможения);

  • — электрический крутящий момент.

Если начальный угол ротора равен нулю или кратен , то ротор выровнен с фазой импульсов обмотки . Это происходит, когда из порта A+ в порт A- течет положительный ток, а из порта B+ в порт B- ток не течет.

Используйте блок Stepper Motor Driver, чтобы создать последовательность импульсов для блока Stepper Motor.

Блок шагового двигателя создает положительный крутящий момент, действующий от механического порта C к R, когда фаза импульса опережает фазу импульса .

Усредненный режим

Если для параметра Simulation mode установлено значение Averaged, как для блока Stepper Motor, так и для блока Stepper Motor Driver, который им управляет, то отдельные шаги не будут моделироваться. Это позволяет ускорить моделирование. В усредненном режиме, в условиях отсутствия скольжения, двигатель и драйвер представлены линейной системой второго порядка, которая отслеживает заданную частоту шагов. Заданная частота шагов определяется непосредственно по напряжению на A+ и A-. Так, например, напряжение +10 В на клеммах A+ и A- интерпретируется как требование к частоте шага 10 шагов в секунду. Дополнительную информацию о том, как подключить блок драйвера к схеме контроля угла, см. на странице Stepper Motor Driver.

Усредненный режим включает в себя датчик оценки проскальзывания, чтобы предсказать, проскользнул бы шаговый двигатель, если бы работал в режиме симуляции шагов. Проскальзывание прогнозируется, если крутящий момент двигателя превышает значение параметра Vector of maximum torque values более чем на один период шага, причем период шага определяется на основе текущего требования к частоте шага. При проскальзывании крутящий момент, создаваемый двигателем, обычно не является максимально возможным: максимальный крутящий момент достигается только в том случае, если шаговый контроллер обнаруживает проскальзывание и соответствующим образом регулирует команду частоте шага.

Динамика эквивалентной системы второго порядка определяется значениями, которые заданы для параметров Approximate total load inertia и Maximum step rate command. Важно задать как можно более точные значения этих параметров, чтобы команда частоты шага отслеживалась, и блок не выдавал ложных предупреждений о проскальзывании или ошибок.

Если двигатель запущен в усредненном режиме с открытыми дополнительными тепловыми портами (Моделирование тепловых эффектов), то тепло добавляется к тепловым портам, предполагая, что обмотки всегда находятся под напряжением, даже когда команда частоты шага равна нулю. Блок делает поправку на половину шага и на снижение крутящего момента (и токов обмоток) на более высоких частотах. Чтобы эти корректировки были правильными, значения параметров Vector of maximum torque должны быть верными. При половинном шаге на нулевой частоте, тепло, выделяемое блоком, равно среднему значению тепла, выделяемого при остановке на половине шага и на полном шаге.

Чтобы проверить конфигурации модели усредненного режима, в которых прогнозируется возникновение проскальзывания, сравните результаты с той же симуляцией, выполненной в режиме шага.

Моделирование тепловых эффектов

Можно открыть тепловые порты для моделирования эффектов потерь при преобразовании энергии в тепло.

Блок отобразит тепловые ненаправленные порты, если установлен флажок Enable thermal port.

Если блок содержит тепловые порты, то предполагается, что сопротивление обмотки линейно зависит от температуры и определяется следующим образом:

где

  • — сопротивление при температуре ;

  • — сопротивление при температуре измерения (или эталонной температуре) . Укажите эталонную температуру с помощью параметра Measurement temperature;

  • — температурный коэффициент сопротивления, который задается с помощью параметра Resistance temperature coefficients, [alpha_A alpha_B]. Типичное значение для меди — 0.00393 1/K.

Блок вычисляет температуру каждой из обмоток и ротора следующим образом:

где

  • — тепловая масса. Укажите это значение для обмоток с помощью параметра Winding thermal masses, [M_A M_B], а для ротора — с помощью параметра Rotor thermal mass;

  • — температура. Укажите начальные значения для обмоток с помощью параметра Winding initial temperatures, [T_A T_B], а для ротора — с помощью параметра Rotor initial temperature;

  • — тепловой поток, который рассчитывается на основе потерь в железе в обмотках:

где — это процент сопротивления намагничиванию, связанный с ротором. Укажите этот процент с помощью параметра Percentage of magnetizing resistance associated with the rotor.

Допущения и ограничения

Модель основана на следующих предположениях:

  • В этой модели пренебрегается эффектами магнитного насыщения и любой магнитной связью между фазами.

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

  • Усредненный режим — это приближение, и не следует ожидать точного отслеживания шага по сравнению с шаговым режимом.

  • Обнаружение проскальзывания в усредненном режиме является приблизительным и зависит от правильной оценки инерции нагрузки и максимальной частоте шага. Неправильные значения могут привести к ложному обнаружению проскальзывания.

  • При моделировании проскальзывания в усредненном режиме предполагается, что драйвер шагового двигателя регулирует команду частоты шага таким образом, чтобы достичь максимально возможного крутящего момента.

  • Этот блок нельзя использовать для моделирования гибридного шагового двигателя, в котором крутящий момент возникает как от постоянного магнита, так и от эффекта переменного сопротивления.

Порты

Ненаправленные

# R — ротор машины
вращательная механика

Details

Механический порт, связанный с ротором машины.

Имя для программного использования

rod_flange

# C — корпус машины
вращательная механика

Details

Механический порт, связанный с корпусом машины.

Имя для программного использования

case_flange

# A+ — положительная клемма фазы A
электричество

Details

Ненаправленный порт, связанный с положительной клеммой фазы .

Имя для программного использования

p_a

# A− — отрицательная клемма фазы A
электричество

Details

Ненаправленный порт, связанный с отрицательной клеммой фазы .

Имя для программного использования

n_a

# B+ — положительная клемма фазы B
электричество

Details

Ненаправленный порт, связанный с положительной клеммой фазы .

Имя для программного использования

p_b

# B− — отрицательная клемма фазы B
электричество

Details

Ненаправленный порт, связанный с отрицательной клеммой фазы .

Имя для программного использования

n_b

# HA — тепловой порт фазы A
тепло

Details

Тепловой порт, связанный с фазной обмоткой .

Зависимости

Чтобы использовать этот порт, установите флажок Enable thermal port.

# HB — тепловой порт фазы B
тепло

Details

Тепловой порт, связанный с фазной обмоткой .

Зависимости

Чтобы использовать этот порт, установите флажок Enable thermal port.

# HR — тепловой порт ротора
тепло

Details

Тепловой порт, связанный с ротором.

Зависимости

Чтобы использовать этот порт, установите флажок Enable thermal port.

Параметры

Electrical Torque

# Simulation mode — режим симуляции
Stepping | Averaged

Details

Используйте Averaged только в том случае, если блок подключен непосредственно к блоку драйвера шагового двигателя, который также работает в усредненном режиме.

Значение по умолчанию

Stepping

Имя для программного использования

simulation_mode

# Vector of rotational speeds — скорость вращения ротора
rpm | deg/s | rad/s

Details

Вектор скоростей вращения, при которых определяются максимальные значения крутящего момента, для прогнозирования проскальзывания.

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Averaged.

Значение по умолчанию

[0.0, 1000.0, 3000.0] rpm

Имя для программного использования

angular_velocity_vector

# Vector of maximum torque values — максимальный крутящий момент
N*m | lbt*ft | mN*m

Details

Вектор максимальных значений крутящего момента, используемых для прогнозирования проскальзывания с помощью параметра Vector of rotational speeds. Эти значения часто указываются в техническом паспорте и соответствуют напряжению питания и типу шага (полушаг или полный шаг), указанному в драйвере.

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Averaged.

Значение по умолчанию

[2.0, 2.0, 1.0] N*m

Имя для программного использования

torque_vector

# Approximate total load inertia — общая инерция нагрузки
g*cm^2 | kg*m^2 | lbm*ft^2 | lbm*in^2 | slug*ft^2 | slug*in^2

Details

Приблизительная общая инерция нагрузки, включая инерцию ротора. Это значение используется для прогнозирования проскальзывания при резких ускорениях.

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Averaged.

Значение по умолчанию

1e-4 kg*m^2

Имя для программного использования

J_total

# Maximum step rate command — максимальная частота команд
Hz | GHz | MHz | kHz

Details

Максимальная командная частота шага системы. Используется для определения подходящей полосы пропускания для аппроксимации системы второго порядка для шагового двигателя и драйвера.

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Averaged.

Значение по умолчанию

10.0 Hz

Имя для программного использования

max_step_rate

# Phase winding resistance — фазовое сопротивление
Ohm | GOhm | MOhm | kOhm | mOhm

Details

Сопротивление фазных обмоток и .

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Stepping.

Значение по умолчанию

0.55 Ohm

Имя для программного использования

R_phase_winding

# Phase winding inductance — фазовая индуктивность
H | mH | nH | uH

Details

Индуктивность фазных обмоток и .

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Stepping.

Значение по умолчанию

0.0015 H

Имя для программного использования

L_phase_winding

# Motor torque constant — электромагнитный момент
Wb | N*m/A | mN*m/A

Details

Постоянный крутящий момент двигателя.

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Stepping.

Значение по умолчанию

0.19 N*m/A

Имя для программного использования

torque_constant

# Detent torque — амплитуда изменения крутящего момента
N*m | lbt*ft | mN*m

Details

Амплитуда синусоидального изменения крутящего момента, наблюдаемого при вращении вала неработающего двигателя.

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Stepping.

Значение по умолчанию

0.0 N*m

Имя для программного использования

detent_torque

# Magnetizing resistance — сопротивление намагниченности фазы
Ohm | GOhm | MOhm | kOhm | mOhm

Details

Общее сопротивление намагниченности каждой из фазных обмоток. Значение должно быть больше нуля. Значение по умолчанию подразумевает отсутствие потерь в железе.

Зависимости

Чтобы использовать этот параметр, установите для параметра Simulation mode значение Stepping.

Значение по умолчанию

Inf Ohm

Имя для программного использования

R_m

# Full step size — размер шага
deg | rad | rev

Details

Размер шага при изменении полярности тока фазы или .

Значение по умолчанию

1.8 deg

Имя для программного использования

step

Mechanical

# Rotor inertia — инерция вращения
g*cm^2 | kg*m^2 | lbm*ft^2 | lbm*in^2 | slug*ft^2 | slug*in^2

Details

Консервативная сила, противодействующая ускорению ротора.

Значение по умолчанию

4.5e-05 kg*m^2

Имя для программного использования

J

# Rotor damping — демпфирование вращения
N*m/(rad/s) | ft*lbf/(rad/s)

Details

Диссипативная сила, противодействующая скорости вращения ротора.

Значение по умолчанию

0.0008 N*m/(rad/s)

Имя для программного использования

D

# Initial rotor angle — начальный угол
rpm | deg/s | rad/s

Details

Угол ротора в начале симуляции.

Значение по умолчанию

0.0 rpm

Имя для программного использования

angular_position_start

# Initial rotor speed — начальная скорость
deg | rad | rev

Details

Скорость ротора в начале симуляции.

Значение по умолчанию

0.0 deg

Имя для программного использования

angular_velocity_start

Temperature Dependence

# Resistance temperature coefficients, [alpha_A alpha_B] — температурные коэффициенты
1/K | 1/degR | 1/deltaK | 1/deltadegC | 1/deltadegF | 1/deltadegR

Details

Двухэлементный вектор, определяющий коэффициент в уравнении, связывающем сопротивление с температурой, как описано в Моделирование тепловых эффектов. Первый элемент соответствует обмотке , а второй — обмотке . Значение по умолчанию соответсвует меди.

Значение по умолчанию

[3.93e-3, 3.93e-3] 1/K

Имя для программного использования

alpha_vector

# Measurement temperature — эталонная температура
K | degC | degF | degR | deltaK | deltadegC | deltadegF | deltadegR

Details

Температура, для которой определяются параметры двигателя.

Значение по умолчанию

25.0 degC

Имя для программного использования

T_measurement

# Stepping mode — выбор режима шагов в усредненном режиме
Full stepping | Half stepping

Details

Параметр определяет режим шагов в усредненном режиме. При выборе Full stepping мотор делает целый шаг за один импульс, при выборе Half stepping мотор делает полшага за один импульс.

Зависимости

Чтобы использовать этот параметр, установите флажок Enable thermal port, а для параметра Simulation mode установить значение Averaged.

Значение по умолчанию

Full stepping

Имя для программного использования

stepping_mode

Thermal Port

# Enable thermal port — опция включения тепловых портов

Details

Установите этот флажок, чтобы открыть тепловые порты.

Значение по умолчанию

false (выключено)

Имя для программного использования

has_thermal_port

# Winding thermal masses, [M_A M_B] — тепловые массы обмоток
J/K | kJ/K

Details

Двухэлементный вектор, определяющий тепловую массу для обмоток и соответственно. Тепловая масса — это энергия, необходимая для повышения температуры на один градус.

Зависимости

Чтобы использовать этот параметр, установите флажок Enable thermal port.

Значение по умолчанию

[100.0, 100.0] J/K

Имя для программного использования

thermal_mass_vector

# Winding initial temperatures, [T_A T_B] — начальные температуры обмоток
K | degC | degF | degR | deltaK | deltadegC | deltadegF | deltadegR

Details

Двухэлементный вектор, определяющий температуру тепловых портов для обмоток и в начале симуляции.

Зависимости

Чтобы использовать этот параметр, установите флажок Enable thermal port.

Значение по умолчанию

[25.0, 25.0] degC

Имя для программного использования

T_winding_vector_start

# Rotor thermal mass — тепловая масса ротора
J/K | kJ/K

Details

Тепловая масса ротора. Тепловая масса — это энергия, необходимая для повышения температуры на один градус.

Зависимости

Чтобы использовать этот параметр, установите флажок Enable thermal port.

Значение по умолчанию

50.0 J/K

Имя для программного использования

rotor_thermal_mass

# Rotor initial temperature — начальная температура ротора
K | degC | degF | degR | deltaK | deltadegC | deltadegF | deltadegR

Details

Температура ротора в начале симуляции.

Зависимости

Чтобы использовать этот параметр, установите флажок Enable thermal port.

Значение по умолчанию

25.0 degC

Имя для программного использования

T_rotor_start

# Percentage of magnetizing resistance associated with the rotor — намагниченность ротора в процентах

Details

Процент намагничивающего сопротивления, связанного с магнитным путем через ротор. Он определяет, какая часть нагрева от потерь в железе приходится на тепловой порт ротора HR, и тепловые порты обмоток HA и HB.

Зависимости

Чтобы использовать этот параметр, установите флажок Enable thermal port.

Значение по умолчанию

90.0

Имя для программного использования

R_m_percentage_rotor

Литература

[1] M. Bodson, J. N. Chiasson, R. T. Novotnak and R. B. Rekowski. “High-Performance Nonlinear Feedback Control of a Permanent Magnet Stepper Motor.” IEEE Transactions on Control Systems Technology, Vol. 1, No. 1, March 1993.

[2] P. P. Acarnley. Stepping Motors: A Guide to Modern Theory and Practice. New York: Peregrinus, 1982.

[3] S.E. Lyshevski. Electromechanical Systems, Electric Machines, and Applied Mechatronics. CRC, 1999.