В данной статье рассматриваются преимущества использования шаговых двигателей в конструкции бионических протезов, связанных, в первую очередь, с уменьшением используемых элементов конструкции, а, следовательно, и с уменьшением размеров конструкции. Основанием для статьи являются следующие свойства шаговых двигателей [3]: угол поворота ротора определяется числом импульсов, которые поданы на двигатель; двигатель обеспечивает полный момент в режиме остановки (если обмотки запитаны); прецизионное позиционирование и повторяемость. Хорошие шаговые двигатели имеют точность от 3 до 5 % от величины шага. Эта ошибка не накапливается от шага к шагу; возможность быстрого старта/остановки/реверсирования; высокая надежность, связанная с отсутствием щеток, срок службы шагового двигателя фактически определяется сроком службы подшипников; однозначная зависимость положения от входных импульсов обеспечивает позиционирование без обратной связи; возможность получения очень низких скоростей вращения для нагрузки, присоединенной непосредственно к валу двигателя без промежуточного редуктора; может быть перекрыт довольно большой диапазон скоростей, скорость пропорциональна частоте входных импульсов.
Отсутствие концевых выключателей
Одним из основных преимуществ шаговых двигателей является легкость их управления. Обладая документацией на используемый двигатель [1], всегда можно узнать количество перепадов напряжения на обмотках шагового двигателя соответствующее перемещению ротора двигателя на один шаг. Таким образом, в теории и на практике, можно отслеживать идеальное (в отсутствии проскальзывания) перемещение выходного вала двигателя. Современные микроконтроллеры, в большинстве своем, обладают достаточными вычислительными мощностями, чтобы быть способными сосчитать количество импульсов на обмотках управления двигателем, преобразовать их по определенному алгоритму в угловое перемещение выходного вала и записать полученное значение в память микроконтроллера. Полученную информацию об угловом положении выходного вала легко использовать для создания программного концевого выключателя — при достижении значения счетчика импульсов определенного значения, микроконтроллер вызывает прерывание, прекращающее подачу питания на обмотки управления двигателя.
Использование вышеописанного метода отслеживания углового положения ротора двигателя допустимо лишь в том случае, если отсутствует явление проскальзывания ротора — отсутствии движения выходного вала при подаче управляющего воздействия на обмотки. Данный эффект может проявиться при наличии значительного внешнего момента на валу двигателя или несовершенства конструкции двигателя. Решением проблемы является установка дополнительного датчика обратной связи по угловому положению выходного вала высокой точности, приводящее нас к следующему преимуществу использования шаговых двигателей — программной реализации сил-моментного решения на основе данных о положении выходного вала двигателя с двух источников.
Сил-моментное решение
Блок схема, реализующая программное сил-моментное решение, представлена на рисунке 1. Описание логики работы блоков схемы и переменных, используемых в схеме, приведено в приложении А.
Так как момент на выходном валу шагового двигателя имеет сложную нелинейную зависимость от скорости вращения и выбранного режима шага двигателя [2], выбор которых выходит за рамки данной статьи, алгоритм рассматривается в контексте неизменности этих параметров.
В соответствии с рисунком 1, в рамках алгоритма выполняется следующая логика:
1) После выбора, на основании показаний датчиков, требуемых скорости и направления вращения (DIR) с заданным моментом на валу (U), система начинает отслеживать абсолютные значения угла поворота выходного вала в двух разрезах — MC (данные пересчета импульсов) и Encoder (данные с энкодера)
2) При появлении внешнего момента на валу двигателя, превышающего значение U, из-за эффекта проскальзывания происходит рассогласование между значениями MC и Encoder. В случае если разность между MC и Encoder превышает пороговое значение CONST_1 в течение времени CONST_2, система исполняет следующие действия:
- Перевод двигателя в режим удержания (Break = «TRUE»).
- Присваивает переменной MC значение Encoder, производя согласование расчетного угла поворота с фактическим.
- Сохранение состояния системы до момента изменения требуемого момента на валу или требуемого направления вращения.
- Переход к пункту 1).
Описанный выше алгоритм позволяет реализовать сил-моментное решение, эффективность которого определяется значением CONST_1, точностью пересчета показаний энкодера и качества изготовления двигателя.
Данное решение так же имеет «естественный» способ борьбы с ложным срабатыванием. Так как алгоритм рассматривается как применимый в бионических протезах, смена требуемых значений момента и направления вращения, в случае ложного срабатывания, потребует от человека буквально одно движение, чтобы изменить задающие сигналы с датчиков.
Рис. 1. Сил-моментное решение
Заключение
Исходя из изложенного выше, можно подвести краткие итоги преимуществ шаговых двигателей в конструкции мехатронных узлов устройств, требующих применения сил-моментного решения и минимизации габаритов:
1) Уменьшение габаритов конструкции за счет исключения концевых выключателей и датчиков момента на валу.
2) Легкость управления двигателями по сравнению с двигателями постоянного тока и асинхронными двигателями.
3) Возможность широкой программной настройки эффективности сил-моментного решения без изменения аппаратной части.
Приложение
Пояснения к используемым в работе элементам и обозначениям приведены в таблице 1.
Таблица 1
Описание элементов
Обозначение элемента |
Тип элемента |
Комментарии |
|||||||||||||||
MC |
real |
Угловое положение выходного вала двигателя, рассчитанное контроллером на основании подсчета количества импульсов на обмотках шагового двигателя. |
|||||||||||||||
Encoder |
real |
Угловое положение выходного вала двигателя, полученное от энкодера. |
|||||||||||||||
CONST_1 |
real |
Максимально допустимое рассогласование между MC и Encoder. |
|||||||||||||||
CONST_2 |
real |
Время подтверждения сигнала о превышении максимально допустимого рассогласования между MC и Encoder. |
|||||||||||||||
Break |
bool |
Сигнал к переходу двигателя в режим удержания. |
|||||||||||||||
Condition |
Structure |
Набор значений от датчиков, задающий требуемый момент на выходном валу и направление вращения. |
|||||||||||||||
U_0, U_1, U_2, U_3 |
real |
Значение возможных напряжений на обмотках шагового двигателя. |
|||||||||||||||
U |
real |
Текущее требуемое значение напряжения на обмотках шагового двигателя. |
|||||||||||||||
DIR |
bool |
Текущее направление вращения выходного вала двигателя. |
|||||||||||||||
U [n-1] |
real |
Требуемое на предыдущей итерации напряжение на обмотках шагового двигателя. |
|||||||||||||||
DIR [n-1] |
bool |
Требуемое на предыдущей итерации направление вращение выходного вала двигателя. |
|||||||||||||||
|
Элемент блок-схемы |
Элемент возвращает на выходе разность входов. |
|||||||||||||||
|
Элемент блок-схемы |
Элемент возвращает на выходе состояние TRUE, если выполняется условие элемента. |
|||||||||||||||
|
Элемент блок-схемы |
Элемент возвращает на выходе один из входов, в зависимости от управляющего входа. |
|||||||||||||||
|
Элемент блок-схемы |
Элемент возвращает на выходе состояние TRUE, если хотя бы один из входов имеет состояние TRUE. |
|||||||||||||||
|
Элемент блок-схемы |
Элемент присваивает переменной MC значение переменной Encoder, если на вход элемента приходит состояние TRUE |
|||||||||||||||
|
Элемент блок схемы |
Элемент возвращает на выходе состояние TRUE или FALSE в соответствии с таблицей истинности, где Сn-1 — значение выхода на прошлой итерации.
|
Литература:
- P430 disc magnetic motors, product datasheet, 2020, [Электронный ресурс]
- https://www.portescap.com/products/disc-magnet-motors/p430-disc-magnet-high-speed-step-motor
- P430 disc magnetic motors mechanical characteristics, 2020, [Электронный ресурс] https://www.portescap.com/sites/default/files/Disc_Magnet_Stepper_Speed_vs_Torque_Curves_specifications.pdf
- «Основы схемотехники», № 6–7/2001. Автор — Л.Ридико, [Электронный ресурс]
- https://electroprivod.ru/stepmotor.htm