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

Схемы для шаговых двигателей

Домашний CNC. Часть 1. Драйвер шагового двигателя для мини-станка с ЧПУ

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

Задача построения станка обычно сводится к трем подзадачам — механика, электроника, программное обеспечение. Видимо и статьи придется писать тоже три.
Поскольку у нас журнал всё-таки практической электроники, начну с электроники и чуть-чуть с механики!

↑ Привод

Нужно двигать собственно фрезер в 3-х направлениях — XYZ, значит нужно 3 привода — 3 мотора с передачей вращения вала двигателя в линейное перемещение.
О передаче…
Для фрезерного станка, где есть боковые усилия резания материала, желательно не применять ременные передачи, очень популярные в 3D принтерах. Буду применять передачу «винт-гайка». Самая бюджетная передача — обычный стальной винт и безлюфтовая, желательно бронзовая, гайка. Более правильная — винт с трапециевидной резьбой и гайка из капролона. Самая хорошая (и, увы, самая дорогая) шарико-винтовая пара, или ШВП. Об этом подробнее я еще расскажу далее…
У каждой передачи есть свой коэффициент, свой шаг — то есть насколько линейно по оси переместится фрезер за один оборот двигателя, например, на 4 мм.

↑ Двигатель (мотор)

В качестве двигателя для привода определил шаговый двигатель (ШД)
Почему шаговый? Что это вообще такое?
Двигатели есть переменного и постоянного тока, коллекторные и бесколлекторные, и так называемые «шаговые». В любом случае нам надо обеспечить какую-то точность позиционирования, например 0,01 мм. Как это сделать? Если двигатель имеет прямой привод — вал двигателя соединяют напрямую с винтом, то для обеспечения такой точности нужно повернуть его на некоторый угол. В данном случае, при шаге передачи 4 мм и желаемой точности перемещения 0,01 мм это… всего 1/400 оборота, или 360/400=0,9 градуса! Ерунда, возьмем обычный моторчик…

С «обычным» моторчиком без обратной связи никак не получится. Не вдаваясь в подробности, схема управления двигателем должна «знать», на какой угол повернулась ось. Можно конечно поставить редуктор — потеряем в скорости, и все равно без гарантии, без обратной связи вообще никак! На ось ставится датчик угла поворота. Такое решение надежное, но дорогое.

Альтернатива — шаговый двигатель (как он работает, почитайте сами). Можно считать, что за одну «команду» он повернет свою ось на определенный градус, обычно это 1,8 или 0,9 градуса (точность обычно не хуже 5%) — как раз то, что нужно. Недостаток такого решения — при большой нагрузке двигатель будет пропускать команды — «шаги» и может вообще остановиться. Вопрос решается установкой заведомо мощного двигателя. На шаговых двигателях и делается большинство любительских станочков.

↑ Выбираем шаговый двигатель

2 обмотки, с минимальным током, минимальной индуктивностью и максимальным моментом — то есть максимально мощный и экономичный двигатель.

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

Характеристики некоторых двигателей приведены в таблице:

Для небольшого станка с рабочим пространством размером 300×300х100 мм и легким фрезером вполне сгодятся двигатели с крутящим моментом 0,3Нм и выше. Оптимальным является ток от 1,5 до 2,5 Ампер , вполне подойдет FL42STH38-1684

↑ Драйвер шагового двигателя

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

Самое простое решение — источник заданного тока и две пары транзисторных ключей на каждую обмотку. И четыре защитных диода. И логическая схема чтобы менять направление. И… Такое решение обычно делают на микросхеме ULN2003A для двигателей с малым током, имеет много недостатков, не буду на них останавливаться.

Альтернатива — специализированные микросхемы «всё в одном» — с логикой, транзисторами и диодами защиты внутри (или снаружи). А еще такие микросхемы контролируют ток обмоток и регулируют его с помощью ШИМ-а, а так же могут реализовывать режим «полушаг», а некоторые режимы 1/4 шага, и 1/8 шага и т. д. Эти режимы позволяют повысить точность позиционирования, повысить плавность движения и снизить резонанс. Обычно достаточно режима «полушаг», что позволит повысить теоретическую точность линейного позиционирования (в моем примере до 0,005 мм).

Что внутри микросхемы драйвера шагового двигателя? Блок логики и управления, источники питания, ШИМ со схемами формирования момента и времени коммутации обмоток, выходные ключи на полевых транзисторах, компараторы обратной связи — ток контролируется по падению напряжения на резисторах (Rs) в цепи питания обмоток. Ток двигателя задается опорным напряжением.

Для реализации этих функций существуют и другие схемные решения, например, с использованием микроконтроллеров PIC или ATMEGA (опять же с внешними транзисторами и защитными диодами). На мой взгляд, они не обладают значительным преимуществом перед «готовыми» микросхемами и я их в данном проекте использовать не буду.

↑ Богатство выбора

Из готовых — наиболее распространённые и недорогие драйверы на микросхемах Allegro A4988 (до 2А), Texas Instruments DRV8825 (до 2,5А).
Поскольку модули изначально разрабатывались для использования в 3D принтерах типа Rep-rap проекта Arduino, они не являются законченными модулями (например, им нужно еще питание логики (+5V), которое подается с так называемой рампы (Ramp).

Еще есть решения на DRV8811 (до 1,9 А), A3982 (до 2 А), A3977 (до 2,5 А), DRV8818 (до 2,5 А) DRV8825 (до 2,5 А), Toshiba TB6560 (до 3 А) и другие.

Поскольку мне интересно что-то сделать самому, плюс появилась возможность «попробовать на вкус» микросхемы Allegro A3982 и A3977, решил сделать пару драйверов самостоятельно.

Готовые решения на A4988 не понравились, прежде всего, из-за миниатюризации размеров печатной платы в ущерб хорошему охлаждению. Типовое сопротивление открытых транзисторов у A4388 при токе 1,5А 0,32+0,43 Ом, плюс 0,1-0,22 Ома «измерительный» резистор — получается около 0,85 Ом. А таких каналов два, и хотя и работают они импульсно, но 2-3 Ватта тепла надо рассеивать. Ну не верю я в многослойную плату и малюсенький радиатор охлаждения — в даташите нарисована плата гораздо больших размеров.

Провода мотора нужно сделать короткими, драйвер устанавливать рядом с двигателем. Существует 2 технических решения в звукотехнике: длинный сигнальный кабель к усилителю + короткие провода к акустической системе, или короткий сигнальный кабель к усилителю + длинные провода, а акустической системе. Оба решения имеют свои плюсы и минусы. С моторами — так же. Я выбрал длинные провода управления и короткие провода к мотору.

Управляющие сигналы — «шаг» (step), «направление» (dir), «включение» (enable), индикация состояния сигналов управления. Некоторые схемы не используют сигнал «Enable», но это приводит в режиме простоя к ненужному нагреву и микросхемы и двигателя.

Читать еще:  Перфоратор прэ 7 инструкция

Одно питание 12-24 вольта, источник питания логики (+5B) — на плате. Размеры платы — достаточные для хорошего охлаждения, двухсторонняя печать с большой областью «меди», возможность приклеить на микросхему радиатор (применяемой для охлаждения памяти видеокарт).

↑ Драйвер ШД на микросхеме Allegro A3982

Напряжение питание силовое: 8…35 В Напряжение питание логики: 3,3…5 В Выходной ток (максимальный, зависит от режима и охлаждения): ±2 А Типовое сопротивление открытых транзисторов (при токе 1,5А): 0,33+0,37 Ом

↑ Драйвер ШД на микросхеме Allegro A3977

Напряжение питание силовое: 8…35 В Напряжение питание логики: 3,3…5 В Выходной ток (максимальный, зависит от режима и охлаждения): ±2,5 А Типовое сопротивление открытых транзисторов (при токе 2,5А): 0,33+0,45 Ом

↑ Схема и прототип


Проектировал в среде DipTrace. Драйвер A3982 включен по схеме из документации производителя. Включен режим «полушаг». Дополнительно для надежной работы сигналов управления и индикации применил микросхему логики 74НС14 (с триггерами Шмитта). Можно было сделать гальвано-развязку на оптронах, но для маленького станка я решил ее не делать. Схема на A3977 отличается только дополнительными джамперами режима шага и более мощным разъемом питания, пока в «железе» не реализована.

↑ Печатная плата

↑ Работа

Температуру корпуса микросхемы мерил пирометром — без радиатора она достигала 90-95 градусов (при токе обмоток 1,6А) — мне это не понравилось. С радиатором — 55-60 градусов — куда лучше! Вообще плата вся теплая — около 35 градусов.

Спасибо за внимание!
Продолжение следует…

↑ Файлы

Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.


Спасибо за внимание!
Игорь Котов, главный редактор журнала «Датагор»

Даташит на микросхему Allegro A3982
 ▼ a3982.pdf 🕗 28/02/16 ⚖️ 303,14 Kb ⇣ 51

Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.


Спасибо за внимание!
Игорь Котов, главный редактор журнала «Датагор»

Похожие новости

Комментарии (12)

Информация
Вы не можете участвовать в комментировании. Вероятные причины:
— Администратор остановил комментирование этой статьи.
— Вы не авторизовались на сайте. Войдите с паролем.
— Вы не зарегистрированы у нас. Зарегистрируйтесь.
— Вы зарегистрированы, но имеете низкий уровень доступа. Получите полный доступ.

Введение в устройство шаговых двигателей

Если вы когда-либо имели удовольствие демонтировать старый принтер, чтобы сохранить электронные компоненты, то можете столкнуться с множеством цилиндрических загадочных моторов с 4 или более проводами, выступающими из сторон. Возможно, вы слышали характерное жужжание настольного 3D-принтера или глючную электромеханическую симфонию дисков в CD приводе? Если так, то вы столкнулись с шаговым двигателем!

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

Шаг 1: Что делает мотор шаговым двигателем?

Кому может понадобиться более двух проводов и Н-мост? Зачем? Ну, в отличие от обычных щеточных двигателей постоянного тока, построенных для максимального числа оборотов (или кВ для RC), шаговые двигатели представляют собой бесщеточные двигатели, рассчитанные на высокий крутящий момент (впоследствии меньшую скорость) и более точное вращательное движение. В то время как типичный двигатель постоянного тока отлично подходит для вращения гребного винта на высокой скорости для достижения максимальной тяги, шаговый двигатель лучше подходит для прокатки листа бумаги синхронно со струйным механизмом внутри принтера или для осторожного вращения вала линейного рельса в мельнице с ЧПУ.

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

Шаг 2: Типы шаговых двигателей


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

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

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

Шаг 3: Понимание спецификаций шагового двигателя



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

Читать еще:  Как настроить холостой ход бензопилы штиль

Чтение паспорта двигателя

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

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

Шаг угла: При приблизительном разрешении 1,8 градусов на шаг мы получим 200 шагов на оборот. Хотя это является механическим разрешением, с помощью микроперехода мы можем увеличить это разрешение без каких-либо изменений двигателя (подробнее об этом в шаге 5).

Напряжение: номинальное напряжение этого двигателя составляет 3 вольта. Это функция тока и номинальных сопротивлений двигателя (закон Ома V = IR, следовательно, 3V = 2A * 1,5Ω)

Ток: сколько тока нужно этому двигателю? Два ампера на фазу! Эта цифра будет важна при выборе наших силовых транзисторов для базовой схемы управления.

Сопротивление: 1,5 Ом на фазу ограничит то, какой ток мы можем подать на каждую фазу.

Индуктивность: 2,5 мГн. Индуктивная природа катушек двигателя ограничивает скорость зарядки катушек.

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

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

Класс изоляции: класс B является частью стандарта NEMA и дает нам рейтинг в 130 градусов Цельсия. Шаговые двигатели не очень эффективны, и постоянное потребление максимального тока означает, что они будут сильно нагреваться при нормальной работе.

Показатели обмотки: диаметр провода 0,644 мм., количество витков в диаметре 15,5, сечение 0,326 мм2

Шаговые двигатели (подробный разбор 4 типов)

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

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

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

Виды шаговых двигателей по типу ротора:

По типу ротора, шаговые двигатели делятся на: двигатели с постоянными магнитами, реактивные двигатели и гибридные двигатели.

  • Двигатель с постоянными магнитами (ротор из магнитотвердого материала). На роторе установлен один, или несколько, постоянных магнитов. Количество полных шагов в одном обороте таких двигателей, зависит от количества постоянных магнитов на роторе, и количества электромагнитов на статоре. Обычно в одном обороте от 4 до 48 шагов (один шаг от 7,5° до 90° ).
  • Реактивный двигатель (ротор из магнитомягкого материала). Еще такие двигатели называют двигателями с переменным магнитным сопротивлением. Ротор не имеет постоянных магнитов, он выполнен из магнитомягкого материала в виде многоконечной звезды. Данные двигатели встречаются редко, так как у них наименьший крутящий момент, по сравнению с остальными, при тех же размерах. Количество полных шагов в одном обороте таких двигателей, зависит от количества зубцов на звезде ротора, и количества электромагнитов на статоре. Обычно в одном обороте от 24 до 72 шагов (один шаг от 5° до 15°.)
  • Гибридный двигатель (совмещает технологии двух предыдущих двигателей). Ротор выполнен из магнитотвердого материала (как у двигателя с постоянными магнитами), но имеет форму многоконечной звезды (как у реактивного двигателя). Количество полных шагов в одном обороте таких двигателей, зависит от количества постоянных магнитов на звезде ротора, и количества электромагнитов на статоре. Количество шагов в одном обороте таких двигателей может доходить до 400 (один шаг от 0,9°).

Какой тип шагового двигателя у меня?

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

Виды шаговых двигателей по типу соединения электромагнитов статора:

По типу соединения электромагнитов, шаговые двигатели делятся на: униполярные и биполярные.

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

  • Биполярный двигатель имеет 4 вывода. Выводы A и A питают обмотку AA, выводы B и B питают обмотку BB. Для включения электромагнита, на выводы обмотки необходимо подать разность потенциалов (два разных уровня), поэтому двигатель называется биполярным. Направление магнитного поля зависит от полярности потенциалов на выводах.
  • Униполярный двигатель имеет 5 выводов. Центральные точки его обмоток соединены между собой и являются общим (пятым) выводом, который, обычно, подключают к GND. Для включения электромагнита, достаточно подать положительный потенциал на один из выводов обмотки, поэтому двигатель называется униполярным. Направление магнитного поля зависит от того, на какой именно вывод обмотки подан положительный потенциал.
  • 6-выводной двигатель имеет ответвление от центральных точек обмоток, но обмотка AA не соединена с обмоткой BB. Если не использовать выводы центральных точек обмоток, то двигатель будет биполярным, а если эти выводы соединить и подключить к GND, то двигатель будет униполярным.
  • 8-выводной двигатель является наиболее гибким в плане подключения электромагнитов. Данный двигатель можно не только использовать как биполярный или униполярный, но и самим определять, как соединить электромагниты обмоток, последовательно или параллельно.

Какой тип шагового двигателя у меня?

Если у Вашего двигателя 4 вывода, значит он биполярный. Если у Вашего двигателя 5 выводов, значит он униполярный. Но если у Вашего двигателя 6 и более выводов, то это не значит что некоторые из них являются центральными выводами катушек электромагнитов. Дело в том, что есть двигатели, некоторые выводы которых (обычно крайние), электрически замкнуты, так биполярный двигатель может иметь 6 выводов. Точно определить тип соединений, для двигателей с 6 и более выводами, можно только измеряя сопротивление между выводами.

Режимы работы шаговых двигателей:

    Для работы шагового двигателя (вне зависимости от его вида) можно выбрать один из трех режимов работы:
  • Полношаговый режим – ротор поворачивается на 1 шаг за 1 такт.
  • Полушаговый режим – ротор поворачивается на ½ шага за 1 такт.
  • Микрошаговый режим – ротор поворачивается на ¼, ⅛ и т.д. шагов за 1 такт.
Читать еще:  Схема подключения трехфазного электродвигателя через пускатель

Ниже рассмотрены режимы работы, на примере биполярного двигателя с постоянным магнитом и полным шагом 90°.

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

Полношаговый режим (две фазы на полный шаг). Этот режим позволяет увеличить крутящий момент почти в половину от номинального.

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

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

Если подавать уровни не «0» – «½» – «1» (как на картинке), а «0» – «¼» – «½» – «¾» – «1», то количество шагов в полном обороте увеличится не в 4 раза, а в 8 раз. Можно увеличить количество шагов в 16, 32, 64 раза и т.д., а если заменить дискретные уровни сигналов на синусоиды, то мотор будет вращаться плавно (без шагов).

Режимы пониженного энергопотребления – доступны только для 8-выводных двигателей. Эти режимы отличаются от обычных тем, что используют только половину фазы (половину электромагнитов). Данные режимы используются редко, так как они значительно снижают крутящий момент двигателя.

Пример работы шаговых двигателей с разными видами роторов:

Подключение шаговых двигателей к Arduino:

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

Большинство драйверов работают либо с биполярными двигателями, либо с униполярными.

  • Биполярный двигатель можно подключить только к драйверу биполярных двигателей.
  • 6-выводной двигатель можно подключить к любому драйверу. Если не использовать выводы центральных точек обмоток, то двигатель будет биполярным, а если эти выводы соединить и подключить к GND, то двигатель будет униполярным.
  • 8-выводной двигатель является наиболее гибким в плане подключения. Данный двигатель можно не только использовать как биполярный или униполярный, но и самим определять, как соединить электромагниты обмоток внутри двигателя, последовательно или параллельно.
  • Униполярный двигатель, при необходимости, можно подключить и к драйверу биполярного двигателя по простой схеме из нескольких диодов (лучше использовать диоды Шоттки), но такое подключение гарантирует корректность работы униполярного двигателя только в полношаговом режиме.

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

Шаговый двигатель 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;
  • провода «папа-мама».

Схема подключения шагового двигателя к Arduino UNO

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

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

Пояснения к коду:

  1. вместо портов 8,9,10,11 можно использовать любые цифровые порты;
  2. время задержки в миллисекундах int dl = 5; можно изменять, чем меньше задержка в программе, тем быстрее будет вращаться вал мотора;
  3. алгоритм работы программы, представлен на следующей картинке.

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

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

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

Скетч для шагового двигателя на Ардуино (Stepper.h)

Пояснения к коду:

  1. вместо портов 8,9,10,11 можно использовать любые цифровые порты;
  2. библиотека Stepper.h имеет маленький функционал, поэтому подходит только для тестирования шагового двигателя и проверки подключения драйвера.

Скетч для шагового мотора с библиотекой AccelStepper.h

Пояснения к коду:

  1. библиотеку AccelStepper.h можно использовать при подключении шагового двигателя к Motor Shield L293D совместно с библиотекой AFMotor.h;
  2. в программе можно задавать не только максимальную скорость, но и ускорение и замедление вала шагового двигателя.

Описание команд библиотеки AccelStepper.h

AccelStepper mystepper(DRIVER, step, direction); // Шаговый двигатель, управляемый платой
AccelStepper mystepper(FULL2WIRE, pinA, pinB); // Шаговый двигатель, управляемый Н-мостом
AccelStepper mystepper(FULL4WIRE, pinA1, pinA2, pinB1, pinB2); // Униполярный двигатель

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: