Wabashpress.ru

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

Шаговый двигатель 6 проводов подключение

Подключение шагового двигателя к Arduino Uno

Шаговые двигатели с каждым годом находят все большее применение в мире электроники. Начиная от обычной камеры наблюдения до сложных станков с ЧПУ и роботов шаговые двигатели используются в качестве исполнительных механизмов, поскольку они обеспечивают точное управление. В этом проекте мы рассмотрим один из наиболее распространенных шаговых двигателей 28BYJ-48 и его подключение к плате Arduino с помощью модуля ULN2003.

Внешний вид подключения шагового двигателя к Arduino Uno

Общие принципы работы шаговых двигателей

Внешний вид шагового двигателя 28BYJ-48 представлен на следующем рисунке:

Внешний вид шагового двигателя 28-BYJ48

Первый вопрос, который напрашивается при взгляде на этот рисунок – почему в отличие от обычного двигателя из этого шагового двигателя выходят 5 проводов различных цветов? Чтобы понять это давайте сначала разберемся с принципами работы шагового двигателя.

Начнем с того, что шаговые двигатели не вращаются, а “шагают”, поэтому они и называются шаговыми двигателями. То есть в один момент времени они будут передвигаться только на один шаг. Чтобы добиться этого в устройстве шаговых двигателей присутствует несколько катушек и на эти катушки нужно подавать питание в определенной последовательности чтобы двигатель вращался (шагал). При подаче питания на каждую катушку двигатель делает один шаг, при последовательной подаче питания на катушки двигатель будет совершать непрерывные шаги, то есть вращаться. Давайте более подробно рассмотрим катушки, присутствующие внутри шагового двигателя.

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

Как можно видеть из рисунка, двигатель имеет однополярную катушку с 5 выводами. Но фактически это 4 катушки, на которые нужно подавать питание в определенной последовательности. На красные провода необходимо подать +5V, на остальные 4 провода необходимо подать землю чтобы запустить в работу соответствующую катушку. Мы будем использовать плату Arduino чтобы подавать питание на эти катушки в определенной последовательности и тем самым заставлять двигатель вращаться. Более подробно ознакомиться с принципами работы шаговых двигателей можно в статье про подключение шагового двигателя к микроконтроллеру AVR.

Так почему же этот двигатель называется 28BYJ-48? Честно говоря, мы не знаем точного ответа на этот вопрос. Некоторые наиболее важные технические характеристики этого шагового двигателя приведены на следующем рисунке.

Технические характеристики шагового двигателя 28-BYJ48

На первый взгляд от такого количества характеристик может закружиться голова, но давайте попробуем выделить из них самые важные, те, которые нам понадобятся для дальнейшей работы. Во-первых, мы знаем, что это шаговый двигатель 5V, поэтому необходимо подавать на красный провод 5V. Также мы знаем что это четырехфазный шаговый двигатель поскольку в нем четыре катушки. Передаточное число этого двигателя — 1: 64. Это означает, что вал, который вы видите снаружи, сделает одно полное вращение в том случае, когда двигатель внутри сделает 64 оборота. Это происходит благодаря шестерням, которые включены между двигателем и выходным валом. Эти шестерни помогают в увеличении крутящего момента.

Еще одним важным показателем, который нам следует знать, является угол шага: 5.625°/64. Это значит что когда двигатель сделает последовательность в 8 шагов он будет поворачиваться на 5.625° при каждом шаге и за один полный оборот он сделает 64 шага (5.625*64=360).

Расчет шагов на оборот для шагового двигателя

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

В Arduino для управления двигателем мы будем использовать 4-шаговую последовательность, поэтому угол шага будет составлять 11.25°. Поскольку изначально он равен 5.625°(приведен в даташите), то для 8 шаговой последовательности получим 11.25° (5.625*2=11.25).

Справедлива следующая формула:

Количество шагов за оборот = 360 / угол шага.

В нашем случае 360/11.25 = 32 шага за оборот.

Зачем нужен драйвер мотора для управления шаговым двигателем

Большинство шаговых двигателей будут работать только с помощью модуля драйвера мотора. Это связано с тем, что микроконтроллер (в нашем случае плата Arduino) не может обеспечить достаточный ток на своих контактах ввода/вывода для работы двигателя. Поэтому мы будем использовать внешний драйвер мотора для управления нашим шаговым двигателем — модуль ULN2003 (купить на AliExpress). В сети интернет можно найти рейтинги эффективности различных драйверов мотора, но эти рейтинги будут меняться в зависимости от типа используемого шагового двигателя. Основной принцип, которого следует придерживаться при выборе драйвера мотора – он должен обеспечивать достаточный ток для управления шаговым двигателем.

Работа схемы

Схема подключения шагового двигателя к плате Arduino представлена на следующем рисунке.

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

Мы использовали шаговый двигатель 28BYJ-48 и драйвер мотора ULN2003. Для подачи питания на 4 катушки шагового двигателя мы будем использовать контакты платы Arduino 8, 9, 10 и 11. Драйвер мотора запитывается от контакта 5V платы Arduino.

Читайте так же:
Самоделки из штока амортизатора

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

Разработка программы для платы Arduino

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

Номер шагаКонтакты, на которое подается питаниеКатушки, на которое подается питание
Шаг 18 и 9A и B
Шаг 29 и 10B и C
Шаг 310 и 11C и D
Шаг 411 и 8D и A

На драйвере мотора есть 4 светодиода, по свечению которых можно судить о том, на какую катушку подается питание в конкретный момент. Более подробно все эти процессы можно посмотреть в видео, приведенном в конце статьи.

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

Как мы рассчитали ранее, полное число шагов для полного оборота нашего шагового двигателя, равно 32, пропишем это в следующей строчке кода:

#define STEPS 32

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

Stepper stepper (STEPS, 8, 10, 9, 11);

Примечание : последовательность номеров контактов, указанная в приведенной команде (8,10,9,11) – специально упорядочена таким образом чтобы подавать питание на катушки шагового двигателя в правильном порядке. Если вы измените номера контактов, к которым подключен шаговый двигатель, то вы соответствующим образом должны их упорядочить для подачи в приведенную команду.

Мы будем использовать специальную библиотеку для работы с шаговыми двигателями, поэтому для задания скорости вращения шагового двигателя мы можем использовать команду вида:

Для двигателя 28-BYJ48 скорость вращения можно установить в диапазоне от 0 до 200.

Теперь, чтобы двигатель сделал один шаг, мы можем использовать следующую команду:

Количество шагов, которое должен сделать двигатель, определяется переменной “ val ”. Поскольку мы имеем 32 шага (для оборота) и передаточное число 64 мы должны сделать 2048 (32*64=2048) “шагов” в этой команде для совершения одного полного оборота двигателя.

Значение переменной “val” в нашей программе мы будем вводить из окна монитора последовательной связи.

Работа проекта

Когда вы сделаете все необходимые соединения в аппаратной части нашего проекта у вас должна получиться примерно следующая конструкция:

Конструкция для нашего проекта в сборе

Теперь загрузите код программы в плату Arduino UNO и откройте окно монитора последовательной связи (serial monitor). Как мы уже указывали, мы должны сделать 2048 шагов для совершения одного полного оборота, то есть если мы в окне монитора последовательной связи введем 2048, то вал шагового двигателя совершит один полный оборот по часовой стрелке, а сам двигатель в это время сделает 2048 шагов. Для вращения против часовой стрелки просто вводите нужное число шагов со знаком “–“. То есть если вы введете -1024, то вал мотора совершит пол-оборота против часовой стрелки. Чтобы протестировать работу проекта вы можете вводить любые числа.

Исходный код программы

Код программы достаточно простой. Я надеюсь после успешной реализации данного проекта вы сможете управлять любыми шаговыми двигателями с помощью платы Arduino.

Как подключить шаговый двигатель к Arduino Uno?

Как подключить шаговый двигатель к Arduino Uno?

На производстве иногда применяют станки ЧПУ (Числовое Программное Управление). Агрегаты позволяют вырезать плоские детали, делать красивую резьбу по дереву и многое другое. На сегодняшний день в моде 3D-принтер, и он всё больше и больше набирает популярность. Я недавно узнал, что ученые в США впервые в мире напечатали человеческий позвоночник из биоматериалов. Вот технологии быстро растут. И во всех этих аппаратов невозможно без шагового двигателя (ШД). Правда, связка — шаговый двигатель и Ардуино — это далеко не идеальный вариант (не для серьёзных объектов). Но всё-таки призываю обратить внимание.

Из этой статьи вы узнаете:

Доброго дня уважаемые друзья, коллеги, будущие партнёры и гости. Я снова на связи. С вами Гридин Семён. Сегодня мы рассмотрим интересную тему. Это соединение шагового двигателя с популярной электронной платой Arduino. Так что готовьте чай и читайте статью.

Читайте так же:
Основные виды обработки металлов давлением

Работа шагового двигателя и описание драйвера

Как работает шаговик?

Для практических задач с точным перемещением объекта обязательно требуется ШД. Это мотор, который перемещает свой вал в зависимости от заданных шагов в программе контроллера. Чаще всего их применяют в станках ЧПУ, робототехнике, манипуляторах, 3D-принтерах.

Мы же с вами рассмотрим конкретный двигатель 28BYj-48 с драйвером управления ULN2003 . Он достаточно дешёвый, прост в сборке и легко писать программу.

шаговый двигатель

В 4-шаговом режиме он может совершать 2048 шагов, в 8-шаговом 4096 шагов. Питание 5 В, ток потребления 160 мА. Передаточное число 1:64 , то есть один шаг он совершит на 5,625 градусов. Крутящий момент составляет 34 мН.м. Средняя скорость 15 об/мин, с помощью программного кода можно ускорить до 35 об/мин, но вы должны понимать, что мы при этом теряем мощность и точность.

Размеры двигателя указаны из первоисточника — даташита производителя Kiatronics.

Даташит ШД

А вот таким образом он выглядит изнутри:

Внутренности ШД

Для небольших технических проектов — 28BYj-48 идеальный вариант. Его главным преимуществом является дешевизна и простота. Прилагаю спецификацию:

8-шаговая управляющая сигнальная последовательность 5.625º/шаг

ШД имеет четыре обмотки, которые запитываются последовательно:

Схема ШД

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

1.Шаговый режим — это когда две из четырех обмоток запитываются на каждом шаге. Смотрите карту включения обмоток: Для этого способа используется библиотека my Stepper.h.

ПроводФазы для шагового режима
1234
4 оранжевый
3 желтый
2 розовый
1 синий

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

ПроводФазы для полушагового режима
12345678
4 оранжевый
3 желтый
2 розовый
1 синий

Описание драйвера ULN2003

Плата представляет собой силовой модуль, который содержит в себе семь независимых транзисторов Дарлингтона. Каждая пара представляет собой каскад из двух биполярных транзисторов. ULN2003 является неким усилителем с током нагрузки 500 мА и напряжением 50 В. На изображении отображена сама плата и описание выводов к ней.

ULN2003

Управляющие входы IN1,IN2,IN3,IN4 подключаются к любым дискретным выводам Arduino Uno. Если кому интересно, можете прочитать статью здесь . Светодиоды отображают, какой шаг совершил двигатель. Выводы для подключения внешнего источника питания. Рекомендую запитывать отдельной батареей, так как нагрузка может возрастать до 1 А. Только не забудьте переставить джампер на внешнее питание двигателя.

Схема сборки на Fritzing

Для использования в учебных проектах я рекомендую Arduino Uno . Схему подключений я представляю в двух вариантах: принципиальной и визуальной схеме.

Принципиальная схема

Визуальная схема ШД

Описание библиотеки AccelStepper

Давайте мы перейдём к интересной части нашей статьи. Это описание двух библиотек для работы с двигателями myStepper и AccelStepper. Больше буду обращать внимание на библиотеку AccelStepper, так как у нее больше функции, а именно:

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

Определение конфигурации моторов

AccelStepper mystepper (1, pinStep, pinDirection);

Для управления шаговым двигателем.

AccelStepper mystepper (2, pinA, pinB);

Биполярный ШД, управляемый Н-мостом.

AccelStepper mystepper (4, pinA1, pinA2, pinB1, pinB2);

Униполярный мотор, управляемый четырмя транзисторами.

Максимальная скорость двигателя. Скорость заведомо низкая. Сначала моторчик ускоряется до этой скорости, затем снижает её

Ускорение шаговика, в шагах в секунду.

Управление положением

Переместиться в абсолютно указанное положение. Само движение запускается функцией run ().

Переместиться в относительно указанное положение. Само движение запускается функцией run (). Значение distance может быть больше или меньше нуля.

Вернуть текущее абсолютное положение.

Вернуть расстояние до указанного положения. Может использоваться для проверки, достиг ли моторчик указанной конечной точки.

Начать движение. Для продолжения движения двигателя следует вызывать функцию повторно.

Начать движение и подождать когда двигатель достигнет указанной точки. Функция не осуществляет возврата пока он не остановится.

Управление скоростью

Установить скорость в шагах за секунду. Сам процесс запускается функцией runSpeed ().

Начать движение. Для продолжения движения двигателя следует вызывать функцию повторно.

Как видите функции управления в принципе не сложны, достаточно посидеть несколько вечеров.

Описание кода программы

Я выложу для вас простой код, который будет достаточно скопировать и добавить в Ардуино IDE. О том, как программировать в этой среде я писал статью . Все описания строчек кода я написал в комментариях.

Подключение шагового двигателя 28BYJ-48-5V к Arduino. Часть 2.

В статье мы подробно разберем принцип работы шагового двигателя 28BYJ-48-5V, особенности и подключение драйвера на базе микросхемы ULN2003.

Читайте так же:
Расчет кабеля по нагрузке и длине калькулятор

В предыдущей статье =>> мы кратко разобрали подключение шагового двигателя 28BYJ-48-5V к Arduino через драйвер.

Для подключения 4-х фазного шагового двигателя с редуктором 28BYJ-48-5V используется драйвер на базе микросхемы UNL2003A.

Шаговый двигатель 28BYJ-48-5V Шаговый двигатель 28BYJ-48-5V

Добавим лишь немного теории о принципах работы шагового двигателя 28BYJ-48-5V.

Дискретное перемещение вала двигателя 28BYJ-48-5V позволяет повернуть вал ровно на 60 или 279 градусов и зафиксировать. Двигатель содержит две обмотки, причем каждая имеет отвод от середины. Получается 4 фазы. Отводы обмоток соединены вместе, как изображено на схеме, к ним подключен красный провод.

В результате каждый из контактов четырех фаз соединен с красным проводом.

Двигатель 28BYJ-48-5V относится к однополярным (униполярным) благодаря схеме соединения фаз. К красному проводу подключается питание. Фазы коммутируются силовой электроникой.

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

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

Чаще всего используются два способа управления шаговым двигателем 28BYJ-48-5V: 4 ступени импульсов и 8 ступеней.

В 4-ступенчатом управлении всегда подключены к питанию две из четырех обмоток двигателя – полношаговый метод управления.
Программная библиотека Stepper для Arduino IDE использует именно такой способ управления.

Если фазам по цвету проводов присвоить обозначения А синий, Б розовый, В желтый, Г оранжевый, то получим наименования фаз А, Б, В, Г. Их поочередное включение можно представить в виде последовательной смены сочетаний включенных фаз АБ-БВ-ВГ-ГА-АБ.

В 8-ступенчатой последовательности включается сначала одна фаза потом две, потом опять одна следующая, снова две и так далее. Управление мотором происходит в соответствии с последовательностью: А-АБ-Б-БВ-В-ВГ-Г-ГД-Д-ДА-А.

Драйвер моторов на микросхеме UNL2003A.

Существуют разные модели драйверов (контроллеров) шаговых двигателей. Среди них можно выделить самые популярные в DIY разработках на базе Arduino: L293, ULN2003, A3967SLB.

Как правило, шаговый двигатель 28-BYJ48 используют в паре с драйвером ULN2003.

Список драйверов на базе UNL2003A Вы найдете в конце статьи в разделе «Рекомендуемые товары:» или в категории Драйверы двигателей =>> нашего сайта Robot-Kit.ru.

Драйвер шагового двигателя на ULN2003A микро

Модуль управления (драйвер) на базе микросхемы UNL2003A предназначен для управления однополярным четырехфазным шаговым двигателем.

Микросхема ULN2003 по сути представляет собой массив транзисторов, включенных по схеме Дарлингтона. Микросхема ULN2003 позволяет управлять нагрузкой до 500 мА (один ключ).

Модуль принимает на себя нагрузку по силовой коммутации токов фаз мотора, защищая управляющую логическую схему от перегрузки по току и от перегрева. Например, при возрастании нагрузки на валу, в этот момент потребление тока увеличивается.

На плате модуля есть 4 входа для микроконтроллера: IN1..IN4. Пять выходов на двигатель, и два контакта питания. Также есть перемычка, разрывающая цепь питания двигателя.

Примечание. Плата согласования Arduino и шагового двигателя на основе UNL2003A имеет всего одну перемычку, которая замыкает 3 и 4 выводы. Данная перемычка подаёт питание на светодиоды с вывода 2 (так как выводы 2 и 3 спаяны вместе). Если на шаговый двигатель подаётся питание +5 В (как в нашем случае), то данная перемычка позволяет наблюдать за переключением выводов управления шаговым двигателем. Отслеживание свечения светодиодов помогает отладить схему соединения двигателя и управляющую программу. В дальнейшем для экономии тока питания перемычка снимается.

Подключение моторов на микросхеме ULN2003A

Схема соединения двигателя 28BYJ-48-5V и модуля управления ULN2003A.

Схема соединения двигателя 28BYJ-48-5V и драйвера ULN2003A

Как правило, кабель двигателя 28BYJ-48-5V уже имеет разъем с ключом, который вставляется в плату драйвера только в правильном положении. В нашем случае это именно так.

Четыре управляющих входа, помеченные как IN1-IN4, должны быть подключены к четырем цифровым выводам Arduino. Подключаем питание GND к GND и VCC к VIN (не для постоянного использования). Помним, что не рекомендуется запитывать двигатель 28BYJ-48-5V (через драйвер) непосредственно от контакта 5V на плате Arduino. Если для питания Arduino и мотора используются различные источники питания, то необходимо объединить выводы «земля» источников вместе.

Ниже приведена схема подключения на примере модуля ULN2003, платы Arduino UNO R3 и двигателя 28BYJ-48-5V.

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

Кому может понадобиться более двух проводов и Н-мост? Зачем? Ну, в отличие от обычных щеточных двигателей постоянного тока, построенных для максимального числа оборотов (или кВ для 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

Определение пар катушек

Хотя сопротивление обмоток катушки может варьироваться от двигателя к двигателю, если у вас есть мультиметр, вы можете измерить сопротивление на любых двух проводах, если сопротивление <10 Ом, вы, вероятно, нашли пару! Это в основном процесс пробной ошибки, но он должен работать для большинства двигателей, если у вас нет номера детали / спецификации.

Шаг 4: Непосредственное управление шаговыми двигателями

Благодаря расположению проводов в однополярном двигателе мы можем последовательно включать катушки, используя только простые силовые полевые МОП-транзисторы. На рисунке выше показана простая схема с МОП-транзистором. Такое расположение позволяет просто контролировать уровень логики с помощью внешнего микроконтроллера. В этом случае легче всего использовать плату Intel Edison с коммутационной платой в стиле Arduino, чтобы получить легкий доступ к GPIO (однако подойдет любой микро с четырьмя GPIO). Для этой схемы используется транзистор IRF510 N-канальный мощный MOSFET. IRF510, способный потреблять до 5,6 ампер, будет иметь достаточно свободной мощности, чтобы удовлетворить потребности двигателя в 2 амперах. Светодиоды не нужны, но они дадут вам хорошее визуальное подтверждение последовательности работы. Важно отметить, что IRF510 должен иметь логический уровень не менее 5 В, чтобы он мог потреблять достаточный ток для двигателя. Мощность двигателя в этой цепи будет 3 В.

Полное управление однополярным двигателем с помощью этой настройки очень простое. Для того, чтобы вращать двигатель, нам нужно включить фазы в заданном режиме, чтобы он вращался правильно. Чтобы вращать двигатель по часовой стрелке, мы будем управлять фазами следующим образом: A1, B1, A2, B2. Чтобы вращать против часовой стрелки, мы просто изменим направление последовательности на B2, A2, B1, A1. Это хорошо для базового контроля, но что, если вы хотите большей точности и меньше работы? Давайте поговорим об использовании выделенного драйвера, чтобы сделать всё намного проще!

Шаг 5: Платы драйверов шаговых двигателей


Если вы хотите приступить к управлению биполярными двигателями (или однополярными двигателями в биполярной конфигурации), вам нужно взять специальную плату управления драйвером. На фото выше изображен драйвер Big Easy Driver и плата-носитель драйвера шагового двигателя A4988. Обе эти платы являются печатными платами для микрошагового двухполюсного драйвера шагового двигателя Allegro A4988, который на сегодняшний день является одним из наиболее распространенных чипов для привода небольших шаговых двигателей. Помимо наличия необходимых двойных h-мостов для управления биполярным двигателем, эти платы дают много возможностей для крошечной недорогой упаковки.

Эти универсальные платы имеют удивительно низкое соединение. Вы можете начать управлять двигателем, используя только три соединения (только два GPIO) с вашим главным контроллером: общее заземление, шаг и направление. Ступенчатый шаг и его направление остаются плавающими, так что нужно привязать их к опорному напряжению с нагрузочным резистором. Импульс, посылаемый на вывод STEP, будет перемещать двигатель на один шаг с разрешением в соответствии с эталонными выводами микрошага. Логический уровень на выводе DIR определяет, будет ли двигатель вращаться по часовой стрелке или против часовой стрелки.

В зависимости от того, как установлены выводы M1, M2 и M3, вы можете добиться увеличения разрешения двигателя с помощью микрошагования. Микрошаг включает в себя посылку разнообразных импульсов, чтобы тянуть двигатель между электромагнитным разрешением физических магнитов в роторе, обеспечивая очень точное управление. A4988 может перейти от полного шага до разрешения шестнадцатого шага. С нашим двигателем 1,8 градуса это обеспечит до 3200 шагов за оборот. Поговорим о мелких деталях!

Подключение двигателей может быть легким, но как насчет управления ими? Посмотрите эти готовые библиотеки кода для управления шаговыми двигателями:

Stepper — классика, встроенная в Arduino IDE, позволяет выполнять базовый шаг и управление скоростью вращения.

AccelStepper — гораздо более полнофункциональная библиотека, которая позволяет лучше управлять несколькими двигателями и обеспечивает правильное ускорение и замедление двигателя.

Intel C ++ MRAA Stepper — библиотека более низкого уровня для тех, кто хочет углубиться в управление необработанным шаговым двигателем C ++ с помощью Intel Edison.

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

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