Содержание

Проекты с использованием шавого двигателя

Проекты с использованием шавого двигателя


Регулятор скорости вращения для униполярного шагового двигателя на базе Arduino UNO


Пошаговая инструкция о том как своими руками собрать регулятор скорости вращения для униполярного шагового двигателя.

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



Открыть полностью



Регулятор скорости вращения для биполярного шагового двигателя на базе Arduino Nano


Самодельный димер на базе платы Arduino Nano и драйвера DRV8825

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



Открыть полностью



Привод для жалюзи на базе Arduino UNO и шаговых двигателях 28BYJ-48 5V


Статья о том

Как собрать привод для жалюзи, на базе Arduino UNO и двух шаговых двигателях 28BYJ-48 5V.

К данной статье прилагаются два готовых скетча…



Открыть полностью



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


Статья о том, из чего и как своими руками собрать привод на базе Arduino UNO, джойстика и двух униполярных шаговых двигателях 28BYJ-48 5V

Имеется схема и скетч, работающий без библиотек.



Открыть полностью



Автоматическая фокусировка на Arduino и Digispark с датчиком расстояния VL53L0X и драйвером DRW8825.


Статья, содержащая материалы для изучения и сборки двух вариантов привода, для автоматической фокусировки микроскопа, на Arduino UNO и Digispark

Как объединить две платы Arduino и Digispark, для совместной работы над общей задачей.

Как подключить биполярный шаговый двигатель к Arduino Uno и к Digispark…




Открыть полностью



Управление двумя униполярными шаговыми моторами по Bluetooth.


Статья о том, как своими руками собрать беспроводное управление, для двух униполярных шаговых моторов 28BYJ-48 5V.

В качестве пульта подойдет любой ANDROID телефон с наличием Bluetooth.



Открыть полностью



Лучший эмулятор Arduino UnoArduSim V2.6. Первая серия.


Набор из 9 простых скетчей, которые использовались в этой серии.

В этой серии рассмотрены принципы работы таких модулей как: светодиод, кнопка, потенциометр, Serial порт, программный Serial порт, 4 фазный шаговый двигатель, 2 фазный шаговый двигатель и DC Motor.



Открыть полностью



Регулятор скорости вращения для униполярного шагового двигателя на базе Didgispark


Простой и не дорогой, регулятор скорости вращения, для униполярного шагового двигателя.

В статье есть перечень материалов, скетч, схема для сборки, и видео инструкция.



Открыть полностью



Arduino управление шаговыми двигателями по Bluetooth при помощи Android смартфона


Статья о том как написать код для электрического привода, для слайдера под видеокамеру, с управлением по Bluetooth, на базе Arduino Nano, драйверов DRV8825 и Bluetooth модуля HC-05.



Открыть полностью



Управление биполярным шаговым двигателем при помощи инкрементального энкодера


Статья о том как подключить инкрементальный энкодер EC11 к Arduino, как управлять биполярным шаговым двигателем при помощи энкодера, как проверить инкрементный энкодер, как подключить драйвер шагового двигателя drw8825 к Arduino.



Открыть полностью



Плавный пуск и остановка биполярного шагового двигателя. Спец драйвер на Digispark Attiny85.


Статья о том, как организовать плавный пуск биполярного шагового двигателя, путём совмещения драйвера шагового двигателя с платой Didispark Attiny85, которая выступает в роли посредника между платой Arduino и драйвером шагового двигателя A4988 или DRW8825



Открыть полностью



ЧПУ станок для намотки трансформаторов на Arduino и Digispark.


Инструкция по управлению ЧПУ станком для намотки трансформаторов на Arduino.

А также материалы, для самостоятельной сборки ЧПУ станка, для намотки трансформаторов на Arduino.




Открыть полностью



ЧПУ станок для намотки трансформаторов с укладчиком провода, и автоматическим натяжением провода на Arduino и Digispark.


Материалы, для самостоятельной сборки ЧПУ станка для намотки трансформаторов на Arduino, с укладчиком провода, и с автоматическим натяжением провода.

А также инструкция, по управлению ЧПУ станком, для намотки трансформаторов на Arduino и Digispark.




Открыть полностью

Драйвер шагового двигателя arduino в Комсомольске-на-Амуре: 505-товаров: бесплатная доставка, скидка-65% [перейти]

Партнерская программаПомощь

Комсомольск-на-Амуре

Каталог

Каталог Товаров

Одежда и обувь

Одежда и обувь

Стройматериалы

Стройматериалы

Текстиль и кожа

Текстиль и кожа

Здоровье и красота

Здоровье и красота

Детские товары

Детские товары

Продукты и напитки

Продукты и напитки

Электротехника

Электротехника

Дом и сад

Дом и сад

Сельское хозяйство

Сельское хозяйство

Промышленность

Промышленность

Мебель и интерьер

