Vikupautomsk.ru

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

Шаговые двигатели как подключить easy driver

arduinoLab

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

Драйвер биполярного шагового двигателя с поддержкой «микрошага», разработанный товарищами из www.schmalzhaus.com, базируется на микросхеме A3967.

Характеристики :

  • Максимальный ток: 750 мА на одну фазу.
  • Напряжение привода двигателя: от 7В до 30В.
  • Возможность ограничения выходного тока: от 150мА до 750мА
  • 1/8, 1/4 и 1/2 микрошаговые режимы работы.
  • Управление 3 и 5 вольтовой логикой.
  • Не требует отдельного питания логической части, для этого на плате находится стабилизатор LM317.
  • Драйвер не поддерживает униполярные двигатели.

Назначение элементов и выводов драйвера:

Выводы:
  • MOTOR и выходы A и B — Подключение обмоток шагового двигателя. (A+ A- B+ B-)
  • PFD — Percent Fast Decay Input, тонкие настройки ШИМ драйвера микросхемы, скорость нарастания ШИМ.
  • RST — Сброс драйвера, при низком уровне сбрасывает внутренний транслятор и отключает все выходные драйверы.
  • ENABLE — При низком уровне, отключатся все выходы драйвера.
  • MS1 и MS2 — Управление микрошаговым режимом. По умолчанию входы притянуты к питанию и выставлен шаг 1/8. Для установки полного шага, на оба входа нужно подать низкий уровень, для полушага только на MS2, для 1/4 шага, только на MS1. (полный шаг (0,0), полушаг (1,0), шаг 1/4 (0,1) и шаг 1/8 (1,1).
  • PWR IN и вход M+ — Напряжение питания драйвера и моторов, также это напряжение подается на стабилизатор LM317 для питания логической части микросхемы.
  • +5V — Выход напряжения со стабилизатора LM317, можно использовать для питания Arduino
  • SLP — Сон, если подать низкий уровень, будет отключена внутренняя схема для минимизации потребления энергии.
  • STEP — Шаг, При переходе с низкого уровня на высокий, драйвер делает один шаг или микрошаг, если драйвер работает в микрошаговом режиме.
  • DIR — Состояние входа (высокийнизкий) определяет направление вращения двигателя.
  • GND — масса, все массы соединены.
Элементы:
  • Потенциометр CUR ADJ — Установка ограничения максимального тока подаваемого на двигатель, от 150 мА до 750 мА.
  • Перемычка APWR — отключает стабилизатор LM317 от цепи питания 5 вольт. По умолчанию соединена.
  • Перемычка 3/5 — Установка напряжения на выходе LM317, 5 или 3.3 вольта, По умолчанию разомкнута.

Кратко про особенности микрошагового режима:

Сверху графики работы драйвера в полношаговом и микошаговом режиме.

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

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

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

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

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

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

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

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

Читать еще:  Щелкает стартер а двигатель не заводится ваз

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


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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

Хотя сопротивление обмоток катушки может варьироваться от двигателя к двигателю, если у вас есть мультиметр, вы можете измерить сопротивление на любых двух проводах, если сопротивление Шаг 4: Непосредственное управление шаговыми двигателями

Благодаря расположению проводов в однополярном двигателе мы можем последовательно включать катушки, используя только простые силовые полевые МОП-транзисторы. На рисунке выше показана простая схема с МОП-транзистором. Такое расположение позволяет просто контролировать уровень логики с помощью внешнего микроконтроллера. В этом случае легче всего использовать плату 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.

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

Шаговый двигатель. Датчики. Ардуино

Привет! Рассмотрим еще один тип двигателей, шаговый двигатель.

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

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

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

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

Принцип работы

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

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

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

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

Преимущества

  • Точность
  • Фиксирует свое положение при остановке.
  • Регулировка скорости вращения с высокой точностью.
  • Способность быстрого старта, остановки, реверса.
  • Высокая надежность.

Недостатки

  • Невысокие скорости вращения.
  • Возможность «проскальзывания» ротора
  • Возможно явление резонанса.
  • Может произойти потеря позиционирования при механических перегрузках.
Читать еще:  Двигатель ваз 21124 причины троения двигателя

Программа

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

Принципиальная схема подключения

К шаговому двигателю необходим драйвер. В нашем случае это драйвер ULN2003. Ток на обмотках шагового двигателя может достигать 160 мА, что слишком много для выводов ардуино. Поэтому управлять двигателем будем через драйвер.

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

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

Загрузите данный скетч в ардуино. Таким образом мы запрограммируем постоянное движение шагового двигателя. Каждый шаг цикла отвечает за один оборот ротора двигателя.

Библиотека AccelStepper.h

В библиотеке примеров IDE есть программы и библиотеки для шаговых двигателей. Но намного удобнее использовать стороннюю библиотеку . Ее легко установить через Library Manager. Комбинация клавиш Ctrl+Shift+I

Подробно об этой библиотеке поговорим позже, пока разберем простейшую программу.

Здесь мы используем несколько методов, но они позволяют использовать большой функционал библиотеки.

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

Объявляем переменные с номерами пинов, к которым подключаем контакты драйвера двигателя.

В функции setup() задаем параметры нашего класса для двигателя.

В функции loop() программируем смену направления движения вала, когда достигнута заданная позиция вала.

И запускаем работу библиотеки.

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

Заключение

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

Драйвер шагового двигателя EasyDriver V44 A3967 для Arduino

EasyDriver представляет собой простой в использовании драйвер шагового двигателя, совместимы со всеми двигателями, которые работают с логикой от 0 до 5 вольта (или от 0 до 3,3 вольта , если закрыть вывод SJ2 на драйвере EasyDriver). EasyDriver работает с питанием шаговых двигателей от 7Вольт до 30 Вольт. EasyDriver имеет стабилизатор напряжения для цифрового интерфейса, который может быть установлен на 5V или 3.3V.
EasyDriver подключается как к шаговым двигателям (4,6 или 8 проводным шаговым двигателям) та и биполярным.

A3967 микрошаговый драйвер.

MS1 и MS2 контакты изменяют микрошаг (Microstepping) на полный, половина, четверть и одну восьмую шагов (по умолчанию восьмой).

Совместимость с 4, 6 и 8 проводными шаговыми двигателями любого напряжения.

Регулируемый ток от 150 мА / фазы до 750 мА / фазы.

Диапазон напряжения питания от 7В до 30В. Чем выше напряжение, тем выше крутящий момент при высоких скоростях.

Включение (ВКЛ). При включении активный низкий вход сохраняется на всех выводах .

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

Схема подключения к L298N

Подключение к L298N увеличивает мощность .

Пример подключнения 3 осей
Пример подключения

С помощью программы можно продемонстрировать работу шагового двигателя. Выполняются две функции, поворот на 90 градусов (отрицательное вращение вращение в противоположном направлении), микрошаг (8)

Обе функции со скоростью .01 и 1. Скорость .01 медлено но большое усилие, и 1 с быстрой скорость но малым усилием.

  • Sketch code
  • Sketch code
  • Sketch code

Sketch code

//Released under the MIT License — Please reuse change and share
//Using the easy stepper with your arduino
//use rotate and/or rotateDeg to controll stepper motor
//speed is any number from .01 -> 1 with 1 being fastest —
//Slower Speed == Stronger movement

#define DIR_PIN 2
#define STEP_PIN 3

void setup() <
pinMode(DIR_PIN, OUTPUT);
pinMode(STEP_PIN, OUTPUT);
>

//rotate a specific number of degrees
rotateDeg(360, 1);
delay(1000);

rotateDeg(-360, .1); //reverse
delay(1000);

//rotate a specific number of microsteps (8 microsteps per step)
//a 200 step stepper would take 1600 micro steps for one full revolution
rotate(1600, .5);
delay(1000);

rotate(-1600, .25); //reverse
delay(1000);
>

void rotate(int steps, float speed) <
//rotate a specific number of microsteps (8 microsteps per step) — (negitive for reverse movement)
//speed is any number from .01 -> 1 with 1 being fastest — Slower is stronger
int dir = (steps > 0)? HIGH:LOW;
steps = abs(steps);

float usDelay = (1/speed) * 70;

for(int i=0; i 1 with 1 being fastest — Slower is stronger
int dir = (deg > 0)? HIGH:LOW;
digitalWrite(DIR_PIN,dir);

int steps = abs(deg)*(1/0.225);
float usDelay = (1/speed) * 70;

for(int i=0; i = 0 && analogRead(X_pin) 0) <
digitalWrite(dir_pin, HIGH); // (HIGH = anti-clockwise / LOW = clockwise)
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
steps—;
>
>

while (analogRead(X_pin) > 900 && analogRead(X_pin) Рекомендуем:

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