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

Содержание

Подключение шагового двигателя к 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

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

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

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

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

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

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

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

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

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

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

Примерно половину знаний я «нагуглил» или подсмотрел на 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. Больше шагов – плавнее и тише ход. Вращение сейчас плавное, тихое и никакого писка.

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

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

Управление шаговым двигателем с 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.

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

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

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

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

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

Разделим шаговики на 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 подключить к Arduino. В первую очередь нам понадобиться драйвер ULN2003APG. Это очень дешевая железяка, встречается как готовая плата с разъемами, так и просто чип с голыми ножками. Сначала посмотрим, как подключать второй вариант.

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

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

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

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

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

Драйвер биполярного шагового двигателя с поддержкой «микрошага», разработанный товарищами из www.schmalzhaus.com, базируется на микросхеме A3967.

Характеристики:

  • Максимальный ток: 750 мА на одну фазу.
  • Напряжение привода двигателя: от 7В до 30В.
  • Возможность ограничения выходного тока: от 150мА до 750мА
  • 1/8, 1/4 и 1/2  микрошаговые режимы работы.
  • Управление 3 и 5 вольтовой логикой.
  • Не требует отдельного питания логической части, для этого на плате находится стабилизатор LM317.
  • Драйвер не поддерживает униполярные двигатели.

Назначение элементов и выводов драйвера:

Выводы:
  • MOTOR и выходы A и B — Подключение обмоток шагового двигателя. (A+ A- B+ B-)
  • PFD — Percent Fast Decay Input, тонкие настройки ШИМ драйвера микросхемы, скорость нарастания ШИМ.
  • RST — Сброс драйвера, при низком уровне сбрасывает внутренний транслятор и отключает все выходные драйверы.
  • ENABLE — При низком уровне, отключатся все выходы драйвера.
  • MS1 и MS2 — Управление микрошаговым режимом. По умолчанию входы притянуты к питанию и выставлен шаг 1/8. Для установки полного шага, на оба входа нужно подать низкий уровень, для полушага только на MS2, для 1/4 шага, только на MS1. (полный шаг (0,0), полушаг (1,0), шаг 1/4 (0,1) и шаг 1/8 (1,1).
  • PWR IN и вход M+ — Напряжение питания драйвера и моторов, также это напряжение подается на стабилизатор LM317 для питания логической части микросхемы.
  • +5V — Выход напряжения со стабилизатора LM317, можно использовать для питания Arduino
  • SLP — Сон, если подать низкий уровень, будет отключена внутренняя схема для минимизации потребления энергии.
  • STEP — Шаг, При переходе с низкого уровня на высокий, драйвер делает один шаг или микрошаг, если драйвер работает в микрошаговом режиме.
  • DIR — Состояние входа (высокий\низкий) определяет направление вращения двигателя.
  • GND — масса, все массы соединены.
Элементы:
  • Потенциометр CUR ADJ — Установка ограничения максимального тока подаваемого на двигатель, от 150 мА до 750 мА.
  • Перемычка APWR — отключает стабилизатор LM317 от цепи питания 5 вольт. По умолчанию соединена.
  • Перемычка 3/5 — Установка напряжения на выходе LM317, 5 или 3.3 вольта, По умолчанию разомкнута.

 Кратко про особенности микрошагового режима:

Сверху графики работы драйвера в полношаговом и микошаговом режиме.

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

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


Подключение к Arduino:

код из видео.

/// код из видео https://youtu.be/yXoJgDPRips

#define STEP 7
#define DIR 6

void setup() {
  pinMode(STEP, OUTPUT);
  pinMode(DIR, OUTPUT);
}

void stepper(unsigned int Step, int Speed, boolean Set) {
  digitalWrite(DIR, Set);    
  for (int i = 0; i < Step; i++){
     digitalWrite(STEP, HIGH);
     delayMicroseconds(Speed);
     digitalWrite(STEP, LOW);
     delayMicroseconds(Speed);
  }   
}

void loop(){
  stepper(500, 500, 1);
  stepper(1000, 200, 0); 
  stepper(500, 2000, 1); 
  stepper(100, 6000, 0);
}


Купить:

на али, тут.


Видео:


Запись опубликована автором admin в рубрике Обзоры с метками EasyDriver A3967, Драйвер шагового двигателя, шаговый двигатель.

Управление шаговым двигателем с помощью 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 В)

Как управлять шаговым двигателем с помощью драйвера 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. Контакты выбора микрошага: Драйвер 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 Заказ онлайн

Если вы не хотите собирать схему на макетной плате и вам нужна печатная плата для проекта, то вот печатная плата для вас. Плата 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

140002

13

14

18

19

20

21

22

23

24

25

26

27

28

29

30

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

140002

13

14

18

19

20

21

22

23

24

25

26

27

28

29

30

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

0005

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

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

GitHub — библиотеки arduino / Stepper: библиотека 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

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

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

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

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

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

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

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

Униполярный

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

Биполярный

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

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

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

Моторный щит Arduino

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

Мой мотор

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

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

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

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

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

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

Поскольку я подключил свой мотор, мне нужно было найти код, который работал бы с моторным щитом, так что у меня было приблизительное представление, с чего начать. Я нашел код в учебнике 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, когда они не использовались в настройке или цикле.Я закомментировал эти две строки и снова загрузил скетч, и это сработало. Поскольку это сработало, я решил, что в этих линиях нет необходимости, поэтому сначала удалил их, чтобы не загромождать эскиз. После этого я снова добавил эти строки, но выше, где инициализируется библиотека шаговых двигателей, и использовал их как определения.

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

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

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

с использованием Arduino

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

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

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

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

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

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

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

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

Двойной биполярный экран шагового двигателя для Arduino (DRV8825)

Название продукта 2x1A Экран двигателя постоянного тока для Arduino
Micro: bit плата расширения драйвера
Gravity: двойной биполярный экран шагового двигателя для Arduino (DRV8825)
Quad DC Motor Driver Shield для Arduino
Артикул DRI0001
DFR0548
DRI0023
DRI0039
Чип
L293B
HR8833
ДРВ8825
TB6612FNG
Рабочее напряжение
5 В постоянного тока / 3.3 В / 5 В 2,7 ~ 5,5 В
Напряжение привода двигателя 7-12 В постоянного тока
3,5 ~ 5,5 В постоянного тока
8,2-45 В постоянного тока 2,5-13,5 В
Максимальный ток привода
1А в каждую сторону 1,5А 1.6A

1,2 А постоянный ток (на канал)

2 А (непрерывный импульс)

3,2 А (одиночный импульс)

Моторный привод со штифтами
PIN4 / 5/6/7 (контроллер Arduino)
/

D4 , D5 , D6

D7 , D8 , D12

Д3,4,5,6,7,8,11,12
Размер
56×57 мм
63 x 58 мм
83 * 55 * 25 мм
52 мм * 53 мм
Вес (г)
60 64 48 24
Часто используется С

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

FIT0278 / FIT0503

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

Основные характеристики
С индикатором двигателя

8-ходовой интерфейс сервопривода

Двигатель постоянного тока x4 / шаговый двигатель x2 (мультиплексированный с интерфейсом двигателя)

Полный шаг, 1/2, 1/4, 1/8, 1/16, 1/32 ступенчатый режим
Возможность высокоскоростного привода, может приводить в движение обычный двухфазный шаговый двигатель до 5000 об / мин и одновременно управлять четырьмя постоянным током
Название продукта Gravity: модуль расширения ввода-вывода и защита привода двигателя
Gravity: 2x2A Motor Shield для Arduino Twin
Экран водителя шагового двигателя TMC260
2x2A Экран двигателя постоянного тока для Arduino
Артикул DFR0502
DRI0017
DRI0035
DRI0009
Чип
TB6612FNG
L298
TMC260
L298P
Рабочее напряжение
2.7 ~ 5,5 В
5 В
5 В
Напряжение привода двигателя 12 В (пиковое значение)
4,8 ~ 35 В
40 В макс
6,5 ~ 12 В (блок питания VIN), 4,8 ~ 35 В (внешний источник питания)
Максимальный ток привода

1,2 А постоянный ток (на канал)

2 А (непрерывный импульс)

3,2 А (одиночный импульс)

до 2А / канал
до 2 А на катушку двигателя
Моторный привод со штифтами

D4 D5 D6 D7

D10,11,12,13
/ Выводы 4,5,6,7 используются для управления двумя двигателями постоянного тока
Размер
68.5 мм × 53,3 мм
56×57 мм

55×55 мм
Вес (г)
36 35 35 60
Часто используется С

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

FIT0278 / FIT0503

FIT0565 / FIT0520 /

FIT0450 / FIT0492 /

Серия N20

Основные характеристики
Встроенный слот XBee, XBee, WiFi Bee, Bluetooth Bee, I2C.

Зеркальная версия DRI0009.

Выводы привода: 10, 11, 12, 13

Не совместим с платой расширения ввода-вывода V7.1. Управляющих портов четыре, что снижает накладные расходы на цифровые порты Arduino и легко программируется.

Подходит для привода биполярных шаговых двигателей.

Управление последовательной шиной SPI или управление сигналом STEP / DIR.

Контроллеры, такие как Mega, с полным расширением портов.

Микрошаговое деление в 256 раз.

Используйте двигатель зеркала для привода DRI0017, чтобы избежать конфликтов. Поддержка управления скоростью PWM. Поддержка управления скоростью опережения PLL

Шаговые двигатели в Arduino | Бесплатное видеоурок

  • Как работают электронные компоненты, как они используются в схемах и как использовать их в ваших проектах
  • Общие датчики, используемые Arduino, Raspberry Pi и другими схемами
  • Почему мы используем электронные компоненты именно так
  • Понять, как работают самые важные электронные компоненты
  • Понимать различную терминологию, единицы измерения и электронные символы для различной электроники.
  • Этот курс является отличным строительным блоком для новичков, чтобы овладеть более продвинутыми концепциями электроники или использовать его как ресурс для быстрого освежения концепций.

Английский [Авто] Мы собираемся узнать о шаговых двигателях, в отличие от двигателей без щеток, которые имеют высокую степень судебной точности.Это делает его идеальным для таких приложений, как 3D-принтеры CND или даже промышленное оборудование. Во время ознакомления с этим общим шагом, более определенным в 3D-принтерах, мы можем видеть, что они действительно означают детали шага лазерного маршрутизатора двигателя. И это круче. Статор В этом модуле содержится несколько электромагнитов, в то время как маршрутизатор в этом двигателе сам является постоянным магнитом. Если присмотреться к маршрутизатору, мы увидим эти U-образные вырезы. Они помогают направлять магнитную силу, и позже мы обсудим их более подробно.Каждый двигатель может быть подключен одним из двух способов: с использованием биполярной проводки или однополярной проводки, чтобы говорить о значимости и водах. Я собираюсь изобразить маршрутизатор шаговым двигателем или отложить это на диаграмме, которая выглядит следующим образом. Итак, теперь, когда вы видите три электрических контакта, один здесь, есть положительный контакт посередине, а здесь еще один пустой. В зависимости от того, с какой стороны мы соединяем корону с нами, если вы укрепляетесь здесь или здесь, мы можем создать электромагнитную силу магнитного поля вокруг этого огня.Итак, давайте сделаем одну из этих систем. Добавим один из них. И то, что я сделал, это то, что я перешел в середину положительного, а здесь — на правильную сторону к отрицательной. И как видите заряжено. Теперь что произойдет, так это то, что магнит посередине отреагирует на электромагнит и соответственно включит свет. Итак, теперь, если вы хотите переключить этот маршрутизатор и сделать это в другом направлении, или мы могли бы просто изменить полярность вместо того, чтобы подключать заземление здесь. Теперь земля подключена к этой стороне катушки, которая индуцирует электромагнитную силу в противоположном направлении.Итак, теперь произойдет поворот в другом направлении. Это просто, но, как вы могли заметить, одновременно активна только половина катушки. Если вы хотите зарядить другую сторону только половину активного, если вы должны были зарядить эту сторону монеты, вам нужно, чтобы сторона была активна. Так что тратится много места, где жизненно важные двигатели вступают в игру, как вы можете видеть Библию и то, что здесь. Итак, у вас есть два электрических контакта, у вас нет сенсорного центрального электрического контакта, который вам нужен для двигателей.Итак, как это работает, если вы подаете напряжение, которое означает, что положительное правительство подключается к одной стороне, а отрицательное доминирующее — снаружи, мы можем индуцировать ток, нашу электромагнитную силу, вдоль этой катушки. Итак, в этом случае то, что должно произойти, инвертировано в этом направлении вот так. И если вы решите поменять полярность таким образом, чтобы электромагнитная сила также была переключена в двух словах, вы потянете двигатели, гораздо легче двигатели управлять большей частью стоимости, вдвое превышающей проводку в катушках, чем двигатели Библии.Я думаю, что эти два квадроцикла позволяют нам вращать ротор на полные 360 градусов, а не просто случайным образом переворачивать ротор на 180 градусов, поэтому создайте гораздо более простую версию схемы шагового двигателя в центре здесь. Так что легче следить за чем-то вроде подзарядить моторы, и новички выстроятся соответствующим образом. А теперь что, если вы хотите переместить двигатель по часовой стрелке, чтобы сделать это с помощью достаточно, чтобы он был повернут на 45 градусов по часовой стрелке. А что, если бы вы захотели продолжить вращение по часовой стрелке, мне просто нужно это сделать.И, как видите, авто будет разворачиваться в этом направлении. Фантастический. Теперь вы поняли суть. Теперь мы продолжим делать это движение и назовем один и два, чтобы продолжать вращать этот двигатель еще на 45 градусов, еще на 45 градусов. Таким образом, мы переместили центральный ротор на 360 градусов. Как вы видели, когда писали, я бы сделал 360 градусов. Мы двигались с шагом 90 градусов, но что, если он хотел двигаться с шагом 45 градусов. Начнем с подачи питания на одну катушку. Теперь, когда эта качественная энергия — это то, что, если вы активируете другую катушку, например, Итак, что произойдет, наша вода была сделана под 45 градусами.Вот так, если вы хотите повернуть его еще на 45 градусов против часовой стрелки. Что мы могли сделать, так это просто выключить эту катушку, и теперь то, что произойдет, — это двигатель с продолжающимся разворотом на 180 градусов. Так вот, что если бы вы захотели повернуть его еще на 45 градусов против часовой стрелки. Что ж, мы можем снова активировать катушку один. Модуль продолжен стыковкой под 45 градусов. Теперь эта техника называется полушагом, и она относится к технике, называемой микрошагом, с использованием микрошага, и мы можем получить гораздо большее разрешение вращения, но это происходит за счет темного пуха, как у традиционных шаговых двигателей.Я читал, что что-то, называемое шагами, относится к определенному положению, которое двигатель может сделать за одно вращение на 360 градусов. Это означает, что 200-шаговый двигатель, такой как тот, который я держу здесь, может сделать 200 отдельных шагов движения в пределах 360-градусного поворота. Прежде чем мы продолжим, давайте быстро поговорим о трех типах шаговых двигателей. Первый — это шаговый двигатель с постоянным магнитом. Этот двигатель оснащен магнитным ротором. Второй тип шагового двигателя — это шаговый двигатель с очень малым сопротивлением. У него нет магнитного двигателя, как у предыдущего двигателя, но он имеет те U-образные вырезы, которые я вам показал ранее.Конечно, у нас есть гибридный синхронный двигатель, который объединяет оба этих двигателя вместе, и гибридный двигатель, имеющий как магнитный сердечник, так и те, которые вы поставляете с вырезом. Наконец, сделал небольшую небольшую демонстрацию, используя этот 14-ступенчатый двигатель NEMA 17 с косой чертой. Он очень часто используется в приложениях для дома или хобби, таких как создание собственного 3D-принтера CND или даже самодельных роботов. Теперь это гибридный синхронный двигатель с биполярной проводкой, и мы будем управлять им, используя общий драйвер шагового двигателя 8 4 9 8 8.Теперь мы можем использовать как Raspberry Pi, так и Arduino, используя очень простые шаговые драйверы, единственные два контакта, которые нам нужно беспокоиться о шаге в направлении и шаге или в основном сказать двигателю двигаться и направление, а затем мы скажем мотор, в каком направлении двигаться. Это схема, которую я использовал, и код, в котором я использовал код, здесь все написано на армянском языке, но код также может быть скомпилирован для Raspberry Pi, и я буду работать таким же образом. Как видите, шаговый двигатель вращается до того, как мы закончим это видео.Давайте быстро поговорим о недостатках или минусах этого шагового двигателя. Теперь, хотя шаговые двигатели часто были миниатюризированы, большинство шаговых двигателей являются большими и громоздкими по сравнению с тем, что требует большой мощности для работы, и часто могут нагреваться при следующей операции, в зависимости от того, как эти шаговые двигатели приводятся в действие или какую схему драйвера вы используете.

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

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