Sw-motors.ru

Автомобильный журнал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сделать драйвер биполярного шагового двигателя ARDUINO

Как сделать драйвер биполярного шагового двигателя ARDUINO

Недавно приобрел ARDUINO в Китае. Мыслей по изготовление различных устройств- море. Мигать светодиодом на плате очень быстро надоело, захотелось чего то более существенного. Конечно надо бы заказать набор но цена его несколько завышена и пришлось что то искать в интернете, что то придумывать самому. В итоге все равно заказал в том же Китае различные датчики, реле, индикаторы… Немного попозже пришел знаменитый индикатор 1602. С ним поучился работать, тоже довольно быстро освоился. Захотелось поуправлять шаговым двигателем от CD-DVD привода. Ждать с Востока посылку 1-2 месяца не захотелось и я решил попробовать сделать драйвер самостоятельно. Нашел вот такую схему включения биполярного шагового двигателя:

Схема включения биполярного шагового двигателя на микросхеме L293D

Микросхемы в нашей глуши я не нашел, или заказывать микросхемы в российских интернет-магазинах по стоимости 2-3 готовых драйверов за 1 микросхему. Микросхема представляет собой Н- мост из транзисторов. Кстати включать в мост надо или составные биполярные транзисторы (так называемые сборки Дарлингтона), или полевые транзисторы. Одиночным биполярным транзисторам нужна хорошая раскачка, которую контроллер дать не может, иначе получается очень высокое падение напряжение на транзисторе из за того что он открыться не может. Т.к. хороший товарищ занимается ремонтом компьютеров, то с полевиками проблем не возникло. Сначала хотел сделать на биполярниках- но получается в 2 раза больше транзисторов, что не совсем хорошо для габаритов драйвера, да и ток они выдержат гораздо меньший. Выпаяв около десятка полевых транзисторов и почитав на них даташиты я снова впал в уныние- в интернете есть схемы только на парах полевых транзисторов n- и p- типов. И ниодной схемы на транзисторах одного типа я просто не нашел. В компьютерах же используются транзисторы n- типа. Пришлось мудрить на макетной плате небольшой девайс на полевиках, попробовал управлять светодиодами, получилось и я решил собрать готовое устройство. Драйвер не нуждается в налаживании ибо налаживать здесь практически нечего. Единственная проблема возникла с программным обеспечением. Нашел даташит на похожий двигатель и по графикам работы выставил состояния выходов. После этого осталось только подобрать delay и все- устройство готово! Собственно схема замены микросхемы L293D.

Драйвер на полевых транзисторах n-типа

Данные транзисторов даны просто так- в мультисиме никак не смог их изменить. Я использовал транзисторы P60N03LDG в корпусе ТО-252 . В ней все довольно просто: при поступлении напряжения на один из входов U1 или U2 открываются 2 транзистора в верхнем и нижнем плече, причем крест- накрест. Таким образом переключается полярность напряжения на двигателе. А чтобы не подавалось напряжение сразу на 2 входа (это вызовет КЗ цепи питания) и использовал схему включения L293D. При таком включении NPN-транзистор не позволяет открывать сразу все 4 транзистора Н-моста. Кстати 1 двигатель будет управляться по 2 выходам Arduino, что крайне важно для экономии выходов и входов микроконтроллера. Еще условие- минусовой провод транзисторных ключей обязательно должен быть соединен с минусовым выводом платы управления. Питание подается на плату управления от Arduino, на ключи- от внешнего БП. Это позволяет подключить достаточно мощные двигатели. Все зависит от характеристик транзисторов. Итак для одного драйвера вам нужно 8 полевых транзисторов (P60N03LDG или любые другие n-канальные), любые 2 SMD-биполярных транзистора NPN (у меня стоят с маркировкой t04), smd-резисторы типоразмера 0805, и 4 такие же перемычки того же размера (на них написано 000 или просто 0). Все эти детали можно найти на старых и негодных материнских платах. Обязательно проверьте детали перед установкой.

Плата драйвера Arduino

