В этой статье мы хотим продолжить тему подключения шаговых двигателей к Ардуино – на очереди рассказ о ШД Nema 17. Почему именно он? Эта модель считается наиболее удачной среди своих аналогов, а потому ее часто задействуют в современных проектах. Наведем примеры: модуль часто применяют при разработке и конструировании своими руками простых экструдеров и 3D принтеров, копировальной техники, ЧПУ станков, а также в различных CNC-проектах.
Данный прибор (особенно китайское его исполнение) бюджетен по цене, продается как онлайн, так и офлайн на многих торговых площадках, легок в управлении и сборке.
Напомним нашим читателям о терминологии и особенностях шаговых моторов. Речь идет об электромеханических устройствах, которые преобразуют электрические импульсы в дискретные механические перемещения. Они характеризуется неплохой точностью позиционирования, хорошим диапазоном скоростей и быстрым запуском ∕ остановкой.
К техническим параметрам модуля относятся:
- напряжение: 5 – 24V;
- угол поворота: 1.8 º (за шаг);
- длина ∕ диаметр вала: 24 ∕ 5 мм;
- ток на обмотку: 1.7 А;
- индуктивность: 3.2 мГн;
- сопротивление: 1.65 Ом;
- масса: около 280 г.
Управление шаговым двигателем осуществляется при помощи драйверов на микрочипе L293D или A4988 (подробнее читайте статью ТУТ).
Ну а теперь рассмотрим основной момент — подключение Nema 17 к Arduino. Для выполнения схемы нам понадобятся такие аппаратные компоненты:
- плата расширения Arduino UNO,
- модуль мотора Нема 17,
- блок питания на 12 V,
- соединительные провода,
- USB-кабель для подключения к компьютеру.
Нам нужно протестировать работоспособность мотора. Зальем следующий скетч:
Если двигатель сильно вибрирует, советуем скачать и инсталлировать специализированную библиотеку – AcclStepper (она поможет решить вашу проблему). Не забываем сохранять распакованный архив с файлами в директорию libraries (непосредственно в среде IDE).
Меняем прошивку на такие программные коды:
Вот в принципе и все, что мы подготовили для вас на сегодня! До скорой встречи!
- Управление шаговым двигателем NEMA 17 с помощью Arduino и драйвера A4988
- Необходимые компоненты
- Шаговый двигатель NEMA17
- Число шагов за оборот для двигателя NEMA17
- Технические характеристики двигателя Nema 17
- Модуль драйвера шагового двигателя A4988
- Различия между драйверами двигателя DRV8825 и A4988
- Схема проекта
- Объяснение программы для Arduino
- Советы для начинающих. Arduino и шаговый двигатель Nema 17
- Выбор драйвера для управления Nema 17
- Подключение Nema 17 через A4988
- Первая проблема
- Вторая проблема
- Шаговый двигатель сильно вибрирует
- Программа для Arduino
- Основные выводы
- Скетчи для управления шаговым двигателем
- 🌟 Видео
Видео:NEMA17 Управление шаговым двигателем - Stepper motor with ArduinoСкачать
Управление шаговым двигателем NEMA 17 с помощью Arduino и драйвера A4988
Шаговые двигатели – это разновидность двигателей постоянного тока, в которых перемещение ротора происходит небольшими дискретными шагами. В настоящее время шаговые двигатели находят очень широкое применение – начиная от камер наблюдения и заканчивая сложными роботами и механизмами.
Чтобы лучше понять материал данной статьи целесообразно посмотреть статью об управлении шаговым двигателем 28-BYJ48 с помощью Arduino и потенциометра. Однако шаговый двигатель 28-BYJ48 имеет значительно меньший крутящий момент, чем более мощные двигатели такие как, например, NEMA 14, NEMA17.
В данной статье мы рассмотрим управление шаговым двигателем NEMA 17 с помощью платы Arduino и драйвера двигателя A4988. Для управления направлением вращения шагового двигателя мы будем использовать потенциометр. Ранее на нашем сайте мы также рассматривали управление шаговым двигателем NEMA 17 с помощью Arduino и драйвера DRV8825.
Видео:Шаговый двигатель, как подключить без сложностей!!!!Скачать
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- Шаговый двигатель NEMA 17 (купить на AliExpress).
- A4988 Stepper Driver Module (модуль драйвера шагового двигателя) (купить на AliExpress).
- Конденсатор 47 мкФ (купить на AliExpress).
- Потенциометр (купить на AliExpress).
Видео:Обзор копеечной платы управления шаговым двигателем.Скачать
Шаговый двигатель NEMA17
Принцип действия шагового двигателя Nema17 аналогичен работе других шаговых двигателей. Более подробно о принципах работы шаговых двигателей можно прочитать в статье про подключение шагового двигателя к микроконтроллеру AVR.
Шаговый двигатель NEMA 17 имеет плиту размером 1.7 x 1.7 дюйма и он имеет больший крутящий момент по сравнению с другими аналогичными шаговыми двигателями меньшего размера, например, NEMA 14. Данный двигатель имеет 6 подводящих проводов и работает от напряжения 12 В. Он может работать и от напряжения меньшей величины, однако при этом соответствующим образом будет уменьшаться и его крутящий момент.
Читайте также: Мерседес мл 230 мотор 111
При каждом шаге ось двигателя NEMA17 поворачивается на угол, равный 1.8 градуса. Схема расположения подводящих проводов двигателя NEMA17 представлена на следующем рисунке.
Как вы можете видеть из представленного рисунка, шаговый двигатель NEMA17 имеет униполярное расположение 6 проводов. Эти провода подсоединены к двум раздельным обмоткам. Черный, желтый и зеленый провода подключены к первой обмотке, а красный, белый, и синий провода – к другой обмотке. В обычном режиме центральные провода обмоток (черный и белый) оставляют неподключенными.
Число шагов за оборот для двигателя NEMA17
Число шагов за полный оборот (Steps per Revolution) для каждого определенного шагового двигателя рассчитывается с помощью угла, на который поворачивается шаговый двигатель за один шаг (step angle). Для двигателя NEMA17 этот шаг равен 1.8 градуса, соответственно, получаем:
Steps per Revolution = 360/ step angle
360/1.8 = 200 Steps Per Revolution
Технические характеристики двигателя Nema 17
- рабочее напряжение: 12V DC (12 В постоянного тока);
- угол за один шаг (Step Angle): 1.8 градуса;
- 200 шагов за один полный оборот;
- число фаз: 4;
- длина двигателя: 1.54 дюйма;
- диапазон рабочих температур: от -10 до 40 °C;
- удерживающий крутящий момент: 22.2 oz-in.
Также на нашем сайте вы можете посмотреть все проекты, в которых были использованы шаговые двигатели.
Видео:На что способен NEMA 17. Тест работы шаговых двигателейСкачать
Модуль драйвера шагового двигателя A4988
Модуль драйвера шагового двигателя управляет работой шагового двигателя, подавая на него различные фазы питания в необходимые моменты времени.
Модуль драйвера шагового двигателя A4988 предназначен для управления работой шагового двигателя Nema 17 и другими аналогичными биполярными (двухполюсными) шаговыми двигателями. Этот модуль имеет встроенный транслятор (преобразователь), что позволяет ему управлять и скоростью, и направлением вращения шаговых двигателей, используя для этого небольшое число контактов.
Для управления шаговым двигателем Nema 17 нам понадобится всего два контакта модуля A4988 – STEP (для управления шагами) и DIRECTION (для управления направлением вращения двигателя).
Драйвер двигателя A4988 может управлять работой шагового двигателя в 5 различных режимах: полного шага, половины шага, четверти шага, 1/8 шага и 1/16 шага. Вы можете выбрать необходимый вам режим шага используя контакты выбора режима (MS1, MS2 и MS3). На следующем рисунке представлена таблица задействования этих контактов для выбора необходимого режима шага.
Технические характеристики драйвера двигателя A4988:
- максимальное рабочее напряжение: 35V;
- минимальное рабочее напряжение: 8V;
- максимальный ток на одну фазу: 2A;
- режимы: полный шаг, ½ шага, ¼ шага, 1/8 шага и 1/16 шага;
- защита от обратного напряжения: нет;
- размеры: .5 × 20.5 mm (0.6″ × 0.8″).
Видео:Урок 40 Часть 1 Шаговый двигатель Nema17 и драйвер А4988 в программе FlprogСкачать
Различия между драйверами двигателя DRV8825 и A4988
Оба этих драйвера двигателя предназначены для управления шаговым двигателем Nema 17, имеют похожую распиновку и области применения, но они отличаются в количестве микрошагов, рабочем напряжении и т.д. Ниже приведены следующие ключевые отличия этих модулей драйвера двигателя:
- модуль DRV8825 поддерживает 6 режимов шага, а модуль A4988 – только 5. Большее число этих режимов означает более равномерное и тихое функционирование шагового двигателя;
- минимальная длительность шага для DRV8825 составляет 1.9 мкс, а для A4988 – 1 мкс;
- без дополнительного охлаждения DRV8825 обеспечивает немного больший ток чем A4988;
- местоположение потенциометра, регулирующего лимит тока, в обоих модулях различно;
- DRV8825 может быть использован при более высоком напряжении питания;
- на контакте спящего режима (SLEEP pin) в DRV8825 по умолчанию не установлен режим с подтягивающим резистором как это сделано в A4988;
- вместо контакта напряжения питания DRV8825 имеет выходной контакт.
Читайте также: Мотор отопителя дусан 225
Видео:Как подключить шаговый двигатель Nemo 17 TB6560 mks osc v1.0 - How to connect a stepper motorСкачать
Схема проекта
Схема управления шаговым двигателем NEMA 17 с помощью Arduino и драйвера A4988 представлена на следующем рисунке.
Поскольку модуль драйвера A4988 имеет встроенный транслятор (преобразователь), поэтому к плате Arduino достаточно подсоединить только его контакты Step и Direction. Контакт Step используется для управления шагами двигателями, а контакт Direction – для управления направлением его вращения. Шаговый двигатель запитывается от источника питания 12V, а модуль A4988 – от платы Arduino. Потенциометр используется для управления направлением вращения двигателя.
Если вы будете поворачивать потенциометр по часовой стрелке, то и шаговый двигатель будет вращаться по часовой стрелке. Если вы будете поворачивать потенциометр против часовой стрелки, то и шаговый двигатель будет вращаться против часовой стрелки. Конденсатор 47 мкФ используется для защиты платы Arduino от выбросов напряжения. Контакты MS1, MS2 и MS3 остаются неподключенными, что означает что драйвер будет функционировать в режиме полного шага.
Внешний вид собранной конструкции проекта показан на следующем рисунке.
Таблица соединений платы Arduino, шагового двигателя Nema 17 и модуля драйвера двигателя A4988 выглядит следующим образом.
Контакт A4988 | Соединение |
VMOT | +ve Of Battery |
GND | -ve of Battery |
VDD | 5V of Arduino |
GND | GND of Arduino |
STP | Pin 3 of Arduino |
DIR | Pin 2 of Arduino |
1A, 1B, 2A, 2B | шаговый двигатель |
Соблюдайте полярность источника питания.
Видео:Как подключить шаговый двигатель к ArduinoСкачать
Объяснение программы для Arduino
Полный код программы и видео с демонстрацией работы схемы приведены в конце статьи, здесь же мы кратко рассмотрим основные фрагменты кода.
Первым делом скачайте библиотеку для управления шаговым двигателем по следующей ссылке и добавьте ее в Arduino IDE. После этого подключите заголовочный файл этой библиотеки в программе и укажите число шагов для шагового двигателя NEMA 17 – оно равно 200.
Видео:Управление шаговым двигателем. Драйвер A4988, подключение и настройкаСкачать
Советы для начинающих. Arduino и шаговый двигатель Nema 17
Перед началом очередного проекта на 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 считается более подходящим вариантом, так что на нем и остановились во избежание потенциальных проблем.
Как уже упоминалось выше, использовались двигатель и драйвер, заказанные из Китая. Ссылки ниже.
Ссылки для заказа необходимого оборудования из Китая
Читайте также: Моторы для станка по дереву
Видео:💯🔥 Генератор импульсов и шаговый двигатель. Неизвестная схема подключения 👍😁Скачать
Подключение Nema 17 через A4988
Подключение было реализовано на основании этой темы на Arduino форуме. Рисунок приведен ниже.
Собственно, данная схема присутствует практически на каждом блоге-сайте, посвященном Arduino. Плата была запитана от 12 вольтового источника питания. Но двигатель не вращался. Проверили все соединения, еще раз проверили и еще раз.
Первая проблема
Наш 12 вольтовый адаптер не выдавал достаточной силы тока. В результате адаптер был заменен на 8 батареек АА. И двигатель начал вращаться! Что ж, тогда захотелось перескочить с макетной платы на прямое подключение. И тут возникла
Вторая проблема
Когда все было распаяно, двигатель опять перестал двигаться. Почему? Не понятно до сих пор. Пришлось вернуться к макетной плате. И вот тут возникла вторая проблема. Стоит предварительно было посидеть на форумах или внимательно почитать даташит. Нельзя подключать-отключать двигатель когда на контроллер подано питание! В результате контроллер A4988 благополучно сгорел.
Эта проблема была решена покупкой нового драйвера на eBay. Теперь, уже с учетом накопленного грустного опыта, Nema 17 был подключен к A4988и запущен, но.
Видео:Простая схема подключения Nema 23. Шаговый двигатель nema и генератор импульсов.Скачать
Шаговый двигатель сильно вибрирует
Во время вращения ротора двигатель сильно вибрировал. О плавном движении не было и речи. Гугл вновь в помощь. Первая мысль — неправильное подключение обмоток. Ознакомление с даташитом шагового двигателя и несколько форумов убедили, что проблема не в этом. При неправильном подключении обмоток двигатель просто не будет работать. Решение проблемы крылось в скетче.
Видео:Подключаем шаговый двигатель NEMA17 к ArduinoСкачать
Программа для Arduino
Оказалось, что есть замечательная библиотека для шаговых двигателей, написанная ребятами из Adafruit. Используем библиотеку AcclStepper и шаговый двигатель начинает работать плавно, без чрезмерных вибраций.
Видео:Подключение двигателя без электроники и Ардуино!Скачать
Основные выводы
- Никогда не подключайте/отключайте двигатель, когда на контроллер подано питание.
- При выборе источника питания, обратите внимание не только на вольтаж, но и на мощность адаптера.
- Не расстраивайтесь, если контроллер A4988 вышел из строя. Просто закажите новый ?
- Используйте библиотеку AcclStepper вместо голого кода Arduino. Шаговый двигатель с использованием этой библиотеки будет работать без лишних вибраций.
Видео:Перистальтический насос ПРОСТО! / NEMA17 и ArduinoСкачать
Скетчи для управления шаговым двигателем
Простой Arduino-код для проверки шагового двигателя
//простое подключение A4988
//пины reset и sleep соединены вместе
//подключите VDD к пину 3.3 В или 5 В на Arduino
//подключите GND к Arduino GND (GND рядом с VDD)
//подключите 1A и 1B к 1 катушке шагового двигателя
//подключите 2A и 2B к 2 катушке шагового двигателя
//подключите VMOT к источнику питания (9В источник питания + term)
//подключите GRD к источнику питания (9В источник питания — term)
int stp = 13; //подключите 13 пин к step
int dir = 12; //подключите 12 пин к dir
if (a 400) // вращение на 200 шагов в направлении 2
Второй код для Arduino для обеспечения плавного вращения двигателя. Используется библиотека AccelStepper library.
AccelStepper Stepper1(1,13,12); //использует пин 12 и 13 для dir и step, 1 — режим «external driver» (A4988)
int dir = 1; //используется для смены направления
Stepper1.setMaxSpeed(3000); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)
Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)
Stepper1.move(1600*dir); //устанавливает следующее перемещение на 1600 шагов (если dir равен -1 будет перемещаться -1600 -> противоположное направление)
dir = dir*(-1); //отрицательное значение dir, благодаря чему реализуется вращение в противоположном направлении
delay(1000); //задержка на 1 секунду
Stepper1.run(); //запуск шагового двигателя. Эта строка повторяется вновь и вновь для непрерывного вращения двигателя
Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!
- Свежие записи
- Чем отличается двухтактный мотор от четырехтактного
- Сколько масла заливать в редуктор мотоблока
- Какие моторы бывают у стиральных машин
- Какие валы отсутствуют в двухвальной кпп
- Как снять стопорную шайбу с вала
🌟 Видео
Простое управление оборотами шагового двигателя.Скачать
Шаговый двигатель nema17, подключение и эксперименты часть 1Скачать
Шаговый двигатель NEMA17 и его драйвер L298NСкачать
NEMA17: Управление шаговым двигателем в реальном времени с ArduinoСкачать
Шаговый двигатель 17HS4401Скачать
Генератор импульсов и шаговый двигатель. ПРОСТАЯ СХЕМА ПОДКЛЮЧЕНИЯ.Скачать