28Byj 48 подключение к ардуино: Шаговый двигатель 28BYJ-48: описание, подключение, схема, характеристики

Содержание

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

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

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

Любой шаговый двигатель имеет два основных элемента: ротор (вал мотора) и статор (неподвижный корпус).

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

Разделим шаговики на 3 основных класса:

  • Переменный шаговый двигатель
    Ротор не имеет постоянных магнитов, а оснащен ферромагнитной шестерней. Это материал, который крайне эффективно магнититься, но не так сильно по сравнению с постоянным. Это приводит к проигрышу в крутящем моменте. Зато отсутствует стопорящая сила, возникающая за счет магнитного поля между корпусом мотора и ротором с постоянным магнитом, которую легко почувствовать, покрутив шаговик в выключенном состоянии (характерные щелчки).
    Движок оснащен большим количеством катушек, которые включаются попарно. Величина шага варьируется от 5 до 15 градусов.
  • Шаговый двигатель с постоянным магнитом
    Ротор такого устройства состоит из нескольких разнополюсных магнитов. Принцип разбирали в самом начале. Характерный шаг от 45 до 90 градусов.

 

  • Гибридный шаговый двигатель
    Как можно догадаться, данный тип совместил в себе первые два и унаследовал все плюсы. Отличительными характеристиками данного шаговика являются высокая точность (1-5 градуса), малая вибрация и приличная скорость вращения. Все хорошо, но такие штуки отличаются от своих собратьев еще и ценой! Это связано со сложностью изготовки. Но производители пошли на технологическую хитрость. Практически невозможно создать многозубцовую (скажем, 100) шестеренку, где соседние зубья будут разных полюсов.

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

Теперь давайте пробежимся по методам управления шаговыми двигателями. Их также можно разделить на несколько пунктов:

  • Полношаговое управление одной обмоткой
    Это самый простой вариант. Последовательно включается только одна катушка и к ней притягивается вал мотора. В таком случае
    крутящий момент
    будет меньше чем в следующем способе.
  • Полношаговое управление двумя обмотками
    Принцип такой же, как и в предыдущем случае, но теперь управление идет парой электромагнитов. Это обеспечивает максимальный крутящий момент мотора, но требует в два раза больше тока или напряжения (зависит от метода подключения катушек друг к другу).
  • Полушаговое управление
    Данная логика включения катушек позволит увеличить число шагов, а, следовательно, и точность в 2 раза! Аналогично предыдущим пунктам, можно управлять одной катушкой или парой.
    Вся фишка в том, что в данном случае переход на следующую катушку переходит не при полном выключении предыдущей. То есть, при работе двух соседних катушек вал мотора встает в промежуточное состояние.
                           
  • Сверхточное управление
    Наверное у многих после предыдущего пункта появилась мысль: а что если мы будем подавать разную мощность на две соседние катушки, меняющуюся по определенному закону, и получим еще больше промежуточных шагов? Именно так и устроены современные двигатели в сверхточных ЧПУ и прочих подобных устройствах. Хитрое управление обмотками позволяет значительно повысить точность позиционирования подобных моторов. В таких случаях используют специальные драйверы для шаговых двигателей, позволяющих осуществлять подобный режим управления.

В качестве примера в данной статье рассмотрим

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

Шаговый двигатель 17hs4401 обладает большим крутящим моментом и может питаться от сети 12 V. Чтобы не перегружать нашу плату управления большими мощностями, шаговик подключается к ней с помощью специального драйвера А4988, который способен работать в жестких условиях (до 35 V и 2 А).

Слабые управляющие сигналы с Arduino идут на драйвер, а тот уже взаимодействует с 17hs4401 с более мощными параметрами пот току и напряжению. К ножкам A4988 VDD и GND подводится питание логического уровня (3 — 5,5 В), к VMOT и GND — питание двигателя (8 — 35 В). Стоит отметить, что в данной системе бывают

скачки напряжения, которые могут привести к поломке оборудования. В этой связи (на 3D принтерах всегда) ставят большие конденсаторы (более 47 мкФ). Драйвер имеет болт, который регулирует силу тока. Работая на предельных значениях, вы рискуете сжечь его, особенно если не наклеен радиатор, идущий в комплекте с устройством.

Шаговик 17hs4401 за полный оборот совершает 200 шагов. Это весьма неплохо, но для лучшего позиционирования (крайне важно для ЧПУ) используют схему управления с микрошагами, которую мы изучили ранее. A4988 позволяет осуществлять такую процедуру с коэффициентами 1/2, 1/4, 1/8 и 1/16 шага (комбинируя управление через выходы MS1, MS2, и MS3). 

MS1 MS2 MS3 Step
Low Low Low Full
High Low Low 1/2
Low High Low 1/4
High High Low 1/8
High High High 1/16

Пин STEP отвечает за микрошаг шаговика, DIRECTION — за направление вращения.

Выводы STEP и DIRECTION не подтянуты к какому-либо конкретному внутреннему напряжению, поэтому их не стоит оставлять плавающими при создании приложений. Если требуется вращать двигатель в одном направлении,коннектим DIR с VCC или GND. Драйвер имеет три различных входа для управления состоянием питания: RESET, SLEEP и ENABLE. Вывод RESET плавает, если его не нужно использовать, то следует подключить его к SLEEP, чтобы подать на него высокий уровень и включить плату.

Теперь давайте перейдем непосредственно к подключению данного мотора к микрокомпьютеру. Соединяем контакты согласно указанной ниже схеме:

Обычно, такие моторы любителями используются при сборке 3d принтеров своими руками. Для этого используют Arduino MEGA и шилд ramps 1.4

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

Более простым и дешевым вариантом шагового мотора является модель 28byj-48. Его подключение немного запутанное, но несмотря на это он пользуется большой популярностью у любителей собирать роботов! Поэтому мы немного расскажем о том, как 28byj-48 подключить к ардуино. В первую очередь нам понадобиться драйвер ULN2003APG. Это очень дешевая железяка, встречается как готовая плата с разъемами, так и просто чип с голыми ножками. Сначала посмотрим, как подключать второй вариант.

На данной картинке покано подключение двух шаговых двигателей к плате Arduino Nano. C обратной стороны драйвера все ножки соединяем с цифровыми пинами, кроме крайней правой — ее ведем к GND. При программировании вам потребуется осуществить настройку моторов к пинам и в этом случае необходимо указать правильную последовательность: оранжевый, синий, желтый, розовый. Именно в таком порядке необходимо будет подавать управляющий сигнал с ножек микропроцессора. Как видно на рисунке, красный провод левого коннектора не попадает на ULN2003APG — его необходимо соединить с выходом 5V или VIN. 

Есть более простой способ подключения шаговика 28byj-48 через готовую плату с коннектором:

На всякий случай приведем распиновку драйвера:

На этом у нас все, если будут вопросы — всегда готовы ответить!

Шаговый 4-х фазный двигатель 5V с платой управления ULN2003

Шаговый 4-х фазный двигатель 28BYJ-48-5V с платой управления ULN2003

 

Такие двигатели разработаны для применения в механизмах, где детали поворачиваются точно на требуемый угол. Вращение вала шагового двигателя состоит из малых перемещений – шагов. 28BYJ-48-5V – шаговый двигатель низкой мощности. Чаще всего мы видим результат работы маломощного шагового двигателя интересуясь который час глядя на стрелки циферблата электромеханических часов. Работа более мощных шаговиков нам видна когда мы следим за перемещением каретки матричного или струйного принтера.
 
