Как изменить направление вращения шагового двигателя

Шаговый Двигатель Схема Подключения

Формирование импульсов отводится микроконтроллерам например Arduino.


В одном 8 выводном корпусе SOIC-8 размещены 2 транзистора.

Путь для повышения магнитного поля — это увеличение тока или числа витков обмоток.
Управление биполярным шаговым двигателем

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

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

У его намагниченного центрального вала имеется два набора зубов для двух магнитных полюсов, которые затем выстраиваются в линию с зубами вдоль электромагнитов. Оба сигнала имеют логические уровни и, если для их формирования используются выходы с открытым коллектором, то потребуются соответствующие резисторы подтяжки на Рисунке 10 они не показаны.

Чередующиеся полюса ротора имеют прямолинейную форму и расположены параллельно оси двигателя.

Зависимость момента от скорости, влияние нагрузки Момент, создаваемый шаговым двигателем, зависит от нескольких факторов: скорости. Причиной этого является фильтрующее действие инерции ротора и нагрузки.

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

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

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

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

В этой статье мы поговорим о шаговых двигателях в проектах Ардуино на примере очень популярной модели 28BYJ-48. Так же как и сервоприводы, шаговые моторы являются крайне важным элементом автоматизированных систем и робототехники. Их можно найти во многих устройствах рядом: от CD-привода до 3D-принтера или робота-манипулятора. В этой статье вы найдете описание схемы работы шаговых двигателей, пример подключения к Arduino с помощью драйверов на базе ULN2003 и примеры скетчей с использованием стандартной библиотеки Stepper.

Как изменить направление вращения шагового двигателя

Комплексные поставки комплектующих для ЧПУ и автоматизации

Расчёт проекта

Консультация

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

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

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

Типы шаговых двигателей
Конфигурация обмоток определяет деление ШД на биполярные и униполярные.

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

Изучаем миниатюрный шаговый двигатель

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

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

/>

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

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

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

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

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

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

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

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

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

Чтобы лучше понять материал данной статьи целесообразно посмотреть статью об управлении шаговым двигателем 28-BYJ48 с помощью Arduino и потенциометра. Однако шаговый двигатель 28-BYJ48 имеет значительно меньший крутящий момент, чем более мощные двигатели такие как, например, NEMA 14, NEMA17.

В данной статье мы рассмотрим управление шаговым двигателем NEMA 17 с помощью платы Arduino и драйвера двигателя A4988. Для управления направлением вращения шагового двигателя мы будем использовать потенциометр. Ранее на нашем сайте мы также рассматривали управление шаговым двигателем NEMA 17 с помощью Arduino и драйвера DRV8825.

Шаговый двигатель – принцип работы

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

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

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

Основные виды шаговых моторов:

  • Двигатели с переменными магнитами (применяются довольно редко);
  • Двигатели с постоянными магнитами;
  • Гибридные двигатели (более сложные в изготовлении, стоят дороже, но являются самым распространенным видом шаговых двигателей).

Электрическая составляющая конструкции болгарки

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

Устройство обычной болгарки.

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

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

  • якорь;
  • коллектор;
  • электрощетки;
  • редуктор;
  • статор;
  • кнопка запуска и блокировки;
  • силовой кабель с вилкой для подключения в бытовую сеть.

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

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Шаговый двигатель NEMA 17 (купить на AliExpress).
  3. A4988 Stepper Driver Module (модуль драйвера шагового двигателя) (купить на AliExpress).
  4. Конденсатор 47 мкФ (купить на AliExpress).
  5. Потенциометр (купить на AliExpress).

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

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

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

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

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

Знакомство

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

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

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

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

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

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

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

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

БИБЛИОТЕКА

GyverStepper v2.1.6

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

  • Поддержка 4х пинового (шаг и полушаг) и STEP-DIR драйверов
  • Автоматическое отключение питания при достижении цели
  • Режимы работы:
    • Вращение с заданной скоростью. Плавный разгон и торможение с ускорением
    • Следование к позиции с ускорением и ограничением скорости
    • Следование к позиции с заданной скоростью (без ускорения)

    Совместимость

    Совместима со всеми Arduino платформами (используются Arduino-функции)

    Технические характеристики A4988

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

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

    Для изменения направления вращения достаточно изменить очередность подачи импульсов в соответствующие обмотки. Режим управления двигателем задается коммутатором. Шаговые двигатели.

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

    А принцип работы этого всего очень прост: конденсатор формирует сдвиг фаз на одной из обмоток, в результате обмотки работают почти попеременно и шаговый двигатель крутится. В таком двигателе сечение отдельных обмоток вдвое больше, а омическое сопротивление — соответственно вдвое меньше. Так, пожалуй, можно дать строгое определение. Готовые шаговые двигатели с редукторами хотя и существуют, однако являются экзотикой. Иногда двигатели с постоянными магнитами имеют 4 раздельных обмотки.

    Общие сведения:

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

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

    Эксплуатационные свойства ШД

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

    1. Дискретность перемещений.
    Это главное свойство, определяющее все остальные параметры шагового двигателя. Львиная доля шаговых двигателей выполняет 200 или 400 шагов за один оборот ротора. Однако благодаря возможности промежуточной фиксации ротора можно добиваться увеличенного количества шагов до 800 и более. В сверхточных моделях число дискретных перемещений может достигать 10 тысяч шагов за оборот.

    2. Ограничения в точности установки ротора.
    Погрешность установки ротора в большинстве выпускаемых сегодня ШД составляет 5% от размера шага. Таким образом, при шаге в 1.8° неточность установки будет равняться примерно 5.4´. На практике, при дроблении шага, например, 1 к 10, шаг будет равен погрешности установки, причём, увеличение количества делений не приведёт к повышению точности перемещения. Единственное, в чём это может оказаться эффективным, – в обеспечении плавности перемещения ротора.

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

    Достоинства шаговых электродвигателей

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

    1. Зависимость угла поворота ротора от количества импульсов, поданных на обмотку двигателя.

    2. Обеспечение полного момента при остановке двигателя (при подаче питания на обмотки).

    3. Повторяемость. Точность шаговых двигателей составляет от 3 до 5% величины шага, причём, ошибка от шага к шагу не накапливается.

    4. Быстрый старт, мгновенная остановка, минимальное время переключения на реверс.

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

    6. Жёсткая зависимость положения ротора от входного сигнала позволяет позиционировать ротор, не прибегая к использованию обратной связи.

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

    8. Широкий интервал скоростей.

    9. Более доступная цена в сравнении с сервоприводами.

    Недостатки шаговых электродвигателей

    Однако при всех положительных моментах существует и ряд недостатков, присущих шаговым электрическим моторам. Их краткий перечень:

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

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

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

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

    УСТАНОВКА

    • Библиотеку можно найти и установить через менеджер библиотек по названию GyverStepper в:
      • Arduino IDE (Инструменты/Управлять библиотеками)
      • Arduino IDE v2 (вкладка “Library Manager”)
      • PlatformIO (PIO Home, вкладка “Libraries”)

      Подключение шагового двигателя к Ардуино

      Подключение будет рассмотрено на примере униполярного двигателя 28BYj-48 и драйверов L298 и ULN2003. В качестве платы будет использоваться Arduino Uno.

      Подключение шагового двигателя к Ардуино

      Еще один вариант схемы с использованием L298:

      Подключение шагового двигателя к Ардуино на базе L298

      Схема подключения на базе ULN2003 изображена на рисунке ниже. Управляющие выходы с драйвера IN1-IN4 подключаются к любым цифровым контактам на Ардуино. В данном случае используются цифровые контакты 8-11. Питание подключается к 5В. Также для двигателя желательно использовать отдельный источник питания, чтобы не перегрелась плата Ардуино.

      Подключение шагового двигателя к Ардуино

      Принципиальная схема подключения.

      Принципиальная схема подключения шагового двигателя

      Еще одна схема подключения биполярного шагового двигателя Nema17 через драйвер L298 выглядит следующим образом.

      Объяснение программы для платы Arduino

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

      Номер шага Контакты, на которое подается питание Катушки, на которое подается питание
      Шаг 1 8 и 9 A и B
      Шаг 2 9 и 10 B и C
      Шаг 3 10 и 11 C и D
      Шаг 4 11 и 8 D и A

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

      Мы напишем программу, в которой необходимое количество шагов для двигателя мы будем вводить в мониторе последовательного порта (serial monitor) платы Arduino. Полный текст программы приведен в конце статьи, здесь же мы рассмотрим наиболее важные его фрагменты.

      Как мы рассчитали ранее, полное число шагов для полного оборота нашего шагового двигателя, равно 32, пропишем это в следующей строчке кода:

      #define STEPS 32

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

      Stepper stepper (STEPS, 8, 10, 9, 11);

      Примечание: последовательность номеров контактов, указанная в приведенной команде (8,10,9,11) – специально упорядочена таким образом чтобы подавать питание на катушки шагового двигателя в правильном порядке. Если вы измените номера контактов, к которым подключен шаговый двигатель, то вы соответствующим образом должны их упорядочить для подачи в приведенную команду.

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

      Для двигателя 28-BYJ48 скорость вращения можно установить в диапазоне от 0 до 200.

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

      Количество шагов, которое должен сделать двигатель, определяется переменной “val”. Поскольку мы имеем 32 шага (для оборота) и передаточное число 64 мы должны сделать 2048 (32*64=2048) “шагов” в этой команде для совершения одного полного оборота двигателя.

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

      А один шаг против часовой стрелки:

      В нашей программе мы будем считывать значение на аналоговом контакте A0 платы Arduino и сравнивать его с предыдущим значением (Pval). Если оно увеличилось, то мы будем делать 5 шагов двигателем по часовой стрелке, а если уменьшилось – то 5 шагов двигателем против часовой стрелки.

      potVal = map(analogRead(A0),0,1024,0,500);
      if (potVal>Pval)
      stepper.step(5);
      if (potVal<Pval)
      stepper.step(-5);
      Pval = potVal;

      Обзор основных моделей шаговых двигателей для ардуино

      Nema 17 – биполярный шаговый двигатель, который чаще всего используется в 3D принтерах и ЧПУ станках. Серия 170хHSхххА мотора является универсальной.

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

      • Угловой шаг 1,8°, то есть на 1 оборот приходится 200 шагов;
      • Двигатель – двухфазный;
      • Рабочие температуры от -20С до 85С;
      • Номинальный ток 1,7А;
      • Момент удержания 2,8 кг х см;
      • Оснащен фланцем 42 мм для легкого и качественного монтажа;
      • Высокий крутящий момент – 5,5 кг х см.

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

      • Номинальное питание – 5В;
      • 4-х фазный двигатель, 5 проводов;
      • Число шагов: 64;
      • Угол шага 5,625°;
      • Скорость вращения: 15 оборотов в секунду
      • Крутящий момент 450 г/сантиметр;
      • Сопротивление постоянного тока 50Ω ± 7% (25 ℃).

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

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

      Различия между драйверами двигателя DRV8825 и A4988

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

      • модуль DRV8825 поддерживает 6 режимов шага, а модуль A4988 – только 5. Большее число этих режимов означает более равномерное и тихое функционирование шагового двигателя;
      • минимальная длительность шага для DRV8825 составляет 1.9 мкс, а для A4988 – 1 мкс;
      • без дополнительного охлаждения DRV8825 обеспечивает немного больший ток чем A4988;
      • местоположение потенциометра, регулирующего лимит тока, в обоих модулях различно;
      • DRV8825 может быть использован при более высоком напряжении питания;
      • на контакте спящего режима (SLEEP pin) в DRV8825 по умолчанию не установлен режим с подтягивающим резистором как это сделано в A4988;
      • вместо контакта напряжения питания DRV8825 имеет выходной контакт.

      Работа проекта

      Когда вы сделаете все необходимые соединения в схеме данного проекта у вас должна получиться примерно следующая конструкция:

      Внешний вид собранной конструкции для этого проекта

      После этого загрузите программу в плату Arduino и откройте окно монитора последовательной связи (serial monitor). После этого вы можете вращать ручку потенциометра и наблюдать как в соответствии с ее поворотами шаговый двигатель будет вращаться по часовой и против часовой стрелки.

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

      В среде разработки Ардуино IDE существует стандартная библиотека Strepper.h для написания программ шаговых двигателей. Основные функции в этой библиотеке:

      • Stepper(количество шагов, номера контактов). Эта функция создает объект Stepper, которая соответствует подключенному к плате Ардуино двигателю. Аргумент – контакты на плате, к которым подключается двигатель, и количество шагов, которые совершаются для полного оборота вокруг своей оси. Информацию о количестве шагов можно посмотреть в документации к мотору. Вместо количества шагов может быть указан угол, который составляет один шаг. Для определения числа шагов, нужно разделить 360 градусов на это число.
      • Set Speed(long rpms) – функция, в которой указывается скорость вращения. Аргументом является положительное целое число, в котором указано количество оборотов в минуту. Задается после функции Step().
      • Step(Steps) –поворот на указанное количество шагов. Аргументом может быть либо положительное число – поворот двигателя по часовой стрелке, либо отрицательное – против часовой стрелки.

      Исходный код программы

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

      Пример скетча для управления

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

      Заключение

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

      Перед началом очередного проекта на Arduino, было решено использовать шаговый двигатель Nema 17.

      Почему именно Nema 17? В первую очередь, из-за отличного соотношения цена/качество.

      Перед подключением Nema 17, за плечами был определенный опыт работы с шаговиком 24byj48 (даташит). Управлялся он и с помощью Arduino, и с помощью Raspberry pi, проблем не возникало. Основная прелесть этого двигателя – цена (около 3 долларов в Китае). Причем, за эту сумму вы приобретаете двигатель с драйвером в комплекте. Согласитесь, такое можно даже и спалить, не особо сожалея о содеянном.

      Теперь появилась задача поинтереснее. Управлять шаговым двигателем Nema 17 (даташит). Данная модель от оригинального производителя реализуется по цене около 40 долларов. Китайские копии стоят раза в полтора-два дешевле – около 20-30 долларов. Очень удачная модель, которая часто используется в 3D принтерах и CNC-проектах. Первая возникшая проблема – как подобрать драйвер для этого двигателя. Силы тока на пинах Arduino для питания не хватит.

      Выбор драйвера для управления Nema 17

      Google подсказал, что для оживления Nema 17 можно использовать драйвер A4988 от Poulou (даташит).

      Кроме того, есть вариант использования микросхем L293D. Но A4988 считается более подходящим вариантом, так что на нем и остановились во избежание потенциальных проблем.

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

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

      Программа для Arduino

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

      Основные выводы

      1. Никогда не подключайте/отключайте двигатель, когда на контроллер подано питание.
      2. При выборе источника питания, обратите внимание не только на вольтаж, но и на мощность адаптера.
      3. Не расстраивайтесь, если контроллер A4988 вышел из строя. Просто закажите новый ????
      4. Используйте библиотеку AcclStepper вместо голого кода Arduino. Шаговый двигатель с использованием этой библиотеки будет работать без лишних вибраций.
Оцените статью
Рейтинг автора
4,8
Материал подготовил
Максим Коновалов
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий