Управление шаговым двигателем на ардуино: Страница не найдена — Ардуино Уроки

Содержание

Подключение шагового двигателя к Arduino через драйвер L298

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

Кроме шагового двигателя (ШД) и Arduino нам потребуется ещё плата драйвера L298, которую можно приобрести у нас в магазине.

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

ШД способен удерживать свою позицию даже в случае внешнего крутящего момента! Шаговые двигатели делятся на униполярные и биполярные. Мы будем использовать униполярный ШД, так как биполярный требует специальный драйвер для управления, тогда как униполярным можно легко управлять даже при помощи сборки транзисторов. Обратите внимание – биполярные ШД имеют 4 провода на выходе, униполярные – не 4 (5 или более).

Количество выводов зависит от количества обмоток в двигателе, чаще всего их 4 –поэтому 5 проводов (4 обмотки и общий). Управление униполярным двигателем, в теории, сводится к перебору обмоток (подачи поочерёдно логической единицы). Задержка между переключением обмотки определяет скорость и ускорение двигателя.

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

Но, так как ток двигателя явно больше, чем 20мА, которые может дать один пин микроконтроллера, то применяются различные драйверы, как и наш L298.

Для реализации проекта из этой статьи нам потребуются следующие компоненты:

Для управления шаговым двигателем сгодится любой контроллер Arduino, мы же используем Arduino UNO.  От шаговика отходят две пары проводов и общий(GND). A, A+ подключаются к MA, MA+, также и B, B+ к MB, MB+.

Питание 12В подаётся на первый контакт разъёма питания, 5В – на второй, GND –  на третий (см. фото ниже). Выводы IN1-IN4 подключаются по порядку к цифровым пинам с 8 по 11 – по ним передаются управляющие импульсы.

После подключения надо загрузить в контроллер программу-пример stepper_oneRevolution из библиотеки Stepper (включена в комплект поставки). Можете добавить ее либо с этой страницы, либо найти в Файл Примеры Stepper stepper_oneRevolution

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

Модуль управления Motor Shield

Отдельный модуль Motor Shield используется в составе Ардуино для управления шаговым двигателем. В зависимости от модели он поддерживает различные типы силовых установок:

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

Микросхема (например L293D) является драйвером. Для управления силовой установки используется одновременно две микросхемы. Защита по напряжению организована посредствам обратных диодов.

Схема имеет силовую и слаботочную цепи питания. Силовая цепь может быть запитана от внешнего источника (6…24В) или от управляющей платы. Для слаботочной цепи предусматривается питание от стабилизированного источника 5В. Подключение внешнего питания осуществляется при установленном джемпере, в обратном случае может возникнуть замыкание.

Увеличить максимальное пороговое напряжение модуля управления с 25 до 36В возможно при помощи использования в составе микросхемы отдельных конденсаторов.

Программное обеспечение для Arduino

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

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

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

Выводы агрегата подключаются к Motor Shield и электрической цепи модуля GND. Количество шагов на оборот и номер канала задается командой Stepper. В зависимости от использования первых двух или третьего и четвертого канала при программировании используется команда 1 и 2 соответственно.

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

Индивидуальная настройка движения ротора программируется командой Step и предусматривает следующий функционал:

  • Задание часа шагов
  • Движение вперед и назад
  • Типы шагов: при помощи одной обмотки, с помощью двух обмоток, чередование режима 1 и 2, микрошаг

Отключение силовой установки осуществляется через команду release.

#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 640Скачать

Вы можете скачать файл.

управления шаговым двигателем 28BYJ-48 с помощью кнопки и потенциометра .ino5 Kb 611Скачать

Вы можете скачать файл.

с использованием библиотеки Stepper.ino1 Kb 443Скачать

Вы можете скачать файл.

Даташит на шаговый двигатель 28BYJ-48.pdf193 Kb 290Скачать

Вы можете скачать файл.

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

Статья проплачена кошками — всемирно известными производителями котят.

Если статья вам понравилась, то можете поддержать проект.

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

Шаговые двигатели бывают униполярные и биполярные.

В среде Arduino самым популярным шаговым двигателем является 28BYj-48. Этот миниатюрный шаговик имеет встроенный редуктор, который позволяет совершать очень точные перемещения выходного вала.

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

Мы не можем подключить этот двигатель напрямую к контроллеру, так как ток на его обмотках может достигать 160 мА, что очень много для выводов Arduino. Для управления 28BYj-48 мы используем драйвер ULN2003.

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

Как правило, кабель двигателя 28BYj-48 уже имеет разъём с ключом, который вставляется в плату только в правильном положении. В противном случае, при подключении необходимо следовать цветовой схеме. Контакты IN1..IN4 можно подключить к любым цифровым выходам Arduino.

Можно самостоятельно подавать различные сигналы на выводы, заставляя мотор крутиться. Также есть готовые библиотеки. Например, Arduino IDE поставляется с библиотекой Stepper.



Коннектор JST-XH

Мотор соединяется с драйвером при помощи специального коннектора марки JST-XH. Соединить легко, а вот отсоединить проблематично. Каждый изощряется как может. Для изобретателя данного коннектора приготовлен отдельный котёл.

Дополнительные материалы

Ардуино: шаговый двигатель 28BYJ-48 и драйвер ULN2003

Реклама

L298N подключение к Ардуино — RadioRadar

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

Конечно, шаговые двигатели (ШД) используются не только в ЧПУ и 3D-принтерах, им есть масса и других применений. Например, вкупе с популярным «конструктором для взрослых», Arduino, на базе которого можно создать всё что угодно. Однако, связка «Ардуино – шаговый двигатель» требует дополнительный элемент – драйвер.

Из-за того, что двигатель требует повышенного напряжения и силы тока, непосредственное подключение его к микроконтроллеру невозможно, напряжения логического нуля в +5В и силы тока в 40 мА не хватит для работы любого шагового двигателя. Функцию усилителя/переключателя берет на себя драйвер.

О нём мы и поговорим подробнее ниже.

 

L298N описание

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

Модуль собирается на основе одноименной микросхемы (L298N).

К L298N можно подключить двигатели, питающиеся напряжением от 5 до 35 вольт. Управление может быть реализовано в активном или пассивном режимах.

1.Активный – доступно не просто включение и отключение вращения мотора, но и управление его скоростью.

2.Пассивный – контроллер будет понимать только логику «включить/выключить двигатель». Управление уровнем выходного напряжения будет недоступно.

L298N – это облегчённая версия платы L293D. По сравнению с последней на L298N отсутствуют защитные диоды (их можно установить самостоятельно при необходимости защиты от скачков тока в процессе пуска двигателей).

 

Подключение

Чтобы логика управления была понятнее, сначала разберёмся с джамперами и клеммами на плате.

Рис. 1.  Джамперы и клеммы на плате

 

К клеммникам 1 и 2 подключаются двигатели, логика подключения зависит от моделей двигателей и логики их работы.

Блок клемм 3 отвечает за подключение питания двигателей. Первый контакт — +12. На него подаётся питание от 5 до 12 вольт, если джампер 3 одет, и от 12 до 35 воль, если джампер 3 снят.

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

Если джампер 3 снят, то контакт +5В требуется запитать отдельно.

Управляющие сигналы от Ардуино или с другого микроконтроллера должны подаваться на контакты IN1-IN4, ENA, ENB. В зависимости от логических уровней и конфигурации джамперов 1,2 будет подаваться питание на двигатели/двигатель.

Джамперы 1 и 2 отвечают за переключение между активным и пассивным режимами работы драйвера. Если джампер одет, то реализуется логика «пассивного» управления.

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

 

Управление двумя двигателями постоянного тока

Схема соединения будет выглядеть следующим образом.

Рис. 2. Схема соединения

 

Напряжение питания двигателей ниже 12 вольт, значит джампер 3 установлен, джамперы 1 и 2 на контактах ENA и ENB сняты.

Стоит особое внимание уделить пинам на Ардуино с ШИМ-модуляцией (рядом с цифровым значением есть специальный символ «~»). Они необходимы для управления скоростью вращения вала (чем выше уровень напряжения, тем выше скорость).

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

Таблица

Логический уровень на контакте ENA

Логический уровень на контакте IN1

Логический уровень на контакте IN2

Результат работы двигателя

1

1

0

Вращается по часовой стрелке

1

0

1

Вращается против часовой

0

1

0

Не вращается

0

0

1

Не вращается

 

Логический уровень на контакте ENAЛогический уровень на контакте IN1Логический уровень на контакте IN2Результат работы двигателя

Получается, что контакт ENA отвечает за разрешение работы двигателя. А от комбинации на входах IN1, IN2 зависит направление вращения.

Если на контакт ENA подать не логическую единицу, а заданный уровень напряжения из доступного диапазона (0-255), то изменится скорость вращения.

 

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

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

Рис. 3. Соединение схемы управления,

 

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

Ввиду того, что логика работы данной схемы предполагает наличие на выходах только логических нулей и единиц, то джамперами 1 и 2 модуль L298N переключается в пассивный режим.

Скетч для работы с шаговым двигателем есть во встроенной библиотеке IDE для Ардуино (называется Stepper Library, найти её можно так — File -> Examples -> Stepper).

Константа stepsPerRevolution отвечает за количество шагов в одном обороте, по умолчанию установлено значение 200. Его необходимо изменить, если модель вашего двигателя имеет другой показатель.

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

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

Пример с использованием этой библиотеки можно найти ниже во вложениях. Полную документацию по API можно найти на официальном сайте проекта.

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

Автор: RadioRadar

Управление шаговым двигателем (ПО) + реализация за 3000 рублей

  • Цена договорная

    Разработать инструкции для сборки мебели

    РАССМАТРИВАЮ ТОЛЬКО С ОПЫТОМ И ГОТОВЫМИ КЕЙСАМИ Мы производим мебель из ЛДСП, нужен дизайнер для создания инструкций в стиле HOFF, IKEA без текста, с помощью иконок и символов.

    Павел В.

  • Цена договорная

    Художника-иллюстратора работающий на граф планшете

    Нужно будет перерисовать в векторе рисунок, чтобы было готово для печати (формат ai или eps или cdr) Добавить несколько деталей , которые я скажу, линии должны быть четкими

    Евгения П.

  • Цена договорная

    Создать персонажа на пк

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

    Виктор В.

  • Цена договорная

    Дизайн гостиной 32кв.м

    Нужен дизайн — интерьера гостиной комнаты в новостройке. В стиле минимализма. План помещения отправлю исполнителю.

    Егор О.

  • Цена договорная

    Нужен архитектор для рабочих чертежей по ландшафту

    Необходимо в автокаде скорректировать существующий план территории 15 соток и посчитать площади и поставить размеры.

    Anna L.

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

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

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

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

    Разделим шаговики на 3 основных класса:

    • Переменный шаговый двигатель
      Ротор не имеет постоянных магнитов, а оснащен ферромагнитной шестерней. Это материал, который крайне эффективно магнититься, но не так сильно по сравнению с постоянным. Это приводит к проигрышу в крутящем моменте. Зато отсутствует стопорящая сила, возникающая за счет магнитного поля между корпусом мотора и ротором с постоянным магнитом, которую легко почувствовать, покрутив шаговик в выключенном состоянии (характерные щелчки).
      Движок оснащен большим количеством катушек, которые включаются попарно. Величина шага варьируется от 5 до 15 градусов.
    • Шаговый двигатель с постоянным магнитом
      Ротор такого устройства состоит из нескольких разнополюсных магнитов. Принцип разбирали в самом начале. Характерный шаг от 45 до 90 градусов.

     

    • Гибридный шаговый двигатель
      Как можно догадаться, данный тип совместил в себе первые два и унаследовал все плюсы. Отличительными характеристиками данного шаговика являются высокая точность (1-5 градуса), малая вибрация и приличная скорость вращения. Все хорошо, но такие штуки отличаются от своих собратьев еще и ценой! Это связано со сложностью изготовки. Но производители пошли на технологическую хитрость. Практически невозможно создать многозубцовую (скажем, 100) шестеренку, где соседние зубья будут разных полюсов.

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

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

    • Полношаговое управление одной обмоткой
      Это самый простой вариант. Последовательно включается только одна катушка и к ней притягивается вал мотора. В таком случае крутящий момент будет меньше чем в следующем способе.
    • Полношаговое управление двумя обмотками
      Принцип такой же, как и в предыдущем случае, но теперь управление идет парой электромагнитов. Это обеспечивает максимальный крутящий момент мотора, но требует в два раза больше тока или напряжения (зависит от метода подключения катушек друг к другу).
    • Полушаговое управление
      Данная логика включения катушек позволит увеличить число шагов, а, следовательно, и точность в 2 раза! Аналогично предыдущим пунктам, можно управлять одной катушкой или парой. Вся фишка в том, что в данном случае переход на следующую катушку переходит не при полном выключении предыдущей. То есть, при работе двух соседних катушек вал мотора встает в промежуточное состояние.
                             
    • Сверхточное управление
      Наверное у многих после предыдущего пункта появилась мысль: а что если мы будем подавать разную мощность на две соседние катушки, меняющуюся по определенному закону, и получим еще больше промежуточных шагов? Именно так и устроены современные двигатели в сверхточных ЧПУ и прочих подобных устройствах. Хитрое управление обмотками позволяет значительно повысить точность позиционирования подобных моторов. В таких случаях используют специальные драйверы для шаговых двигателей, позволяющих осуществлять подобный режим управления.

    В качестве примера в данной статье рассмотрим подключения двух шаговых двигателей к плате Arduino. Для начала рассмотрим мотор 17hs4401, которой используется в 3D принтерах. Данная модель является биполярной, то есть у нас есть две пары обмоток от которых идет 4 кабеля.

    Шаговый двигатель 17hs4401 обладает большим крутящим моментом и может питаться от сети 12 V. Чтобы не перегружать нашу плату управления большими мощностями, шаговик подключается к ней с помощью специального драйвера А4988, который способен работать в жестких условиях (до 35 V и 2 А).

    Слабые управляющие сигналы с Arduino идут на драйвер, а тот уже взаимодействует с 17hs4401 с более мощными параметрами пот току и напряжению. К ножкам A4988 VDD и GND подводится питание логического уровня (3 — 5,5 В), к VMOT и GND — питание двигателя (8 — 35 В). Стоит отметить, что в данной системе бывают скачки напряжения, которые могут привести к поломке оборудования. В этой связи (на 3D принтерах всегда) ставят большие конденсаторы (более 47 мкФ). Драйвер имеет болт, который регулирует силу тока. Работая на предельных значениях, вы рискуете сжечь его, особенно если не наклеен радиатор, идущий в комплекте с устройством.

    Шаговик 17hs4401 за полный оборот совершает 200 шагов. Это весьма неплохо, но для лучшего позиционирования (крайне важно для ЧПУ) используют схему управления с микрошагами, которую мы изучили ранее. A4988 позволяет осуществлять такую процедуру с коэффициентами 1/2, 1/4, 1/8 и 1/16 шага (комбинируя управление через выходы MS1, MS2, и MS3). 

    MS1 MS2 MS3 Step
    Low Low Low Full
    High Low Low 1/2
    Low High Low 1/4
    High High Low 1/8
    High High High 1/16

    Пин STEP отвечает за микрошаг шаговика, DIRECTION — за направление вращения. Выводы STEP и DIRECTION не подтянуты к какому-либо конкретному внутреннему напряжению, поэтому их не стоит оставлять плавающими при создании приложений. Если требуется вращать двигатель в одном направлении,коннектим DIR с VCC или GND. Драйвер имеет три различных входа для управления состоянием питания: RESET, SLEEP и ENABLE. Вывод RESET плавает, если его не нужно использовать, то следует подключить его к SLEEP, чтобы подать на него высокий уровень и включить плату.

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

    Обычно, такие моторы любителями используются при сборке 3d принтеров своими руками. Для этого используют Arduino MEGA и шилд ramps 1.4, о котором мы говорили вот в этой статье. Удобство использования данного комплекта состоит в том, что не нужно соединять кучу проводов — за вас уже все разведено. Таким образом легко подключить сразу до 5 шаговиков!

    Более простым и дешевым вариантом шагового мотора является модель 28byj-48. Его подключение немного запутанное, но несмотря на это он пользуется большой популярностью у любителей собирать роботов! Поэтому мы немного расскажем о том, как 28byj-48 подключить к ардуино. В первую очередь нам понадобиться драйвер ULN2003APG. Это очень дешевая железяка, встречается как готовая плата с разъемами, так и просто чип с голыми ножками. Сначала посмотрим, как подключать второй вариант.

    На данной картинке покано подключение двух шаговых двигателей к плате Arduino Nano. C обратной стороны драйвера все ножки соединяем с цифровыми пинами, кроме крайней правой — ее ведем к GND. При программировании вам потребуется осуществить настройку моторов к пинам и в этом случае необходимо указать правильную последовательность: оранжевый, синий, желтый, розовый. Именно в таком порядке необходимо будет подавать управляющий сигнал с ножек микропроцессора. Как видно на рисунке, красный провод левого коннектора не попадает на ULN2003APG — его необходимо соединить с выходом 5V или VIN. 

    Есть более простой способ подключения шаговика 28byj-48 через готовую плату с коннектором:

    На всякий случай приведем распиновку драйвера:

    На этом у нас все, если будут вопросы — всегда готовы ответить!

    Управление шаговым двигателем с помощью Arduino: 8 шагов (с изображениями)

    Н-мост — это схема, состоящая из 4 переключателей, которые могут безопасно управлять двигателем постоянного тока или шаговым двигателем. Эти переключатели могут быть реле или (чаще всего) транзисторами. Транзистор представляет собой твердотельный переключатель, который можно закрыть, послав небольшой ток (сигнал) на один из его контактов. В отличие от одиночного транзистора, который позволяет вам управлять только скоростью двигателя, H-мосты также позволяют контролировать направление вращения двигателя.Он делает это, открывая разные переключатели (транзисторы), чтобы позволить току течь в разных направлениях и, таким образом, изменять полярность на двигателе. ВНИМАНИЕ: Переключатели 1 и 2 или 3 и 4 никогда не должны замыкаться вместе. Это вызовет короткое замыкание и возможное повреждение устройства.

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

    Хотя H-мосты можно довольно легко построить, многие предпочитают покупать H-мост (например, микросхему L293NE / SN754410) из-за удобства. Это чип, который мы будем использовать в этом уроке. Физические номера контактов и их назначение перечислены ниже.

    • Контакт 1 (1, 2EN) —> Включение / выключение двигателя 1 (ВЫСОКИЙ / НИЗКИЙ)
    • Контакт 2 (1A) —> Логический контакт 1 двигателя 1
    • Контакт 3 (1Y) — -> Клемма 1 двигателя 1
    • Контакт 4 —> Земля
    • Контакт 5 —> Земля
    • Контакт 6 (2Y) —> Клемма двигателя 1 2
    • Контакт 7 (2A) — -> Логический контакт 2 двигателя 1
    • Контакт 8 (VCC2) —> Источник питания для двигателей
    • Контакт 9 —> Включение / выключение двигателя 2 (ВЫСОКИЙ / НИЗКИЙ)
    • Контакт 10 —> Двигатель 2 Логический вывод 1
    • Контакт 11 —> Клемма 1 двигателя 2
    • Контакт 12 —> Земля
    • Контакт 13 —> Земля
    • Контакт 14 —> Клемма 2 двигателя 2
    • Контакт 15 —> Motor 2 Logic Pin 2
    • Pin 16 (VCC1) —> Источник питания для H-моста (5 В)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Например, схема драйвера униполярного шагового двигателя может быть реализована с помощью простой транзисторной схемы или микросхемы транзистора Дарлингтона, такой как ULN2003A. Но в случае биполярного шагового двигателя нам необходимо реализовать драйвер типа H-моста, такой как L293D Motor Driver IC.

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

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

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

    В этом проекте мы использовали биполярный шаговый двигатель. Следовательно, мы использовали микросхему Motor Driver IC L293D, которая представляет собой драйвер типа H-моста.Поскольку это биполярный шаговый двигатель, нам нужно подключить всего 4 провода.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Код

    Приложения

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

    Конструкция и вывод видео

    Как управлять шаговым двигателем с помощью драйвера A4988 и Arduino


    Обзор: управление шаговым двигателем с драйвером A4988 и Arduino

    В этом руководстве мы будем управлять шаговым двигателем NEMA17 с помощью модуля драйвера A4988 и Arduino.A4988 — это микрошаговый драйвер для управления биполярными шаговыми двигателями, который имеет встроенный переводчик для облегчения работы. Таким образом, мы можем управлять шаговым двигателем с помощью всего 2 контактов от нашего контроллера. Штифт DIR будет управлять направлением вращения, а штифт STEP — шагом.

    В предыдущем уроке мы изучили управление шаговым двигателем с помощью потенциометра , а также с помощью джойстика . 28BYJ-48 — это 5-проводный униполярный шаговый двигатель, который работает от 5 вольт и не требует драйвера.Но для шагового двигателя NEMA17 требуется мощность 8–35 В, поскольку крутящий момент слишком высок. Поэтому нам нужен модуль шагового драйвера, например A4988 или DRV8825 .


    Спецификация

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


    A4988 Модуль драйвера шагового двигателя

    A4988 — это полный микрошаговый драйвер двигателя со встроенным переводчиком для упрощения работы.Коммутационная плата от Allegro имеет регулируемое ограничение тока, защиту от перегрузки по току и перегреву, а также пять различных разрешений микрошага. Он работает от 8 В до 35 В и может выдавать до 1 А на фазу без радиатора или принудительного воздушного потока. Он рассчитан на 2 А на катушку при достаточном дополнительном охлаждении.

    Характеристики
    1. Макс. Рабочее напряжение: 35 В
    2. Мин. Рабочее напряжение: 8 В
    3. Макс. Ток на фазу: 2A
    4. Микрошаговое разрешение: полный шаг, ½ шага, ¼ шага, 1/8 и 1/16 шага
    5. Защита от обратного напряжения: Нет
    6. Размеры: 15.5 × 20,5 мм (0,6 ″ × 0,8 ″)
    7. Защита от короткого замыкания на массу и короткого замыкания нагрузки
    8. Выходы Low RDS (ON)
    9. Схема теплового отключения
    A4988 Распиновка драйвера двигателя

    Драйвер A4988 имеет в общей сложности 16 контактов, а именно:

    1. Контакты источника питания: Контакт включает VDD, VMOT и пару контактов GND. VDD используется для управления внутренней логической схемой, которая может составлять от 3 до 5 В, тогда как VMOT обеспечивает питание двигателя, которое может составлять от 8 до 35 В.

    2. Контакты Microstep Selection: Драйвер A4988 имеет входы трехступенчатого селектора разрешения, то есть MS1, MS2 и MS3. Установив соответствующие логические уровни для этих выводов, мы установим двигатели как минимум на одно из пяти шагов разрешения.

    3. Входные контакты управления: STEP и DIR — это 2 контакта входа управления. Вход STEP контролирует микрошаги двигателя, тогда как вход DIR контролирует направление вращения двигателя.

    4. Вывод управления состояниями питания: A4988 имеет три различных входа для управления состояниями питания, т.е.e EN, RST и SLP. Контакт EN является активным низким входом, при нажатии LOW активируется драйвер A4988. Вывод SLP — активный низкий вход. Нажатие этого вывода на НИЗКОЕ значение переводит драйвер в спящий режим, минимизируя потребление ресурсов. RST — это активный низкий вход, который при нажатии LOW все входы STEP игнорируются. Он также сбрасывает драйвер, устанавливая внутренний переводчик на начальную ступень двигателя.

    5. Выходные контакты: Имеется 4 выходных контакта: 2B, 2A, 1B, 1A. Мы можем подключить к этим контактам любой биполярный шаговый двигатель с напряжением от 8 до 35 В.

    Требования к радиатору

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

    Из-за чрезмерного рассеивания мощности драйвера A4988 происходит повышение температуры, которое может выйти за пределы возможностей IC, вероятно, повредив ее.

    Установка предела тока

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

    Ограничение по току = VRef x 2,5

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


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

    NEMA 17 — гибридный шаговый двигатель с углом шага 1,8 ° (200 шагов / оборот). Каждая фаза потребляет 1,2 А при 4 В, что обеспечивает удерживающий момент 3,2 кг-см. Шаговый двигатель NEMA 17 обычно используется в принтерах, станках с ЧПУ и лазерных резаках.

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


    Взаимодействие шагового двигателя NEMA17 с Arduino с использованием драйвера A4988

    Теперь давайте подключим драйвер шагового двигателя A4988 к Arduino и будем управлять шаговым двигателем NEMA17. Я использовал контакты D2 и D3 для управления направлением и шагом двигателя. Схема подключения приведена ниже.

    Вывод VMOT питается от источника питания 12 В, а VDD питается от источника питания 5 В. Не забудьте установить большой развязывающий электролитический конденсатор 100 мкФ на контакты источника питания двигателя, рядом с платой.


    Project PCB Gerber File & PCB Заказ онлайн

    Если вы не хотите собирать схему на макетной плате и вам нужна печатная плата для проекта, то вот печатная плата для вас. Печатная плата для управления шаговым двигателем Nema17 с A4988 и Arduino разработана с использованием онлайн-инструмента EasyEDA для создания схем и проектирования печатных плат. Лицевая и обратная стороны печатной платы показаны ниже.

    Рис: Вид спереди Рис: Вид сзади

    Файл Gerber для печатной платы представлен ниже.Вы можете просто загрузить файл Gerber и заказать печатную плату по адресу https://www.nextpcb.com/

    Скачать файл Gerber: A4988 + Arduino + NEMA17 PCB

    Теперь вы можете посетить официальный сайт NextPCB, щелкнув здесь: https://www.nextpcb.com/ . Вы будете перенаправлены на сайт NextPCB .

    Теперь вы можете загрузить файл Gerber на веб-сайт и разместить заказ. Качество печатной платы чистое и блестящее. Вот почему большинство людей доверяют NextPCB для PCB и PCBA Services .


    Базовый код управления шаговым двигателем

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    000

    000

    000 34

    35

    36

    37

    38

    const int dirPin = 2;

    const int stepPin = 3;

    const int stepsPerRevolution = 200;

    void setup ()

    {

    // Объявление контактов как выходов

    pinMode (stepPin, OUTPUT);

    pinMode (dirPin, ВЫХОД);

    }

    void loop ()

    {

    // Установить направление двигателя по часовой стрелке

    digitalWrite (dirPin, HIGH);

    // Медленно вращайте двигатель

    for (int x = 0; x

    {

    digitalWrite (stepPin, HIGH);

    delayMicroseconds (2000);

    digitalWrite (stepPin, LOW);

    delayMicroseconds (2000);

    }

    задержка (1000); // Подождите секунду

    // Установите направление двигателя против часовой стрелки

    digitalWrite (dirPin, LOW);

    // Быстрое вращение двигателя

    for (int x = 0; x

    {

    digitalWrite (stepPin, HIGH);

    delayMicroseconds (1000);

    digitalWrite (stepPin, LOW);

    delayMicroseconds (1000);

    }

    задержка (1000); // Подождите секунду

    }


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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    000

    000

    000 34

    35

    36

    37

    38

    const int dirPin = 2;

    const int stepPin = 3;

    const int stepsPerRevolution = 200;

    void setup ()

    {

    // Объявление контактов как выходов

    pinMode (stepPin, OUTPUT);

    pinMode (dirPin, ВЫХОД);

    }

    void loop ()

    {

    // Установить направление двигателя по часовой стрелке

    digitalWrite (dirPin, HIGH);

    // Медленно вращайте двигатель

    for (int x = 0; x

    {

    digitalWrite (stepPin, HIGH);

    delayMicroseconds (2000);

    digitalWrite (stepPin, LOW);

    delayMicroseconds (2000);

    }

    задержка (1000); // Подождите секунду

    // Установите направление двигателя против часовой стрелки

    digitalWrite (dirPin, LOW);

    // Быстрое вращение двигателя

    for (int x = 0; x

    {

    digitalWrite (stepPin, HIGH);

    delayMicroseconds (1000);

    digitalWrite (stepPin, LOW);

    delayMicroseconds (1000);

    }

    задержка (1000); // Подождите секунду

    }


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

    можно управлять с помощью библиотеки Arduino AccelStepper.Он предоставляет объектно-ориентированный интерфейс для 2-, 3- или 4-контактных шаговых двигателей и драйверов двигателей.

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

    Следующий код показывает все вышеупомянутые функции.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    140002

    13

    14

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    000

    000 34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    00050002 47

    0005000

    51

    52

    53

    #include

    // Определите соединения шагового двигателя и тип интерфейса двигателя. Тип интерфейса двигателя должен быть установлен на 1 при использовании драйвера:

    #define dirPin 2

    #define stepPin 3

    #define motorInterfaceType 1

    // Создайте новый экземпляр класса AccelStepper:

    AccelStepper = AccelStepper (motorInterfaceType, stepPin, dirPin);

    void setup () {

    // Установите максимальную скорость в шагах в секунду:

    шаговый.setMaxSpeed ​​(1000);

    }

    void loop ()

    {

    // Установить текущую позицию на 0:

    stepper.setCurrentPosition (0);

    // Запустите двигатель вперед со скоростью 200 шагов в секунду, пока двигатель не достигнет 400 шагов (2 оборота):

    while (stepper.currentPosition ()! = 400)

    {

    stepper.setSpeed ​​(200) ;

    stepper.runSpeed ​​();

    }

    задержка (1000);

    // Сбросьте положение на шаговый 0:

    .setCurrentPosition (0);

    // Запустите двигатель назад со скоростью 600 шагов в секунду, пока двигатель не достигнет -200 шагов (1 оборот):

    while (stepper.currentPosition ()! = -200)

    {

    stepper.setSpeed ​​( -600);

    stepper.runSpeed ​​();

    }

    задержка (1000);

    // Сбросьте позицию на 0:

    stepper.setCurrentPosition (0);

    // Запустите двигатель вперед со скоростью 400 шагов в секунду, пока двигатель не достигнет 600 шагов (3 оборота):

    while (stepper.currentPosition ()! = 600)

    {

    stepper.setSpeed ​​(400);

    stepper.runSpeed ​​();

    }

    задержка (3000);

    }


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

    Следующий рисунок добавит ускорение и замедление к движениям шагового двигателя. Двигатель будет вращаться вперед и назад со скоростью 200 шагов в секунду и ускорением 30 шагов в секунду.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    140002

    13

    14

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    #include

    #define dirPin 2

    #define stepPin 3

    #define motorInterfaceType 1

    // Создайте новый экземпляр класса AccelStepper:

    StepPin, AccelStepper ;

    void setup ()

    {

    // Установите максимальную скорость и ускорение:

    stepper.setMaxSpeed ​​(200);

    stepper.setУскорение (30);

    }

    void loop () {

    // Установите целевую позицию:

    шаговый.moveTo (600);

    // Движение к целевой позиции с заданной скоростью и ускорением / замедлением:

    stepper.runToPosition ();

    задержка (1000);

    // Вернуться к нулю:

    stepper.moveTo (0);

    stepper.runToPosition ();

    задержка (1000);

    }


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

    Шаговым двигателем также можно управлять с помощью потенциометра.Я использовал потенциометр 10K и подключил его к аналоговому выводу A0 платы Arduino Nano. Напряжение, подаваемое на аналоговый вывод Arduino, можно использовать в качестве опорного напряжения для управления скоростью шагового двигателя. Схема подключения приведена ниже.

    Скопируйте приведенный ниже код и загрузите его на плату Arduino Nano Board.



    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    / Определяет номера выводов

    const int stepPin = 3;

    const int dirPin = 4;

    int customDelay, customDelayMapped; // Определяет переменные

    void setup () {

    // Устанавливает два контакта как выходы

    pinMode (stepPin, OUTPUT);

    pinMode (dirPin, ВЫХОД);

    digitalWrite (dirPin, HIGH); // Позволяет двигателю двигаться в определенном направлении

    }

    void loop () {

    customDelayMapped = speedUp (); // Получает пользовательские значения задержки из пользовательской функции speedUp

    // Создает пулы с пользовательской задержкой, в зависимости от потенциометра, от которого зависит скорость двигателя

    digitalWrite (stepPin, HIGH);

    delayMicroseconds (customDelayMapped);

    digitalWrite (stepPin, LOW);

    delayMicroseconds (customDelayMapped);

    }

    // Функция для чтения потенциометра

    int speedUp () {

    int customDelay = analogRead (A0); // Считывает потенциометр

    int newCustom = map (customDelay, 0, 1023, 300,4000); // Преобразует считанные значения потенциометра от 0 до 1023 в желаемые значения задержки (от 300 до 4000)

    return newCustom;

    }


    Видеоуроки и руководство

    A4988 Учебное пособие | Управляйте шаговым двигателем NEMA17 с помощью модуля драйвера шагового двигателя A4988 и Arduino

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

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

    Как управлять шаговым двигателем?
    Самый быстрый способ управлять шаговым двигателем — это просто использовать драйвер (контроллер) шагового двигателя. И TB6600 arduino — именно то, что вам нужно.

    TB6600 arduino — это простой в использовании профессиональный драйвер шагового двигателя, который может управлять двухфазным шаговым двигателем. Он совместим с Arduino и другими микроконтроллерами, которые могут выводить цифровой импульсный сигнал 5 В. Драйвер шагового двигателя TB6600 arduino имеет широкий диапазон входной мощности, источник питания 9 ~ 42 В постоянного тока.И он способен выдавать пиковый ток 4А, чего достаточно для большинства шаговых двигателей.

    Драйвер шагового двигателя поддерживает управление скоростью и направлением. Вы можете установить микрошаг и выходной ток с помощью 6 DIP-переключателей. Существует 7 видов микрошагов (1, 2 / A, 2 / B, 4, 8, 16, 32) и 8 видов контроля тока (0,5 А, 1 А, 1,5 А, 2 А, 2,5 А, 2,8 А, 3,0 А). А, 3,5 А) всего. И все сигнальные терминалы имеют изоляцию с помощью высокоскоростных оптопар, что повышает их способность противодействовать высокочастотным помехам.

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

    Примечание: это новейшая обновленная версия драйвера шагового двигателя TB6600.

    DIY Alarm с использованием Home Assistant, Konnected и Sonoff RF Bridge

    TB6600 Драйвер шагового двигателя 5A и Arduino


  • Поддержка 8 видов текущего контроля
  • Поддержка 7 видов регулируемых микрошагов
  • Интерфейс использует изоляцию высокоскоростной оптопары.
  • Автоматический полупоток для уменьшения нагрева
  • Радиатор большой площади
  • Способность к высокочастотным помехам
  • Входная защита от обратного хода
  • Защита от перегрева, перегрузки по току и короткого замыкания
  • Входной ток: 0 ~ 5А
  • Выходной ток: 0.5-4.0A
  • Управляющий сигнал: 3,3 ~ 24 В
  • Мощность (макс.): 160 Вт
  • Микрошаг: 1, 2 / A, 2 / B, 4, 8, 16, 32
  • Температура: -10 ~ 45 ℃
  • Влажность: без конденсации
  • Размер: 96 * 56 * 33 мм / 3,78 * 2,2 * 1,3 дюйма
  • Вес: 0,2 кг
  • Микросхема привода
  • : TB67S109AFTG
  • библиотек arduino / Stepper: библиотека Stepper для Arduino

    GitHub — библиотеки arduino / Stepper: библиотека Stepper для Arduino

    Библиотека Stepper для Arduino

    Файлы

    Постоянная ссылка Не удалось загрузить последнюю информацию о фиксации.

    Тип

    Имя

    Последнее сообщение фиксации

    Время фиксации

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

    Лицензия

    Авторские права (c) Arduino LLC.Все права защищены. Авторское право (c) Себастьян Гасснер. Все права защищены. Авторское право (c) Ноа Шибли. Все права защищены.

    Эта библиотека является бесплатным программным обеспечением; вы можете распространять его и / или изменить его в соответствии с условиями GNU Lesser General Public Лицензия, опубликованная Free Software Foundation; либо версии 2.1 Лицензии или (по вашему выбору) любой более поздней версии.

    Эта библиотека распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; без даже подразумеваемой гарантии КОММЕРЧЕСКАЯ ЦЕННОСТЬ или ПРИГОДНОСТЬ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ.См. GNU Стандартная общественная лицензия ограниченного применения для получения более подробной информации.

    Вы должны были получить копию GNU Lesser General Public Лицензия вместе с этой библиотекой; если нет, напишите в Бесплатное ПО Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

    Около

    Библиотека Stepper для Arduino

    ресурса

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

    с помощью модуля Arduino и Bluetooth HC-06 через приложение для Android

    Это простое руководство о том, как управлять скоростью и направлением шагового двигателя с помощью arduino uno и модуля bluetooth hc-06 через приложение для телефона Android. Я использую однонаправленный шаговый двигатель.Это два типа шаговых двигателей: однонаправленные и двунаправленные. Однонаправленный имеет четыре фазы, а двунаправленный — 6 фаз. Фазы должны контролироваться должным образом, иначе желаемый выход не может быть получен. Прежде чем идти дальше, я предполагаю, что вы знаете о более крутых фазах двигателя и знаете, как эффективно ими управлять, чтобы получить максимальную мощность.

    Проект управления Bluetooth шаговым двигателем Arduino — Принцип работы

    Пользователь соединяет свой телефон Android с модулем Bluetooth HC-06.После сопряжения пользователь может запустить двигатель, может перемещать вал в любом направлении по часовой или против часовой стрелки, может изменять скорость вращения двигателя, может останавливать двигатель с помощью команд, встроенных в код. Команды могут быть изменены в соответствии с потребностями пользователя. Мы вернемся к части кода позже в руководстве.

    Схема управления шаговым двигателем Arduino

    Принципиальная схема проекта представлена ​​ниже. Шаговый двигатель, который я использую, работает от 12 В постоянного тока.Катушки шагового двигателя потребляют от 80 мА до 250 мА, поэтому мы не управляем более крутым двигателем напрямую с контактов Arduino. Для этого нам нужен какой-нибудь драйвер, и ULN2003 — это дорогостоящая микросхема массива, которая ему подходит. ULN2003 способен обеспечивать ток 500 мА при 50 В, он может легко подавать ток 25 0 мА при 12 В.

    Шаговые катушки управляются через цифровые контакты 2,3,4 и 5 Arduino. Контакты напрямую подключаются к входам uln2003. Соответствующие выходы uln2003 подают питание на катушки двигателя.Arduino получает питание от внешнего адаптера 12 В, а uln2003 — от того же адаптера. Hc06 питается от выхода питания 3,3 В Arduino.
    Примечание: Заземление Arduino должно быть заземлено с помощью заземления ULN2003. Оба ИС должны иметь одинаковый потенциал, чтобы заработать. Если не заземлено должным образом, цепь плавает, и выходная мощность непредсказуема.

    Управление скоростью и направлением шагового двигателя с помощью модуля Arduino и Bluetooth HC-06 через приложение для Android

    Требования к переключателям уровня

    Arduino общается с модулем bluetooth hc06 по протоколу последовательной связи.Скорость передачи для последовательной связи можно изменить. Я работаю со скоростью передачи по умолчанию 9600 бит / с. Модуль Bluetooth hc06 работает от 3,3 В и может питаться от выхода источника 3,3 В arduino uno. Так как bluetooth hc06 работает с напряжением 3,3 В, он выводит данные в виде сигнала TTL с номинальным напряжением 3,3 В. В то время как arduino uno работает с напряжением 5 В, а его контакты выводят данные в виде сигнала TTL с номинальным напряжением 5 В. Для балансировки напряжения уровня TTL. Просеиватели уровня напряжения вставляются между штырями.Arduino TX передает сигнал 5 В, который смещается до 3,3 В простой схемой делителя напряжения. Hc06 TX передает сигнал 3,3 В, уровень которого сдвинут на 5 В.

    Команды для запуска и управления шаговым двигателем через Bluetooth

    Отправка следующих команд из приложения Android после его сопряжения с hc06 Bluetooth mod ule заставит Arduino выполнять забавные действия ctions на шаговом двигателе .

    с или S = запускает и останавливает шаговый двигатель. Первый запускает двигатель, а последующие его останавливают.
    f или F = Вращает шаговый двигатель по часовой стрелке.
    b или B = Вращает шаговый двигатель против часовой стрелки.

    Скорость вращения шагового двигателя встроена в код

    0 = —————————————————– Скорость вращения = 1000;
    1 = —————————————————– Скорость вращения = 900;
    2 = —————————————————– Скорость вращения = 800;
    3 = —————————————————– Скорость вращения = 700;
    4 = —————————————————– Скорость вращения = 500;
    5 = —————————————————– Скорость вращения = 400;
    6 = —————————————————– Скорость вращения = 300;
    7 = —————————————————– Скорость вращения = 200;
    8 = —————————————————– Скорость вращения = 100;
    9 = —————————————————– Скорость вращения = 50;

    Приложение для Android, которое я использовал, можно найти ЗДЕСЬ .Это здорово и эффективно работает на всех скоростях передачи. Я проверил сопряжение и работу двигателя на всех скоростях передачи, и все работает нормально.

    Функция Move_Backward () вращает двигатель против часовой стрелки. Функция StartMotor () вращает двигатель по часовой стрелке. Пользователь может изменять команды по своему усмотрению. Пользователь также может ввести новые скорости вращения.

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

    Загрузите код проекта, написанный на arduino ide 1.6. Код бесплатный и с открытым исходным кодом. Пожалуйста, поделитесь с нами своим мнением о проекте.

    Посмотрите видео о проекте здесь ..

    Отсутствует

    Код 404 страница не найдена. К сожалению, страница отсутствует или перемещена.

    Ниже приведены основные подразделы этого сайта.


    • Главная страница общей электроники
    • Мой канал YouTube Electronics
    • Проекты микроконтроллеров Arduino
    • Raspberry Pi и Linux
    • Возвращение к регистрам порта Arduino
    • Digispark ATtiny85 с расширителем GPIO MCP23016
    • Программа безопасной сборки H-Bridge
    • Построить управление двигателем с H-мостом без фейерверков
    • MOSFET H-мост для Arduino 2
    • Гистерезис компаратора и триггеры Шмитта
    • Учебное пособие по теории компараторов
    • Работа и использование фотодиодных схем
    • Реле постоянного тока на полевых МОП-транзисторах с оптопарой и фотоэлектрическими драйверами
    • Подключение твердотельных реле Crydom MOSFET
    • Учебное пособие по схемам фотодиодных операционных усилителей
    • Входные цепи оптопары для ПЛК
    • h21L1, 6N137A, FED8183, TLP2662 Оптопары с цифровым выходом
    • Цепи постоянного тока с LM334
    • LM334 Цепи CCS с термисторами, фотоэлементами
    • LM317 Цепи источника постоянного тока
    • TA8050P Управление двигателем с Н-мостом
    • Оптическая развязка элементов управления двигателем с Н-образным мостом
    • Управление двигателем с Н-мостом на всех NPN-транзисторах
    • Базовые симисторы и тиристоры
    • Твердотельные реле переменного тока с симисторами
    • Светоактивированный кремниевый управляемый выпрямитель (LASCR)
    • Базовые схемы транзисторных драйверов для микроконтроллеров
    • ULN2003A Транзисторная матрица Дарлингтона с примерами схем
    • Учебное пособие по использованию силовых транзисторов Дарлингтона TIP120 и TIP125
    • Управление силовыми транзисторами 2N3055-MJ2955 с транзисторами Дарлингтона
    • Что такое биполярные транзисторные переключатели
    • Учебное пособие по переключению N-канального силового полевого МОП-транзистора
    • Учебное пособие по переключателю P-Channel Power MOSFET
    • Создание транзисторного управления двигателем с H-мостом
    • Управление двигателем с Н-мостом и силовыми МОП-транзисторами
    • Другие примеры цепей с двутавровым мостом силового полевого МОП-транзистора
    • Создание мощного транзисторного управления двигателем с H-мостом
    • Теория и работа конденсаторов
    • Построить вакуумную трубку 12AV6 AM-радио
    • Катушки для высокоселективного кристаллического радио
    • Добавление двухтактного выходного каскада к усилителю звука Lm386
    • Исправление источника питания
    • Основные силовые трансформаторы
    • Схемы транзисторно-стабилитронного стабилизатора
    • Уловки и подсказки для регуляторов напряжения серии LM78XX
    • Биполярные источники питания
    • Создайте регулируемый источник питания 0-34 В с Lm317
    • Использование датчиков Холла с переменным током
    • Использование переключателей и датчиков на эффекте Холла
    • Использование ратиометрических датчиков на эффекте Холла
    • Использование датчиков Холла с Arduino-ATMEGA168
    • Простой преобразователь от 12-14 В постоянного тока до 120 В переменного тока
    • Глядя на схемы оконного компаратора
    • Автоматическое открытие и закрытие окна теплицы
    • La4224 Усилитель звука мощностью 1 Вт
    • Управление двигателем H-Bridge с силовыми МОП-транзисторами Обновлено