Шаговый двигатель

Использование

В машиностроении наибольшее распространение получили высокомоментные двухфазные гибридные шаговые электродвигатели с угловым перемещением 1,8°/шаг (200 шагов/оборот) или 0,9°/шаг (400 шаг/об). Точность выставления шага определяется качеством механической обработки ротора и статора электродвигателя. Производители современных шаговых электродвигателей гарантируют точность выставления шага без нагрузки до 5 % от величины шага.

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

Режим дробления шага (микрошаг) реализуется при независимом управлении током обмоток шагового электродвигателя. Управляя соотношением токов в обмотках можно зафиксировать ротор в промежуточном положении между шагами. Таким образом можно повысить плавность вращения ротора и добиться высокой точности позиционирования. Качество изготовления современных шаговых двигателей позволяет повысить точность позиционирования в 10—20 раз.

Шаговые двигатели стандартизованы (NEMA) по посадочным размерам и размеру фланца: NEMA 17, NEMA 23, NEMA 34 и др. — размер фланца 42, 57, 86 и 110 мм соответственно. Шаговые электродвигатели NEMA 23 могут создавать крутящий момент до 30 кгс⋅см, NEMA 34 до 120 кгс⋅см и до 210 кгс⋅см для двигателей с фланцем 110 мм.

Шаговый электродвигатель с интегрированным контроллером

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

Шаговые электродвигатели применяются в приводах машин и механизмов, работающих в старт-стопном режиме, или в приводах непрерывного движения, где управляющее воздействие задаётся последовательностью электрических импульсов, например, в станках с ЧПУ. В отличие от сервоприводов, шаговые приводы позволяют получать точное позиционирование без использования обратной связи от датчиков углового положения.

Шаговые двигатели применяются в устройствах компьютерной памяти — НГМД, НЖМД, устройствах чтения оптических дисков.

Датчик поворота

Шаговые двигатели с постоянными магнитами могут использоваться в качестве датчиков угла поворота благодаря возникновению ЭДС на обмотках при вращении ротора. При этом, несмотря на удобство пользования и хорошую точность и повторяемость, необходимо учитывать, что:

  • без вращения вала нет ЭДС; определить положение стоящего вала нельзя;
  • возможна остановка вала в зоне неустойчивого равновесия (промежуточно между полюсами) ШД. Последующий пуск вала приведёт к тому, что, в зависимости от чувствительности компаратора, будет пропуск этого полюса, или два импульса вместо одного. В обоих случаях все дальнейшие отсчёты будут с ошибкой на один шаг. Для практически полного, но не 100 %, устранения такого поведения необходимо применить муфту с соответствующим гистерезисом (угловым люфтом).

Драйвер шагового двигателя

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

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

Шаговый двигатель – двигатель со сложной схемой управления, которому требуется специальное электронное устройство – драйвер шагового двигателя.
Драйвер шагового двигателя получает на входе логические сигналы STEP/DIR, которые, как правило, представлены высоким и низким уровнем опорного напряжения 5 В, и в соответствии с полученными сигналами изменяет ток в обмотках двигателя, заставляя вал поворачиваться в соответствующем направлении на заданный угол. >Сигналы STEP/DIR генерируются ЧПУ-контроллером или персональным компьютером, на котором работает программа управления типа Mach3 или LinuxCNC.

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

Типы (виды) драйверов ШД

Драйверы делятся по способу закачки тока в обмотки на несколько видов:1) Драйверы постоянного напряжения

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

2) Двухуровневые драйверы

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

3) Драйверы с ШИМ.

На текущий момент ШИМ-драйверы шаговых двигателей наиболее популярны, практически все драйверы на рынке – этого типа. Эти драйверы подают на обмотку шагового мотора ШИМ-сигнал очень высокого напряжения, которое отсекается по достижению током необходимого уровня. Величина силы тока, по которой происходит отсечка, задается либо потенциометром, либо DIP-переключателем, иногда эта величина программируется с помощью специального ПО. Эти драйверы достаточно интеллектуальны, и снабжены множеством дополнительных функций, поддерживают разные деления шага, что позволяет увеличить дискретность позиционирования и плавность хода. Однако, ШИМ-драйверы также весьма сильно отличаются друг от друга. Помимо таких характеристик, как питающее напряжение и максимальный ток обмотки, у них отличается частота ШИМ. Лучше, если частота драйвера будет более 20 кГц, и вообще, чем она больше – тем лучше. Частота ниже 20 кГц ухудшает ходовые характеристики двигателей и попадает в слышимый диапазон, шаговые моторы начинают издавать неприятный писк. Драйверы шаговых двигателей вслед за самими двигателями делятся на униполярные и биполярные. Начинающим станкостроителям настоятельно рекомендуем не экспериментировать с приводами, а выбрать те, по которым можно получить максимальный объем технической поддержки, информации и для которых продукты на рынке представлены наиболее широко. Такими являются драйверы биполярных гибридных шаговых двигателей.

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

Скетч Arduino — использование библиотеки AccelStepper

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

Итак, для нашего следующего эксперимента мы будем использовать расширенную библиотеку шаговых двигателей под названием AccelStepper library. Она поддерживает:

  • Ускорение и замедление.
  • Одновременное управление несколькими шаговыми двигателями с независимым шагом для каждого двигателя.

Эта библиотека не включена в IDE Arduino, поэтому вам необходимо сначала установить ее.

Установка библиотеки

Чтобы установить библиотеку, перейдите в Эскиз> Include Library> Manage Libraries… Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.

Отфильтруйте результаты поиска, набрав «Accelstepper». Щелкните первую запись и выберите «Установить».

Скетч Arduino

Вот простой код, который ускоряет шаговый двигатель в одном направлении, а затем замедляется, чтобы остановиться. Как только двигатель совершает один оборот, он меняет направление вращения. И он повторяет это снова и снова.

// Подключаем библиотеку AccelStepper
#include <AccelStepper.h>

// Устанавливаем выводы
const int dirPin = 2;
const int stepPin = 3;

// Определение тип интерфейса двигателя
#define motorInterfaceType 1

// Создаем экземпляр
AccelStepper myStepper(motorInterfaceType, stepPin, dirPin);

void setup() {
  // Устанавливаем максимальную скорость, коэффициент ускорения,
  // начальную скорость и целевую позицию
  myStepper.setMaxSpeed(1000);
  myStepper.setAcceleration(50);
  myStepper.setSpeed(200);
  myStepper.moveTo(200);
}

void loop() {
  // Изменение направления вращения, когда двигатель достигнет целевого положения
  if (myStepper.distanceToGo() == 0) 
    myStepper.moveTo(-myStepper.currentPosition());

  // Передвинуть на 1 шаг
  myStepper.run();
}

Пояснение к скетчу:

Мы начинаем с подключения недавно установленной библиотеки AccelStepper.

#include <AccelStepper.h>

Определяем выводы Arduino, к которым подключаются выводы STEP и DIR A4988. Устанавливаем motorInterfaceType значение 1. (1 означает внешний шаговый драйвер с выводами Step и Direction).

const int dirPin = 2;
const int stepPin = 3;

#define motorInterfaceType 1

Затем мы создаем экземпляр библиотеки с именем myStepper.

AccelStepper myStepper(motorInterfaceType, stepPin, dirPin);

В функции setup() мы сначала устанавливаем максимальную скорость двигателя 1000. Затем мы устанавливаем коэффициент ускорения для двигателя, чтобы добавить ускорение и замедление к движениям шагового двигателя.

Затем мы устанавливаем обычную скорость 200 и количество шагов, например, 200 (поскольку NEMA 17 совершает 200 шагов за оборот).

void setup() {
  myStepper.setMaxSpeed(1000);
  myStepper.setAcceleration(50);
  myStepper.setSpeed(200);
  myStepper.moveTo(200);
}

В функции loop() мы используем оператор If, чтобы проверить, как далеко двигателю нужно проехать (путем чтения distanceToGo), пока он не достигнет целевой позиции (moveTo). Как только distanceToGo станет равен нулю мы переключаем двигатель в противоположное направление, изменив moveTo на противоположное значение относительно его текущего положения.

Теперь в конце цикла мы вызываем  функцию run(). Это самая важная функция, поскольку шаговый двигатель не будет работать, пока эта функция не будет выполнена.

void loop() {
  if (myStepper.distanceToGo() == 0) 
    myStepper.moveTo(-myStepper.currentPosition());

  myStepper.run();
}

Принцип управления шаговым двигателем

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

  • полно-,
  • полу-,
  • и микрошаговый.

Каждый из них обладает своими особенностями. Первый из них мы уже косвенно описывали выше, и он сводится к поочередной коммутации фаз; причем только одна из них в любой из моментов может быть подключена к источнику – они не должны перекрывать друг друга. Этот закон отражен в английском названии метода – one phase – one step. Точки равновесия при этом обязаны совпадать с направлением полюсов статора.

Минус здесь в том, что одновременно задействована лишь половина обмоток (у биполярного агрегата) или даже четверть (у униполярного).

Также можно выбрать принцип работы шагового мотора, при котором питание будет подаваться сразу на все витки. Он известен как способ two-phase-on (full step), и при нем ротор остается в состоянии равновесия между силовыми линиями неподвижной части вала, причем смещенным на половину дискретного движения. Благодаря такому решению крутящий момент может быть повышен до 35-40%.

Полушаговый режим

На каждом втором перемещении задействована одна фаза, в то время как между ними – пара. Это дает возможность вдвое уменьшить величину угла и, следовательно, в 2 раза повысить количество переходов в течение оборота. Удобен именно тем, что сравнительно просто обеспечивает результат, поэтому достаточно распространен.

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

Иначе подвижный вал будет в свободном состоянии и при механическом воздействии (которое весьма вероятно) сместится, чего нельзя допустить. Зато при его подаче отпадает потребность в организации тормозной системы, добавлении механического фиксатора или другого элемента, способного стать «слабым звеном», то есть снизить общую надежность силового агрегата.

Микрошаговый режим

Рассмотрим, как в этом случае действует пошаговый двигатель: принцип работы сводится ко включению двух фаз с неравномерным распределением тока обмоток. Благодаря этому смещается магнитное поле статора, а вслед за ним и позиция ротора. Диспропорция между переключениями отличается маленькой дискретностью.

За счет такого подхода осуществляются крайне малые шаги – в 1/3 от полного или еще короче, числом до 1000 за оборот. Это позволяет максимизировать точность установки инструментов, хотя и значительно усложняет систему контроля. На практике данное решение востребовано в особо сложных и ответственных случаях, при создании и использовании сравнительно дорогих, но прецизионных станков.

Примеры расчетов шаговых двигателей для ЧПУ

Определяем силы, действующие в системе

Необходимо определить силу трения в направляющих, которая зависит от используемых материалов. Для примера коэффициент трения составляет 0.2, вес детали – 300 кгс, вес стола – 100 кгс, необходимое ускорение – 2 м/с2, сила резания – 3 000 Н.

  1. Чтобы рассчитать силу трения нужно умножить коэффициент трения на вес движущейся системы. Для примера: 0.2 x 9.81 (100 кгс+300 кгс). Получается 785 Н.
  2. Чтобы рассчитать силу инерции надо умножить массу стола с деталью на требуемое ускорение. Для примера: 400 x 2 = 800 Н.
  3. Чтобы рассчитать полную силу сопротивления надо сложить силы трения, инерции и резания. Для примера: 785 + 800 + 3 000. Получается 4 585 Н.

Справка: силу сопротивления должен развивать привод стола на гайке шариковой винтовой передачи.

Рассчитываем мощность

Формулы, приведенные ниже, представлены без учета инерции вала самого шагового двигателя и других вращающихся механизмов. Поэтому для большей точности рекомендуется увеличить или убавить требования по ускорению на 10%.

Для расчета мощности шагового двигателя следует воспользоваться формулой F=ma, где:

  • F – сила в ньютонах, необходимая для того, чтобы привести тело в движение;
  • m – масса тела в кг;
  • а – необходимое ускорение m/c2.

Для определения механической мощности необходимо умножить силу сопротивления движения на скорость.

Совет: существуют калькуляторы для автоматического расчета мощности.

Рассчитываем редукцию оборотов

Определяется на основании номинальных оборотов сервопривода и максимальной скорости перемещения стола. Например, скорость перемещения составляет 1 000 мм/мин, шаг винта шариковой винтовой передачи – 10 мм. Тогда скорость вращения винта ШВП должна быть (1 000 / 10) 100 оборотов в минуту.

Для расчета коэффициента редукции учесть номинальные обороты сервопривода. Например, они равны 5 000 об/мин. Тогда редукция будет равна (5 000 / 100) 50.

Конфигурация системы

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

Фазы обозначают порядковыми номерами 1, 2, 3 и т.д. либо буквами А, В, С и т.д. Последний вариант используется только в случае некоторых двухфазных двигателей. Таким образом, в каждый конкретный момент времени возбуждена только одна фаза из двух, трех или четырех имеющихся (в зависимости от типа двигателя). При объяснении принципов работы такого устройства это обстоятельство упоминается постоянно, но необходимо понимать, что указанная схема вовсе не является идеальным способом управления.

Особенности управления

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

Полношаговый режим

При таком способе двигателем производится попеременная коммутация фаз. При этом к источнику напряжения фазы подключаются попеременно без перекрытия. Точки равновесия ротора при таком управлении совпадают с полюсами статора. К недостаткам полношагового режима относят то, что в каждый момент времени у биполярного двигателя используется половина обмоток, а у униполярного лишь четверть. Если подключить две фазы на полный шаг, то ротор будет зафиксирован между полюсами статора благодаря подаче питания на все обмотки. При этом увеличивается крутящий момент шагового двигателя, а положение ротора в состоянии равновесия смещается на полшага. Угол шага при этом остается неизменным.

Полушаговый режим

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

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

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

Микрошаговый режим

Чтобы максимально увеличить число шагов двигателя, используется микрошаговый режим. Для этого требуется включить две фазы и распределить ток обмоток неравномерно. При смещении магнитного поля статора относительно полюсов смещается и сам ротор. У диспропорции токов между рабочими фазами двигателя обычно наблюдается дискретность, которая определяет величину микрошага. Количество микрошагов на один оборот ротора шагового двигателя может составлять более 1 000. Устройство, работающее в таком режиме, можно максимально точно позиционировать. Однако данный способ управления является достаточно сложным.

Режимы управления

Теперь рассмотрим различные способы подачи тока на обмотки и увидим, как в результате вращается вал мотора.

Волновое управление или полношаговое управление одной обмоткой

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

У такого мотора будет 4 шага на оборот, что является номинальным числом шагов.

Полношаговый режим управления

Вторым, и наиболее часто используемым методом, является полношаговый метод. Для реализации этого способа, напряжение на обмотки подается попарно. В зависимости от способа подключения обмоток (последовательно или параллельно), мотору потребуется двойное напряжение или двойной ток для работы по отношению к необходимым при возбуждении одной обмотки. В этом случае мотор будет выдавать 100% номинального вращающего момента.

Такой мотор имеет 4 шага на полный оборот, что и является номинальным числом шагов для него.

Полушаговый режим

Это очень интересный способ получить удвоенную точность системы позиционирования, не меняя при этом ничего в «железе»! Для реализации этого метода, все пары обмоток могут запитываться одновременно, в результате чего, ротор повернется на половину своего нормального шага. Этот метод может быть также реализован с использованием одной или двух обмоток. Ниже показано, как это работает.

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

Режим микрошага

Микрошаговый режим наиболее часто применяемый способ управления шаговыми двигателями на сегодняшний день. Идея микрошага состоит в подаче на обмотки мотора питания не импульсами, а сигнала, по своей форме, напоминающего синусоиду. Такой способ изменения положения при переходе от одного шага к другому позволяет получить более гладкое перемещение, делая шаговые моторы широко используемыми в таких приложениях как системы позиционирования в станках с ЧПУ. Кроме этого, рывки различных деталей, подключенных к мотору, также как и толчки самого мотора значительно снижаются. В режиме микрошага, шаговый мотор может вращаться также плавно как и обычные двигатели постоянного тока.

Форма тока, протекающего через обмотку похожа на синусоиду. Также могут использоваться формы цифровых сигналов. Вот некоторые примеры:

Метод микрошага является в действительности способом питания мотора, а не методом управления обмотками. Следовательно, микрошаг можно использовать и при волновом управлении и в полношаговом режиме управления. Ниже продемонстрирована работа этого метода:

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

Конструктивные исполнения ШД

Двигатель с полым валом

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

Двигатель со встроенной в вал приводной гайкой

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

Двигатель с двойным валом

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

Находят себе применение например в 3д принтерах или в любом другом месте, где хочется сэкономить место не только на муфте между валом и винтом, но и на подшипниковой опоре винта, роль которой в данном случае выполняют подшипники двигателя.

Двигатель со встроенным тормозом

Позволяет зафиксировать вал в нужной позиции дополнительно к удержанию самим шаговиком. Так же позволяет удерживать вал в случае отключения питания двигателя.

Двигатель с редуктором

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

Двигатель с энкодером

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