ПРИМЕНЕНИЕ 28BYJ-48-5V
 
Одно из множества применений 28BYJ-48-5V в любительской робототехнике – использование для привода колес шасси. Используя 28BYJ-48-5V легко получить модель электропривода робота относящегося к классу мотор-колесо. Это позволяет собирать роботов способных развернуться на месте и обладающих точным позиционированием в пространстве благодаря цифровому управлению двигателем. Смотрим видео.
 

 
Используя шаговый двигатель можно собрать локатор для обнаружения препятствий движению подвижной платформы. Ультразвуковой  или ИК датчик отраженного излучения благодаря работе 28BYJ-48-5V могет поворачиваться в обоих направлениях в пределах требуемого угла. Будет происходить сканирование сектора окружающего пространства. Зная положение вала мотора благодаря импульсному управлению и дистанцию до препятствия получаемую от датчика, можно сформировать картину расположения окружающих предметов.
Существует модификация 24BYJ48-12V предназначенная для питания от 12 вольт используемая в кондиционерах для тяги шторок.
 
Немного теории
 
Схема фаз двигателя 28BYJ-48-5V.
 

Дискретное перемещение вала двигателя 28BYJ-48-5V позволяет повернуть вал ровно на 60 или 279 градусов и зафиксировать. Двигатель содержит две обмотки, причем каждая имеет отвод от середины. Получается 4 фазы. Такой электромагнитный прибор называют шаговый 4-х фазный двигатель. Отводы обмоток соединены вместе как изображено на схеме, к ним подключен красный провод. В результате каждый из контактов четырех фаз соединен с красным проводом. Двигатель относится к однополярным благодаря схеме соединения фаз. К красному проводу подключается питание. Фазы коммутируются силовой электроникой. Перемещение вала на шаг происходит под действием импульса тока.
Ротор мотора намагничен особым образом. На роторе 28BYJ-48-5V путем применения специальных технологий намагничивания сформировано 8 магнитов. Полюса магнитов ротора чередуются, перемещаясь мимо обмоток статора. Каждый магнит имеет 2 полюса. Происходит чередование шестнадцати полюсов. Магнитное поле фаз должно то притягивать, то отталкивать полюса магнитов. Это требование в сочетании со сменой полюсов при вращении требует смены полярности тока в фазах. Схема соединения фаз, имеющая отводы от середины обмоток позволяет использовать однополярное питание и исключить коммутационный компонент на линии питания.
Один из процессов происходящих в 28BYJ-48-5V можно представить следующим образом. Если красный провод подключен к положительному полюсу питания, то соединяя розовый или оранжевый провод двигателя с общим проводом питания, мы будем создавать магнитные поля в разных фазах одной обмотки. Поля розовой и оранжевой фаз будут направлены противоположно. При этом ток будет протекать в начале по верхней розовой фазе, а затем по нижней оранжевой. Также будет происходить формирование магнитного поля и в двух других фазах: желтой и синей.
Вращение ротора происходит за счет коммутации фаз шаг за шагом. Для поворота на требуемый угол или выполнения некоторого количества оборотов на фазы двигателя подают серию импульсов, под действием которых вал поворачивается на серию шагов.

Импульс тока вызывает перемещение вала на угол обусловленный углом, занимаемым на роторе одним магнитом. Увеличение количества полюсов ротора уменьшает шаги, что позволяет нарастить точность позиционирования. Поворот вала на нужный угол под действием известного количества импульсов тока дает возможность исключить из системы управления механическим приводом контроль угла поворота.
 Шаговый двигатель предназначен для вращения деталей механизмов с точно задаваемой скоростью регулируемой цифровым способом. Импульсы подают на фазы в определенной последовательности. 28BYJ-48-5V содержит пластмассовый понижающий редуктор.
 

Передаточное число редуктора двигателя 28BYJ-48-5V примерно 64:1.
 

 
Чаще всего используются два способа управления: 4 ступени импульсов и 8 ступеней. В 4-ступенчатом управлении всегда подключены к питанию две из четырех обмоток двигателя – полношаговый метод управления. Программная библиотека Stepper для Arduino IDE использует именно такой способ управления. Если фазам по цвету проводов присвоить обозначения А синий, Б розовый, В желтый, Г оранжевый, то получим наименования фаз А, Б, В, Г. Их поочередное включение можно представить в виде последовательной смены сочетаний включенных фаз АБ-БВ-ВГ-ГА-АБ.
В 8-ступенчатой последовательности включается сначала одна фаза потом две, потом опять одна следующая, снова две и так далее. Управление мотором происходит в соответствии с последовательностью: А-АБ-Б-БВ-В-ВГ-Г-ГД-Д-ДА-А.
Более наглядно теория изложена в следующем видео о подключении 28BYJ-48-5V к Raspberry Pi.
 

 
ХАРАКТЕРИСТИКИ 28BYJ-48-5V
 
Cкорость вращения
            номинальная 15 об/мин
            максимальная 25 об/мин
Питание
            напряжение 5 В
            ток
                        каждая обмотка 160 мА,
                        в 4-шаговом режиме 320 мА,
                        при быстром вращении 200 мА.
Сопротивление фаз при измерении от провода питания 41 Ом
Количество шагов ротора 64
Коэффициент редукции 1/63,68395
Угол шага двигателя без учета редуктора
            при 4-ступенчатой последовательности 11,25 ° (32 шага на оборот)
            при 8-ступенчатой последовательности 5,625 ° (64 шага на оборот)
Количество шагов вала мотора 28BYJ-48 за один оборот
            в 4-ступенчатой последовательности 32 x 64 = 2048
            в 8-ступенчатой последовательности 64 x 64 = 4096
Крутящий момент не менее 34,3 мНм (120 Гц)
Тормозящий момент            600–1200 гсм
Тяга     300 гсм
Изоляция класса А
Шум на расстоянии 0,1 м не более 35 dB
Вес 33 г
 

Размеры мотора 28BYJ-48-5V.
 
Так как основное назначение мотора управление шторкой кондиционера то коэффициент редуктора не точно соответствует 1:64, а на самом деле 1:63,68395. Это означает, что будет не 4096 шагов на оборот, а 4075,772.
 
 
ПЕРЕДЕЛКА В БИПОЛЯРНЫЙ – УВЕЛИЧЕНИЕ МОЩНОСТИ
 
При необходимости удвоения крутящего момента выполняют простую доработку схемы соединения фаз в двигателе. При этом красный провод питания будет не задействован, а мотор 28BYJ-48-5V  становится двухфазным биполярным. В схеме управления будет использовано 4 провода. Доработка заключается в разрыве дорожки как изображено на фото.
 

Модернизация мотора 28BYJ-48-5V.
 


Схема двухфазного биполярного шагового двигателя.

Отводы от центров обмоток отсоединяются друг от друга и не используются. Теперь фазы и обмотки становятся одним и тем же.
Две фазы вместо четырех содержат витки, распределенные между двумя а не четырьмя фазами. Теперь у одной фазы вдвое большее количество витков. Одна фаза имеет контакты розовый, оранжевый другая желтый, синий. Магнитное поле при удвоенном количестве витков удваивается и крутящий момент возрастает. Но схема управления сложнее. Она должна коммутировать обмотки так, чтобы ток мог протекать в обоих направлениях. Поэтому двигатель 28BYJ-48-5V после доработки становится биполярным. Управление двумя фазами, а не четырьмя снижает дискретность перемещения в два раза. Более подробно о переделке рассказано в видеофрагменте.
 
 

 

Модуль ULN2003 управления шаговым двигателем

 


 

 
Электронный модуль содержащий микросхему ULN2003A предназначен для управления однополярным четырехфазным шаговым двигателем. Модуль принимает на себя нагрузку по силовой коммутации токов фаз мотора, защищая управляющую логическую схему от перегрузки по току и от перегрева. Например, при возрастании нагрузки на валу, в этот момент потребление тока увеличивается.
 
 
ХАРАКТЕРИСТИКИ ULN2003A
 
Ток нагрузки одного выхода предельный 500 мА
Напряжение питания 5 или 12 В
Размеры 28 x 28 x 20 мм
 
ЭЛЕКТРИЧЕСКАЯ СХЕМА ULN2003A

Схема модуля ULN2003A.
 
На входы модуля IN1…IN4 поступают сигналы управления мощными ключами, входящими в состав микросхемы U1. Схема мощного ключа U1 на составном транзисторе приведена в верхнем левом углу изображения. Нагрузка подключается к соединителю CONM-MTR. В нашем случае это фазы двигателя. Вспомним, что все фазы мотора подключены одним контактом к положительному полюсу питания схемы. Под действием управляющего сигнала на входе Input X открывается выходной транзистор микросхемы и соединяет выход Output X с общим проводом. К выходам Output подключены вторые контакты фаз. Диод в схеме составного транзистора подключен к контакту COM, здесь это провод питания. Роль этого диода состоит в ограничении выходного напряжения не выше напряжения питания микросхемы плюс примерно 0,6 вольт. Такая защита цепей схемы необходима из-за импульсов напряжения появляющихся при коммутации фаз двигателя.
Светодиоды показывают какой выход микросхемы подключен к общему проводу. Для их работы следует установить перемычку J1. Она устанавливается только при питании модуля 5 В. Отслеживание свечения светодиодов помогает отладить схему соединения двигателя и управляющую программу. В дальнейшем для экономии тока питания перемычка J1 снимается.
 
ПОДКЛЮЧЕНИЕ ULN2003A
 
Назначение контактов модуля ULN2003A.
 Соединитель на жгуте двигателя устанавливается в ответную часть разъема на плате модуля. Питание подключается к штырям + и – возле перемычки. Для питания следует использовать отдельный источник, дающий ток до 1 А.
 
 
 
 
 


Соединения двигателя 28BYJ-48-5V и модуля управления ULN2003A.
 
ПРОГРАММИРОВАНИЕ В ARDUINO IDE
 
Stepper – программная библиотека входит в Arduino IDE и предназначенная для работы с шаговыми двигателями без редуктора. Библиотека Stepper поддерживает только полношаговый метод управления и имеет сильно ограниченные возможности. Предназначена для решения простых задач при управлении одним двигателем.
Stepper2.ino – программа, содержащая полный набор функций, которые могут быть использованы для запуска 28BYJ-48-5V. Обсуждение программы на  странице куда ведет ссылка. Планы преобразовать программу в полноценную библиотеку так и не были реализованы.
Custom Stepper  – библиотека может быть использована для управления различными шаговиками, но настройки по умолчанию для 28BYJ-48-5V.
AccelStepper  – библиотека работает  эффективно. Нагрев двигателя меньше, поддерживает изменение скорости.
Имеет объектно-ориентированный интерфейс для 2, 3 или 4-выводных шаговых двигателей.
Поддержка регулировки скорости.
Поддержка нескольких шаговых двигателей.
Функции API не используют функцию delay и не прерывают работу.
Поддержка выбора функции для шага позволяет работать совместно с библиотекой AFMotor.
Поддержка низких скоростей.
Расширяемый API.
Поддержка подклассов.
 

 

 
Набор для использования шагового двигателя в различных приборах. Поставка вместе с двигателем платы управления ULN2003A сокращает время на наладку и сборку электромеханического прибора. Шаговый двигатель и управляющий им модуль имеют соединители одного типа. Использование набора совместно с микроконтроллерным модулем позволяет собирать различные моторизованные системы. Набор ориентирован на специалистов хорошо владеющих программированием и не имеющих большого опыта монтажа пайкой. Предназначен для привода широкого спектра механизмов.
Шаговый 4-х фазный двигатель 5V с платой управления ULN2003 должны подключаться к одному источнику питания 5 В.

Описание мотора
            на английском
            на китайском

Параметры модификаций мотора
Описание модуля
Wiki
Подключение и управление

 
 

Управление шаговым двигателем с помощью передатчика и приемника sirc — Проектов

Управление шаговым двигателем с помощью передатчика и приемника SIRC

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

Взгляд назад и вперед

В первой части этого проекта описаны принципы ИК (инфракрасной) сигнализации в целом и SIRC (Sony IRC Remote Code) в частности. Схема приемника была представлена ​​для обнаружения, декодирования и отображения информации, содержащейся в сигналах SIRC, с использованием микроконтроллера PICAXE.

Вторая часть проекта будет основываться на этом фундаменте, пересматривая униполярный шаговый двигатель 28BYJ-48, который был представлен в предыдущей статье. Кроме того, будет представлена ​​схема ИК-передатчика, которую легко построить и использовать с домашним приёмником и ULN2003A, что позволяет удаленно запускать, останавливать и управлять направлением вращения шагового двигателя. Соответствующий код будет включен как для передатчика и приемника SIRC.

Аппаратное обеспечение приемника

В первой части вам показали, как создать приемник SIRC на паяльной макете, и вам было рекомендовано продублировать макет, представленный как можно ближе. Если вы сравните эту схему с приведенной ниже, вы увидите, что добавлено только несколько частей.

нажмите, чтобы увеличить

По сравнению с последней схемой в первой части есть только две новые электронные части (U3 и C2), один новый разъем (EXM1) и шесть новых проводов: по одному из черного, белого, синего, желтого, зеленого и красного. Черный провод соединяет общую землю с U3, красный провод передает от +5V до U3 и шаговый двигатель, а белые, синие, желтые и зеленые провода соединяют сигналы управления от U1 до U3. Кроме того, подключен шаговый двигатель 28BYJ-48. Кабель из пяти проводов соединяет выход U3 (через EXM1) с шаговым двигателем.

На фото выше обратите внимание, что нога 1 U1 (PICAXE 08M2) расположена слева внизу на макетной фотографии, а нога 1 U3 (ULN2003A) расположена в правом верхнем углу; эта схема упрощает подключение двух микросхем. Нога 1 из U1 и 1-й части U3 обозначены на фотографии белой точкой или пятном на корпусе чипа.

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

В этом случае легче отказаться от платы драйвера; просто подключите ULN2003A непосредственно к паяльной макете и подключите двигатель через EXM1. Сначала подключите кабель двигателя к разъему EXM1, а затем подключите разъем EXM1 к паяльной панели. Обратите внимание, что EXM1 делает хорошие электрические соединения с макетом, но легко выбивается.

Список деталей

В дополнение к компонентам приемника, перечисленным в первой части этого проекта, вам понадобятся те, которые приведены в таблице ниже.

Часть Ref. Описание Источник Предмет номер.
У3IC, Darlington Pairs, 7-контур, ULN2003ADigi-Key *497-2344-5-ND
С2Конденсатор, керамика, 0, 1 мкФ, 50 ВDigi-Key399-9797-ND
EXM1Разъем, монтаж на печатной плате, 5-контактный, верхний входDigi-Key455-2270-ND
N / AМотор, степпер, 28BNY-48, 5VВ сетиN / A
* ULN2003A также может быть спасен от платы драйвера 28BYJ-48.

Программное обеспечение получателя