Выкладываю плату в формате Layout6. Плата драйвера скачать. Замечу что у вас должен получится именно такой вид- надписи должны быть читабельными а не перевернутыми, учитывайте это при печати платы, детали ведь будут установлены со стороны дорожек. Разъемы тоже выпаиваем из материнки феном, отрезаем сколько по надо количеству пинов и впаиваем в нашу плату- так гораздо удобнее и надежнее нежели чем паять провода в плату. Разберемся с назначением выводов: выводы Out1 и Out2- подключение обмоток шагового двигателя, In1,2- вход от Arduino, ±5V- питание управления от Arduino (сделал двойной разъем т.к. подключать питание можно шлейфом сразу к нескольким блокам), 2 перемычки располагаются на другой стороне платы, по ним подается напряжение на ключи. Размер платы- 43х33мм. Кто желает- может еще больше минимизировать.

Читать еще:  Что такое автомобильный двигатель миллионник

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

Диаграмма работы шагового двигателя

Цифрами указаны номера шагов. Исходя из того что при переключении контроллером высокого уровня на низкий драйвер сам переключит нужные ключи, то пишем, например, состояния только для верхних графиков каждой обмотки. Первый шаг: первая обмотка- первый провод +(HIGH), другой автоматически переключится драйвером на минус (LOW), напоминаю что описываем по первому проводу каждой обмотки. Вторая обмотка: первый провод — (LOW), второй + (HIGH), второй провод переключится драйвером автоматически. Переходим к первому изменению графика. Это 2 шаг. Описываем состояние только первых проводов. 1 провод первой обмотки остался HIGH, 1 провод второй сменился с LOW на HIGH . Третий шаг- 1 провод первой обмотки сменился HIGH на LOW, 1 провод второй остался HIGH. Четвертый шаг: 1 провод первой обмотки остался LOW, 1 провод второй обмотки сменился с HIGH на LOW. Описывать можно с любого шага, главное сохранять последовательность. Чтобы двигатель вращался в другую сторону нужно просто сдвинуть в диаграмме значения любой обмотки на полцикла в любую сторону. Таким образом можно писать программное обеспечение для драйверов. Нужно лишь знать диаграмму и правильно описать ее состояние на выходные пины.

Теперь подключаем плату к Arduino, двигателю. Забрасываем такой скетч:

// подключаемся к 8,9 выводам arduino
int input1 = 8;
int input2 = 9;
int stepCount = 5; //задержка между шагами регулирует скорость двигателя

void setup()
<
pinMode(input1,OUTPUT);
pinMode(input2,OUTPUT);
>

void loop()
<
//1-ый шаг
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
delay(stepCount);

//2-ой шаг
digitalWrite(input1,HIGH);
digitalWrite(input2,HIGH);
delay(stepCount);

//3-ий шаг
digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
delay(stepCount);

digitalWrite(input1,LOW);
digitalWrite(input2,LOW);
delay(stepCount);

Подаем питание на драйвер, меняем, если надо, выводы одной обмотки и думаем куда приспособить данный девайс (можно открывать по времени и температуре форточки в теплице, управлять жалюзи и многое другое). Обращаю внимание что двигатель будет крутиться без остановки по данному скетчу, если надо- загоните в цикл и крутите на требуемое значение или, что еще лучше, напишите библиотеку и подключайте ее напрямую. Конечно это не такой крутой драйвер как на микросхеме, но для экспериментов, пока идут нормальные драйверы из Китая, его более чем достаточно. Всем удачи и успехов в осваивании микроконтроллеров. Подробнее о микроконтроллерах ARDUINO читайте ЗДЕСЬ.

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

Для отправки комментария вам необходимо авторизоваться.

Драйверы и контроллеры ШД

Устройства управления шаговыми двигателями в станках с ЧПУ

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

Виды драйверов

Одноканальные используются для управления одним ШД. Применяются при построении станков, где используются двигатели типоразмера 86 мм с током управления выше 4А.

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

Характеристики драйверов

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

Базовые критерии выбора:

  • · выходное напряжение и ток. Должны соответствовать характеристикам двигателя;
  • · поддерживаемый протокол. Выбирается в соответствии с протоколом контроллера;
  • · деление шага. Уменьшение увеличивает плавность хода, но снижает максимальные обороты ротора и ведет к потере крутящего момента. Для решения стандартных задач хватает шага 1/64.

Дополнительные функции:

  • · подавление резонанса. Использование драйвера без этой функции приемлемо только для двигателей типоразмером до 86 мм. Алгоритмы работы функции прописываются производителем под конкретные ШД и частоты, но драйверы Leadshine серии MD, предлагаемые нашей компанией, настраиваются на один из трех диапазонов резонансных частот;
  • · снижение тока в режиме простоя. Предотвращает перегрев двигателя и уменьшает энергопотребление;
  • · плавный пуск. Постепенное увеличение напряжения при пуске ШД не приводит к ударам, как в случае с подачей тока полным напряжением;
  • · морфинг – способность драйвера к плавному переходу с микрошагов на полный шаг на высоких оборотах. В режиме микрошагов крутящий момент снижается. Инерционность ротора позволяет работать в режиме полного шага, момент в этом случае повышается.
Читать еще:  Что такое двигатель татуш

Контроллеры ШД

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

Многоканальные драйверы ШД –устройство объединяющее в себе драйвера ШД и плату коммутации. Подключаются к ПК непосредственно управляют ШД. Также в состав контроллера входят такие функциональные возможности как таймер СОЖ, конвертор ШИМ для инвертора, силовые реле, разъемы для подключения датчиков ограничения линейных перемещений. Драйвера могут исполняться на различное количество ШД.

Драйвер шагового двигателя A4988. Подключения к Arduino и пример использования

Обзор драйвера A4988

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

  • Высокая точность позиционирования и повторяемости — качественные ШД имеют точность не хуже 2,5 % от величины шага, при этом данная ошибка не накапливается при последующих шагах;
  • Шаговый двигатель может быстро стартовать, останавливаться и выполнять реверс;
  • Четкая взаимосвязь угла поворота ротора от количества входных импульсов (в штатных режимах работы) позволяет выполнять позиционирование без применения обратной связи;
  • Шаговые двигатели обеспечивают получение сверхнизких скоростей вращения вала без использования редуктора;
  • Шаговые двигатели работают в широком диапазоне скоростей, поскольку. скорость напрямую зависит от количества входных импульсов.

Шаговые двигатели применяются там, где требуется высокая точность перемещений. Примеры использования – принтеры, факсы и копировальные машины, станки с ЧПУ, 3D-принтеры. Для управления шаговыми двигателями используют специальные устройства – драйверы шаговых двигателей. Популярный драйвер шагового двигателя А4988 (рис. 1) работает от напряжения 8 — 35 В и может обеспечить ток до 1 А на фазу без радиатора (и до 2 A с радиатором). Модуль A4988 имеет защиту от перегрузки и перегрева. Одним из параметров шаговых двигателей является количество шагов на один оборот 360°. Например, для шаговых двигателей Nema17 это 200 шагов на оборот, т.е 1 шаг равен 1.8°. Драйвер A4988 позволяет увеличить это значение за счёт возможности управления промежуточными шагами и имеет пять режимов микрошага (1(полный), 1/2, 1/4, 1/8 и 1/16).

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

  • напряжения питания: 8-35 В
  • режим микрошага: 1, 1/2, 1/4, 1/8, 1/16
  • напряжение логики: 3-5.5 В
  • защита от перегрева
  • максимальный ток на фазу: — 1 А без радиатора; — 2 А с радиатором
  • размер: 20 х 15 мм
  • без радиатора: 2 г

Назначение контактов драйвера A4988

  • ENABLE – включение/выключение драйвера
  • MS1, MS2, MS3 – контакты для установки микрошага
  • RESET — cброс микросхемы
  • STEP — генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
  • DIR – установка направление вращения
  • VMOT – питание для двигателя (8 – 35 В)
  • GND – общий
  • 2B, 2A, 1A, 1B – для подключения обмоток двигателя
  • VDD – питание микросхемы (3.5 –5В)

Выводы драйвера A4988

Значение микрошага устанавливается комбинацией сигналов на входах MS1, MS2, и MS3. Есть пять вариантов дробления шага

Комбинация значений для выбора микрошага

MS1MS1MS1Дробление шага
1
11/2
11/4
111/8
1111/16

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

Внимание ! — Подключение или отключение шагового двигателя при включённом драйвере может привести выходу двигателя из строя.

Подключение драйвера к Arduino

Схема подключения A4988 к плате Arduino

Читать еще:  Что такое четырехкратный двигатель

Схема подключения драйвера A4988 для управления биполярным шаговым двигателем показана на рисунке выше. Вывод RESET подключен к выводу SLEEP, чтобы на нем был высокий уровень HIGH. Загрузим на плату Arduino скетч из примера №1, который управляет движением биполярного шагового двигателя с постоянной скоростью на один оборот в одну сторону, затем в другую, и далее в цикле.

Если после загрузки скетча не происходит движения двигателя, проверьте правильность подключения обмоток к выводам драйвера A4988. К выводам 2B и 2A (1A и 1B) подключаются провода двигателя, которые «прозваниваются» тестером.

Второй пример использования

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

  • Плата Arduino Uno -1;
  • Драйвер A4988 — 1;
  • Шаговый двигатель NEMA17 — 1;
  • Потенциометр 10 кОм — 1;
  • Кнопка — 1;
  • Переключатель 2-х позиционный — 1;
  • Резистор 10 кОм – 3;
  • Провода MF — 20

Соединение деталей по схеме на рисунке ниже

Схема подключения для управления скоростью и направлением движения

Приступим к написанию скетча. Нажатие на кнопку включает/выключает двигатель, подавая сигнал LOW/HIGH на вход ENABLE драйвера A4988. С помощью переключателя выбираем направление вращения двигателя (сигнал с переключателя подается напрямую на вход DIR драйвера A4988). C помощью потенциометра мы выбираем один из режимов микрошага. Содержимое скетча представлено в примере кода №2. двигателя с постоянной скоростью на один оборот в одну сторону, затем в другую, и далее в цикле.

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

Опубликовано 07.04.2021 · Обновлено 16.04.2021

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

NEMA 23 — это шаговый двигатель с лицевой панелью 2,3 × 2,3 дюйма (58,4 × 58,5 мм) и углом шага 1,8 ° (200 шагов / оборот). Каждая фаза потребляет 2,8 А при 3,2 В, что обеспечивает удерживающий момент 19 кг-см. Шаговый двигатель NEMA 23 обычно используется в принтерах, станках с ЧПУ, линейных приводах и жестких дисках.
Этот двигатель имеет четыре провода с оголенными выводами: черный и зеленый, подключенные к одной катушке; Красный и Синий связаны друг с другом.

Технические характеристики шагового двигателя NEMA 23
Номинальное напряжение: 3,2 В
Текущий рейтинг: 2,8 А
Удерживающий момент: 270 унций. в
Угол шага: 1,8 град.
Шагов на оборот: 200
Количество фаз: 4
Длина двигателя: 3,1 дюйма
Количество выводов: 4
Индуктивность на фазу: 3,6 мГн
Примечание. Спецификацию шагового двигателя NEMA 23 можно найти внизу страницы.

Другие шаговые двигатели

Nema 14, Nema 17, Nema 34, 28BYJ-48 Шаговый двигатель

Другие двигатели

Двигатель постоянного тока, двигатель постоянного тока 12 В, серводвигатель, двигатель BLDC

NEMA 23 Описание

NEMA 23 — это гибридный биполярный шаговый двигатель с высоким крутящим моментом и лицевой панелью 2,3 × 2,3 дюйма. Этот двигатель имеет угол шага 1,8 градуса, это означает, что он имеет 200 шагов на оборот, и каждый шаг будет покрывать 1,8 градуса. Двигатель имеет четыре провода с цветовой кодировкой (черный, зеленый, красный и синий), оканчивающиеся оголенными выводами. Черно-зеленый провод соединен с одной катушкой; Красный и Синий связаны друг с другом. Этот двигатель может управляться двумя Н-мостами, но рекомендуется использовать драйвер шагового двигателя.

Как использовать шаговый двигатель NEMA 23

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

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

Станки с ЧПУ
Машины точного управления
3D-принтеры машины для создания прототипов (например, RepRap)
Лазерные резаки
Подбирайте и размещайте машины

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector