Что такое драйверы шаговых двигателей
ПОЛЕЗНО Шаговые двигатели, характеристики. Драйверы шаговых двигателей, разновидности, настройка.
Alsan
Alsan
МЕСТНЫЙ СТАРОЖИЛА
- 01.05.2019
- Последнее редактирование: 04.05.2019
- Рекомендованный
- #1
На форуме периодически всплывают вопросы о драйверах шаговых двигателей и их настройке. Решил разобраться с этим делом для себя, возможно кому-нибудь также пригодится.
Для начала разновидности двигателей Nema17.
17HS4401 ток 1,7A – обычные
17HS8401 ток 1,8А – более мощные
17HS4402 ток 1,3A – по некоторым сведениям менее шумные, чем 17HS4401
Nema17BH 42BHM(42BYG) — в архиве: Nema17 — (описание и параметры разновидностей ШД)
(здесь важен ток двигателя, для дальнейших расчетов).
А4988
Встречаются варианты разного цвета.
Поэтому нужно обращать внимание не на цвет, а на микросхему драйвера.
Схема и распиновка:
Характеристики А4988
Напряжения питания логической части: 3-5,5 В
Напряжения питания силовой части: 8-35 В
Максимальный ток без дополнительного охлаждения: 1 А
Максимальный ток с дополнительным охлаждением: 2 А
Дробление шага: 1, 1/2, 1/4, 1/8, 1/16
Защита от перегрузок и перегрева
Назначение контактов драйвера A4988
ENABLE – включение/выключение драйвера
MS1, MS2, MS3 – контакты для установки микрошага
RESET — cброс микросхемы
STEP — генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
DIR – установка направление вращения
VMOT – питание для двигателя (8 – 35 В)
GND – общий
2B, 2A, 1A, 1B – для подключения обмоток двигателя
VDD – питание микросхемы (3.5 –5В)
Значение микрошага устанавливается комбинацией сигналов на входах MS1, MS2, и MS3. Есть пять вариантов дробления шага.
MS1 MS1 MS1 Дробление шага
0 0 0 1
1 0 0 1/2
0 1 0 1/4
1 1 0 1/8
1 1 1 1/16
Для работы в режиме микрошага необходим слабый ток. На модуле A4988 поддерживает тока можно ограничить находящимся на плате потенциометром. Драйвер очень чувствителен к скачкам напряжения по питанию двигателя, поэтому производитель рекомендует устанавливать электролитический конденсатор большой емкости по питанию VMOT для сглаживания скачков. Внимание ! — Подключение или отключение шагового двигателя при включённом драйвере может вывести двигателя и драйвер из строя.
Настройка Vref для A4988
Формула Vref для A4988 изменяется от номинала токочувствительных резисторов(Rs). Это два черных прямоугольника на плате драйвера. Обычно подписаны R050(номинал — 0.05 Ом) или R100 (номинал — 0.1 Ом).
Vref = Imax * 8 * (Rs)
Imax — ток двигателя;
Rs — сопротивление резистора. В моем случае Rs = 0,100.
Для 17HS4401 Vref = 1,7 * 8 * 0,100 = 1,36 В.
В связи с тем что рабочий ток двигателя равен 70% от тока удержания. Полученное значение нам нужно умножить на 0,7. В противном случае двигателя в режиме удержания будут сильно греться.
Для 17HS4401 Vref ист. = 1,36*0,7 = 0,952 В.
Обычно Vref ставят ниже, для снижения температуры нагрева шагового двигателя.
Исходя из этого, при длительной работе, на практике можно использовать коэффициент 0,6
Получается для Для 17HS4401, с током 1,7А Vref = 1,7 * 8 * 0,100*0,6=0,816 (0,82)
DRV8825
Плата создана на базе микросхемы компании TI (Texas Instruments Inc.) DRV8825 — биполярном шаговом драйвере двигателя. Расположение выводов и интерфейс модуля почти совпадает с драйвером шагового двигателя Pololu на микросхеме A4988, поэтому DRV8825 может стать высокопроизводительной заменой этой платы во многих приложениях.
Схема:
Характеристики:
шаг:1, 1/2, 1/4, 1/8, 1/16, 1/32.
Регулировка тока на обмотках двигателя, переменным резистором опорного напряжения.
Источника питания для двигателей от 8,2 В до 45 В.
Встроенный регулятор напряжения для логических цепей. Возможность подключения к логике как 3,3 В, так и 5 В.
Защита от перегрева (отключение при нагреве драйвера 150 градусов).
Защита по превышению тока обмоток.
Защита по пониженному напряжению.
Защита от короткого замыкания на землю.
При токе до 1,5 А на обмотку способен работать без радиаторов и дополнительного охлаждения.
Регулировку тока двигателя следует производить выставив переменным резистором опорное наряжение (на выводах 12,13 микросхемы или на «среднем контакте резистора») из расчета 1 к 2, т.е 0,5В соответствует 1А, напряжению 1В соответствует 2А.
Обратите внимание, что переходное отверстие (золотистое) на плате, возле выводов 12,13 не является контактом для проверки опорного напряжения, это линия питания двигателей.
Режим микрошага устанавливается путем подачи «1» на контакты MODE0, MODE1, MODE2. (В случае установки драйвера на RAMPS это перемычки MS1, MS2, MS3)
M0 M1 M2 Режим микрошага
не стоит не стоит не стоит полный
стоит не стоит не стоит 1/2
не стоит стоит не стоит 1/4
стоит стоит не стоит 1/8
не стоит не стоит стоит 1/16
стоит не стоит стоит 1/32
не стоит стоит стоит 1/32
стоит стоит стоит 1/32
DRV8825 расчет Vref
Current Limit = Vref * 2
Vref = Current Limit / 2
Например для шагового двигателя 17HS4401: Vref = 1,7 / 2 = 0,85В
Обычно Vref ставят ниже, для снижения температуры нагрева шагового двигателя.
Детальное описание драйверов А4988 и DRV8825 в архиве А4988_DRV8825.rar
Встречалась информация ,что по умолчанию на драйверах DRV8825 выставлен максимальный ток, поэтому регулировка перед началом работы обязательна:
«По умолчанию у красных A4988 опора стоит в 0.8V это 1A ничего плохого не случится, но у DRV8825 опора выставлена в 1.6V -это максимальный ток, в теории 3.2А, по документации DRV8825 рассчитан максимум на 2.5A(2.2А с обдувом), это может повредить, как двигатель, так и драйвер.»
Светодиоды, в отличие от других излучающих свет приборов (ламп, светильников), не могут быть напрямую включены в бытовую сеть. Более того, светодиоды не могут питаться фиксированным напряжением, которое указано в паспорте. Устройство питания светодиода должно иметь элементы, ограничивающие ток через светодиод в соответствии с его характеристиками, или балласт. Именно поэтому диод называется «токовым прибором», и использование традиционных преобразователей напряжения неприменимо. Светодиод, как и любой полупроводниковый диод, имеет нелинейную вольт-амперную характеристику, которая меняется под воздействием температуры и, хоть и незначительно, но отличается у разных излучателей, даже выпущенных в одной партии. Поэтому ограничивающие ток элементы должны учитывать как разброс параметров светодиодов, температурный и временной уход, так и изменения питающего напряжения.
Известно множество схем питания светодиодов. Наиболее простым решением для ограничения тока светодиода является резистор, включённый последовательно с светодиодом, однако, такой вариант не слишком экономичен. Немалая часть подводимой мощности будет выделяться на этом резисторе в виде тепла. Можно уменьшить эту «паразитную» мощность снижением напряжения питания системы и уменьшением сопротивления резистора. Чем меньше выбрать сопротивление резистора, тем меньше он будет греться. Но и тем больше будет меняться ток светодиода при изменении его параметров, вызванных например, изменениями температуры, а при слишком малом сопротивлении резистора, ток может выйти из рабочего диапазона и снизить долговечность светодиода вплоть до выхода его из строя.
Наиболее популярные на данный момент эффективные схемы питания — на основе импульсных преобразователей (электронный балласт) и на основе реактивного сопротивления ёмкостных элементов (ёмкостной балласт).
Другой способ питания — стабилизация тока через светодиод с помощью электронной схемы. Для таких целей выпускаются специальные микросхемы, содержащие один или несколько стабилизирующих ток выходов. При использовании такого решения, напряжение питания может быть подобрано таким, что выделяемая на драйвере активная мощность была минимальной. Драйверы со стабилизацией тока и с управлением от микроконтроллера используются в электронных светодиодных табло, где требуется управлять не только включением, выключением и яркостью каждого пикселя, но и его цветом [3] .
В некоторых применениях, например батарейном питании, напряжения источника не хватает для включения светодиода. В таких устройствах используются повышающие преобразователи, специально разработанные для эффективного использования светодиодных излучателей [4] .
Для питания мощных белых светодиодов в осветительных устройствах применяются специальные блоки — электронные драйверы светодиодов, представляющие собой эффективные преобразователи питания, которые стабилизируют не напряжение на своём выходе, а ток [5] [6] .
Такие драйверы позволяют включить один или несколько светодиодов, соединённых в одну последовательную цепочку. Несколько параллельных цепочек таким драйвером питаться не могут, поскольку ток в отдельных цепочках может сильно отличаться [2] .
Драйвер шагового двигателя Ардуино
Шаговый двигатель — это бесколлекторный синхронный двигатель, как и все двигатели, он преобразует электрическую энергию в механическую. В отличие от двигателя постоянного тока в которых происходит вращение вала, вал шаговых двигателей совершает дискретные перемещения, то есть вращается не постоянно, а шагами. Каждый шаг вала (ротора) представляет собой часть полного оборота.
Фото. Виды драйверов для управления шаговым двигателем
Вращение вала двигателя осуществляется с помощью сигнала, который управляет магнитным полем катушек в статоре драйвера. Сигнал генерирует драйвер шагового двигателя. Магнитное поле, возникающее при прохождении электрического тока в обмотках статора, заставляет вращаться вал, на котором установлены магниты. Количество шагов задаются в программе с помощью библиотеки Arduino IDE.
Схема подключения шагового двигателя 28BYJ-48 к Arduino Uno через драйвер ULN2003 изображена на рисунке ниже. Основные характеристики мотора 28BYJ-48: питание от 5 или 12 Вольт, 4-х фазный двигатель, угол шага 5,625°. Порты драйвера IN1 — IN4 подключаются к любым цифровым выводам платы Arduino Mega или Nano. Светодиоды на модуле служат для индикации включения катушек двигателя.
Принцип работы
В зависимости от вида агрегата его конструктивные особенности могут отличаться, но общий принцип действия почти неизменный. Так, на статоре предусмотрены четыре обмотки, расположенные под 90-градусным углом.
Как только на первую обмотку подается напряжение, ротор перемещается на указанный выше угол. При поступлении напряжения на вторую, третью и четвертую обмотку вал продолжает вращаться до прохождения полного круга. Далее процесс повторяется сначала.
При желании изменить очередность вращения требуется подавать импульсы в обратном направлении. Для удобства пользователи могут управлять ШД и менять его характеристики с учетом особенностей использования.
Шаг 5: Что такое мост H-bridge?
H-Bridge — схема, состоящая из 4 переключателей, которые могут безопасно управлять двигателем постоянного тока или шаговым двигателем. Эти переключатели могут быть реле или (чаще всего) транзисторами. Транзистор представляет собой твердотельный переключатель, который можно закрыть, посылая небольшой ток (сигнал) на один из его контактов.
В отличие от одного транзистора, который позволяет вам контролировать скорость двигателя, H-мосты позволяют вам также контролировать направление вращения двигателя. Он делает это, открывая различные переключатели (транзисторы), чтобы ток тек в разных направлениях и, таким образом, изменяя полярность на двигателе.
H-Bridges может помочь вам предотвратить перегорания вашего Arduino моторами, которыми вы пользуетесь. Двигатели являются индукторами, а это означает, что они хранят электрическую энергию в магнитных полях. Когда ток больше не посылается двигателям, магнитная энергия возвращается в электрическую энергию и может повредить компоненты. H-Bridge помогает изолировать ваш Arduino лучше всего. Вы не должны подключать двигатель непосредственно к Arduino.
Хотя H-Bridges можно легко сделать самому многие предпочитают покупать H-Bridge (например, чип L293NE / SN754410) из-за удобства. Это чип, который мы будем использовать в этом уроке. Физические номера контактов и их назначение ниже:
- Пин 1 (1, 2EN) → Мотор 1 Включен/Выключен (HIGH/LOW)
- Пин 2 (1A) → Мотор 1 логический выход 1
- Пин 3 (1Y) → Мотор 1 терминал 1
- Пин 4 → Земля
- Пин 5 → Земля
- Пин 6 (2Y) → Мотор 1 терминал 2
- Пин 7 (2A) → Мотор 1 логический выход 2
- Пин 8 (VCC2) → Питание для двигателей
- Пин 9 → Мотор 2 Включен/Выключен (HIGH/LOW)
- Пин 10 → Мотор 2 логический выход 1
- Пин 11 → Мотор 2 терминал 1
- Пин 12 → Земля
- Пин 13 → Земля
- Пин 14 → Мотор 2 терминал 2
- Пин 15 → Мотор 2 логический выход 2
- Пин 16 (VCC1) → Питание для H Bridge (5В)
Блок Stepper Motor Driver представляет драйвер для шагового двигателя. Это создает последовательности импульсов, A и B, требуемый управлять двигателем. Этот блок инициирует шаг каждый раз, когда напряжение в порте ENA повышается выше значения параметров Enable threshold voltage.
Если напряжение в порте REV меньше чем или равно значению параметров Reverse threshold voltage, импульсный A приводит импульсный B 90 градусами. Если напряжение в порте REV больше значения Reverse threshold voltage, импульсный B приводит импульсный A 90 градусами, и моторное направление инвертируется.
В начальный момент времени импульсный A положителен, и импульсный B отрицателен.
Если вы устанавливаете параметр Stepping mode на Half stepping , блок Stepper Motor Driver может произвести выходные формы волны, требуемые для того, чтобы наполовину продвинуться. В этом режиме между полными шагами существует промежуточное состояние, на которых только приводится в действие один из A или полуобмоток B. В результате размер шага является половиной полного размера шага шагового двигателя. На половине шагов закорачиваются обмотки, которые не приводятся в действие. Это аппроксимирует эффект вольного диода, соединенного через обмотки.
Усредненный режим
Если вы устанавливаете параметр Simulation mode на Averaged , и для блока Stepper Motor Driver и для блока Stepper Motor , соединенного с ним, затем не симулированы отдельные шаги. Это может быть хорошим способом ускорить симуляцию. Averaged режим принимает, что внешний контроллер обеспечивает спрос на уровень шага. Этот спрос на уровень шага определяется из напряжения, примененного между портами ENA и REF на блоке Stepper Motor Driver путем умножения этого напряжения значением параметра Step rate sensitivity. Направление вращения установлено портом REF таким же образом что касается Stepping режим.
Averaged режим должен передать спрос на уровень шага и также информацию об амплитуде выходного напряжения с блоком Stepper Motor . Для этого спрос на уровень шага применяется как эквивалентное напряжение через порты A+ и A-. Так же информация об амплитуде выходного напряжения передается путем применения установившегося напряжения через порты B+ и B- со значением, равным параметру Output voltage amplitude.
Как подключить модуль A4988 к Arduino
Подключить драйвер A4988 к Arduino просто. Нам нужно подключить источник питания к логической части, для которой мы можем использовать 5 В от Arduino. Также нам нужен источник питания, напряжение которого соответствует потребностям двигателя, но оно должно быть больше 8 В.
Мы подключаем шаговый двигатель к выходам драйвера, а к контактам STEP и DIR подключаем цифровые контакты Arduino, с помощью которых мы хотим управлять двигателем. Схема подключения показана ниже, где Arduino используется для логического питания, а адаптер 12 В — для питания двигателя.
Скетч
Этот драйвер легко программировать. Нам не нужна библиотека для его использования, у нас просто есть контакты DIR и STEP для управления двигателем. Мы устанавливаем вывод DIR в положение «1» или «0» в зависимости от направления вращения двигателя, а на выводе STEP мы подаем импульсы в зависимости от количества шагов двигателя.
Ниже приведен код, который вращает ротор двигателя на 200 шагов в одну сторону и после одной секунды паузы в другую.