Следующий код программы для приемника SIRC можно загрузить с помощью кнопки внизу этого раздела.

Обратите внимание, что код состоит из части настройки (строки 9-13), основной процедуры (строки 14-24) и двух параметров goto. Основная процедура вызывает pinC.3 для поиска кода SIRC и для хранения кода, который он получает в байтовом регистре b4. Затем, исходя из того, был ли получен код «51» или «52», код переходит в одно из двух мест.

Первая опция goto (линии с 25 по 42) превращает шаговый двигатель по часовой стрелке (если смотреть со стороны вала двигателя). Вторая опция goto (линии с 43 по 60) вращает двигатель против часовой стрелки. Число, сохраненное в байтовом регистре b4, определяет, какая опция выбрана: «51» производит вращение по часовой стрелке, а «52» — вращение против часовой стрелки. В любом случае двигатель поворачивается на половину шагов, что обеспечивает более плавное движение, чем полный шаг.

Код приемника PA-08M2

Оборудование передатчика

При работе SW1 нажата, чтобы принести pinC. 1 низкого уровня 08M2. Программное обеспечение в μC вызывает вывод запрограммированного SIRC «52» из pinC.2, который мигает светодиодами 1 и 2 в соответствии с соответствующим шаблоном SIRC. Светодиод 1 передает 940 нм ИК-сигналы, а светодиод 2 визуально подтверждает пользователю, что передатчик активен. SW2 работает одинаково с pinC.4, но посылает сигнал SIRC «51».

нажмите, чтобы увеличить
Список деталей

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

Часть Ref. Описание Источник Предмет номер.
J1Джек, 3, 5 мм, 3-проводникDigi-KeyCP1-3533-ND
R1Резистор, ¼ Вт, 22 кОмDigi-Key22KQBK-ND
R2, R3Резистор, ¼ Вт, 10 кОмDigi-Key10KQBK-ND
R4Резистор, ¼ Вт, 510 ОмDigi-Key510QBK-ND
R5Резистор, ¼ Вт, 33 ОмDigi-Key33QBK-ND
R6Резистор, ¼ Вт, 470 ОмDigi-Key470QBK-ND
Q1Транзистор, NPN, 2N3904, TO92Digi-Key2N3904FS-ND
U1Микроконтроллер, PICAXE 08M2PHAnderson. comPICAXE 08M2 +
LED1Диод, светоизлучающий, ИК, 940 нм, T1 3/4, LTE-5228ADigi-Key160-1062-ND
LED2Диод, светоизлучающий, синий, T1Digi-KeyMV5B640EL-ND
N / AМакет, Паяльник, 400 КонтактыDigi-Key377-2094-ND
SW1, SW2Переключатель, тактильный, мгновенный, нормально открытый, SPST, кнопочный переключатель, 2-контактныйВ сети*N / A
* Все детали легко доступны у различных поставщиков, за исключением, возможно, SW1 и SW2, которые, возможно, должны быть расположены через онлайн-поиск. Это обычные тактильные, мгновенные, нормально разомкнутые кнопочные переключатели SPST, но с двумя штырьками внизу. Поскольку штыри находятся на 0, 2 «центрах, они хорошо работают в паяльных макетах. См. Следующую фотографию.

Программное обеспечение передатчика

Следующий код программы предназначен для передатчика SIRC и может быть загружен с помощью кнопки внизу этого раздела.

Код довольно прост. Когда нажат кнопочный переключатель, подключенный к pinC.1, pinC.1 вытягивается на низкий уровень, что приводит к выходу кода SIRC для «52» из pinC.2 три раза. Аналогично, когда нажат кнопочный переключатель, подключенный к pinC.4, pinC.4 вытягивается на низкий уровень, что приводит к тому, что код SIRC для «51» будет выводиться из pinC.2 три раза. В обоих случаях после отправки кода вставляется 22-миллисекундная пауза, которая позволяет каждой передаче приблизиться к 45-миллисекунду определенной длины всех кодов SIRC. Обратите внимание, что строка 12 кода включает подтягивающие резисторы внутри микросхемы PICAXE для контактов C.1 и C.4, что устраняет необходимость в внешних подтягивающих резисторах на этих контактах.

Код передатчика PICAXE-08M2 SIRC

Передача и прием

Видео демонстрирует, как легко отправлять коды SIRC из передатчика в приемник. Просто включите обе цепи и нажмите на преобразователь SW1 или SW2. В этот момент синий светодиод на передатчике должен мерцать, чтобы указать, что данные отправляются через ИК-светодиод. Одновременно синий светодиод на ресивере должен мерцать, чтобы указать, что данные принимаются U2. Кроме того, шаговый двигатель, подключенный к приемнику, должен начать вращаться; SW2 вызывает вращение по часовой стрелке, в то время как SW1 вращается против часовой стрелки. Светодиоды должны продолжать мерцать, и двигатель должен вращаться до тех пор, пока нажимается любой из переключателей.

В демонстрации видео передатчик находится всего в нескольких дюймах от приемника. Однако фактический рабочий диапазон должен быть намного больше. С четкой линией визирования и куполом ИК-светодиода, направленным прямо на ИК-приемник, расстояния в 20 ярдов (18, 3 метра) должны быть достигнуты в помещении. Наружный диапазон может быть несколько меньше в зависимости от условий окружающей среды.

Следующий?

Этот проект объяснил основы инфракрасной связи (IR) и представил некоторые из подробностей SIRC (Sony Infrared Remote Code). Он показал, как шаговые двигатели могут использоваться для поворота в разных направлениях в зависимости от того, какой из двух кодов SIRC получен.

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

Вы воображаемый читатель?

Попробуйте этот проект сами! Получить спецификацию.

RAMPS и 5V шаговики

melars
Загрузка

24.02.2018

2024

Вопросы и ответы Доброго всем времени суток.

Насколько я знаю, RAMPS рассчитан на 12V шаговые двигатели. У меня же в наличии оказались только 5V. Может, кто сталкивался? Как их подключить, чтобы ничего не сгорело?

Ответы на вопросы

Популярные вопросы

puh
Загрузка

20.01.2021

679

Доброго времени. Как правильно настроить паралед матрицу относительно экрана по высоте?

Световой поток должен быть равномерным на леж…

Читать дальше henkose
Загрузка

13. 02.2021

452

Адаптивные слои? Ну при качественной печати особой разницы нет, а полчаса экономии погоды не делают.

Древовидные поддержки? Так танцу…

Читать дальше cinema4d
Загрузка

20.02.2019

6185

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

Читать дальше

Ardufocus | Инструкции по сборке

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

Униполярный

Униполярный двигатель подключается напрямую, потому что и двигатель, и плата ULN2003 обычно поставляются с разъемом JST-XH . Но тем не менее в таблице ниже перечислены правильные соединения между двумя компонентами.

Цвет Обмотка Сторона ULN2003
Синий 2 B A
Розовый 1 B B
Желтый 2 A C
Оранжевый 1 A D
Красный НЕТ НЕТ + 12V

Помните чтобы включить #define MOTOR1_USE_ULN2003_DRIVER в вашей конфигурации . h , дополнительную информацию можно найти на странице прошивки.

Биполярные

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

NEMA17

Все двигатели NEMA имеют только четыре провода, чтобы найти правильные обмотки, просто возьмите мультиметр и настройте его для измерения сопротивления.Обозначьте каждый из проводов от 1 до 4, а затем возьмите любые два случайных и измерьте сопротивление между ними, либо вы получите показания, либо обрыв цепи. Продолжайте измерять разные провода, пока не получите две пары, которые дадут вам показание между ними, и это ваши две катушки.

Предположим, что провод 1 и 3 образуют пару, а 2 и 4 образуют вторую пару, чтобы подключить его к шаговой ручке, подключите провод 1 к 2B , провод 3 к 2A , провод 2 1B и провод 4 1A .

28BYJ-48

В таблице ниже показаны соединения между двигателем 28BYJ-48 и шаговым рычагом A4988 .

Цвет Обмотка Сторона
Синий 2 B
Желтый 2 A
Оранжевый 1 A
Розовый 1 B
Красный НЕТ НЕТ

Не забудьте включить #define MOTOR1_USE_A4988_DRIVER или #define MOTOR1_USE_DRV88h , дополнительную информацию можно найти на странице прошивки.

Макетная плата

28BYJ-48 с драйвером ULN2003

Эта сборка — самый дешевый фокусер, который вы можете иметь не только из-за простого подхода, но и из-за минимальной спецификации, количества деталей и доступности каждого элемента. Используйте эту конфигурацию только с немодифицированными шаговыми двигателями 28BYJ-48 .

BOM

Проверьте требуемую BOM в таблице ниже. Конденсатор , 100 нФ, требуется только в том случае, если вы собираетесь использовать Ardufocus в режиме совместимости с Moonlite i.е. используйте драйверы ASCOM Moonlite; если вы собираетесь использовать драйверы Ardufocus ASCOM, этот конденсатор не требуется.

Описание Характеристики Qt
Шаговый двигатель 28BYJ-48 12 В 1
Arduino Nano 3.0 1
Плата отключения драйвера ULN2003 1
Электролитический конденсатор 100 нФ> 12 В 1
NTC 10K 1
Резистор 10 кОм 5% 1 / 4W 1
Настройки

Отредактируйте конфигурацию .h и установите, убедитесь, что включены указанные ниже параметры.

  #define MOTOR1_USE_ULN2003_DRIVER
#define MOTOR1_PINOUT 12, 11, 10, 9
  
Распиновка
PIN Двигатель № 1 Двигатель № 2
IN1 D12 D08
IN2 D11 D07
IN3 D10 D06
IN4 D09 D05

28BYJ-48 с драйвером A4988

Это решение не намного дороже и не сложнее, но даст вам гораздо больше крутящего момента от того же самого двигатель по сравнению с униполярной сборкой. Используйте эту конфигурацию только с модифицированными шаговыми двигателями 28BYJ-48 или с шаговыми двигателями NEMA17 . В приведенном ниже примере показан модифицированный 28BYJ-48, но соединения для NEMA17 точно такие же.

BOM

Проверьте требуемую BOM в таблице ниже. Конденсатор 100 нФ требуется только в том случае, если вы собираетесь использовать Ardufocus в режиме совместимости с Moonlite, то есть использовать драйверы Moonlite ASCOM, если вы собираетесь использовать драйверы Ardufocus ASCOM, этот конденсатор не требуется.

Описание Технические характеристики Qt
Шаговый двигатель 28BYJ-48 12В 1
Arduino Nano 3.0 1
Электролитический конденсатор 10027 10027 10027 > 12В 1
NTC 10K 1
Резистор 10 кОм 5% 1 / 4Вт 1
Step Stick A4988 1
Настройки

Отредактируйте конфигурацию .h и установите, убедитесь, что включены указанные ниже параметры.

  #define MOTOR1_USE_A4988_DRIVER
#define MOTOR1_PINOUT 12, 11, 10, 9, 8, 7
  
Распиновка
PIN Двигатель № 1 Двигатель № 2
MS1 D12 A2
MS2 D11 D6
MS3 D10 D5
RESET NC NC
SLEEP D9 D4
STEP D8 D3
DIR D7 D

PCB

TODO Этот раздел требует дальнейшего улучшения.

Спецификация
Настройки
Распиновка
PIN Двигатель № 1 Двигатель № 2
IN1 D12 D08
IN2 D11 D07
IN3 D10 D06
IN4 D09 D05

Управление шаговым двигателем с помощью Arduino и джойстика

В этом посте показано, как управлять скоростью и направлением вращения шагового двигателя с помощью платы Arduino UNO и джойстика PS2.
В этом примере используется шаговый двигатель 28BYJ-48 (униполярный шаговый двигатель), который обычно поставляется с платой драйвера.
В последнем проекте Arduino я создал простой контроллер для этого шагового двигателя, ссылка на проект приведена ниже:
Управление униполярным шаговым двигателем Arduino

Джойстик (PS2 Joystick) состоит из двух потенциометров на 10 кОм (один для оси X, а другой для оси Y) и кнопки.

Требуемое оборудование:

  • Плата Arduino UNO
  • Шаговый двигатель 28BYJ-48 (с платой драйвера ULN2003A)
  • Джойстик
  • Источник питания 5 В
  • Хлебная доска
  • Перемычки

Управление шаговым двигателем с помощью Arduino и схемы джойстика:
Принципиальная схема проекта показана ниже (все заземленные клеммы соединены вместе).

, а на следующем изображении показан контур фритзинга:

Шаговый двигатель подключен к плате ULN2003A, на которую подается внешний источник питания 5В. Линии управления (IN1, IN2, IN3 и IN4) этой платы подключены к Arduino следующим образом:
IN1 к контакту 11 Arduino
IN2 к контакту 10 Arduino
IN3 к контакту 9 Arduino
IN4 к контакту 8 Arduino

Плата джойстика имеет 5 контактов: GND, + 5V, VRX, VRY и SW, где:
GND и + 5V — контакты источника питания
VRX — выход потенциометра оси X
VRY — выход потенциометра оси Y
SW — клемма кнопки (другая клемма подключена к GND).
Выход потенциометра оси X (VRX) подключен к аналоговому выводу A0 Arduino, также можно использовать выход потенциометра оси Y (VRY). Штифт переключателя (SW) в этом примере не используется.
Используя потенциометры оси X и Y, мы можем независимо управлять двумя шаговыми двигателями.

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

Шаговый двигатель, который я использовал в этом проекте, — 28BYJ-48 , этот двигатель оборудован редуктором скорости 1/64.Внутренний двигатель имеет 32 шага за один оборот, что означает, что внешний вал имеет 2048 шагов за один оборот (64 x 32). Количество шагов определяется в коде, как показано ниже:

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

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

#define IN1 11

#define IN2 10

#define IN3 9

#define IN4 8

// инициализация библиотеки шагового двигателя

Шаговый шаговый двигатель (STEPS, IN4 , IN2, IN3, IN1);

Выходной контакт потенциометра джойстика подключен к аналоговому выводу 0 Arduino, это определено в коде как:

// выход джойстика подключен к Arduino A0

# определить джойстик A0

Когда джойстик отпущен, потенциометр находится в среднем положении, а его выходное напряжение составляет примерно 2. 5V, считывание с помощью Arduino должно дать цифровое значение около 511 (разрешение модуля АЦП Arduino UNO составляет 10 бит).

В коде я сделал 3 интервала:
Первый интервал между 500 и 523: в этом интервале джойстик отпущен, а шаговый двигатель вообще не двигается (все выходы низкие).

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

Последний интервал, когда цифровое значение меньше или равно 500, когда двигатель движется в другом направлении.

Скорость двигателя всегда составляет от 5 до 500 об / мин. Перемещение джойстика на максимум (в обоих направлениях) заставляет двигатель двигаться с максимальной скоростью.

Остальной код описан в комментариях.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33 34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

51

52

53

54

55

56

57

58

59

60

61

62

63

9 0006 64

65

66

67

68

69

70

71

72

73

74

75

76

77

/ *

* Управление скоростью и направлением униполярного шагового двигателя с помощью Arduino

* и джойстика

* Это бесплатное программное обеспечение без БЕЗ ГАРАНТИИ.

* https://simple-circuit.com/

* /

// включить библиотеку шаговых двигателей Arduino

#include

// определить количество шагов на оборот

#define STEPS 32

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

#define IN1 11

#define IN2 10

#define IN3 9

#define IN4 8

// инициализация библиотеки шагового двигателя

Шаговый шаговый (STEPS, IN4, IN2, IN3, IN1);

// выход джойстика подключен к Arduino A0

#define joystick A0

void setup ()

{

}

void loop ()

{

/ / считывание аналогового значения с потенциометра

int val = analogRead (джойстик);

// если джойстик посередине ===> остановите двигатель

if ((val> 500) && (val <523))

{

digitalWrite (IN1, LOW);

digitalWrite (IN2, LOW);

digitalWrite (IN3, LOW);

digitalWrite (IN4, LOW);

}

else

{

// перемещать двигатель в первом направлении

while (val> = 523)

{

// отображать скорость между 5 и 500 об / мин

int speed_ = карта (val, 523, 1023, 5, 500);

// установить скорость двигателя

шаговый. setSpeed ​​(скорость_);

// перемещаем двигатель (1 шаг)

stepper.step (1);

val = analogRead (джойстик);

}

// перемещаем двигатель в другом направлении

while (val <= 500)

{

// отображаем скорость между 5 и 500 об / мин

int speed_ = map (val, 500 , 0, 5, 500);

// установить скорость двигателя

шаговый.setSpeed ​​(скорость_);

// перемещаем двигатель (1 шаг)

stepper.step (-1);

val = analogRead (джойстик);

}

}

}

На следующем видео показана простая аппаратная схема проекта:

snowdd1 / multistepper: этот короткий скетч ARDUINO позволяет управлять несколькими шаговыми двигателями одновременно.

Устанавливается на шаговые двигатели 28BYJ-48.

Этот короткий скетч ARDUINO позволяет управлять несколькими шаговыми двигателями одновременно. Устанавливается на шаговые двигатели 28BYJ-48.

Мне нужна была программа, которая позволяет управлять более чем одним двигателем одновременно, чтобы использовать дешевые шаговые двигатели, которые я получил (28BYJ-48) с LEGO-совместимый корпус для манипулятора LEGO technic, который я построил с моим сыном.

Требования были:

  • несколько двигателей перемещаются одновременно с помощью одной команды (сравнимо с командой 3D-принтера G1 )
  • подача новых команд в Arduino через последовательный порт / USB (для последующего добавления малины с пользовательским интерфейсом)
  • как можно более гибкий с наименьшим кодом

Оборудование

  • Шаговые двигатели 28BYJ-48 с платами драйверов ULN2003
  • Arduino UNO или MEGA (я тестировал)
  • перемычки

опционально :

  • LEGO корпуса двигателей
  • миллионы наборов LEGO technic 😄

Установить

  • просто загрузите myStepper. ino в плату Arduino
  • подключите платы драйверов к Arduino и к источнику питания Если вы не меняли пример кода из строки 632, вам необходимо подключите первые 3 мотора следующим образом:
    • Mot1: штифты 4,5,6,7
    • Mot2: контакты 8,9,10,11
    • Mot3: выводы 22,23,24,25 (только Arduino MEGA)
      Вы можете изменить контакты по мере необходимости!

Использование

Откройте серийный монитор. Установите разрыв строки на , новую строку и скорость на 9600 бод

Если вы не удалили образец кода, распечатка будет выглядеть как

  Двигатель А
Мотор B
Двигатель C
clearMove ()
Выключение
  

после загрузки скетча.

команды

Последовательный интерфейс позволяет отправлять на многоступенчатый модуль следующую команду:

MD Буква pin1 pin2 pin3 pin4 [homeSwitchPin]
Motor Определение: добавляет новый двигатель к многоступенчатому двигателю

ML
Motor List: печать списка известных двигателей

GA Положение буквы [Letter2 Position2 . ..] [FD StepsPerSecond]
Go Absolute: Определяет движение и запускает его.Движения двигателя синхронизированы, чтобы начать и закончить синхронно.

MOFF
Motors Off: выключает все катушки двигателя. 28BYJ-48 имеет тенденцию к очень быстрому нагреву, поэтому рекомендуется отключить магнитные катушки. Для маленьких (лего) моделей передаточное число (~ 1: 64) достаточно велико, чтобы самоблокировка шестерни удерживала положение.

APO 0/1
Автоматическое отключение питания после движения: отключает ток катушки после завершения каждой команды GA

примера

Список двигателей
Введите ML и нажмите

  мл
Команда синтаксического анализа ML
Информация о двигателе 0 [A]:
 Катушки: 4 5 6 7
 Нет Концевой (исходной) штифт.Текущая позиция: 0
Информация о двигателе 1 [B]:
 Контакты катушки: 8 9 10 11
 Нет Концевой (исходной) штифт. 
 Текущая позиция: 0
Информация о двигателе 2 [C]:
 Катушки: 22 23 24 25
 Нет Концевой (исходной) штифт.
 Текущая позиция: 0
Ok
  

Добавление нового (4-го) двигателя: Я подключил четвертый двигатель к контактам 34..37 и хочу, чтобы он назывался двигателем «D»:
MD D 34 35 36 37

  MD D 34 35 36 37
Команда синтаксического анализа MD D 34 35 36 37
Информация: контакт не определен.
Ok
  

сейчас мл отпечатки:

  мл
Команда синтаксического анализа ML
Информация о двигателе 0 [A]:
 Катушки: 4 5 6 7
 Нет Концевой (исходной) штифт.Текущая позиция: 0
Информация о двигателе 1 [B]:
 Контакты катушки: 8 9 10 11
 Нет Концевой (исходной) штифт.
 Текущая позиция: 0
Информация о двигателе 2 [C]:
 Катушки: 22 23 24 25
 Нет Концевой (исходной) штифт.
 Текущая позиция: 0
Информация о двигателе 3 [D]:
 Катушки: 34 35 36 37
 Нет Концевой (исходной) штифт.
 Текущая позиция: 0
Ok
  

Согласованное движение двух двигателей: В этом примере двигатели A и C должны быть перемещены, и они оба были запущены в позиции 0.

  GA A 1000 C 2000
Команда синтаксического анализа GA A 1000 C 2000
Нормально: двигатель А - это двигатель №0
ОК: позиция 1000
Мотор 0
Нормально: двигатель C - двигатель №2
ОК: позиция 2000
Мотор 2
0: шаги 1000
1: Шаги 0
2: Шаги 2000
3: Шаги 0
0 сделано: 1000
2 сделано: 2000
Ok
  

Незавершенное производство

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

Это а) незавершенные работы б) на него не распространяется никакая гарантия в той степени, в которой это возможно по закону.

Как подключить шаговый двигатель 28BYJ-48 Arduino UNO R3

Проект, который я предлагаю сегодня, довольно дешевый, модуль с ULN2003A и шаговым двигателем стоит около 8 евро.Смотрите фото проекта сегодня:


Начнем с двигателя 28BYJ-48 и его даташита. Мотор уже оборудован разъемом для подключения. Это униполярный шаговый двигатель с 4096 шагами для вращения на 360 градусов. Его ось не вращается легко, даже без источника питания. Таким образом, вы можете сэкономить энергию, когда обмотки не запитываются, они должны оставаться неподвижными. Так он будет нагреваться намного меньше.



Мы видим инструкции модуля управления, который использует интегрированный ULN2003A, с его таблицей данных.О своих опасениях по поводу этих модулей и того, как управлять шаговым двигателем, я уже говорил здесь. Вернитесь к нам, заглянув в pdf и найдите полезную информацию:
  1. Какие фазы у мотора и цвет проводов фаз;
  2. Как вам нужно активировать различные фазы, чтобы она работала правильно.
Для этого модуля я подключил провода слева направо: зеленый, оранжевый, красный, синий. Питание + 12Volt (желтый) и GND (коричневый). Желтый можно подключить к выводу Vin Arduino UNO R3 или, если хотите, к +5 вольт. Коричневый должен быть подключен к контакту GND.
Синий провод должен быть подключен к контакту 11, контакт 10 — к красному, оранжевый — к контакту 9, а зеленый — к контакту 8.
Очевидно, булавки можно изменить, но вы должны отредактировать эскиз.

После загрузки скетча отвечает ‘Arduino IDE и программирование Arduino UNO R3.

Учитывая образовательные цели, смотрите только определенные части эскиза. Ранее были признаки того, что такой вывод ПИН-кода захочется использовать, здесь их можно изменить.

Функция Ignition Delay позволяет иметь начальную задержку в 5 секунд перед запуском вращения двигателя. «Хорошая идея, прежде чем приводить в действие механизмы, сделать короткую паузу, чтобы оператор мог отойти от машины, прежде чем она начнет работать.

Если вы посмотрите на форму PDF, вы обнаружите, что для вращения шагового двигателя 28BYJ-48 достаточно фаз питания в точном порядке. Эта последовательность состоит из этого фрагмента кода. Я выбрал для движения двигателя восемь последовательностей.Если вы предпочитаете делать это с четырьмя последовательностями, вот что вам нужно изменить.


Scketch: Инициализация платы Arduino Uno R3 — Пол Луонго
Это обычный блок инициализации: обратите внимание на функцию задержки при включении питания.
Эскиз: Часть основной программы управления — Пол Луонго
Это только первая часть программы управления.И часть, которая занимается вращением. Мотор вращается на 90 градусов, пауза на полсекунды, затем вращается, пауза … чтобы сделать вращение на 360 градусов. Обратите внимание, что для поворота двигателя на 90 градусов служат 1024 импульса.

28BYJ-48 Схема расположения выводов шагового двигателя, технические характеристики, руководство по применению и лист данных

Конфигурация контактов

Номер:

Имя контакта

Цвет провода

Описание

1

Катушка 1

Оранжевый

У этого двигателя четыре катушки. Один конец всех катушек подключается к проводу +5 В (красный), а другой конец каждой катушки вытаскивается, как провода оранжевого, розового, желтого и синего цветов соответственно

2

Катушка 2

розовый

3

Катушка 3

Желтый

4

Катушка 4

Синий

5

+ 5В

Красный

На этот провод нужно подать + 5В, это напряжение появится на заземленной катушке.

Шаговый двигатель 28BYJ-48 Технические характеристики
  • Номинальное напряжение: 5 В постоянного тока
  • Количество фаз: 4
  • Угол шага: 5,625 ° / 64
  • Момент затяжки: 300 гс · см
  • Изолированная мощность: 600 В переменного тока / 1 мА / 1 с
  • Катушка: униполярная 5-проводная катушка

Примечание: техническое описание шагового двигателя 28BYJ48 можно найти внизу страницы

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

Nema17 (1. 6 кгсм), Nema17 (4,2 кгсм)

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

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

Где использовать шаговый двигатель 28-BYJ48

Наиболее часто используемый шаговый двигатель — это 28-BYJ48 Stepper Motors . Вы можете найти эти (или аналогичные) моторы в своих DVD-приводах, камерах управления движением и многих других местах. Двигатель имеет униполярное устройство с 4 катушками, каждая катушка рассчитана на напряжение + 5 В, поэтому им относительно легко управлять с помощью любых базовых микроконтроллеров.Эти двигатели имеют угол шага 5,625 ° / 64, это означает, что двигателю необходимо сделать 64 шага, чтобы совершить один оборот, и на каждом шаге он будет покрывать 5,625 °, следовательно, уровень контроля также высок. Однако эти двигатели работают только от 5 В и, следовательно, не могут обеспечить высокий крутящий момент, для применения с высоким крутящим моментом вам следует рассмотреть двигатели Nema17 . Так что если вы ищете компактный простой в использовании шаговый двигатель с приличным крутящим моментом, то этот двигатель — правильный выбор для вас.

Как использовать шаговый двигатель 28-BYJ48

Эти шаговые двигатели потребляют большой ток, и, следовательно, требуется ИС драйвера, такая как ULN2003.Чтобы узнать, как заставить этот двигатель вращаться, мы должны взглянуть на схему катушки ниже.

Как мы видим, в двигателе четыре катушки, и один конец всей катушки подключен к + 5 В (красный), а другие концы (оранжевый, розовый, желтый и синий) выведены как провода. Красный провод всегда обеспечен постоянным источником питания + 5В, и это + 5В будет подключаться к катушке (запитывать ее), только если другой конец катушки заземлен. Шаговый двигатель можно заставить вращаться, только если катушки запитаны (заземлены) в логической последовательности.Эта логическая последовательность может быть запрограммирована с помощью микроконтроллера или путем разработки цифровой схемы. Последовательность срабатывания каждой катушки показана в таблице ниже. Здесь «1» означает, что катушка удерживается при + 5В, поскольку оба конца катушки находятся на + 5В (красный и другой конец), катушка не будет запитана. Точно так же «0» означает, что катушка заземлена, теперь на одном конце будет +5 В, а на другом — заземлено, поэтому на катушку будет подано напряжение.

Цвет провода двигателя

Последовательность вращения по часовой стрелке

Шаг 1

Шаг 2

Шаг 3

Шаг 4

Шаг 5

Шаг 6

Шаг 7

Шаг 8

Оранжевый

0

0

1

1

1

1

1

0

Желтый

1

0

0

0

1

1

1

1

розовый

1

1

1

0

0

0

1

1

Синий

1

1

1

1

1

0

0

0

Красный

1

1

1

1

1

1

1

1

Применения шагового двигателя
  • Станки с ЧПУ
  • Станки точного управления
  • Камеры видеонаблюдения
  • DVD-плееры
  • Наклон бокового зеркала автомобиля

28BYJ-48 Размеры

Преобразование шагового двигателя 28BYJ-48 для увеличения крутящего момента!

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

Наконец-то дошло до выяснения, как сделать некоторые моторизованные жалюзи с помощью @esphome_ и @home_assistant очень довольными тем, как они работают прямо сейчас! # iot #homeassistant #homeautomation pic.twitter.com/CSxxbFZX9p

— Everything Smart Home (@EverySmartHome) 11 июня 2020 г.

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

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

Обычно я использую двигатели NEMA 17 там, где могу, это действительно отличный двигатель, и вы найдете их почти в каждом потребительском 3D-принтере на рынке.К сожалению для меня, NEMA 17 никак не могла поместиться в эту шторку, а 28BYJ — почти нет!

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

После небольшого исследования я обнаружил, что 28BYJ-48 можно преобразовать из его оригинального 5-проводного униполярного шагового двигателя в 4-проводный биполярный шаговый двигатель. Эта модификация позволяет действительно улучшить крутящий момент и скорость. Некоторые источники утверждают, что крутящий момент более чем в 2 раза выше! Более того, это действительно просто!

Список деталей

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

Обратите внимание, что для этого есть и другие части, но это не руководство по подключению его к Arduino или плате esp8266, мы рассмотрим это в грядущее руководство по моторизованным жалюзи своими руками.

Направляющая

Модифицировать это просто… очень легко. Большая часть информации, которую я могу найти в Интернете, включает снятие синей крышки на шаговом двигателе и небольшой надрез на дорожке печатной платы для красного (5 В / 12 В) провода.Я пошел дальше и сделал это с первой попытки, и это действительно работает так, как задумано.

Однако .. после того, как у меня все заработало, я попробовал его, не разрезая, так что к плате A4988 подключился только стандартный мотор, и он отлично работал в моем тестировании. Я не инженер-электрик . Но из того, что я мог проверить, он работает так же, если бы кто-то мог подтвердить это, было бы здорово.

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

Обрезка дорожки

Справа, где 5 проводов выходят из задней части двигателя, находится синяя крышка:

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

Затем возьмите нож Стэнли или маленькую отвертку и вырежьте среднюю дорожку (там, где соединяется красный провод). Это может занять несколько раз, просто наберитесь терпения и не торопитесь. Вот после:

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

Вы также можете удалить красный провод, если хотите, но не требуется. Закройте крышку, и все готово. Теперь нам нужно подключить 28BYJ-48 к нашему драйверу A4988 и установить ток в соответствии с требованиями крутящего момента.

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

После завершения модификации мы можем подключить шаговый двигатель 28BYJ-48 к драйверу A4988 (или другому).

Взгляните на следующую схему подключения:

Вы заметите, что для A4988 требуется вход 8-35 В, что явно намного больше, чем могут предоставить наши платы Arduino / esp8266. Я бы порекомендовал понижающий преобразователь LM2596 и винтовой зажим цилиндрического домкрата как действительно простой метод.

Несколько важных моментов, на которые следует обратить внимание:

  • Вы должны соединить контакты сброса и сна вместе. Мне нравится спаять верхние части контактов вместе.
  • Оранжевый и розовый провода представляют катушку 1 и должны быть подключены к 1A и 1B на A4988.Желтый и синий провода представляют катушку 2 и должны быть подключены к 2A и 2B.
  • Если вам не требуется удерживающий крутящий момент, когда двигатель неактивен, я настоятельно рекомендую использовать штифт спящего режима, это значительно снизит нагрев и мощность как двигателя, так и драйвера. Кстати ..
  • Используйте радиатор с драйвером, эти штуки могут нагреваться!
  • Не отключайте двигатель от привода при включенном питании, вы можете очень легко повредить привод.

Установка ограничения тока A4988

Найти номинальный ток для 28BYJ-48 довольно сложно, я не смог найти там много информации, но я нашел несколько фрагментов информации о том, что около 0,10 В или 0,25 мА в порядке. Если вы собираетесь использовать их короткими и очень редкими очередями (например, в слепую!), Вам, вероятно, удастся больше, но вы можете повредить их.

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

Чтобы уменьшить ток, поверните потенциометр против часовой стрелки.Продолжайте поворачивать и повторно тестировать, пока не достигнете значения 0,10–0,15 В. Окно очень узкое, даже небольшой поворот винта сильно меняет значение.

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

Заключение

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

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

Обязательно подпишитесь, чтобы не пропустить моторизованные жалюзи своими руками или комбинированный датчик RFID и отпечатков пальцев.

Интерфейс шагового двигателя Arduino с использованием электрической схемы IC UL2003A

Интерфейс шагового двигателя

Arduino с использованием микросхемы Дарлингтона ULN2003A

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

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

Цели проекта
  • Основные сведения о работе шагового двигателя.
  • Взаимодействие шагового двигателя с Arduino.
  • Генерирующий код для поворота двигателя в желаемом направлении.
  • Использование простой библиотеки Arduino для взаимодействия с шаговым двигателем.

Приступим к созданию нашего проекта!

Используемые компоненты
Компонент Спецификация Количество
Arduino Uno 1
Шаговый двигатель 28BYJ-48 1
Транзистор пары Дарлингтона УЛН2003А 1
Резисторы 470 Ом 4
Светодиод 4

Интерфейс шагового двигателя Arduino — принципиальная схема Интерфейс шагового двигателя Arduino — Принципиальная схема

Соберите схему, как показано на схеме.Необходимые компоненты и соединения описаны ниже

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

Как упоминалось ранее, шаговые двигатели подразделяются на униполярные и биполярные шаговые двигатели в зависимости от расположения их обмоток. 28BYJ-48 — униполярный шаговый двигатель с центральными отводами обеих обмоток, подключенными к общему выводу ULN2003A. Согласно схеме, оставшиеся четыре конца обмоток подключены к выходным контактам микросхемы Дарлингтона (ULN2003A).ULN2003 — это монолитная ИС Дарлингтона, состоящая из семи пар транзисторов Дарлингтона NPN с высоким напряжением и током. Он состоит из общих катодных фиксирующих диодов для каждой пары NPN Дарлингтона, что делает эту ИС драйвера полезной для переключения индуктивных нагрузок. ИС Дарлингтона используется здесь как драйвер шагового двигателя для Arduino. Поскольку 28BYJ работает при 5 В, мы подключаем общий вывод ULN2003A к выводу 5 В на Arduino.

Шаговый двигатель может работать в полушаговом или полушаговом режиме.Здесь написан код для работы в полношаговом режиме. Библиотечный файл, прилагаемый к этой статье, также включает положение для работы двигателя в полушаговом режиме. При работе в полушаговом режиме угол шага двигателя будет уменьшен до половины угла в полном режиме. В режиме полного шага одновременно возбуждаются две катушки. Скорость вращения двигателя можно контролировать, изменяя задержку, которая применяется перед подачей питания на следующие две катушки. Максимальная скорость вращения 28BYJ-48 составляет 15 об / мин.

Давайте объясним кодовую часть.

Программа / Код

Загрузить Шаговый двигатель Arduino — Программа

Библиотека загрузок для шагового двигателя Arduino

Важные аспекты и подпрограммы программы объясняются ниже.

В начале программы определены четыре препроцессора, которые упоминают контакты Arduino, которые используются для взаимодействия. Далее идет использование констант в программе.Первые 3 константы предназначены для применения задержки между двумя последовательными включениями катушки. Следующие две логические константы используются для определения направления. В функции «setup ()» используемые выводы Arduino настраиваются как выходные выводы. Функция под названием «motoInput ()» используется для подачи питания на катушки путем присвоения «1» указанной катушке, которая должна быть запитана, и «0» для остальных катушек, которые не должны быть запитаны. Поскольку мы намерены запустить его в полношаговом режиме, мы будем подавать питание на две катушки за раз.Это можно увидеть в функции с названием «turnStepper ()».

TurnStepper () — функция для поворота двигателя в желаемом направлении под определенным углом. Угол, направление вращения и частота вращения двигателя могут быть заданы как параметры. «RunStepper ()» аналогична функции «turnStepper ()». Единственное отличие состоит в том, что он используется для запуска двигателя на определенное количество оборотов в желаемом направлении и в нужных оборотах.

Примеры использования этих функций записаны в функции «loop ()».

Простая библиотека для униполярного шагового двигателя 28BYJ-48 также прилагается к этой статье. Использование библиотеки сделает вашу программу проще.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *