Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

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

В этой статье описано управление шаговым двигателем на Ардуино, снятым со старого принтера, с помощью контроллера Arduino.

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

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

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

Шаг 2: Список материалов

Показать еще 5 изображений

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

  • шаговый двигатель
  • микроконтроллер Arduino
  • изолированный медный провод
  • стабилизатор тока
  • транзистор
  • Н-мост (мостовая схема драйвера)
  • плата расширения MotorShield

Опционально:

  • паяльник
  • припой
  • паяльный фен
  • третья рука для пайки
  • защитные очки

Шаг 3: Припаиваем провода

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

Шаг 4: Скетч для Arduino

В контроллерах Arduino имеется предустановленная библиотека для шаговых двигателей. Вам нужно перейти во вкладку Файл – Примеры – Stepper — stepper_oneRevolution (File > Examples > Stepper >stepper_oneRevolution). Дальше вам нужно настроить количество шагов под свой конкретный двигатель (stepsPerRevolution). Поискав в интернете, я выяснил, что у моего двигателя 48 шагов на оборот. Библиотека Stepper чередует импульсы, посылаемые на обмотку катушек (проиллюстрировано в гиф-файле).

Шаг 5: Что такое Н-мост (мостовая схема драйвера)

Н-мост – схема, состоящая из четырех переключателей, чаще используются простые транзисторы. Транзистор – полупроводниковый ключ – включается при прохождении тока через один из пинов. Использование одного транзистора даст возможность контролировать только скорость, тогда как Н-мост дает еще и возможность контролировать направление вращения. Это происходит за счет того, что выключение разных переключателей позволяет току течь в разных направлениях, меняя тем самым полярность. Переключатели 1, 2, 3 и 4 никогда не должны включаться вместе, это вызовет короткое замыкание и может повредить устройство.

Н-мост не даст контроллеру перегореть при работе двигателя. Мотор создает сильное магнитное поле. Когда ток перестает поступать, энергия магнитного поля преобразуется в электрическую, это может повредить компоненты. Н-мост помогает защитить контроллер от повреждений. Никогда не подключайте двигатель напрямую к Arduino.

Н-мост легко собрать самим, а имеющиеся в продаже стоят недорого. В данном проекте используется Н-мост L293NE/SN754410.

Его распиновка:

  • Пин 1 (1, 2EN) —> Мотор 1 Вкл/Выкл (HIGH/LOW)
  • Пин 2 (1A) —> Мотор 1 Логический вывод1
  • Пин 3 (1Y) —>Мотор 1 Штыревой вывод 1
  • Пин 4 —>Земля
  • Пин 5 —>Земля
  • Пин 6 (2Y) —>Мотор 1 Штыревой вывод 2
  • Пин 7 (2A) —> Мотор 1 Логический вывод 2
  • Пин 8 (VCC2) —>Питание для двигателей
  • Пин 9 —>Мотор 2 Вкл/Выкл (HIGH/LOW)
  • Пин 10 —>Мотор 2 Логический вывод 1
  • Пин 11 —>Мотор 2 Штыревой вывод 1
  • Пин 12 —>Земля
  • Пин 13 —>Земля
  • Пин 14 —>Мотор 2 Штыревой вывод 2
  • Пин 15 —>Мотор 2 Логический вывод 2
  • Пин 16 (VCC1) —>Питание Н-моста (5 В)

Шаг 6: Подключение компонентов

4 штыревых вывода Н-моста должны подключаться к четырем выводам. 4 логических вывода подключаются к Arduino (в этой статье это 8, 9, 10 и 11 выводы). На схеме видно, что для питания можно использовать внешний источник питания. Н-мост работает при напряжении в диапазоне 4,5-36 В.

Шаг 7: Загрузка кода и тест

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

Arduino Придбати в Києві, Україна

Каталог

  • Новинки магазина
  • Подарочные сертификаты, сувениры
  • Arduino контроллеры
    • Контроллеры Arduino (original)
    • Контроллеры Arduino (Китай)
    • Arduino для разработчиков
    • Платы расширений Arduino
      • Силовые
      • Коммуникационные
      • Прототипирование
      • Отображение информации
      • Периферийные
      • Audio, звук, голос, mp3
      • Прочие

Подарочные сертификаты, сувениры

Arduino контроллеры

Мини-компьютеры

Средства разработки, программаторы

Карты памяти SD, Флешки

Наборы (DIY Kits), конструкторы

RF, Wi-Fi, Bluetooth, GSM, GPS, FM, XBee

SONOFF Умный дом

Дисплеи

Звук, mp3

Датчики

Робототехника

Двигатели, драйверы

Насосы, помпы, электромагнитные клапаны

Кабели, провода, переходники, шнуры питания, хабы

Макетирование

Разъемы, коннекторы, клеммники

Радиодетали

Реле

Выключатели, переключатели, кнопки

Конвертеры, преобразователи

LED
Электропитание
Устройства ввода, клавиатуры, джойстики

Детали для летающих аппаратов

Охлаждение
Инструменты, оборудование
Готовые устройства
3D
Прочее

Литература

Корпуса универсальные, ножки

Распродажа

Архивные товары

Сколькими шаговыми двигателями может управлять Arduino

Arduino

5 месяцев назад

от Kashif

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

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

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

Как правило, шаговые двигатели делятся на две категории:

  • Биполярный
  • Однополярный

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

Для управления этими шаговыми двигателями нам нужен внешний драйвер двигателя. Эти драйверы двигателей необходимы, потому что Arduino не может удерживать ток более 20 мА , и обычно шаговые двигатели потребляют гораздо больше тока. Еще проблема откат , шаговые двигатели имеют магнитные компоненты; они будут продолжать вырабатывать электричество даже при отключении питания, что может привести к отрицательному напряжению, достаточному для повреждения платы Arduino. Итак, вкратце драйверы двигателей необходимы для управления шаговыми двигателями. Одним из часто используемых драйверов двигателей является модуль A4988 .

На рисунке показано, как униполярный шаговый двигатель подключен к Arduino с помощью A49. Модуль драйвера двигателя 88:

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

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

Сколькими шаговыми двигателями может управлять Arduino

Arduino может управлять любым количеством шаговых двигателей, все зависит от используемой платы и количества входных и выходных контактов, доступных на плате Arduino. Arduino Uno имеет в общей сложности 20 доступных контактов ввода-вывода, из которых 14 цифровых и 6 аналоговых контактов. Однако мы также можем использовать аналоговые контакты для управления шаговым двигателем с помощью драйвера двигателя.

При использовании модуля драйвера двигателя A4988 для управления одним шаговым двигателем требуется до двух контактов, что означает, что Arduino Uno может одновременно поддерживать до 10 шаговых двигателей. 10 двигателей также включают контакты Tx и Rx на плате Arduino, помните, что при использовании этих контактов мы больше не можем загружать или отлаживать скетчи Arduino. Чтобы избежать этого, коммуникационные контакты должны оставаться свободными, чтобы последовательная передача данных могла быть возможна в любое время.

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

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

Как упоминалось ранее, если мы используем модуль драйвера двигателя A4988 с Arduino Uno, он может управлять до 10 двигателями. Эти 10 шаговых двигателей также имеют подключение к последовательным контактам Tx и Rx. Пока эти два вывода используются, Arduino больше не может осуществлять последовательную связь.

Драйвер двигателя A4988 использует только два контакта STEP и DIR. Этих выводов достаточно, чтобы легко управлять одним шаговым двигателем. Если мы подключаем к Arduino несколько степперов, то для каждого из них требуется отдельный модуль драйвера двигателя.

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

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

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

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

Другой способ управления несколькими шаговыми двигателями — подключение нескольких плат Arduino с использованием протоколов связи I2C. I2C имеет преимущество конфигурации Master-Slave , которая позволяет одному устройству управлять многими без необходимости использования внешних периферийных устройств и проводов. Используя I2C, мы можем увеличить количество плат Arduino, что приведет к увеличению количества контактов. Все эти контакты могут очень легко управлять шаговыми двигателями.

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

Две платы Arduino можно соединить с помощью контактов SDA и SCL , которые находятся на аналоговых контактах A4 и A5 соответственно. Таким образом, две платы Arduino соединяются в конфигурации Master-Slave. Теперь каждая из этих плат Arduino может поддерживать 8 шаговых двигателей, исключая две пары проводов, одну для последовательной связи и одну, которую мы только что использовали для связи I2C.

Аналоговый контакт Arduino Контакт I2C
А4 ПДД
А5 СКЛ

Заключение

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

Об авторе

Кашиф

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

Посмотреть все сообщения

шаговый двигатель | Хакадей

8 марта 2023 г. Крис Лотт

Недорогой серводвигатель в электронном ходовом винте токарного станка [Clough52] недавно запылился, и он проделал большую работу, задокументировав свои попытки ремонта (см. видео ниже). Приступая к проекту несколько лет назад, он изучил множество двигателей-кандидатов, в том числе серводвигатель ClearPath из семейства Stepper Killer от Teknic. Хотя этот двигатель хорошо подходил, [Clough52] выбрал значительно более дешевый серводвигатель из Китая, который он назвал «Убийца убийц шагов».

Он тщательно вскрывает встроенный сервоконтроллер двигателя, сначала проверяя цепи и соединения на плате интерфейса. Не найдя очевидной проблемы, он переходит к основной печатной плате, которая содержит микроконтроллер, транзисторы драйвера двигателя и блоки питания. Видимых повреждений нет, но проверка питания логики показывает 1,65В вместо ожидаемых 3,3В. Глядя на плату с установленной на смартфоне ИК-камерой, он быстро обнаруживает плохие новости — произошло короткое замыкание микроконтроллера.

Читать далее «Убийца Stepper Killer убит, попытка ремонта» →

Posted in Tool HacksTagged электронный ходовой винт, токарный станок, ходовой винт, серводвигатель, шаговый двигатель

3 ноября 2022 г. Дэни Конради

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

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

[RoTechnic] использовала плату RAMPS на базе Arduino в качестве контроллера, который запрограммирован на прием через последовательный интерфейс. Он создал простой графический интерфейс и интерфейс сценариев в Jupyter Labs для генерации и отправки команд, что кажется отличным решением для тестирования.

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

Читать далее «Запястье робота с 3 степенями свободы без веса двигателя» →

Posted in Robots HacksTagged Боуден, рука робота, шаговый двигатель

7 октября 2022 г., Дэйв Раунтри

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

Заказанный для офиса в Торонто очень популярной платформы электронной коммерции и сконструированный [Николасом Стедманом], Flux состоит из двадцати одинаковых досок на потолке, расположенных в линию длиной сорок футов. Каждая планка имеет пару вращающихся призм, сделанных из стопки пенопластовых листов, покрытых металлической краской. Призмы вращаются с помощью отдельных шаговых двигателей, каждый из которых приводится в движение модулем на базе TMC2160, что делает их бесшумными.

Простой напечатанный на 3D-принтере кронштейн удерживает небольшую печатную плату с поворотным магнитным энкодером AMS AS5600 на задней части шагового двигателя. Это обеспечивает замкнутую обратную связь с общим Arduino, что очень важно для такой скульптуры. Каждый Arduino подключен к Raspberry Pi, на котором запущено простое приложение, написанное на node.js, которое отвечает за координацию движения, а также загрузку обновленных образов прошивки по мере необходимости. Простая, но очень эффективная сборка, как нам кажется!

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

Продолжить чтение « Поток : сорокафутовое кинетическое произведение искусства» →

Posted in ArtTagged AS5600, TMC2160, шаговый двигатель, кинетическое искусство

7 сентября 2022 г., Дэйв Раунтри

[Neumi] на Hackaday.IO хотел простой в использовании способ управления шаговыми двигателями, который можно было бы быстро развернуть в самых разных приложениях, которые еще предстоит определить. Решение называется Ethersweep и представляет собой небольшой стек печатных плат, который находится на задней панели обычного шагового двигателя формата NEMA17. Единственными физическими подключениями, помимо двигателя, являются Ethernet и источник питания через удобный разъем XT30. Система может быть замкнутой, как с входом конечного упора, так и со встроенным магнитным поворотным энкодером AMS AS5600 (который воспринимает вращающееся магнитное поле на задней стороне узла двигателя — умно!), обеспечивающим необходимую обратную связь. Использование драйвера шагового двигателя Trinamic TMC2208 обеспечивает плавное и бесшумное управление двигателем Ethersweep, что может быть очень важно для некоторых приложений. На OLED-дисплее, обращенном назад, отображается полезная информация об отладке, а также все важные IP-адреса, назначенные устройству.

