- Подключение шагового двигателя к Ардуино
- Принцип работы шагового двигателя
- Драйвер шагового двигателя Ардуино
- Как подключить шаговый двигатель к Ардуино
- Обзор драйвера шагового двигателя A4988
- Технические параметры
- Общие сведения о драйвере A4988
- Подключение драйвера шагового двигателя A4988 к Arduino UNO
- Драйвер шагового двигателя DRV8825. Подключение к Arduino.
- Технические характеристики драйвер DRV8825.
- Общая информация о драйвере DRV8825.
- Распиновка драйвера DRV8825.
- Подключение питания.
- Выводы для подключения шагового двигателя.
- Выводы управления.
- Настройка микрошага драйвера DRV8825.
- Система охлаждения DRV8825.
- Настройка тока DRV8825.
- Подключение драйвера шагового двигателя DRV8825 к Arduino UNO.
- Скетч вращения шагового двигателя NEMA 17, драйвер DRV8825.
- Использование драйвера DRV8825 с CNC shield v3.
Подключение шагового двигателя к Ардуино
Шаговый двигатель 28byj-48 Arduino ► предназначен для перемещения объекта на заданное количество шагов вала. Рассмотрим управление шаговым двигателем от Ардуино
Шаговый двигатель (stepper motor) предназначен для точного позиционирования или перемещения объекта на заданное количество шагов вала. Плата Arduino может управлять шаговым двигателем с помощью драйвера и библиотеки stepper.h или accelstepper.h. Рассмотрим принцип работы и схему подключения шагового двигателя к Arduino Uno / Nano, а также разберем скетч для управления шаговым мотором.
Принцип работы шагового двигателя
В зависимости от конструкции, сегодня применяются три вида шаговых двигателей: с постоянным магнитом, с переменным магнитным сопротивлением и гибридные двигатели. У двигателей с постоянным магнитом число шагов на один оборот вала доходит до 48, то есть один шаг соответствует повороту вала на 7,5°. Гибридные двигатели обеспечивают не меньше 400 шагов на один оборот (угол шага 0,9°).
Фото. Устройство шагового мотора в разрезе
Подсчитав количество сделанных шагов, можно определить точный угол поворота ротора. Таким образом, шаговый двигатель является сегодня идеальным приводом в 3D принтерах, станках с ЧПУ и в другом промышленном оборудовании. Это лишь краткий обзор устройства и принципа работы stepper motor, нас больше интересует, как осуществляется управление шаговым двигателем с помощью Ардуино.
Драйвер шагового двигателя Ардуино
Шаговый двигатель — это бесколлекторный синхронный двигатель, как и все двигатели, он преобразует электрическую энергию в механическую. В отличие от двигателя постоянного тока в которых происходит вращение вала, вал шаговых двигателей совершает дискретные перемещения, то есть вращается не постоянно, а шагами. Каждый шаг вала (ротора) представляет собой часть полного оборота.
Фото. Виды драйверов для управления шаговым двигателем
Вращение вала двигателя осуществляется с помощью сигнала, который управляет магнитным полем катушек в статоре драйвера. Сигнал генерирует драйвер шагового двигателя. Магнитное поле, возникающее при прохождении электрического тока в обмотках статора, заставляет вращаться вал, на котором установлены магниты. Количество шагов задаются в программе с помощью библиотеки Arduino IDE.
Схема подключения шагового двигателя 28BYJ-48 к Arduino Uno через драйвер ULN2003 изображена на рисунке ниже. Основные характеристики мотора 28BYJ-48: питание от 5 или 12 Вольт, 4-х фазный двигатель, угол шага 5,625°. Порты драйвера IN1 — IN4 подключаются к любым цифровым выводам платы Arduino Mega или Nano. Светодиоды на модуле служат для индикации включения катушек двигателя.
Как подключить шаговый двигатель к Ардуино
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- драйвер шагового двигателя ULN2003;
- шаговый двигатель 28BYJ-48;
- провода «папа-мама».
Обзор драйвера шагового двигателя A4988
Автор: Сергей · Опубликовано 11.04.2019 · Обновлено 13.04.2020
Сегодня расскажу о драйвере A4988, данный драйвер подойдет тем, кто планирует создать свой собственный 3D-принтер или станок ЧПУ с управлением шаговым двигателям.
Технические параметры
► Напряжения питания: от 8 до 35 В
► Установка шага: 1, 1/2, 1/4, 1/8, 1/16
► Напряжение логики: 3 В или 5.5 В
► Защита от перегрева: Есть
► Максимальный ток на фазу: 1 А без радиатора, 2 А с радиатором.
► Габариты модуля: 20 мм х 15 мм х 10 мм
► Габариты радиатора: 9 мм х 5 мм х 9 мм
Общие сведения о драйвере A4988
Основная микросхема модуля это драйвер от Allegro — A4988, которая имеет небольшие размеры (всего 8 мм х 6 мм), хоть микросхема и маленькая, но она может работать с выходным напряжение до 35 В с током до 1 А на катушку без радиатора и до 2 А с радиатором (дополнительным охлаждением). Для управления шаговым двигателем, необходимо всего два управляющих контакта (по сравнению с L298N необходимо четыре), один используется для управления шагами, второй для управления вращения двигателем.
Драйвер позволяет использовать пять вариантов шага, полный шаг, полшага, четверть шага, восьмой шаг и шестнадцатый шаг.
Распиновка драйвера A4988:
На драйвере A4988 расположено 16 контактов, назначение каждого можно посмотреть ниже:
► EN — включение и выключение модуля (0 — включен, 5 В — выключен).
► MS1, MS2 и MS3 — выбор режима микро шаг (смотрите таблицу ниже).
► RST — сброс драйвера.
► SLP — вывод включения спящего режима, если подтянуть его к низкому состоянию драйвер перейдет в спящий режим.
► STEP — управляющий вывод, при каждом положительном импульсе, двигатель делает шаг (в зависимости от настройки микро шага), чем быстрее импульсы, тем быстрее вращаться двигатель.
► DIR — управляющий вывод, если подать +5 В двигатель будет вращается по часовой стрелке, а если подать 0 В против часовой стрелки.
► VMOT & GND — питание шагового двигателя двигателя от 8 до 35 В (обязательное наличие конденсатора на 100 мкФ ).
► 2B, 2A, 1B, и 1A — подключение обмоток двигателя.
► VDD & GND — питание внутренней логики от 3 В до 5,5 В.
Если не планируете использовать вывод RST необходимо подключить его к выводу SLP, чтобы подтянуть его к питанию, тем самым включить драйвер.
Настройка микрошага
Драйвер A4988 может работать микрошаговом режиме, то есть может подавать питание на катушки с промежуточным уровням. Например, если взять двигатель NEMA17 с шагом 1.8 или 200 оборотов, в режиме 1/4, двигатель будет выдавать 800 шагов за оборот
Дня настройки микрошагов, драйвер A4988 имеет три выхода, а именно MS1, MS2 и MS3. Установив соответствующие логические уровни для этих выводов, можно выбрать режим микрошага.
Вывода MS1, MS2 и MS3 в микросхеме A4988 подтянуты резистором к земле, поэтому, если не подключать их, двигатель будет работать в режиме полного шага.
Система охлаждения A4988
При интенсивной работе микросхемы A4988 начинает сильно греется и если температура превысит придельные значение, может сгореть. По документации A4988 может работать с током до 2 А на катушку, но на практике микросхема не греется если ток не превышает 1 А на катушку. Поэтому если ток выше 1 А необходимо устанавливать радиатор охлаждения, который идет в комплекте.
Настройка тока A4988
Перед использованием мотора нужно сделать небольшую настройку, необходимо ограничить максимальную величину тока, протекающего через катушки шагового двигателя и ограничить его превышение номинального тока двигателя, регулировка осуществляется с помощью небольшого потенциометра.
Существует два способа настройки:
1. Замерить ток, для этого возьмем амперметр и подключим его в разрыв любой из обмоток (двигатель должен работать в полношаговом режиме), так же, при настройки ток должен составлять 70% от номинального тока двигателя.
2. Расчет значение напряжения Vref, согласно документации на A4988, есть формула I_TripMax = Vref / (8 × Rs), из которой мы можем получить формулу.
Vref = I_TripMax x 8 x Rs
где,
I_TripMax — номинальный ток двигателя
Rs — сопротивление на резисторе.
В моем случаи на драйвере A4988 установлены резисторы Rs = 0,100 Ом (R100), а номинальный ток двигателя 17HS4401 равняется 1,7 А.
Vref = 1,7 х 8 х 0,100 = 1,36 В
Мы рассчитали максимальное значение для двигателя 17HS4401, но при таком напряжение двигатель будет греться в режиме ожидания, необходимо уменьшить это значение на 70%, то есть:
Vref х 0,7 = 0,952 В
Осталось только настроить, берем отвертку и вольтметр, плюсовой шуп вольтметра устанавливаем на потенциометр, а шуп заземления на вывод GND и выставляем нужное значение.
Подключение драйвера шагового двигателя A4988 к Arduino UNO
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Драйвер шагового двигателя A4988 x 1 шт.
► Шаговый двигатель 17HS4401 x 1 шт.
► Комплект проводов DuPont 2.54 мм, 20 см x 1 шт.
Подключение:
Теперь, можно приступить к сборке схемы. Первым делом, подключаем VDD и GND к 5 В и GND на Arduino. Контакты DIR и STEP подключим к цифровым контактам 2 и 3 на Arduino. Подключение шагового двигатель к контактам 2B, 2A, 1A и 1B.
Предупреждение: Подключение или отключение шагового двигателя при включенном приводе может привести к его повреждению.
Затем необходимо подключить контакт RST к соседнему контакту SLEEP, чтобы включить драйвер. Так-же контакты выбора микрошага необходимо оставить не подключенными, чтобы работал режим полный микрошаг. Теперь осталось подключить питание двигателя к контактам VMOT и GND, главное не забудьте подключить электролитический конденсатор на 100 мкФ, в противном случаи при скачке напряжение, модуль может выйти из строя.
Программа:
Теперь можно приступки к программной части и начать управлять шаговым двигателем с помощью драйвера A4988, загружайте данный скетч в Arduino.
Драйвер шагового двигателя DRV8825. Подключение к Arduino.
В предыдущей статье уже рассмотрели самый распространённый драйвер шагового двигателя A4988. В данной статье рассмотрим еще одни, не менее популярный, драйвер шагового двигателя DRV8825 и подключим его к Arduino, а также научимся управлять шаговым двигателем. Не смотря на то, что драйвер шагового двигателя DRV8825 полностью взаимозаменяем с драйвером A4988, драйвер DRV8825 имеет ряд преимуществ: рабочее напряжение до 45В, ток до 2,5 А и деление микрошага до 1/32.
Технические характеристики драйвер DRV8825.
- Напряжение питания: от 8.2 до 45 В.
- Установка шага: 1; 1/2; 1/4; 1/8; 1/16; 1/32.
- Напряжение логики: 3,3 В.
- Защита от перегрева: Есть.
- Максимальный ток на фазу: 1,5 А без радиатора, 2,5 А с радиатором.
- Габариты модуля: 20 мм х 15 мм х 10 мм.
- Габариты радиатора: 9 мм х 5 мм х 9 мм.
Общая информация о драйвере DRV8825.
Основная микросхема модуля — это драйвер от TI (Texas Instruments Inc.) DRV8825, который способен управлять одним биполярным шаговым двигателем. Данный драйвер полностью взаимозаменяемый с драйвером A4988. Микросхема DRV8825 может работать с выходным напряжением до 45 В. и током до 1,5 на катушку без радиатора и до 2,5 А. с радиатором (дополнительным охлаждением). Так же, модуль имеет внутренний стабилизатор напряжения, который напитывает логическую часть модуля напряжением 3,3 В от источника шагового питания двигателя.
Драйвер позволяет использовать шесть вариантов шага: 1; 1/2; 1/4; 1/8; 1/16; 1/32.
Распиновка драйвера DRV8825.
На драйвере DRV8825 расположено 16 контактов:
- EN — включение и выключение модуля (0 — включен, 5 В. — выключен).
- M0, M1 и M2— выбор режима микрошаг (смотрите таблицу ниже).
- RST — сброс драйвера.
- SLP — вывод включения спящего режима, если подтянуть его к низкому состоянию драйвер перейдет в спящий режим.
- STEP — управляющий вывод, при каждом положительном импульсе, двигатель делает шаг (в зависимости от настройки микрошага), чем быстрее импульсы, тем быстрее вращается двигатель.
- DIR — управляющий вывод, если подать +5 В. двигатель будет вращаться по часовой стрелке, а если подать 0 В. против часовой стрелки.
- VMOT&GND MOT — питание шагового двигателя от 8,2 до 45 В. (обязательное наличие конденсатора на 100 мкФ.).
- B2, B1, A1, и A2 — подключение обмоток двигателя.
- FAULT — Выход включения защиты, если состояние «0», значит, полевые транзисторы H-моста отключены в результате защиты от перегрузки по току, или был перегрев.
- GND LOGIC — заземление микроконтроллера.
Подключение питания.
Модуль может питаться от источника постоянного тока до 45 В. и до 2,5 Ампер при 24 В. А при 45 В. номинального тока до 2,2 А. В общем случае напряжение может быть между 8 и 45 Вольт постоянного тока.
Пожалуйста, смотрите, что ваш блок питания рассчитан, по крайней мере, на 30% больше, чем максимальный ток, который может быть подан в ваш шаговый двигатель. Обратитесь к техническому паспорту производителя для того, чтобы узнать это значение.
Выводы для подключения шагового двигателя.
Выходные контакты: 1B, 1A, 2A ,2B.
Выводы управления.
STEP — управляет микрошагом мотора. Каждый высокий импульс, отправляемый на этот вывод, приводит двигатель в действие на количество микрошагов, заданное выводами Microstep Selection (MS1, MS2 и MS3). Чем быстрее импульсы, тем быстрее будет вращаться двигатель.
DIR — управляет направлением вращения двигателя. Если на него подать высокий уровень, то двигатель будет вращаться по часовой стрелке, а если низкий — против часовой стрелки.
Если вы просто хотите, чтобы двигатель вращался только в одном направлении, то вы можете соединить вывод DIR непосредственно с VCC или GND соответственно.
Настройка микрошага драйвера DRV8825.
Драйвер DRV8825 может работать в микрошаговом режиме, то есть может подавать питание на катушки с промежуточным уровнем. Например, если взять двигатель NEMA17 с шагом 1.8 градусов или 200 шагов на оборот, в режиме 1/4, двигатель будет выдавать 800 шагов за оборот.
Дня настройки микрошага на драйвере DRV предусмотрены три выхода, а именно M0, M1 и M2. Установив соответствующие логические уровни для этих выводов, можно выбрать режим микрошага.
Выводы M0, M1 и M2 в микросхеме DRV8825 подтянуты резистором к земле, поэтому, если не подключать их, двигатель будет работать в режиме полного шага.
Система охлаждения DRV8825.
При интенсивной работе микросхемы драйвер DRV8825 начинает сильно греться и если температура превысит предельное значение, то он может сгореть. По документации DRV8825 может работать с током до 2,5 А. на катушку, но на практике микросхема не греется, если ток не превышает 1,2 А. на катушку. Поэтому если ток выше 1,2 А. необходимо устанавливать радиатор охлаждения, который идет в комплекте.
Настройка тока DRV8825.
Перед использованием мотора нужно сделать небольшую настройку, необходимо ограничить максимальную величину тока, протекающего через катушки шагового двигателя, и ограничить его превышение номинального тока двигателя, регулировка осуществляется с помощью небольшого потенциометра.
Для настройки необходимо рассчитать значение напряжения Vref.
Vref = Current Limit / 2
Current Limit — номинальный ток двигателя.
Для примера рассмотрим двигатель NEMA 17 17HS4401 с током 1,7 А.
Vref = 1,7 / 2 = 0,85 В.
Осталось только настроить, берем отвертку и вольтметр, плюсовый щуп вольтметра устанавливаем на потенциометр, а щуп заземления на вывод GND и выставляем нужное значение.
Подключение драйвера шагового двигателя DRV8825 к Arduino UNO.
Подключим двигатель DRV8825 к Arduino UNO по схеме.
Для этого подключаем GND LOGIC к GND на Arduino. Контакты DIR и STEP подключим к цифровым контактам 2 и 3 на Arduino. Подключение шагового двигателя к контактам B2, B1, A2 и A1.
Предупреждение: Подключение или отключение шагового двигателя при включенном приводе может привести к его повреждению.
Затем необходимо подключить контакт RST к соседнему контакту SLP к 5В на Arduino, чтобы включить драйвер. А контакты выбора микрошага необходимо оставить не подключенными, чтобы работал режим полный микрошаг. Теперь осталось подключить питание двигателя к контактам VMOT и GND MOT, главное не забудьте подключить электролитический конденсатор на 100 мкФ к контактам питания двигателя. В противном случае, при скачке напряжения модуль может выйти из строя.
Скетч вращения шагового двигателя NEMA 17, драйвер DRV8825.
Как уже было упомянуто выше, драйвер DRV8825 заменим драйвером A4988, поэтому и код вращения двигателем можно взять из предыдущей статьи: Драйвер шагового двигателя A4988. Но для увеличения кругозора сегодня будем использовать код вращения двигателя nema 17 без использования библиотеки.
Описание скетча:
Для работы данного скетча, не требуется никаких библиотек. Программа начинается с определения выводов Arduino, к которым подключены выводы STEP и DIR. Так же указываем stepsPerRevolution количество шагов на оборот.
В функции void setup() указываем управляющие контакты как выход.
В основной функции void loop(), вращаем двигатель по часовой стрелке, затем против, с разной скоростью.
Подробнее о подключении шаговых двигателей к Ardiono смотрите на сайте Ардуино технологии.
Для более простого подключения шагового двигателя к Arduino или другому микроконтроллеру существуют модули. Модули бывают разные, на фото ниже приведен пример двух различных модулей.
Распиновку и как подключать модуль драйвера DRV8825 будем рассматривать в следующей статье.
Использование драйвера DRV8825 с CNC shield v3.
Драйвер DRV8825 можно установить на CNC shield v3. CNC shield используются для управления ЧПУ станками и облегчают сборку электроники.
Данный набор позволяет без пайки собрать электронику для двух осевых, трех осевых, четырех осевых ЧПУ станков, а также для самостоятельной сборки 3D принтеров. При реализации ЧПУ станков данные шилды используются достаточно часто благодаря своей низкой цене и простоте сборки. Более подробно CNC shield v3 будем рассматривать в следующих статьях.
Вывод можно сделать следующий. Драйвер DRV8825 обладает рядом преимуществ перед драйвером A4988. А также, при использовании драйвера шагового двигателя DRV8825, меньше шума от шаговых двигателей. Это актуально при сборке лазерного гравера, 3D принтера. Когда при работе главный источник шума — это механика и гул шаговых двигателей.
Понравился статья Драйвер шагового двигателя DRV8825? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!