Конструктор с шаговым двигателем

Обновлено: 28.04.2024

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

В отличие от сервоприводов, шаговые приводы позволяют получать точное позиционирование без использования обратной связи от датчиков углового положения. Шаговые двигатели широко применяются в станках ЧПУ, системах автоматизации и управляются специальными устройствами - драйверами шагового двигателя. Мы предлагаем шаговые двигатели различных размеров (NEMA 17, 23, 34, 43):

Линейные шаговые актуаторы - это шаговый двигатель с трапецеидальным винтом вместо стандартного вала.

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

Трехфазные шаговые двигатели (ШД) применяются в оборудовании с высокими требованиями к точности позиционирования, уровням вибрации и шума. В каталоге компании Purelogic R&D представлены двигатели с фланцем от 57 мм до 130 мм.

Шаговый двигатель с тормозом - это синхронный бесщёточный электродвигатель с несколькими обмотками, в котором ток, подаваемый в одну из обмоток статора, вызывает фиксацию ротора. Последовательная активация обмоток двигателя вызывает дискретные угловые перемещения (шаги) ротора. В отличие от сервоприводов, шаговые приводы позволяют получать точное позиционирование без использования обратной связи от датчиков углового положения. Электрический тормоз позволяет фиксировать вал шагового двигателя при обесточенных обмотках. Шаговые двигатели с тормозом широко применяются в станках ЧПУ, системах автоматизации и управляются специальными устройствами - драйверами шагового двигателя. Мы предлагаем шаговые двигатели с тормозом различных размеров (NEMA 17, 23, 34, 43).

Шаговые двигатели с энкодером (серво-шаговые двигатели, шаговые серводвигатели). В отличие от сервопривода с применением щеточного DC или бесщеточного PMSM электродвигателя, сервопривод на базе ШД обладает более скоростным откликом на команду и отсутствуем эффекта колебания ротора в точке останова (ротор не "рыскает"). В отличие от обычного привода с ШД без обратной связи, сервопривод на базе ШД исключает пропуск шагов и на высоких скоростях осуществляет прирост момента на 30%.

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

Шаговые двигатели с червячным редуктором обеспечивают больший крутящий момент и широко применяются для построения станков с ЧПУ и систем автоматизации производства. В каталоге компании Purelogic R&D представлены модели ШД 57мм и 86мм (NEMA23 и 34) с понижающим червячным редуктором. Коэффициент редукции от 1:10 до 1:60. Привод поставляется в сборе без выходного вала. Одинарный или двойной выходной вал приобретается отдельно.

[DEPTH_LEVEL] => 2 [DESCRIPTION_TYPE] => html [UF_IMG] => [UF_IMG_HOVER] => [UF_STYLE] => [UF_STYLE_HOVER] => [UF_FILTERS] => Array ( [0] => 793 [1] => 772 [2] => 452 [3] => 773 [4] => 489 [5] => 774 [6] => 775 [7] => 520 [8] => 453 [9] => 665 [10] => 776 [11] => 457 ) ) -->

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

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



Шаговый двигатель — бесколлекторный (бесщёточный) электрический двигатель с несколькими обмотками (фазами), расположенными на статоре и магнитами (часто постоянными) на роторе. Подавая напряжения на обмотки статора, мы можем фиксировать положение ротора, а подавая напряжение на обмотки последовательно можно получить перемещение ротора из одного положения в другое (шаг), причём этот шаг имеет фиксированную угловую величину.

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

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

Результатами своих поисков и экспериментами я поделюсь в этой статье.

Мы рассмотрим вопросы управления такими маленькими моторчиками, а именно:

  • драйвер L293D + микроконтроллер ATtiny44;
  • драйвер TMC2208 + микроконтроллер ATtiny44;
  • микроконтроллер ATtiny44 (без драйвера).

Знакомство

Сначала немного посмотрим на внешний вид нашего героя:


Он действительно очень маленький! Согласно умной книжке Петренко С.Ф.
«Пьезоэлектрические двигатели в приборостроении», меньших размеров электромагнитные моторчики создать в принципе невозможно… то есть возможно, но с уменьшением диаметра проволоки, из которой изготавливают обмотки, всё больше энергии рассеивается в виде тепла в окружающую среду, что приводит к уменьшению КПД моторчика и делает их использование нерациональным.

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

Отчётливо видны две обмотки, которые даже покрыты изоляцией разного цвета. Значит, наш моторчик относится, скорее всего, к классу биполярных шаговых двигателей.
Посмотрим как он устроен:


Считаю, наше знакомство с этими моторчиками будет не полным, если мы не посмотрим, что же у него внутри. Ведь всегда интересно заглянуть внутрь механизма! Разве нет?

Собственно, ничего необычного мы не увидели. Ротор намагничен. Подшипников нигде не наблюдается, всё на втулках. Задняя втулка запрессована в корпус двигателя. Передняя ничем не закреплена. Интересно, что корпус двигателя собирался точечной сваркой. Так что переднюю крышку корпуса пришлось спиливать.

Теперь перейдём к вопросу подключения и его электрическим характеристикам.

Убедимся, что он биполярный, прозвонив обмотки. Действительно биполярный, всё как на картинке выше. Сопротивление обмоток около 26Ом, хотя продавец указал 14Ом.
В описании сказано, что напряжение питания 5В. Хотя мы то с вами знаем, что для шагового двигателя важен ток, который будут потреблять его обмотки.
Пробуем подключить.

Эксперимент №1. L293D + ATtiny44

Как мы знаем, для управления биполярным шаговым двигателем необходимо не просто прикладывать напряжения к двум обмоткам в нужной последовательности, но и изменять направление тока в этих обмотках, причём делать это независимо друг от друга. Для этого на каждую обмотку нужен собственный Н-мост. Чтобы не городить его из транзисторов, был взят готовый в лице микросхемы L293D. Ещё одно её преимущество — у микросхемы имеются специальные выводы Enable1 и Enable2, который включают и выключают каждый мост. Их можно использовать чтобы подавать ШИМ сигнал, тем самым, возможно контролировать напряжения питания каждого моста. Зачем это может понадобиться, мы увидим дальше.

Кроме того, L293D может коммутировать напряжения до 36В и выдавать до 1,2А на каждый канал, чего вполне должно хватить для питания обмоток нашего моторчика.


Управляющие входы L293D подключены к выходам OC0A и OC0B, что позволит в будущем подавать на них ШИМ сигнал.

Прошивать контроллер будем через внутрисхемный программатор (на схеме не указан).
Вот как выглядит собранная схема на макетной плате:


И вот так расположен наш подопытный:


Теперь можно приступать к экспериментам.

Рассчитаем ток, который будет течь через обмотки двигателя при подключении их к напряжению 5В:

I=U/R = 5В/26Ом = 190мА

Совсем небольшой. Интересно как долго он сможет держать такой ток и не перегреться.

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

При падении напряжения на обмотке 2.56В амперметр показывает ток 150мА, причём хорошо заметно, как начинает падать величина силы тока в процессе нагревания обмоток. Надо отметить, что не так уж и сильно он греется.

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

Об этом довольно хорошо сказано здесь.

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

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

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

Полношаговый режим. Одна фаза

Двигатель делает 16 шагов на один оборот. Причём шаги для двух фаз имеют не одинаковую угловую величину. Не знаю с чем это связано. Может конструкция двигателя такая?

Посмотрим на максимальную частоту шагов, которую он может обеспечить в таком режиме, не пропуская их.

Минимальная задержка между шагами 2мс, значит 500 шагов/секунду. Неплохо, это 31 об/сек = 1850 об/мин.

Полношаговый режим. Две фазы

Обратите внимание, что в этом случае шаги получаются ровнее, они одинаковы по величине (во всяком случае, более одинаковы, чем в предыдущем случае).

Естественно, в этом случае под напряжением находятся одновременно две обмотки и теплоотдача возрастает. Двигатель уже через несколько секунд нагревается достаточно сильно, потому эксперимент я прекратил.

Что с максимальной частотой шагов? 500 шагов/секунду; 31 об/сек = 1875 об/мин.
Надо сказать, что для шагового двигателя он довольно шустрый. Это связано с малым количеством магнитных полюсов на роторе.

Эксперимент №2. TMC2208 + ATtiny44

TMC2208 — название микросхемы-драйвера для управления биполярными шаговыми двигателями, аналогично называется модуль на её основе, который выпускается для установки в самодельные (и не только) 3D принтеры и имеет унифицированное расположение выводов.
Много и доходчиво сказано про этот модуль вот здесь.

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

Характеристики микросхемы впечатляют (только впечатлительных людей):

  • напряжение питания логической части: 3-5В;
  • напряжение питания двигателя 5.5-36В;
  • пиковый ток 2А;
  • настройка максимального тока двигателя;
  • поддержка интерфейса UART как для управления, так и для конфигурирования внутренних регистров;
  • автоматическое отключение питания;
  • поддержка микрошагового режима управления двигателем вплоть до 1/16 шага.

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

Схема подключения будет выглядеть так:


Дополнительно я использовал пин EN, чтобы отключать моторчик и длительное время не держать обмотки под напряжением.

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

С микрошагом всё просто. За это отвечают пины MS1 и MS2.


Отмечу, что микросхема не скачкообразно меняет напряжение, а делает это «плавно», но так как микросхема цифровая, то на выходе у нас не гладкий сигнал, а сигнал с маленьким шагом, если верить документации, то каждый шаг она разбивает на 256 микрошагов. Сделано это для увеличения плавности хода, снижения шумов от двигателя и по идее не должно позволять конструкции, к которой он прикручен, входить в резонанс. Короче, всё для того, чтобы 3D принтер работал тише.

Чтобы выставить ток двигателя необходимо измерить напряжения на контакте Vref, который указан на рисунке. Изменить значение напряжения можно при помощи потенциометра, установленного рядом с контактом. Напряжение на контакте будет пропорционально току двигателя, и зависимость будет иметь следующий вид:

Нашему моторчику нужно примерно 150мА, потому Vref = 0,216В. Устанавливаем…

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

Протестируем работу моторчика с различными режимами микрошага и посмотрим что получится (пауза между микрошагами 10мс):

Можно заметить, что движения моторчика стали более плавными (по сравнению с предыдущим экспериментом), однако характерные 16 шагов всё равно наблюдаются довольно чётко. Что же… видимо это черта шаговых двигателей с ротором из постоянных магнитов.
Ещё необходимо отметить, что моторчик в этом режиме нагревается почти также сильно, как в полношаговом режиме с двумя фазами. Оно и понятно, обмотки постоянно находятся под напряжением, непрерывно происходит выделение тепла.

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

Эксперимент №3. ATtiny44-драйвер

Вернёмся ненадолго к первому эксперименту и вспомним, что входы EN1 и EN2 микросхемы драйвера подключены к пинам OC0A и OC0B микроконтроллера. Это значит, что мы можем подать туда ШИМ сигнал, генерируемый при помощи таймера TIMER0 и таким образом изменять напряжение, прикладываемое к обмоткам двигателя и соответственно регулировать ток, который будет протекать через них.

Согласно даташиту на микроконтроллер ATtiny44 максимальный ток, который может выдать один пин составляет всего 40мА. Причём не указано для какого вида тока (пульсирующего или постоянного) эта характеристика. Просто она есть и она вот такая…

Надо сказать, что я более 7 лет знаком с микроконтроллерами фирмы ATMEL. И ни разу у меня не возникло желания проверить эту строчку из даташита.


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

Мы это выясним. Но сначала нужно выяснить при каком минимальном токе моторчик вообще способен вращаться.

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

Отлично! При 40мА двигатель успешно запустился! Был также выявлено минимальное значение тока обмоток, необходимое для устойчивой работы мотора, и равно оно 30мА.

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

Схема подключения шагового двигателя к микроконтроллеру будет следующей:


Поскольку каждый пин микроконтроллера работает как полумост (может коммутировать вывод микросхемы либо на Vcc, либо на GND), то для управления биполярным шаговым мотором нам понадобиться 4 пина микроконтроллера.

Немного поясню как работает эта программа. Это модифицированный код из первого эксперимента. Как я говорил выше, будет использован 8 битный TIMER0 для генерирования ШИМ сигнала на выходах OC0A и OC0B. Таймер настраивается в режим FastPWM с предделителем на 8 (частота сигнала при 8МГц тактового генератора микроконтроллера составляет 3906Гц).

Чтобы изменять полярности сигналов на обмотках происходит переключение пина микроконтроллера от Vcc к GND изменением соответствующего бита в регистре PORTx и изменением коэффициента заполнения ШИМ путём записи значений в регистры OCR0A и OCR0B (значения подбирались экспериментально).

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

Шаговый двигатель вращается от пинов микроконтроллера без драйверов!

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

Отбросим все предосторожности

Уберём из эксперимента ШИМ и будем напрямую управлять пинами микроконтроллера при помощи регистров PORTx. Посмотрим что будет с микроконтроллером после этого.

Работает… с максимальным током в 51мА… Что же… неожиданно, похоже это и есть предельный ток, который может отдать один пин микроконтроллера? Если я ошибаюсь, поправьте меня.

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

Выводы

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

1. Миниатюрный биполярный шаговый мотор с ротором из постоянных магнитов действительно миниатюрный.

Его основные особенности:

  • малое количество магнитных полюсов, как следствие, малое количество шагов (у моего, напомню, всего 16);
  • относительно большая скорость вращения (следствие из предыдущего пункта), в эксперименте удалось достичь 1875 об/мин;
  • неудовлетворительно работает в микрошаговых режимах (не удерживается промежуточное положение ротора);

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

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

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

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



2 вывода питания с коннекторами Фишертехник, 4 вывода для подключения мотора и 5 выводов для подключения микроконтроллера (step, dir, enable). Отверстия в крышке пропилены с помощью Dremel, равно как и проточено отверстие в шестеренке под вал мотора — предупреждаю, пластик Фишертехника, хоть он и гибкий, обрабатывается не проще металла!

Введение

Нам захотелось сделать стандартный блок Фишертехник, который быстро и удобно устанавливается на любую модель и позволяет управлять шаговым мотором Nema 14, закрепленном в стандартном креплении Фишертехник. При этом, обеспечить «правильное» управление мотором (с ограничением рабочего тока) и тихое и быстрое его вращение. Соответственно, мы попробовали разные способы управления мотором и убедились, что специализированный драйвер представляет собой оптимальное решение.

Двумя катушками шагового мотора Nema можно управлять как двумя обычными моторами с помощью PWM (широтно-импульсной модуляции) и H-bridge, выбрав подходящее значение питающего напряжения так, чтобы не слишком превышать допустимый ток, и переключая их по очереди. Для управления двигателями у нас есть как копеечная микросхема SN754410NE Quadruple Half-H Driver так и плата расширения Kitronik Compact All-In-One Robotics Board for BBC micro:bit, преимущество платы расширения в том, что она включает в себя I2C расширитель портов на 16 выходов с подключенными H-bridge на 4 мотора и коннекторами для 8 сервоприводов и блоки для управления в среде разработки MakeCode, а также обеспечивает питание вставленного микроконтроллера Microbit от питающего напряжения до 10.8 В.

Детали и инструменты

Из каталога Фишертехник потребовались следующие детали:

С Aliexpress были заказаны:

    . Замечу, что моторы данного формфактора и с таким же валом на Амазоне и в других каталогах представлены от этого же производителя. Есть еще аналогичные моторы с круглым валом — но его придется пилить дремелем, чтобы насадить шестерню Фишертехник (или ставить муфту, что вовсе не всегда удобно). . Обратите здесь внимание на подробное описание драйвера по ссылке. Сейчас этот лот недоступен, но полно аналогичных.
  • Резисторы набором, включая номинал 4.7 кОм (подключен для подтяжки входа Enable драйвера мотора к питанию микроконтроллера).
  • Конденсаторы электролитические набором, включая номинал 47 мкф (подключен к цепи питания драйвера мотора согласно схеме). — ссылку на лот не сохранил, так что смотрите ссылку на даташит, микросхема популярная и копеечная, меньше чем по 5 штук в продаже не встречал. Использована для «неправильного» подключения шагового мотора без использования платы расширения Kitronik (см. ниже), чтобы продемонстрировать детям, как сделать все то же самое намного дешевле, но с меньшим удобством.
  • Какая-то плата расширения для Micro:Bit с выведенными пинами микроконтроллера и напряжением питания 5 В. Использована только для первой фотографии в статье, чтобы продемонстрировать — модуль работает напрямую с микроконтроллером без использования каких-либо функций плат расширения.

С британского сайта компании Pimoroni приехали:

  • Подходящая по размеру макетная плата Pico Proto. Легко заменяется макетной платой, обрезанной до нужного размера. — нужна только для «неправильного» подключения мотора для сравнительного теста. Можно заменить микросхемой Half-H Driver (см. выше).

Все это спаяно паяльной станцией QUECOO с жалом T12 при температуре 330°C бессвинцовым припоем 0.8 мм. Кстати, припой японский HIROSAKI M705 с 3% серебра — выбран как самый доступный :) В Таиланде оказалось сложно найти бессвинцовый припой в розницу (оптом — пожалуйста, большой выбор), да еще и малого диаметра. Припой хороший и, по ощущениям, более текучий, чем припой без серебра Pimoroni Lead Free Solder, но в целом, большой разницы мы не заметили. Для развлечений с детьми свинцовый припой не рассматриваю в принципе, впрочем, мы не испытываем каких-либо затруднений при пайке бессвинцовым — в том числе, компонентов поверхностного монтажа.

Простой и неправильный способ управления шаговым мотором

Поскольку наш мотор по спецификации на 1.2 А и сопротивлением обмотки 4 Ом, рабочее напряжение для него должно быть примерно 3.5 В (4 Ом*1.2 А/2/0.7 = 3.4 В). С учетом падения напряжения на источнике и проводах можно воспользоваться и аккумулятором на 5 В, при этом замеренный ток батареи составляет 1.8 А. При этом мотор ощутимо греется — примерно до 60°C на 60 оборотах, шумит, и вращается достаточно медленно (плата расширения использует PWM 50 Гц для управления моторами и сервоприводами). В целом, пользоваться можно, если нам достаточно повернуть вал на заданное число оборотов и потом обесточить обмотки (при этом вал начнет свободно вращаться без удержания положения).

Практически такой метод хоть и работает, но плохо — мотор стартует рывком, буквально разламывая собранную с ним модель, шумит и греется, притом быстро разряжая аккумулятор. При длительной работе возможно «спалить» мотор из-за превышения допустимого тока, хотя, скорее, при таком токе потребления раньше батарея разрядится.

Использование драйвера шагового мотора A4988 (DRV8825)

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

Указанные драйверы шагового мотора требуют питающее напряжение не ниже 8 В, а плата расширения позволяет подключать питающее напряжение в широком диапазоне, включая стандартные 5 В и 9 В от батареи Фишертехник. Для универсальности мы добавили преобразователь напряжения на 12 В для питания мотора, так что полученный модуль работает и от USB блоков питания и от батарей Фишертехник, притом обеспечивая достаточно быстрый поворот мотора.

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


Для управления драйвером достаточно двух пинов Step и Dir (шаг и направление), при этом их необходимо «подтянуть» к «земле» (нулю) для исключения самопроизвольного подергивания двигателя при включении или перезагрузке управляющего микроконтроллера из-за «наводок». Номинал подтягивающих резисторов зависит от длины проводов и их расположения, например, 4.7 кОм нам обычно достаточно (хотя для длинных проводов в несколько метров могут понадобиться подтягивающие резисторы в 1 кОм и даже менее), а 10 кОм порой приводят к нестабильной работе. Впрочем, мы не стали подключать эти резисторы и воспользовались другим методом.

Пин драйвера Enable не является обязательным к использованию и позволяет заблокировать драйвер и обесточить мотор ценой потери удерживающего момента на нем. По умолчанию этот пин уже «подтянут» к нулю. Поскольку мы хотели иметь возможность отключать мотор для экономии батареи, то решили добавить подтягивающий резистор 4.7 кОм к питанию микроконтроллера. Так мы получили выключенный по умолчанию драйвер и двигатель, для включения нужно подать ноль (низкий логический уровень) на пин Enable. При таком подключении можно обойтись без «подтяжки» пинов Step и Dir, управляя ими программно с микроконтроллера.

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

Как результат, с драйвером мы получили втрое меньшее потребление тока батареи 0.6 А при мягком старте и бесшумной работе двигателя и намного более быстром его вращении. Двигатель теперь практически не греется, хотя, разумеется, продолжает потреблять указанный ток даже при остановке (так уж устроен шаговый двигатель). Наличие выведенного пина Enable позволяет выключать двигатель на то время, когда не требуется удержание вала (например, для перемещения конвейера в удержании позиции нет необходимости).

Подключение и управление модулем

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



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

Типовый Nema двигатель обеспечивает 200 RPM (оборотов в минуту) при 200 шагах на оборот, что соответствует 1.5 миллисекунды на шаг. Для управления можно использовать PWM с соответствующим периодом или просто переключать логические уровни с нужной задержкой. Притом драйвер управляется возрастающим фронтом на входе Step, а по спецификации, высокий логический уровень достаточно подать на 1 микросекунду. Таким образом, управление модулем осуществляется очень просто. Пример кода в среде MakeCode для вращения по часовой стрелке и против нее (направление зависит от подключения мотора к модулю — если перевернуть коннектор мотора, направление инвертируется):


Заключение

Сегодня мы дополнили конструктор Фишертехник полезным модулем и в процессе обсудили с детьми много всего интересного и полезного. Дальше было бы интересно подготовить печатную плату и заказать ее, к примеру, на JLCPCB, благо доставка из Гонконга в Таиланд стоит недорого. Аналогично, можно заказать и 3D печать — было бы удобнее напечатать подходящую крышку модуля, вместо того, чтобы резать оригинальную дремелем.

Еще у нас лежит блок управления панелями адресных светодиодов на микроконтроллере Raspberry Pi Pico в точно такой же коробочке Фишертехник, который мы делали на Новый год — радуга для подсветки комнаты, расположенная за телевизором. Pico хорош в том числе и тем, что легко помещается в такой корпус, даже вместе с макетной платой Pico Proto. Если доберусь, напишу и об этой самоделке, детям она очень нравится :)

Шаговые двигатели серии NEMA 8

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

Название Число фаз Угловой шаг Ток, А Сопротивление/ фаза, Ом Индуктивность/фаза, мГн Момент удержания, кгc*см Цена Кол-во Купить
20HS42-0504A04-A24 Число фаз 2 Угловой шаг 1,8° Ток, А 0,5 Сопротивление/ фаза, Ом 7,5 Индуктивность/фаза, мГн 2,4 Момент удержания, кгc*см 0,25 Цена 1 970 руб. Количество

Шаговые двигатели серии NEMA 11

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

Шаговые двигатели серии NEMA 14

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

Шаговые двигатели серии NEMA 17

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

Шаговые двигатели серии NEMA 23

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

Название Число фаз Угловой шаг Ток, А Сопротивление/ фаза, Ом Индуктивность/фаза, мГн Момент удержания, кгc*см Цена Кол-во Купить
57HM56-3004 Число фаз 2 Угловой шаг 0,9° Ток, А 3 Сопротивление/ фаза, Ом 0,9 Индуктивность/фаза, мГн 3,5 Момент удержания, кгc*см 10 Цена 2 420 руб. Количество
57HM76-3004 Число фаз 2 Угловой шаг 0,9° Ток, А 3 Сопротивление/ фаза, Ом 1,2 Индуктивность/фаза, мГн 4,5 Момент удержания, кгc*см 15 Цена 3 300 руб. Количество
57HS41-2804 Число фаз 2 Угловой шаг 1,8° Ток, А 2,8 Сопротивление/ фаза, Ом 0,8 Индуктивность/фаза, мГн 1,4 Момент удержания, кгc*см 5,5 Цена 1 620 руб. Количество
57HS56-2804 Число фаз 2 Угловой шаг 1,8° Ток, А 2,8 Сопротивление/ фаза, Ом 1 Индуктивность/фаза, мГн 3 Момент удержания, кгc*см 12,6 Цена 1 910 руб. Количество
57HS76-2804 Число фаз 2 Угловой шаг 1,8° Ток, А 2,8 Сопротивление/ фаза, Ом 1,1 Индуктивность/фаза, мГн 3,6 Момент удержания, кгc*см 19 Цена 2 600 руб. Количество
57HS76-3004 Число фаз 2 Угловой шаг 1,8° Ток, А 3 Сопротивление/ фаза, Ом 0,9 Индуктивность/фаза, мГн 3,5 Момент удержания, кгc*см 20 Цена 2 700 руб. Количество
57HS56-3004 Число фаз 2 Угловой шаг 1,8° Ток, А 3 Сопротивление/ фаза, Ом 0,95 Индуктивность/фаза, мГн 2,8 Момент удержания, кгc*см 12 Цена 1 930 руб. Количество
57HS112-4004 Число фаз 2 Угловой шаг 1,8° Ток, А 4 Сопротивление/ фаза, Ом 0,9 Индуктивность/фаза, мГн 4 Момент удержания, кгc*см 30 Цена 4 140 руб. Количество

Шаговые двигатели серии NEMA 34

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

Шаговые двигатели серии NEMA 42

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

Название Число фаз Угловой шаг Ток, А Сопротивление/ фаза, Ом Индуктивность/фаза, мГн Момент удержания, кгc*см Цена Кол-во Купить
110HS150-6504A Число фаз 2 Угловой шаг 1,8° Ток, А 6,5 Сопротивление/ фаза, Ом 0,9 Индуктивность/фаза, мГн 16 Момент удержания, кгc*см 240 Цена 23 500 руб. Количество

Шаговые двигатели серии YAKO

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

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

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

Преимущества ШД

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

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

Недостатки: резонанс, инертность, повышенный уровень шума. Первая проблема решается выбором драйвера с функцией подавления резонанса. Инертность – естественный недостаток, следующий из принципа работы ШД, но он проявляется только при быстром разгоне. Перед фрезерно-гравировальными станками ставятся другие задачи – например, при нанесении рельефного изображения на каменную плиту на ускоренные перемещения приходится не более 1% времени. Уровень шума – последний параметр, на который обращают внимание в условиях массового производства, здесь важнее стоимость оборудования (а ШД, напомним, дешевле, чем тихие сервомоторы).

Выбор ШД

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

Первый – деление шага. Меньший шаг означает более плавное перемещение, но в этом случае потребуется драйвер с большей входной частотой, а он обойдется дороже. Наиболее распространены ШД с шагом 0.9 и 1.8 градуса – этих значений хватает для решения стандартных задач, ставящихся перед портальными станками.

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

Шаговый электродвигатель — это синхронный бесщёточный электродвигатель с несколькими обмотками, в котором ток, подаваемый в одну из обмоток статора, вызывает фиксацию ротора. Последовательная активация обмоток двигателя вызывает дискретные угловые перемещения (шаги)ротора.

Читайте также: