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

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

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

На производстве иногда применяют станки ЧПУ (Числовое Программное Управление). Агрегаты позволяют вырезать плоские детали, делать красивую резьбу по дереву и многое другое. На сегодняшний день в моде 3D-принтер, и он всё больше и больше набирает популярность.

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

Но всё-таки призываю обратить внимание.

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

Работа шагового двигателя и описание драйвера
Схема сборки на Fritzing
Описание библиотеки myStep и AccelStep
Описание кода программы

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

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

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

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

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

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

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

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

Тип мотора Униполярный шаговый двигатель
Число фаз 4
Рабочее напряжение 5-12 вольт
Частота 100 Гц
Частота под нагрузкой > 600 Гц
Крутящий момент > 34.3 мН*м (120 Гц)
Режим шага рекомендуется полушаговый режим (8-шаговая управляющая сигнальная последовательность)
Угол шага 8-шаговая управляющая сигнальная последовательность — 5.625º/шаг4-шаговая управляющая сигнальная последовательность — 11.25º/шаг
Передаточное отношение редуктора Производителем заявлено 64:1
Вес 30 г

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

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

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

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

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

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

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

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

Управляющие входы 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);

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

Источник: https://kip-world.ru/kak-podklyuchit-shagovyj-dvigatel-k-arduino-uno.html

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

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

instrument.guru > Своими руками > Шаговый двигатель своими руками, принцип работы, схема подключения

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

  • Что такое шаговый двигатель?
  • Принцип работы шагового двигателя
  • Модели шаговых двигателей
  • Гибридный двигатель
  • Как запустить шаговый двигатель, его управление
  • Как работает шаговый двигатель?
  • Техническая характеристика шагового двигателя

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

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

Принцип работы шагового двигателя

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

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

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

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

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

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

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

  1. В настоящее время синхронные реактивные двигатели применяются редко. Их используют, когда нужен небольшой момент и слишком большой угол поворота шага. Ротор изготовлен из магнитомягкого материала с отчетливыми полюсами, имеет большой угол шага, при отсутствии тока нет фиксирующего момента. Это самый простой и дешевый двигатель. Статор состоит из шести полюсов и трех фаз, а ротор имеет четыре полюса. При этом шаг устройства составляет 30 градусов. Вращающееся магнитное поле создается последовательным включением фаз статора. Ротор за один шаг поворачивается на угол меньше угла статора, так происходит из-за меньшего количества полюсов.
  2. Двигатель с постоянными магнитами состоит из ротора на постоянных магнитах и статора с двумя фазами. В отличие от реактивных устройств, у двигателей на постоянных магнитах после снятия управляющего сигнала ротор фиксируется. Так, происходит благодаря большим вращающим моментам. Так как процесс изготовления ротора сопровождается большими технологическими трудностями (большое число полюсов+постоянные магниты), получается большой угловой шаг до 90 градусов. Это является их единственным недостатком. При работе с однополярной схемой управления обмотки в центре могут быть с ответвлением. Обмотки без центрального ответвления питаются через двуполярную схему управления. Исходя из этого устройство шагового двигателя разделяется на два типа по виду обмоток, униполярные и биполярные.

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

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

Гибридный двигатель

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

Как запустить шаговый двигатель, его управление

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

  • С четырьмя проводами. Каждая фазная обмотка имеет по два провода. Чтобы подсоединить драйвер пошагово, нужно найти парные провода с непрерывной связью между ними. Такой двигатель используется только с биполярным прибором.
  • С пятью проводами. Центральные клеммы мотора внутри объединяются в сплошной кабель и выведены к одному проводу. Отделить обмотки друг от друга невозможно, так как появится много разрывов. Выйти из положения можно, если установить где находится центр провода и попытаться соединить его с другими проводниками. Это самый эффективный и безопасный режим. Затем устройство подключается и проверяется на работоспособность.
  • С шестью проводами. Каждая обмотка имеет несколько проводов и центр-кран. Для разделения провода применяют измерительный прибор. Мотор можно подключать к однополярному и биполярному устройству. При подключении к однополярному устройству используются все провода. Для биполярного устройства один конец провода и один центральный кран каждой обмотки.

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

Как работает шаговый двигатель?

Устройство может работать в трех режимах:

  • Микрошаговый режим. Устройства, работающие на микрошагововом режиме, являются новейшими разработками некоторых производителей и используются в основном в микроэлектронике или на промышленных конвейерах. Специальный чип создает такое напряжение, что вал становится в положение одной сотой шага, к примеру, на 1 оборот происходит 20 тыс. перемещений. Драйвер может создавать более 50 тысяч циклов управляющих напряжений на 1 оборот.
  • Половинный режим. Благодаря тому, что в режиме половинного шага уровень вибраций сокращается, такие устройства часто используются в промышленности. После того как одна фаза активируется, она замирает в таком положении до тех пор, пока не включится следующая. Получается промежуточное положение и на зуб воздействуют одновременно два полюса. Когда первая фаза отключается, ротор продвигается вперед на полшага.
  • Полный режим. Управляющее напряжение по очереди передается по всем фазам и получается полный шаг (на 1 оборот 200 перемещений).

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

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

  1. Номинальный ток и напряжение. Максимально допустимый ток указан в механических параметрах электродвигателя. Номинальный ток, является главным электрическим параметром, при котором двигатель может работать сколько угодно времени. Номинальное напряжение указывают редко, его вычисляют по закону Ома. Оно показывает постоянное максимальное напряжение на обмотке двигателя, когда он находится в статическом режиме.
  2. Сопротивление фазы. Параметр показывает какое максимальное напряжение можно подавать на обмотку фазы.
  3. Индуктивность фазы. Насколько быстро будет увеличиваться ток в обмотке показывает этот параметр. Чтобы ток быстрее увеличивался при переключении фаз на высоких частотах, напряжение приходится делать больше.
  4. Число полных шагов за 1 оборот. Параметр показывает насколько электродвигатель точен, его плавность и допустимую способность.
  5. Вращающий момент. Механические данные показывают частоту вращения, которая зависит от момента вращения. Параметр указывает максимальное время вращения электродвигателя.
  6. Удерживающая фаза. Эта фаза показывает момент вращения при остановленном устройстве. Две фазы устройства должны быть запитаны номинальным током.
  7. Момент ступора. Во время отсутствия напряжения питания, он необходим для того, чтобы вал электродвигателя можно было провернуть.
  8. Время энерции ротора. Означает как быстро разгоняется двигатель. Чем показатель меньше, тем скорость разгона больше.
  9. Пробивное напряжение. Параметр относится к разделу электробезопасности и показывает наименьшее напряжение, пробивающее изоляцию между корпусом и обмотками устройства.
ЭТО ИНТЕРЕСНО:  Что такое сварочный преобразователь

Источник: https://instrument.guru/svoimi-rukami/shagovyj-dvigatel-printsip-raboty-shema-podklyucheniya.html

Шаговый двигатель 28BYJ-48 с драйвером ULN2003 и Arduino UNO | РОБОТОША

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

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

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

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

28BYJ-48 — это маленький, дешевый, 5 вольтовый шаговый моторчик с редуктором. Передаточное число редуктора у него примерно 64:1, что позволяет получить вполне достойный крутящий момент для моторчика такого размера и скорость порядка 15 об/мин.

С некоторыми программными хитростями для постепенного ускорения можно достичь более 25 об/мин. Эти маленькие шаговики вместе с небольшой платкой-драйвером на базе м/сх ULN2003 для использования совместно c Arduino UNO можно приобрести здесь за сущие копейки.

Достаточно выгодное приобретение, если сравнивать с редукторным двигателем постоянного тока, контроллером двигателя и колесным энкодером!

Размеры шагового двигателя 28BYJ-48

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

Тип мотора Униполярный шаговый двигатель
Число фаз 4
Подключение 5-выводов (к контроллеру двигателя)
Рабочее напряжение 5-12 вольт
Частота 100 Гц
Сопротивление по постоянному току 50 Ом ± 7%(25°C)
Частота под нагрузкой > 600 Гц
Частота на холостом ходу > 1000 Гц
Крутящий момент > 34.3 мН*м (120 Гц)
Момент самопозиционирования > 34.3 мН*м
Стопорящий момент 600-1200 г*см
Тяга 300 г*см
Сопротивление изоляции > 10 МОм (500 В)
Класс изоляции A
Шум < 35 дБ (120 Гц, без нагрузки, 10 см)
Режим шага Рекомендован полушаговый режим (8-шаговая управляющая сигнальная последовательность)
Угол шага Полушаговый режим: 8-шаговая управляющая сигнальная последовательность (рекомендовано). 5.625 градусов на шаг, 64 шага на оборот внутреннего вала мотора. Режим полного шага: 4-шаговая управляющая сигнальная последовательность. 11.25º/шаг, 32 шага на оборот внутреннего вала двигателя.
Передаточное отношение редуктора Производителем заявлено 64:1. Однако, некоторые пытливые товарищи с форума Arduino разобрали редуктор и определили, что, в действительности передаточное число равно 63.68395:1. Это означает, что в рекомендованном полушаговом режиме мы имеем: 64 шага на оборот мотора помноженное на передаточное число 63.684 ≈ 4076 шагов на полный оборот.
Подключение к контроллеру ULN2003 A (синий), B (розовый), C (желтый), D (Оранжевый), E (красный, средний вывод обмоток)
Вес 30г

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

Подключение выводов шагового двигателя 28BYJ-48

Когда используется полношаговый метод управления, две из четырех обмоток запитываются на каждом шаге. Идущая вместе с Arduino IDE библиотека Stepper использует такой способ. В техническом руководстве к 28BYJ-48 сказано, что предпочтительным является использование метода полушага, при котором сначала запитывается только 1 обмотка, затем вместе первая и вторая обмотки, затем только вторая обмотка и так далее. С 4 обмотками это дает 8 различных сигналов, как показано в таблице ниже.

Провод→ Направление вращения по часовой стрелке (1-2 фазы)
1 2 3 4 5 6 7 8
4 Оранжевый
3 Желтый
2 Розовый
1 Синий

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

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

В нашем случае, в качестве управляющего микроконтроллера мы выберем плату Arduino Uno с микроконтроллером ATmega328.

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

Плата управления на базе ULN2003

Также сбоку расположен джампер (два вывода под четырьмя резисторами), установка которого позволяет подавать питание на шаговый двигатель. Замечу, что питать мотор от 5 В Arduino не рекомендуется, так как мотор может потреблять ток, превышающий возможности Arduino. Лучше использовать внешний 5-12 В источник питания, выдающий ток не менее 1 А. Четыре управляющих входа помечены как IN1-IN4 и должны быть подключены к четырем цифровым выводам Arduino.

Подключите выводы IN1, IN2, IN3 и IN4 к пинам 3, 4, 5 и 6 Arduino Uno. Положительный контакт источника питания необходимо подключить к выводу, помеченному как «+», а землю источника питания к выводу «-» на плате контроллера. Если для питания Arduino и мотора используются различные источники питания, то необходимо объединить выводы «земля» источников вместе.

Библиотека AccelStepper

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

Есть решение получше — это использовать библиотеку Accel Stepper. Эта библиотека очень хорошо работает совместно с шаговым мотором 28BYJ-48 (мотор почти не греется), а также поддерживает ускорение, что позволяет заставить мотор вращаться быстрее. Библиотека использует код, не блокирующий шаги и включает немало других приятных особенностей.

  • Объектно-ориентированный интерфейс для 2, 3 или 4-выводных шаговых двигателей
  • Поддержка ускорения и замедления
  • Поддержка одновременно нескольких шаговых двигателей с независимой работой для каждого мотора
  • Функции API не используют функцию delay и не прерывают работу
  • Поддержка выбора функции для реализации шага позволяет работать совместно с библиотекой AFMotor
  • Поддержка контроллеров шаговых двигателей таких как Sparkfun EasyDriver (основанных на микросхеме драйвера 3967)
  • Поддержка низких скоростей
  • Расширяемый API
  • Поддержка подклассов

Как установить библиотеку в Arduino IDE.

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

Источник: http://robotosha.ru/arduino/stepper-motor-28byj-uln2003-arduino.html

Управление шаговыми моторами и DC двигателями на L298 и Raspberry Pi, подключение и программирование

Рассмотрим драйвер электродвигателей на транзисторах и микросхеме L298, разберемся с принципом работы H-моста. Узнаем особенности подключения драйверов на L298 к разным двигателям и источникам питания, проведем простые эксперименты с шаговыми движками и двигателями постоянного напряжения. Подключение к Raspberry Pi и простейшие программы для теста управления драйвером.

:

Что такое H-мост

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

Почему такое название? — потому что схема включения двигателя и переключателей для коммутации напоминает латинскую букву H. Принципы работы H-моста показан нарисунке ниже.

Рис. 1. Как работает H-мост, принцип коммутации двигателя для вращения в разные стороны.

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

Важно заметить что НЕЛЬЗЯ допускать замыкания двух ключей на одной стороне H-моста, поскольку получится короткое замыкание, при проектировании схемы моста нужно заложить это правило в логику и таким образом реализовать защиту.

Схема простого H-моста на кремниевых транзисторах

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

Рис. 2. Принципиальная схема простого драйвера электродвигателя на кремниевых транзисторах.

Такой драйвер позволяет управлять электродвигателем постоянного тока с питающим напряжением до 25В (для КТ817А, КТ816А) и до 45В (для КТ817Б-Г, КТ816Б-Г) с током не более 3А. При большом рабочем и нагрузочном токе двигателя выходные транзисторы КТ817 и КТ816 должны быть установлены на радиаторы достаточного размера.

Установка диодов VD1-VD2 обязательна, они нужны для защиты выходных транзисторов от обратного тока. На их место можно поставить отечественные КД105А или другие на больший ток.

Собрав две такие схемки (2х6 транзисторов) можно также управлять шаговым двигателем или же двумя двигателями постоянного тока.

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

Микросхема L298, характеристики и возможности

Интегральная микросхема L298 — это мощный универсальный мостовой драйвер для управления двигателями постоянного тока, шаговыми движками, электромагнитными реле и электромагнитами (соленоидами). В микросхеме содержится два H-моста, выполненных на мощных транзисторах, а также логика совместимая с TTL.

Рис. 3. Микросхема L298 в корпусах Multiwatt15 PowerSO20.

Основные технические характеристики:

  • Рабочее напряжение — до 46В;
  • Максимальный постоянный ток — 4А (с радиатором);
  • Низкое напряжение насыщения;
  • Защита от перегрева;
  • Логический «0» = напряжение до 1,5В.

Где можно применить драйвер на микросхеме L298? — несколько идей:

  • Управление шаговым двигателем;
  • Управление двумя двигателями постоянного тока (DC motors);
  • Коммутация катушек мощных реле;
  • Управление соленоидами (электромагнитами).

Если посмотреть на структурную схему микросхему L298 то мы можем увидеть что-то на подобии схемы на рисунке 2, только с дополнительными логическими элементами.

Рис. 4. Внутренняя схема микросхемы L298N — мощный двойной H-мост.

Для каждого H-моста мы имеем по 3 входа: In1 — для подачи напряжения в одном направлении, In2 — в противоположном, и еще один вход En для подачи питания на выходные транзисторы моста.

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

Схема драйвера на микросхеме L298

Ниже представлена простая схема для драйвера двигателей на микросхеме L298N. Управление осуществляется по четырем проводам (вместо шести у L298) благодаря использованию дополнительных инверторов в микросхеме CD4011.

Рис. 5. Принципиальная схема драйвера электродвигателей на микросхеме L298N.

Для питания логики обеих микросхем нужно стабилизированное напряжение +5В (P2), можно использовать интегральный стабилизатор, например L7805 или же питать логику от имеющейся линии питания +5В. Для подачи питающего напряжения на двигатели используется отдельная линия питания P1.

Выводы P4, P5 используются для установки полярности каждого из каналов, а выводы P6, P7 — разрешают подачу питания на  каскады (ключи) внутреннего H-моста для каждого канала.

Микросхему CD4011 можно заменить на отечественную К176ЛА7. Диоды Шоттки можно поставить другого номинала, на 35В/4А и более. Если не планируется ограничивать ток обмоток двигателя(двигателей) то низкоомные ограничивающие резисторы R9-R10 можно исключить из схемы, заменив их на перемычки.

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

Готовые модули на L298

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

Рис. 6. Готовые модули на L298.

Я для своих нужд приобрел готовый модуль по типу как на рисунке слева. В нем присутствует микросхема L298 и небольшой стабилизатор для подачи +5В на логику микросхемы.

Для подключения данной платки важно четко уяснить одну особенность:

  • Если для питания двигателей используется напряжение более чем 12В то перемычку нужно убрать и подавать отдельно 5В на выделенный для этого коннектор
  • Если питание двигателей будет осуществляться от напряжения 5-12В то перемычку нужно утсановить и дополнительное питание 5В не понадобится.

Если же подать на двигатели, например 20В и оставить перемычку установленной, то на модуле выгорит микросхемка-стабилизатор на 5В. Почему разработчики не установили интегральный стабилизатор с более широким диапазоном входных напряжений — не понятно.

Для того чтобы сэкономить два входа при подключении такого блока к Arduino или Raspberry Pi можно добавить часть схемы на CD4001, как на рисунке 5.

L298 + DC двигатели + Raspberry Pi

Для данного эксперимента к модулю на L298 были подключены два двигателя постоянного тока. Питание всего модуля осуществляется от одного аккумулятора на 6В. Поскольку это напряжение меньше 12В (смотрим выше описание) то перемычку внутреннего стабилизатора оставляем установленной и дополнительное питание +5В для логики не потребуется.

ЭТО ИНТЕРЕСНО:  Как проверить стабилитрон мультиметром

Перемычки «ENA» и «ENB», которые разрешают подачу питания на выходные мосты, оставлены установленными. Таким образом, для управления каждым из двигателей используем оставшиеся четыре входа: IN1, IN2, IN3, IN4.

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

Где взять +5В? — в данном случае это напряжение присутствует на разъеме питания, справа возле GND. Для теста можно воспользоваться кусочком проволоки — перемычкой.

Теперь подключим наш модуль к Raspberry Pi и напишем простую тестовую программу на Python. Для подключения модуля я использовал выводы GPIO вот в таком соответствии:

Raspberry Pi GPIO Модуль L298
Вывод 7 (GPIO4) IN1
Вывод 9 (GND) GND (разъем питания)
Вывод 11 (GPIO17) IN2
Вывод 13 (GPIO27) IN3
Вывод 15 (GPIO22) IN4

Рис. 7. L298 + Raspberry Pi + электродвигатели постоянного тока.

Мини-компьютер у меня питается через понижающий импульсный стабилизатор от второго аккумулятора на 6В. Перейдем к написанию программы для нашего эксперимента, наша цель — управлять вращением вала каждого из двигателей при помощи клавиатуры, которая подключена к Raspberry Pi или же удаленно по SSH, VNC.

Теперь испробуем простую программу, написанную на Python, которая поможет понять принцип управления электродвигателем постоянного тока.

Загружаем малинку, открываем Терминал или же подключаемся к ней удаленно при помощи SSH. Создаем новый файл и открываем его для редактирования при помощи команды:

nano /home/pi/l298_dc_motors_test.py

Вставляем в редактор код скрипта на Python, который приведен ниже:

#!/usr/bin/env python # -*- coding: utf-8 -*- import time import RPi.GPIO as GPIO # Подготавливаем пины GPIO. GPIO.cleanup() GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.OUT) GPIO.output(4, GPIO.LOW) GPIO.setup(17, GPIO.OUT) GPIO.output(17, GPIO.LOW) # Включаем вращение двигателя 1 в одну сторону. GPIO.output(4, GPIO.HIGH) # ждем 5 секунд. time.sleep(5) # Выключаем двигатель 1. GPIO.output(4, GPIO.LOW) # ждем 10 секунд. time.sleep(10) # Включаем вращение двигателя 1 в другую сторону. GPIO.output(17, GPIO.HIGH) # ждем 5 секунд. time.sleep(5) # Выключаем двигатель 1. GPIO.output(17, GPIO.LOW)

Выходим из редактора и сохраняем файл. Делаем скрипт исполняемым и запускаем его:

chmod +x /home/pi/l298_dc_motors_test.py /home/pi/l298_dc_motors_test.py

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

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

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

Источник: https://ph0en1x.net/87-l298-and-raspberry-pi-stepper-and-dc-motor.html

Как запустить мотор от жесткого диска?

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

Всё началось с того, что привезли несколько старых винчестеров (рис.1) и сказали, что здесь рабочие вперемешку с «убитыми», хочешь – выбирай, не хочешь – делай что хочешь. Но если разберёшься, как их использовать в качестве небольшого наждака для правки инструмента, расскажи. Ну, вот – рассказываю

Рис.1

Первый HDD – «Quantum» семейства «Fireball TM» с микросхемой привода TDA5147AK (рис.2). Посмотрим, что он из себя представляет.

Рис.2

Верхняя крышка крепится 4-мя винтами по углам и одним винтом и гайкой, находящимися сверху, под наклейками. После снятия крышки видны сам жёсткий диск, считывающие головки и магнитная система управления положением головок (рис.3). Шлейф отсоединяем, магнитную систему откручиваем (здесь понадобиться специально заточенный шестигранный ключ «звёздочка»). При желании диск тоже можно снять, если открутить три винта на шпинделе двигателя (также нужен шестигранник).

Рис.3

Теперь ставим крышку на место для того, чтобы можно было перевернуть HDD для экспериментов с электроникой и подаём в разъём питания напряжения +5 В и +12В. Двигатель разгоняется, работает примерно 30 секунд, а затем останавливается (на печатной плате есть зелёный светодиод – он горит при вращении двигателя и мигает при его остановке).

В сети легко находится даташит на микросхему TDA5147K, но по нему не удалось разобраться с сигналом разрешения/запрета вращения. При «подтягивании» сигналов POR к шинам питания добиться нужной реакции не удалось, но при просмотре сигналов осциллографом выяснилось, что при касании щупом 7-го вывода микросхемы TDA5147АK происходит её сброс и перезапуск двигателя.

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

Поэтому, способ хоть и действенный, но не совсем правильный. А «правильно» запустить его так и не удалось.

Рис.4

Следующий HDD – «Quantum» семейства «Trailblazer» (рис.5).

Рис.5

При подаче напряжений питания привод никаких признаков жизни не подаёт и на плате электроники начинает сильно греться микросхема 14-107540-03. В середине корпуса микросхемы заметна выпуклость (рис.6), что говорит о её явной неработоспособности. Обидно, но не страшно.

Рис.6

Смотрим микросхему управления вращением двигателя (рис.7) — HA13555. Она при подаче питания не греется и видимых повреждений на ней нет. Прозвонка тестером элементов «обвязки» ничего особенного не выявила – остаётся только разобраться со схемой «включения».

Рис.7

Поисковики даташит на неё не находят, но есть описание на HA13561F. Она выполнена в таком же корпусе, совпадает по ножкам питания и по «выходным» выводам с HA13555 (у последней к проводникам питания двигателя подпаяны диоды – защита от противо-ЭДС).

Попробуем определиться с необходимыми выводами управления. Из даташита на HA13561F (рис.

8) следует, что на вывод 42 (CLOCK) должна подаваться тактовая частота 5 МГц с уровнем TTL-логики и что сигналом, разрешающим запуск двигателя, является высокий уровень на выводе 44 (SPNENAB).

Рис.8

Так как микросхема 14-107540-03 нерабочая, то отрезаем питание +5 В от неё и от всех остальных микросхем, кроме HA13555 (рис.9). Тестером проверяем правильность «порезов» по отсутствию соединений.

Рис.9

На нижнем фото рисунка 9 красными точками показаны места подпайки напряжения +5 В для HA13555 и резистора «подтяжки к плюсу» её 44 вывода.

Если же резистор от вывода 45 снять с родного места (это R105 по рисунку 8) и поставить его вертикально с некоторым наклоном к микросхеме, то дополнительный резистор для подтяжки к «плюсу» вывода 44 можно припаять к переходному отверстию и к висящему выводу первого резистора (рис.10) и тогда питание +5 В можно подавать в место их соединения.

Рис.10

На обратной стороне платы следует перерезать дорожки, как показано на рисунке 11. Это «бывшие» сигналы, приходящие от сгоревшей микросхемы 14-107540-03 и старая «подтяжка» резистора R105.

  Где в процессоре находится жесткий диск?

Рис.11

Рис.12

После «прокидывания» проводом МГТФ напряжения питания +5 В прямо от разъёма к выводу 36 (Vss) и других требуемых соединений (рис.13), привод запускается и работает безостановочно. Естественно, если бы микросхема 14-107540-03 была исправна, вся доработка заключалась бы только в «перетяжке» 44-го вывода к шине +5 В.

Рис.13

На этом «винте» была проверена его работоспособность при других тактовых частотах. Сигнал подавался с внешнего генератора прямоугольных импульсов и минимальная частота, с которой привод работал устойчиво — 2,4 МГц. На более низких частотах циклично происходил разгон и остановка. Максимальная частота – около 7,6 МГц, при дальнейшем её увеличении количество оборотов оставалось прежним.

Количество оборотов также зависит и от уровня напряжения на выводе 41 (CNTSEL). В даташите на микросхему HA13561F есть таблица и она соответствует значениям, получаемым у HA13555.

В результате всех манипуляций удалось получить минимальную скорость вращения двигателя около 1800 об/мин, максимальную – 6864 об/мин.

Контроль проводился с помощью программы SpectraPLUS, оптопары с усилителем и кусочка изоленты, приклеенного к диску так, чтобы он при вращении диска перекрывал окно оптопары (в окне анализатора спектра определялась частота следования импульсов и затем умножалась на 60).

Третий привод – «SAMSUNG WN310820A».

При подаче питания микросхема-драйвер – HA13561 начинает сильно греться, двигатель не вращается. На корпусе микросхемы заметна выпуклость (рис.14), как и в предыдущем случае.

Проводить какие-либо эксперименты не получится, но можно попробовать запитать двигатель от платы с микросхемой HA13555. Длинные тонкие проводники были подпаяны к шлейфу двигателя и к выходным контактам разъёма платы электроники – всё запустилось и работало без проблем.

Если бы HA13561 была целой, доработка для запуска была бы такой же, как и для «Quantum Trailblazer» (44-й вывод к шине +5 В).

Рис.14

Четвёртый привод — «Quantum» семейства «Fireball SE» с микросхемой привода AN8426P (рис.15).

Рис.15

Если отключить шлейф блока головок и подать питание на HDD, то двигатель набирает обороты и, естественно, через некоторое время останавливается. Даташит на микросхему AN8426P есть в сети и по нему можно разобраться, что за запуск отвечает вывод 44 (SIPWM) (рис.16). И если теперь перерезать дорожку, идущую от микросхемы 14-108417-02 и «подтянуть» вывод 44 через резистор 4,7 кОм к шине +5 В, то двигатель не будет останавливается.

Рис.16

И напоследок, вернувшись немного назад, были сняты формы сигналов на выводах W и V микросхемы HA13555 относительно общего провода (рис. 17).

Рис.17

Самое простое прикладное применение старого HDD – небольшой наждак для правки свёрл, ножей, отвёрток (рис.18). Для этого достаточно наклеить на магнитный диск наждачную бумагу. Если «винт» был с несколькими «блинами», то можно сделать сменные диски разной зернистости. И здесь хорошо бы иметь возможность переключения скорости вращения шпиндельного двигателя, так как при большом количестве оборотов очень легко перегреть затачиваемую поверхность.

Рис.18

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

В дополнении к тексту находятся упомянутые даташиты и файлы печатных плат внешних генераторов импульсов в формате программы Sprint-Layout 5-ой версии (вид со стороны печати, микросхемы устанавливаются как smd, т.е. без сверловки отверстий).

Андрей Гольцов, r9o-11, г. Искитим, апрель 2018.

Список радиоэлементов

Скачать список элементов (PDF)

Прикрепленные файлы:

Источник: https://open-form-it.com/kak-zapustit-motor-ot-zhestkogo-diska/

Советы для начинающих. Arduino и шаговый двигатель Nema 17

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

Почему именно Nema 17? В первую очередь, из-за отличного соотношения цена/качество.

Перед подключением Nema 17, за плечами был определенный опыт работы с шаговиком 24byj48 (даташит). Управлялся он и с помощью Arduino, и с помощью Raspberry pi, проблем не возникало. Основная прелесть этого двигателя — цена (около 3 долларов в Китае). Причем, за эту сумму вы приобретаете двигатель с драйвером в комплекте. Согласитесь, такое можно даже и спалить, не особо сожалея о содеянном.

Теперь появилась задача поинтереснее. Управлять шаговым двигателем Nema 17 (даташит). Данная модель от оригинального производителя реализуется по цене около 40 долларов. Китайские копии стоят раза в полтора-два дешевле — около 20-30 долларов. Очень удачная модель, которая часто используется в 3D принтерах и CNC-проектах. Первая возникшая проблема — как подобрать драйвер для этого двигателя. Силы тока на пинах Arduino для питания не хватит.

Google подсказал, что для оживления Nema 17 можно использовать драйвер A4988 от Poulou (даташит).

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

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

Ссылки для заказа необходимого оборудования из Китая

Подключение Nema 17 через A4988

Подключение было реализовано на основании этой темы на Arduino форуме. Рисунок приведен ниже.

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

ЭТО ИНТЕРЕСНО:  Как проверить емкость аккумулятора мультиметром

Первая проблема

Наш 12 вольтовый адаптер не выдавал достаточной силы тока. В результате адаптер был заменен на 8 батареек АА. И двигатель начал вращаться! Что ж, тогда захотелось перескочить с макетной платы на прямое подключение. И тут возникла

Вторая проблема

Когда все было распаяно, двигатель опять перестал двигаться. Почему? Не понятно до сих пор. Пришлось вернуться к макетной плате. И вот тут возникла вторая проблема. Стоит предварительно было посидеть на форумах или внимательно почитать даташит. Нельзя подключать-отключать двигатель когда на контроллер подано питание! В результате контроллер A4988 благополучно сгорел.

Эта проблема была решена покупкой нового драйвера на eBay. Теперь, уже с учетом накопленного грустного опыта, Nema 17 был подключен к A4988и запущен, но

Шаговый двигатель сильно вибрирует

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

Программа для Arduino

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

Основные выводы

  1. Никогда не подключайте/отключайте двигатель, когда на контроллер подано питание.
  2. При выборе источника питания, обратите внимание не только на вольтаж, но и на мощность адаптера.
  3. Не расстраивайтесь, если контроллер A4988 вышел из строя. Просто закажите новый ;)
  4. Используйте библиотеку AcclStepper вместо голого кода Arduino. Шаговый двигатель с использованием этой библиотеки будет работать без лишних вибраций.

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

Простой Arduino-код для проверки шагового двигателя

//простое подключение A4988

//пины reset и sleep соединены вместе

//подключите VDD к пину 3.3 В или 5 В на Arduino

//подключите GND к Arduino GND (GND рядом с VDD)

//подключите 1A и 1B к 1 катушке шагового двигателя

//подключите 2A и 2B к 2 катушке шагового двигателя

//подключите VMOT к источнику питания (9В источник питания + term)

//подключите GRD к источнику питания (9В источник питания — term)

int stp = 13; //подключите 13 пин к step

int dir = 12; //подключите 12 пин к dir

int a = 0;

void setup()

{

pinMode(stp, OUTPUT);

pinMode(dir, OUTPUT);

}

void loop()

{

if (a < 200) // вращение на 200 шагов в направлении 1

{

a++;

digitalWrite(stp, HIGH);

delay(10);

digitalWrite(stp, LOW);

delay(10);

}

else { digitalWrite(dir, HIGH);

a++;

digitalWrite(stp, HIGH);

delay(10);

digitalWrite(stp, LOW);

delay(10);

if (a>400) // вращение на 200 шагов в направлении 2

{

a = 0;

digitalWrite(dir, LOW);

}

}

}

Второй код для Arduino для обеспечения плавного вращения двигателя. Используется библиотека AccelStepper library.

#include

AccelStepper Stepper1(1,13,12); //использует пин 12 и 13 для dir и step, 1 — режим «external driver» (A4988)

int dir = 1; //используется для смены направления

void setup() {

Источник: http://arduino-diy.com/arduino-sovety-dlya-nachinayushchikh-shagovyy-dvigatel-Nema-17

Своими руками контроллер для шагового двигателя – Контроллер шагового двигателя схема | kavmaster — диспротект.рф —

26.08.2019| admin|

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

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

Шаговые двигатели достаточно распространены в устройствах, в которых необходимо добиться точного перемещения механизмов. Существует очень много типов шаговых двигателей, но самыми простыми в плане управления являются 2-х фазные униполярные двигатели. Этот тип двигателей имеет две независимые обмотки с выводами от середины (см. Рис.1). Их устанавливают в такие аппараты, как принтер, копир, дисковод и т.д.

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

На рисунке 2 представлена схема управления шаговым двигателем.

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

  1. Можно определить количество шагов.
  2. Определить один из двух алгоритмов работы двигателя.
  3. Опробовать работу двигателя в полушаговом режиме.
  4. Можно опробовать работу в полношаговом режиме.
    Еще раз повторюсь, что разновидностей шаговых двигателей много и данный контроллер подойдет не для всех.

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

Программа управления состоит из пяти подпрограмм, которые переключаются кнопкой BS3 – «Выбор программ». Номер выбранной подпрограммы отображается тремя светодиодами в двоичной системе счисления.

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

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

Возможно, придется экспериментировать. На скриншоте 1 (передняя панель виртуального осциллографа программы Proteus) можно наблюдать импульсную последовательность и коды полушагов работы двигателя. Некоторые из шаговиков по этому алгоритму у меня не работали.

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

Подпрограмма №2 – светится второй светодиод. В этой подпрограмме двигатель будет работать по полно шаговому алгоритму, показанному на скрине 2.

Подпрограмма №3 – светятся первый и второй светодиоды. В этой подпрограмме двигатель будет работать по полношаговому алгоритму, показанному на скрине 3.

Количество шагов шагового двигателя

Подпрограмма №4 – светится третий светодиод. Данная подпрограмма обеспечивает один шаг двигателя при каждом нажатии на кнопку «Право». Кнопка «Лево» в данном случае не задействована. Короче говоря, нажимая каждый раз на кнопку, можно сосчитать количество шагов за один оборот проверяемого двигателя. Алгоритм работы двигателя в данной подпрограмме соответствует алгоритму на скрине 2.

Подпрограмма №5 – светятся первый и третий светодиоды. В этой подпрограмме творится тоже самое, только алгоритм работы двигателя в данной подпрограмме соответствует алгоритму на скрине 3.

Общий вид платы — на фото.

https://www.youtube.com/watch?v=Zqbz-mI04Xk

Файл прошивки, схему и рисунок печатной платы можно скачать по ссылке ниже. 

Купить USB программатор PIC K150 ICSP

Источник: https://xn--d1acijsfhgmc.xn--p1ai/raznoe/svoimi-rukami-kontroller-dlya-shagovogo-dvigatelya-kontroller-shagovogo-dvigatelya-sxema-kavmaster.html

Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003

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

Их можно найти во многих устройствах рядом: от CD-привода до 3D-принтера или робота-манипулятора.

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

Шаговый двигатель – принцип работы

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

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

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

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

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

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

Такие параметры как угол поворота (шаги), направление движения задаются в программе для микроконтроллера.

Упрощенные анимированные схемы работы шагового двигателя

Основные виды шаговых моторов:

  • Двигатели с переменными магнитами (применяются довольно редко);
  • Двигатели с постоянными магнитами;
  • Гибридные двигатели (более сложные в изготовлении, стоят дороже, но являются самым распространенным видом шаговых двигателей).

Где купить шаговый двигатель

Самые простые двигатели Варианты на сайте AliExpress:

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

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

Работа двигателя в биполярном режиме имеет несколько преимуществ:

  • Увеличение крутящего момента на 40% по сравнению с униполярными двигателями;
  • Возможность применения двигателей с любой конфигурацией фазной обмотки.

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

Драйвер шагового двигателя на базе L298N

Этот мостовой драйвер управляет двигателем с током до 2 А и питанием до 46В. Модуль на основе драйвера L298N состоит из микросхемы L298N, системы охлаждения, клеммных колодок, разъемов для подключения сигналов, стабилизатора напряжения и защитных диодов.

Драйвер двигателя L298N

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

Описание драйвера шаговых двигателей UNL2003

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

Другие драйвера

Существует другой вид драйверов –  STEP/DIR драйверы. Это аппаратные модули, которые работают по протоколу STEP/DIR для связи с микроконтроллером. STEP/DIR драйверы расширяют возможности:

  • Они позволяют стабилизировать фазные токи;
  • Возможность установки микрошагового режима;
  • Обеспечение защиты ключа от замыкания;
  • Защита от перегрева;
  • Оптоизоляция сигнала управления, высокая защищенность от помех.

В STEP/DIR драйверах используется 3 сигнала:

  • STEP – импульс, который инициирует поворот на шаг/часть шага в зависимости от режима. От частоты следования импульсов будет определяться скорость вращения двигателя.
  • DIR – сигнал, который задает направление вращения. Обычно при подаче высокого сигнала производится вращение по часовой стрелке. Этот тип сигнала формируется перед импульсом STEP.
  • ENABLE – разрешение/запрет работы драйвера. С помощью этого сигнала можно остановить работу двигателя в режиме без тока удержания.

Одним из самых недорогих STEP/DIR драйверов является модуль TB6560-V2. Этот драйвер обеспечивает все необходимые функции и режимы.

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

Подключение будет рассмотрено на примере униполярного двигателя 28BYj-48 и драйверов L298 и ULN2003. В качестве платы будет использоваться Arduino Uno.

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

Еще один вариант схемы с использованием L298:

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

Схема подключения на базе ULN2003 изображена на рисунке ниже. Управляющие выходы с драйвера IN1-IN4 подключаются к любым цифровым контактам на Ардуино. В данном случае используются цифровые контакты 8-11. Питание подключается к 5В. Также для двигателя желательно использовать отдельный источник питания, чтобы не перегрелась плата Ардуино.

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

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

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

Еще одна схема подключения биполярного шагового двигателя Nema17  через драйвер L298 выглядит следующим образом.

Обзор основных моделей шаговых двигателей для ардуино

Nema 17 – биполярный шаговый двигатель, который чаще всего используется в 3D принтерах и ЧПУ станках. Серия 170хHSхххА мотора является универсальной.

Основные  характеристики двигателя:

  • Угловой шаг 1,8°, то есть на 1 оборот приходится 200 шагов;
  • Двигатель – двухфазный;
  • Рабочие температуры от -20С до 85С;
  • Номинальный ток 1,7А;
  • Момент удержания 2,8 кг х см;
  • Оснащен фланцем 42 мм для легкого и качественного монтажа;
  • Высокий крутящий момент – 5,5 кг х см.

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

Характеристики двигателя:

  • Номинальное питание – 5В;
  • 4-х фазный двигатель, 5 проводов;
  • Число шагов: 64;
  • Угол шага 5,625°;
  • Скорость вращения: 15 оборотов в секунду
  • Крутящий момент 450 г/сантиметр;
  • Сопротивление постоянного тока 50Ω ± 7% (25 ℃).

Описание библиотеки для работы с шаговым двигателем

В среде разработки Ардуино IDE существует стандартная библиотека Strepper.h для написания программ шаговых двигателей. Основные функции в этой библиотеке:

  • Stepper(количество шагов, номера контактов). Эта функция создает объект Stepper, которая соответствует подключенному к плате Ардуино двигателю. Аргумент – контакты на плате, к которым подключается двигатель, и количество шагов, которые совершаются для полного оборота вокруг своей оси. Информацию о количестве шагов можно посмотреть в документации к мотору. Вместо количества шагов  может быть указан угол, который составляет один шаг. Для определения числа шагов, нужно разделить 360 градусов на это число.

Источник: https://arduinomaster.ru/motor-dvigatel-privod/shagovye-dvigateli-i-motory-arduino/

Понравилась статья? Поделиться с друзьями:
220 вольт
Зачем нужна канифоль при пайке

Закрыть