Мебель и интерьер

Все категории

ВходИзбранное

ЭлектроникаМикросхемыМикросхемы и платыДрайверы шаговых двигателейДрайвер шагового двигателя arduino

regmarkets.ru/listpreview/idata2/4a/ff/4affe0ee0b0d4690ebfa550f270b901e.jpg»>

149

246

Модуль драйвера шагового двигателя A4988 зелёный с радиатором Arduino/ардуино Тип: Электронный

В МАГАЗИНЕще цены и похожие товары

499

649

ARDUINO драйвер шагового двигателя TMC2208 V1.2 Тип: Активные компоненты, Корпус для электроники,

В МАГАЗИНЕще цены и похожие товары

net/get-mpic/5068955/img_id4636520481708966748.jpeg/300×300″>

137

517

Модуль драйвера шагового двигателя A4988 зелёный с радиатором Arduino / Ардуино Тип: Электронный

В МАГАЗИНЕще цены и похожие товары

Драйвер двигателей для Arduino на L293D

В МАГАЗИНЕще цены и похожие товары

mds.yandex.net/get-mpic/6269810/img_id4940534971380774199.jpeg/300×300″>

Модуль Драйвер шагового двигателя DRV8825 с радиатором (Фиолетовый) с шагами: 1,1/2,1/4,1/8,1/16,1/32

ПОДРОБНЕЕЕще цены и похожие товары

Гравировальный станок с ЧПУ Shield v3/3D-принтер/+ 4 шт. A4988 / 4 шт. DRV8825 Драйвер шагового двигателя для Arduino

ПОДРОБНЕЕЕще цены и похожие товары

Гравировальный станок с ЧПУ Shield v3/3D-принтер/+ 4 шт. A4988 / 4 шт. DRV8825 Драйвер шагового двигателя для Arduino

ПОДРОБНЕЕЕще цены и похожие товары

2 873

3379

Шаговый двигатель Nema17, 42, 4-проводной 17hs4401S + ЧПУ v3 гравировальный станок + 4 шт. A4988 Плата расширения драйвера для Arduino UNO R3

ПОДРОБНЕЕЕще цены и похожие товары

TB6560 3A плата драйвера CNC маршрутизатор с одним 1-осевым контроллером шаговых двигателей. Мы являемся производителем arduino

ПОДРОБНЕЕЕще цены и похожие товары

Гравировальный станок с ЧПУ Shield V3/3D-принтер/+ 4 драйвера шагового двигателя A4988, плата расширения для Arduino с ЧПУ, набор сделай сам

ПОДРОБНЕЕЕще цены и похожие товары

Радиоконструктор ARDUINO драйвер шагового двигателя 5-35V 2A 25W 0-36mAупр L298N

ПОДРОБНЕЕЕще цены и похожие товары

115

164

ЧПУ щит V3 гравер 3D принтер A4988/DRV8825 Драйвер шагового двигателя Плата расширения V3. 0 для Arduino ЧПУ щит расширения

ПОДРОБНЕЕЕще цены и похожие товары

564

706

Драйвер шагового двигателя DRV8825 Тип: Электронный модуль, Размер: Длина 2.000 Ширина 1.000 Высота

В МАГАЗИНЕще цены и похожие товары

432

540

Драйвер шагового двигателя L298N Тип: Электронный модуль, Размер: Длина 3.800 Ширина 2.900 Высота

В МАГАЗИНЕще цены и похожие товары

468

608

Драйвер шагового двигателя DRV8825 Тип: Электронный модуль, Размер: Длина 10. 000 Ширина 10.000

В МАГАЗИНЕще цены и похожие товары

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

В МАГАЗИНЕще цены и похожие товары

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

ПОДРОБНЕЕЕще цены и похожие товары

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

В МАГАЗИНЕще цены и похожие товары

Драйвер двигателей двухканальный Ch2, 1.5А на канал

В МАГАЗИНЕще цены и похожие товары

Драйвер двигателей двухканальный TB6612, I=3.2А,

В МАГАЗИНЕще цены и похожие товары

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

В МАГАЗИНЕще цены и похожие товары

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

В МАГАЗИНЕще цены и похожие товары

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

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя TB67S109, 4А

В МАГАЗИНЕще цены и похожие товары

219

314

Драйвер шагового двигателя MKS TMC2209 2209 StepStick, детали для 3D-принтера а UART, сверхтихий, для SGen L Gen L Robin Nano

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер двухфазного шагового двигателя DM556S

ПОДРОБНЕЕЕще цены и похожие товары

13 500

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

ПОДРОБНЕЕЕще цены и похожие товары

11 400

Драйвер шагового двигателя DM860 Leadshine 7. 2A DC20-80V

ПОДРОБНЕЕЕще цены и похожие товары

14 900

Драйвер шагового двигателя DM1182 Leadshine 60-100DCV

ПОДРОБНЕЕЕще цены и похожие товары

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

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя DM542 Leadshine 18-50DCV

ПОДРОБНЕЕЕще цены и похожие товары

15 950

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

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя LEADSHINE DMA860H Производитель: Не определен

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя 3ND583 Leadshine DC18-50V

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя M752 Leadshine 36-75DCV

ПОДРОБНЕЕЕще цены и похожие товары

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

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя DM320C Leadshine 20-30DCV

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя HY-DIV268N-5A

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя TMC2208 V1. 2

ПОДРОБНЕЕЕще цены и похожие товары

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

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя TMC 2225 Тип: плата

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер ULN2003 для шагового двигателя 28BYJ-48 Тип: микросхема

ПОДРОБНЕЕЕще цены и похожие товары

Одноканальный драйвер шаговых двигателей DM556 SKU: 6350

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя ULN2003 (квадратный)

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя для 3D-принтера TMC2209 V2. 0 обновленная версия 42 для Reprap Ramps1.4 MKS Prusa I3 Ender-3 Pro

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер для шагового двигателя 3D-принтера TMC2209 StepStick, детали для 3D-принтера 2,5 А UART, сверхтихий, для SGen L Gen L Robin Nano

ПОДРОБНЕЕЕще цены и похожие товары

Шаговый двигатель 28BYJ-48 и драйвер ULN2003

ПОДРОБНЕЕЕще цены и похожие товары

ru/listpreview/idata2/09/bc/09bc4d3b8dddd82b93f34478da334e37.jpg»>

15 450

Одноканальный драйвер шаговых двигателей STD3722 SKU: 6548

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер для шаговых двигателей TMC2209 v.1.2

ПОДРОБНЕЕЕще цены и похожие товары

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

ПОДРОБНЕЕЕще цены и похожие товары

ru/listpreview/idata2/54/78/54787a84d504b9434423580def0a3c6f.jpg»>

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

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя DM422C Leadshine DSP 20-40DCV

ПОДРОБНЕЕЕще цены и похожие товары

14 960

Драйвер ШД Leadshine DM2282

ПОДРОБНЕЕЕще цены и похожие товары

Одноканальный драйвер шагового двигателя TB6600

ПОДРОБНЕЕЕще цены и похожие товары

Драйвер шагового двигателя MKS TMC2209 2209 StepStick, детали для 3D-принтера а UART, сверхтихий, для SGen L Gen L Robin Nano, 1 шт

ПОДРОБНЕЕЕще цены и похожие товары

regmarkets.ru/listpreview/idata2/f6/74/f6745595da4dfc36c4b819747b25b8dd.jpg»>

Драйвер шагового двигателя TMC2209 v1.2

ПОДРОБНЕЕЕще цены и похожие товары

11 200

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

ПОДРОБНЕЕЕще цены и похожие товары

2 страница из 18

На что ещё способны шаговые моторы? — Забивать голы в настольном хоккее / Хабр

Создавая своего первого робота (Робот для настольного хоккея), а именно механическую часть, узнал много интересного для себя, чем и хочу поделиться.

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

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

  1. Разгон шагового мотора до максимальных оборотов.
  2. Одновременная работа массива из шаговых моторов через один контроллер.
  3. Охлаждение шаговых моторов и драйверов.
  4. Как избавиться от писка шаговых моторов.


В настольном хоккее Stiga Play-Off с каждой стороны по 6 игроков (вратарь и 5 на поле). У моего робота для настольного хоккея, в соответствии с количеством игроков — 6 роборук, по одной руке для каждого игрока, и каждую руку приводят в движение 2 мотора. Первый мотор перемещает игрока вперёд и назад, а второй мотор вращает клюшку. Итого задействовано 12 шаговых моторов.

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

1. Разгон шагового мотора до максимальных оборотов


При поиске в интернет можно найти много информации про ЗD принтеры, ЧПУ, роборуки с 6 степенями свободы и тому подобным устройствам. Но, мне нужно передвинуть игрока на ~40 см за доли секунды или ударить клюшкой по шайбе так, чтобы она полетела в ворота через всё игровое поле. И что делать? — ставить опыты и выжимать из моторов все соки!

Вал шагового мотора вращается импульсами и моторы, которые я использовал для робота (типоразмер Nema 17) делают 1 полный оборот за 200 шагов, по 1.8 градуса за 1 шаг.

Как новичок, я приобрёл самые обычные драйверы для шаговых двигателей A4988, купил контроллер Ардуино Мега с самым большим количеством входов/выходов, CNC Shield v3 для удобного размещения сразу 4-х драйверов, блок питания на 12 вольт, всё соединил проводами по инструкциям с многочисленных сайтов. Разобрался как написать скетч-программу для Ардуино и запустил.

Моторы стали вращаться, но мне была нужна скорость. Если подать с контроллера на драйвер мотора 1000 импульсов в секунду, мотор будет вращаться со скоростью 5 оборотов в секунду. Замечательно, но этого было мало. Увеличил количество импульсов и мотор перестал трогаться – пищит и не крутится, не хватает сил тронуться сразу на таких оборотах. Это как на машине с механикой сразу включить 5-ю передачу. Пришлось дорабатывать скетч контроллера для плавного, но по возможности, быстрого старта. Есть, конечно, готовые классы AccelStepper, но как-то я с недоверием его воспринял, будут ограничения как всегда, подумал и сделал свой собственный класс для плавного старта, в котором использовал формулу кубической параболы с некоторыми вспомогательными коэффициентами.

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

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

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

2. Одновременная работа массива из шаговых моторов через один контроллер


Как уже озвучено выше, в роботе используется 12 шаговых моторов. Этот массив моторов управляется через 1 контроллер Ардуино Мега, который был выбран из-за наличия большого количества пинов (входов/выходов).

Чтобы управлять 12 моторами мне понадобилось:

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


Дополнительно задействовал ещё 24 пина:

  • 12 пинов для получения данных от оптических концевых выключателей (нужны для безопасности механики, ограничивая зону перемещения приводов игроков, разве можно полностью доверять программе? Датчики по одному установлены в начале и конце каждого привода и ещё есть пружины для мягкой остановки, разве можно полностью доверять датчикам?)
  • 12 пинов для RGB-светодиодов индикации режимов работы (зелёный горит при подаче питания, синий добавляется при движении вперёд/назад и красный добавляется при вращении клюшки, в общем, зелёный для пользы, а синий и красный цвета для красоты)


Мозг робота сейчас «пребывает» в настольном компьютере, как временное решение, пока в микрокомпьютер Rasperry Pi 4 на борт робота не переедет. Компьютер передаёт управляющие команды через USB порт в контроллер Ардуино и тут нужна возможность одновременной работы всех 12 моторов. На практике, в процессе игры я не видел, чтобы все 12 моторов работали одновременно, может 4, но технически это предусмотрено.

В скетче для Ардуино создал класс Player для управления 2-мя моторами (перемещение и вращение клюшки) и при запуске создаётся 6 экземпляров этого класса. При инициализации классов передаются номера пинов, к которым будет привязан каждый из «игроков», т.о. каждый из 6-ти игроков привязан к своим драйверам/моторам, датчикам и светодиодам.

В цикле loop скетча проверяется порт USB на наличие команды от компьютера и по очереди вызываются методы Move и Rotate у 6-ти объектов игроков для выполнения движений или остановок.

Подведу итог — контроллер Ардуино Мега оснащён очень большим количеством входов/выходов >70. Если потребуется решить некую задачу, можно подключить десятки шаговых моторов.

3. Охлаждение шаговых моторов и драйверов


Если на драйвер шагового мотора на пин VMOT подать питание и драйвер будет включен (по умолчанию ENABLE=0 — включен), мотор, возможно, начнёт немного пищать (зависит от драйвера), а обмотки мотора и драйвер начнут греться. Можно потрогать радиатор драйвера и убедится в этом. Я начал использовать питание мотора 12V и нагрев быстро почувствовал, а при 36V мне очень не понравился этот эффект.

Дожидаться, пока сгорят обмотки мотора или драйвер я не стал и начал разбираться, что не так. Всё решить помог пин ENABLE. В случае, если вращение мотора не требуется, следует выключить драйвер ENABLE=1, а когда понадобится вращение, нужно просто включить драйвер ENABLE=0. Поскольку в роботе используются 12 моторов, и они не очень часто вращаются одновременно, значит им можно давать остыть, когда не нужны.

Я взял под контроль пин Enable каждого драйвера мотора через Ардуино. Понадобилось дополнительно задействовать 12 пинов контроллера, но драйверы стали холодными и моторы больше не шумят, хотя используется напряжение 36V.

4. Как избавиться от писка шаговых моторов


Сначала я приобрёл драйверы для шаговых моторов A4988, понадобилось 12 штук. Они популярные, надёжные, простые и понятные, а также очень дешёвые, для новичков самое то. Всё работало почти хорошо, с шагами всё понятно, 1 импульс – 1 шаг, 200 импульсов при 1.8 градуса на 1 шаг – 1 оборот мотора.

Но, было 2 неприятных момента. На малых оборотах, особенно, когда нужно медленно повернуть клюшку игрока, у моторов наступал тремор. И ещё, этот писк! При работе 12 моторов было ощущение, что со мной разговаривает R2D2.

Стал искать решение проблемы и узнал о тихих драйверах с немецкими чипами Trinamic TMC 2100, 2130, 2208 и прочих сериях. Стоят они в несколько раз дороже, но, если Вам нужна тишина и плавность хода, они того стоят.

В TMC есть режим StelthChop с интерполяцией 4 или 16 входных импульсов в 256 микрошагов. После тестирования, выбрал режим 4->256 микрошагов.

Скетч для Ардуино потребовалось немного дописать, т.к. теперь для полного оборота мотора требовалось не 200 шагов, а в 4 раза больше (800 на 1 полный оборот) из-за используемого режима StelthChop 4->256. Больше шагов – плавнее и тише ход. Вращение сейчас плавное, тихое и никакого писка.

Видео, что в итоге получилось:


Надеюсь, мой опыт поможет кому-нибудь в других проектах.

#21. Подключаем к Arduino Шаговый двигатель 28BYJ-48 на драйвере ULN2003

Сегодня в уроке подключим шаговый двигатель 28BYJ-48 к Arduino и научимся вращать вал двигателя в разные стороны и изменять скорость вращения с помощью потенциометра и энкодера KY-040.

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


Характеристики шагового двигателя 28BYJ-48:

Размера шагового двигателя 28BYJ-48. Необходимы при проектировании деталей для 3D печати.

Вот так выглядит схема шагового двигателя 28BYJ-48

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

Для шагового режима.


Для полушагового режима.

Прямое подключение шагового двигателя 28BYJ-48 к Arduino.

В связи с тем, что двигатель 28BYJ-48 работает от 5в и при небольших токах, его можно подключить на прямую к Arduino.

Схема подключения к Arduino UNO будет следующая.

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

Для этого можно сделать массив подачи сигнала на пины микроконтроллера.

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

Код для вращения в одну и в другую сторону будет вот таким.

ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!

Пример подключения шагового двигателя 28BYJ-48 (5V)с использованием драйвер ULN2003.

Также у Дмитрия Осипова есть код для изменения скорости вращения с помощью потенциометра. Я его немного доработал, сделал обработку нажатия кнопки без задержки в 500 мс. Сейчас двигатель стал вращаться в обратную сторону без видимой задержки.

Для подключения буду использовать модуль SBT0811 на драйвере ULN2003.


Драйвер
устроен вот таким образом.

Соответственно, наш код будет работать и с данным драйвером.

Подключим все по схеме и загрузим код в Arduino NANO.

Схема подключения для Arduino UNO будет аналогичной.

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

ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!

Пример управления шаговым двигателем 28BYJ-48 с помощью Энкодера.

Для уменьшения количества элементов в схеме решил заменить потенциометр и тактовую кнопку на энкодер вращения KY-040. Как подключить энкодер вращения к Arduino рассказывал в предыдущем уроке.

Подключаем шаговый двигатель 28BYJ-48 и энкодер к Arduino по схеме.

Проводим небольшую доработку кода и получим вот такой результат.

Если нажать на энкодер, меняется направление вращения. А при вращении энкодера по часовой стрелке — скорость увеличивается. Если вращать против часовой стрелки — скорость снижается.

ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!

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

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

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

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

Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока.

И до встречи в следующем уроке

Файлы для скачивания

Скачивая материал, я соглашаюсь с
Правилами скачивания и использования материалов.

управления шаговым двигателем 28BYJ-48 с помощью Энкодера.ino4 Kb 1287Скачать
управления шаговым двигателем 28BYJ-48 с помощью кнопки и потенциометра .ino5 Kb 1231Скачать
с использованием библиотеки Stepper.ino1 Kb 933Скачать
Даташит на шаговый двигатель 28BYJ-48.pdf193 Kb 601Скачать

Управление шаговым двигателем

с помощью Arduino Управление шаговым двигателем

с помощью Arduino — это простой проект, в котором биполярный шаговый двигатель управляется с помощью Arduino UNO. Шаговый двигатель — это тип бесщеточного двигателя постоянного тока, который преобразует электрические импульсы в отдельные механические движения, т. е. вал шагового двигателя вращается дискретными шагами. Когда компьютер контролирует эти шаги, мы можем получить точное положение и контроль скорости.

[adsense1]

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

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

Выберите следующий набор проектов Arduino, которые вы хотите изучить, в Electronicshub : Проекты Arduino »

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

Схема

Принципиальная схема управления шаговым двигателем с помощью Arduino Необходимые компоненты

  • Arduino UNO [Купить здесь]
  • L293D ИС драйвера двигателя [Купить здесь]
  • Биполярный шаговый двигатель  
  • Блок питания (подходит для вашего шагового двигателя)  
  • Макетная плата (макетная плата)
  • Соединительные провода  

[adsense2]

Краткое введение в шаговый двигатель

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

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

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

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

Например, схема драйвера униполярного шагового двигателя может быть реализована с помощью простой схемы на основе транзистора или микросхемы транзистора Дарлингтона, такой как ULN2003A. Но в случае биполярного шагового двигателя нам нужно реализовать драйвер H-мостового типа, такой как L29.ИС 3D-драйвера двигателя.

На следующем рисунке показаны биполярный шаговый двигатель, 6-проводной униполярный шаговый двигатель и 5-проводной униполярный шаговый двигатель.

Наиболее распространенный угол шага или количество шагов для шаговых двигателей составляет 1,8 0 или 200 шагов (оба значения равны 1,8 0 x 200 = 360 0 ).

Как разработать схему управления шаговым двигателем?

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

Итак, подключите два провода от одной катушки к выходам 1 и 2 L293D, а два других провода от второй катушки к выходам 3 и 4.

4 входа L293D Motor Diver IC получены от Arduino UNO. Поэтому подключите их к любому из 4 цифровых контактов ввода-вывода (здесь мы подключили их к контактам 2, 3, 4 и 5 Arduino UNO).

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

Управление шагами осуществляется с помощью компьютера с использованием последовательного монитора. Итак, убедитесь, что контакты RX и TX Arduino не используются в качестве цифрового ввода-вывода. В качестве альтернативы мы можем управлять шагами или вращением двигателя с помощью аналогового входа через потенциометр.

Работа над проектом

В этом проекте разработано простое управление шаговым двигателем с использованием Arduino UNO и ИС драйвера двигателя L293D. Работа проекта объясняется здесь.

Шаговый двигатель, используемый в этом проекте, представляет собой биполярный шаговый двигатель типа PMH (гибридный двигатель с постоянными магнитами). Поскольку это биполярный двигатель, есть только 4 провода, соответствующие концевым клеммам двух катушек. Эти 4 провода подключены к выходным контактам L29.ИС 3D-драйвера двигателя.

Чтобы управлять шаговым двигателем, мы будем использовать метод под названием «Полушаг». Двигатель, используемый в этом проекте, рассчитан на 200 шагов. С однофазным шаговым возбуждением, т. е. подачей питания только на одну фазу за раз, мы можем достичь нормального вращения в 200 шагов с наименьшим энергопотреблением.

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

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

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

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

Как упоминалось ранее, угол шага двигателя, используемого в этом проекте, составляет 1,80, т.е. 200 шагов для возбуждения полного шага. Чтобы увеличить разрешение (удвоить разрешение), мы будем использовать полушаговое возбуждение и добьемся счета в 400 шагов.

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

После выбора направления мы можем напрямую ввести количество шагов в диапазоне от 1 до 400.

Код

Приложения 

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

Видео сборки и вывода

 

Как использовать шаговый двигатель в Arduino

Озеки 10


Следующее руководство познакомит вас с шаговыми двигателями.
Эти двигатели могут перемещаться на очень небольшой градус шаг за шагом, что делает их подходящими для
проекты, которые требуют точности. Во-первых, в этом руководстве вы можете узнать о
Принцип работы шаговых двигателей. Затем, в пошаговом руководстве,
вы узнаете, как подключиться к
ваш Arduino и управлять ими с компьютера с помощью Ozeki 10. Давайте начнем прямо сейчас.

Что такое шаговый двигатель?

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

Как работает шаговый двигатель?

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

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

Схема подключения шагового двигателя Arduino

Рисунок 1 – Схема подключения шагового двигателя Arduino

Как использовать шаговый двигатель Arduino в Ozeki

Подключение Stepper Motor Multi Controller позволяет передавать команды на ваши шаговые двигатели с любого выбранного соединения Ozeki.
Шаговые двигатели являются наиболее точными двигателями. Вы можете дать им команду двигаться ровно на 1,8/16 = 0,1125 градуса/шаг в каждом направлении.
Команды движения состоят из необходимых шагов и скорости вращения двигателей. Вы также можете настроить ограничители движения двигателя.
Чтобы использовать шаговый двигатель в Ozeki, сначала необходимо загрузить Ozeki Robot Developer. озэки
Robot Developer установит библиотеки Arduino, необходимые для эффективного использования этого датчика.

Скачать Ozeki Robot Developer

После установки разработчика Ozeki Robot вам необходимо загрузить код управления шаговым двигателем.
к вашему Ардуино. Вы можете найти код и инструкции по загрузке на следующих страницах.
Процесс загрузки включает в себя два шага: сначала вам нужно отформатировать EEPROM Arduino,
затем вам нужно загрузить контрольный код. Процедура очень проста, требуется только
несколько секунд.

Загрузите код шагового двигателя в Arduino Mega 2560
Загрузить код шагового двигателя в лазерный резак
Загрузить код шагового двигателя в Ozeki Matrix

Двигатели Arduino и Ozeki будут обмениваться данными через порт USB с использованием протокола шагового двигателя Ozeki. Этот
Протокол позволяет вам использовать двигатель непосредственно на вашем ПК. Вы сможете управлять этим двигателем через веб-интерфейс.
пользовательский интерфейс или вы сможете общаться с ним с помощью Ozeki Chat. Вы можете прочитать больше об управлении чатом на следующей странице.

Как общаться с Шаговым двигателем с помощью чата

Важно понимать управление чатом, потому что когда вы строите робота,
способ, которым вы хотите управлять этим двигателем, — это отправка и получение сообщений. если ты
откройте приложение Ozeki Robot Developer, вы увидите, кому вы можете написать C#.Net
программа для работы с этим мотором.

Этапы подключения

  1. Подключите шаговый двигатель к Arduino, следуя схеме подключения
  2. Подключите плату Arduino к компьютеру с помощью USB-кабеля для передачи данных
  3. Проверьте COM-порты в списке устройств Windows
  4. Откройте приложение Arduino на вашем компьютере
  5. Загрузить пример кода в микроконтроллер
  6. Откройте https://localhost:9515 в браузере
  7. Выберите подключение шагового двигателя
  8. Установите скорость и градус для проверки шагового двигателя

Обзор системы

Предлагаемая нами система состоит из шагового двигателя, подключенного к аналоговому порту.
вашего Ардуино. Arduino будет отвечать за чтение данных с этого устройства.
в настоящее время. Мозг системы будет работать на ПК (рис. 2). На ПК Озеки
10 смогут управлять общением. Вы можете легко запустить Ozeki 10 с помощью веб-браузера.

Рис. 2. Конфигурация системы подключения шагового двигателя к ПК с помощью Arduino

Предпосылки

  • Шаговый двигатель(и)
  • Драйвер(ы) шагового двигателя DRV8825 или A4988
  • Концевые упоры
  • Ozeki 10 установлен на вашем компьютере
  • Программируемая плата (Arduino Mega plus RAMPS v1.4, модуль контроллера шагового двигателя Ozeki
    или плата контроллера лазерной резки)
  • USB-кабель необходим между платой и компьютером

Шаг 1. Подключите шаговый двигатель к плате Arduino

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

  • Arduino Mega 2560 плюс RAMPS 1.4
  • Модуль контроллера шагового двигателя Ozeki
  • Плата контроллера лазерной резки

После подключения подключите плату к компьютеру!

Шаг 2.

Загрузить код в микроконтроллер

(Вот код для загрузки)

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

Шаг 3. Запустите Ozeki 10, чтобы попробовать шаговый двигатель

После этого вы подключили Arduino к Raspberry Pi, теперь вы можете попробовать шаговый двигатель.
Для этого вам нужно открыть GUI (графический интерфейс пользователя)
Ozeki 10. Это можно сделать, набрав localhost: 9513 в веб-браузере и нажав Enter.
Здесь Ozeki 10 автоматически определяет подключенные устройства, поэтому после подключения
шаговый двигатель, вы сможете увидеть его в списке подключений. Все, что у тебя есть
сделать здесь, это открыть соединение и попробовать шаговый двигатель.

Шаг 4. Настройка шагового двигателя в Ozeki 10

Чтобы настроить шаговый двигатель (подключенный к Arduino) в Ozeki 10,
который установлен на вашем компьютере, вам необходимо открыть графический интерфейс пользователя (GUI) Ozeki
10. Вы можете открыть графический интерфейс, введя URL-адрес компьютера в свой веб-браузер.
Например, если наш компьютер имеет IP-адрес 192.168.1.5, мы бы
введите http://192.168.1.5:9513 в наш веб-браузер.

Шаг 5. Понимание протокола шагового двигателя

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

Каталожные номера:
https://www.tutorialspoint.com
http://www.tigoe.com

Дополнительная информация

  • Датчики и приводы Arduino
  • Как использовать аналоговый датчик в Arduino
  • Как использовать контроллер кнопок в Arduino
  • Как использовать зуммер в Arduino
  • Как использовать двигатели постоянного тока в Arduino
  • Как использовать датчик dht в Arduino
  • Как использовать диспетчер EEPROM в Arduino
  • Как использовать датчик гироскопа в Arduino
  • Как использовать менеджер идентификаторов в Arduino
  • Как использовать ИК-трансивер в Arduino
  • Как использовать аналоговый джойстик в Arduino
  • Как использовать клавиатуру в ардуино
  • Как использовать ЖК-дисплей в Arduino
  • Как использовать считыватель NFC в Arduino
  • Как использовать оптический вентиль в Arduino
  • Как использовать регистр в ардуино
  • Как использовать приемопередатчик RF 433 МГц
  • Как использовать приемопередатчик RF 2,4 ГГц
  • Как использовать светодиод RGB в Arduino
  • Как использовать датчик RGB в Arduino
  • Как использовать поворотный энкодер в Arduino
  • Как использовать серводвигатель в Arduino
  • Как использовать переключатель в ардуино
  • Как использовать датчик температуры в ардуино
  • Как использовать таймер в ардуино
  • Как использовать ультразвуковой датчик в arduino

Серводвигатели | Arduino Mega

Управление шаговым двигателем Arduino

Обучение управлению шаговым двигателем с помощью Arduino Motor Shield

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

Что такое шаговый двигатель?

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

Униполярный и биполярный

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

Униполярный

Этот тип шагового двигателя состоит из одной обмотки с центральным отводом. Каждая секция обмоток включается в зависимости от направления желаемого магнитного поля, из-за этого магнитный полюс может быть изменен без переключения направления тока. Центральный отвод является общим, хотя обычно на двухфазном униполярном шаговом преобразователе имеется 6 выводов (по 3 на фазу), два общих контакта могут быть соединены внутри, то есть имеется только пять выводов.

Биполярный

В отличие от униполярного шагового двигателя, биполярный шаговый двигатель имеет только одну обмотку на фазу без ответвлений. Чтобы изменить магнитный полюс, необходимо изменить направление тока в обмотках, а это означает, что биполярный шаговый двигатель обычно более сложен в управлении и обычно требует расположения Н-моста. Поскольку общего нет, на каждую фазу приходится два вывода, а типичный двухфазный двигатель будет иметь четыре вывода. Хотя биполярные двигатели обычно более сложны в управлении, у них есть свои преимущества, поскольку биполярный двигатель более мощный, чем униполярный двигатель того же веса, из-за лучшего использования обмоток. Это связано с тем, что униполярный шаговый двигатель имеет в два раза больше проводов в одном и том же пространстве, и только половина из них может использоваться в любой момент времени, что означает, что униполярный двигатель имеет КПД только около 50%.

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

Источник изображения: Osmtec.com

Моторный шилд Arduino

Моторный шилд Arduino основан на двойном полномостовом драйвере L298, который позволяет управлять одним шаговым двигателем или двумя двигателями постоянного тока. С помощью этого щита вы можете контролировать скорость и направление независимо от того и другого. Использование экрана означает, что мотор(ы) могут быть подключены непосредственно к плате Arduino без необходимости использования макетной платы или каких-либо дополнительных схем, которые обычно требуются при использовании Arduino.

Мой двигатель

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

Поскольку для этого двигателя требуется питание 12 В, мне пришлось разделить линии питания шилда и моего Arduino Uno, чтобы избежать возможных повреждений, как указано на веб-странице Arduino Motor Shield. Поскольку линии электропередач должны были быть разделены, я больше не мог использовать сетевой блок питания 12 В для прямого подключения к Arduino, поэтому его также пришлось изменить. Его пришлось разделить, чтобы он мог питать как Arduino, так и 6-контактные винтовые клеммы на Arduino Motor Shield. Для этого я отрезал около четырех дюймов от разъема ствола, а затем еще раз такой же длины провода, они были залужены и спаяны вместе с остатком кабеля, который подключался к вилке.

Определение катушек в двигателе

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

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

Перемещение двигателя

Поскольку двигатель был подключен, мне нужно было найти код, который будет работать с моторным щитом, поэтому у меня было примерное представление, с чего начать. Я нашел некоторый код в учебнике Instructables Arduino Motor Shield, который позволил мне раскрутить мой двигатель. Это сработало отлично, но я действительно хотел включить библиотеку Stepper. h в используемый скетч, а в этом примере это не использовалось. По возможности лучше всего использовать официальные библиотеки, поэтому я поискал другой пример и нашел его на форуме Arduino. В этом скетче двигатель должен вращаться на 360 градусов в одном направлении, а затем на 360 градусов в противоположном.

В этом скетче мне нужно было указать количество шагов на оборот для двигателя, который я использовал, но сначала я должен был это определить. В техпаспорте производителя указан приращение для двигателя как 5,625, так и 11,25 градуса, поэтому я использовал это для определения шагов на оборот — для этого нам нужно разделить 360 на угол. Поскольку этот двигатель также оснащен редуктором и имеет передаточное число 1:64, нам нужно умножить количество оборотов на передаточное число. Вот так:

360/11,25 x 64 = 2048

360/5,625 x 64 = 4096

Для начала я использовал 4098 шагов на оборот в скетче, предполагая, что двигатель имеет угол 5,625 градусов, однако, когда я это сделал, он совершил два полных оборота против часовой стрелки, а затем два оборота по часовой стрелке. Здесь было очевидно, что я выбрал неправильный угол; поскольку он делал два оборота, потому что 5,625 составляет половину от 11, когда это используется в делении, это дает ответ в два раза больше, следовательно, делает два полных оборота. Я изменил количество шагов на оборот на 2048, и на этот раз двигатель сделал один оборот по часовой стрелке, затем один против часовой стрелки. Я также изменил скорость двигателя с двух до пяти, так как при установке на два двигатель двигался слишком медленно.

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