Управление осуществляется с помощью широко распространенного микроконтроллера ATMega328 с развернутым программным стеком Arduino, что упрощает загрузку прошивки. С этой целью также предусмотрен порт USB, подключенный к UC с помощью дешевого чипа USB-моста CP2102, как в большинстве конструкций, подобных Arduino. Что делает эту сборку немного необычной, так это порт Ethernet. Об аппаратной части заботится ethernet-чип Wiznet W5500, который реализует MAC и PHY в одном устройстве, для работы которого требуется всего несколько пассивов и magjack. Чип также обрабатывает весь стек TCP/IP внутри, поэтому для связи с хост-устройством требуется только внешний интерфейс SPI.

Читать далее «Ethersweep: простой в развертывании шаговый контроллер, подключенный к Ethernet» →

Posted in Arduino HacksTagged arduino, atmega328, freecad, KiCAD, сеть, python, шаговый двигатель, udp, wiznet

18 августа 2022 г. , Левин Дэй

Если вы преданный фанат спорта, нет ничего, что вы любите больше, чем быть в курсе событий в лиге, сверху донизу. У [Киу] был член семьи, который был большим любителем НФЛ, поэтому он приступил к созданию удивительно крутого трекера для ладдеров.

Трекер отображает турнирную таблицу НФЛ с десятиминутной задержкой благодаря платному потоку данных в режиме реального времени с MySportsFeeds.com. Когда выходит обновление, миниатюрные шлемы, представляющие каждую команду в соревновании, перемещаются в правильном порядке. Шлемы крепятся на маленькие пластиковые бирки, которые делают их перемещение простым, надежным и воспроизводимым. Этот трекер, созданный с использованием деталей, знакомых с миром 3D-принтеров, опирается на степперы и V-образные направляющие для линейного движения под управлением Arduino Nano.

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

За прошедшие годы мы видели и другие интересные проекты по отслеживанию спортивных событий. Видео после перерыва!
продолжить чтение «Милый трекер турнирной таблицы NFL использует маленькие мини-шлемы» →

Posted in Robots HacksTagged американский футбол, футбол, мини-шлемы, НФЛ, спорт, шаговый двигатель

6 августа 2022 года Дженни Лист

Стандартной частью дорожного набора 2020-х годов теперь является аккумуляторная батарея — здоровенный литий-ионный элемент со встроенной электроникой для зарядки через USB, который гарантирует, что все наши устройства останутся заряженными, пока мы находимся вне зоны действия розетки. Но что происходит, когда нет удобного источника питания для подзарядки? Шагните в Хлебу с ручным генератором.

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

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

Posted in green hacks, The Hackaday PrizeTagged Hackaday Prize 2022, ручной генератор, портативное питание, шаговый двигатель

30 июля 2022 г. , Свен Грегори

Как говорится, ни в чем нельзя быть уверенным, кроме смерти, налогов и нескончаемой изобретательности взлома часов. Независимо от того, насколько опробована и проверена концепция, кто-то всегда найдет для нее новый поворот. Показательный пример: печально известный изготовитель часов [Синсаку Хиура] использовал старый добрый подход к отображению с разделенными клапанами и смешал вещи, используя колоду игральных карт для реального представления времени.

Технически часы работают так же, как обычные флип-часы, за исключением того, что только верхняя половина створки используется для отображения цифр, а нижняя половина показывает обратную сторону карточек. В остальном механика та же: набор шарниров, удерживающих карты, расположен на роторе, который приводится в движение шаговым двигателем до тех пор, пока не будет показана правильная цифра (STL доступны на Thingiverse). Младшие тузы, джокеры – нули, а дама бьет в полдень.

В центре находится ESP32, который управляет драйвером мотора каждой цифры и получает данные о времени через Wi-Fi, поддерживая общее количество компонентов на достаточно низком уровне.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *