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

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

#21. Подключаем к Arduino Шаговый двигатель 28BYJ-48 на драйвере ULN2003

Сегодня в уроке подключим шаговый двигатель 28BYJ-48 к Arduino и научимся вращать вал двигателя в разные стороны и изменять скорость вращения с помощью потенциометра и энкодера KY-040.

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

Характеристики шагового двигателя 28BYJ-48:

Размера шагового двигателя 28BYJ-48. Необходимы при проектировании деталей для 3D печати.

Вот так выглядит схема шагового двигателя 28BYJ-48

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

Для шагового режима.

Для полушагового режима.

Прямое подключение шагового двигателя 28BYJ-48 к Arduino.

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

Схема подключения к Arduino UNO будет следующая.

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

Для этого можно сделать массив подачи сигнала на пины микроконтроллера.

И в цикле выполнять каждую строчку массива. Но есть решение с более компактным кодом. Нашел я данный пример на канале Дмитрия Осипова. За что ему отельное спасибо!

Код для вращения в одну и в другую сторону будет вот таким.

ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!

Пример подключения шагового двигателя 28BYJ-48 (5V)с использованием драйвер ULN2003.

Также у Дмитрия Осипова есть код для изменения скорости вращения с помощью потенциометра. Я его немного доработал, сделал обработку нажатия кнопки без задержки в 500 мс. Сейчас двигатель стал вращаться в обратную сторону без видимой задержки.

Для подключения буду использовать модуль SBT0811 на драйвере ULN2003.

Драйвер устроен вот таким образом.

Соответственно, наш код будет работать и с данным драйвером.

Подключим все по схеме и загрузим код в Arduino NANO.

Схема подключения для Arduino UNO будет аналогичной.

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

ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!

Пример управления шаговым двигателем 28BYJ-48 с помощью Энкодера.

Для уменьшения количества элементов в схеме решил заменить потенциометр и тактовую кнопку на энкодер вращения KY-040. Как подключить энкодер вращения к Arduino рассказывал в предыдущем уроке.

Подключаем шаговый двигатель 28BYJ-48 и энкодер к Arduino по схеме.

Проводим небольшую доработку кода и получим вот такой результат.

Если нажать на энкодер, меняется направление вращения. А при вращении энкодера по часовой стрелке — скорость увеличивается. Если вращать против часовой стрелки — скорость снижается.

ВНИМАНИЕ! Материалы для скачивания находятся внизу статьи!

Вы также можете без проблем воспользоваться примером из стандартной библиотеки Stepper, которая позволит сделать тоже самое и при меньшем объёме кода. Но библиотека не даст вам понять, как это все устроено.

А вот сам пример вращения в одну сторону, а затем в другую с использованием библиотеки Stepper.

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

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

Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока.

И до встречи в следующем уроке

Понравилась статья? Поделитесь ею с друзьями:

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

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

Читать еще:  Что такое активные опоры двигателя

5.1. Система управления

Простая система управления для ШД показана на схеме рис. 5.1.

Рис. 5.1. Схема системы управления ШД: 1 — логический блок; 2 — коммутатор; 3 — двигатель; 4 — входной контроллер.

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

Сигнал управления, приходящий на логический блок, обеспечивает подачу сигнала управления на коммутатор, тем самым способствуя пере­мещению ротора двигателя на один шаг. Направление вращения опреде­ляется логическим состоянием входа, т.е. Н-уровень для вращения по ча­совой стрелке и L-уровень против часовой стрелки. В некоторых случаях применяются логические блоки с не зависящим от направления выход­ным сигналом. Если один инкремент движения осуществляется за один шаг, то на схеме рис. 5.1, а представлена вся система управления. Но если шагов два или больше, то перед логическим блоком необходимо поставить еще одно устройство для создания соответствующей инкре­менту цепочки входных импульсов. Это устройство называется входным контроллером (рис. 5.1, б). В сложных случаях функцию входного конт­роллера выполняют такие электронные устройства, как микропроцессо­ры, которые генерируют цепочки импульсов для ускорения или замедле­ния движения оптимальным образом. В гл. 5 будут рассмотрены элемен­ты логических блоков, а затем устройств коммутаторов и входных конт­роллеров. В заключение приведен пример использования микропроцессо­ра в схеме управления без обратной связи.

5.2. Логические блоки системы управления

Логический блок — это логическая схема, которая управляет последова­тельностью возбуждения обмоток в соответствии с поступлением вход­ных импульсов. Обычно логический блок состоит из регистра сдвига и логических схем (функций) таких, как НЕ-И, НЕ-ИЛИ и т.д. В настоящее время в качестве регистра сдвига применяют универсальные схемы. Одна­ко для конкретных целей можно сконструировать необходимый логи­ческий блок подбором соответствующей интегральной микросхемы, реализующей триггер с логическим входом, срабатывающий по обратно­му фронту сигнала управления (триггеры JK-FF), и логических схем. Базисные функции схем и триггеров приведены на рис. 5.2.

Рис. 5.2. Логические блоки и их функции

Триггер JK-FF реализует функцию, задаваемую таблицей и выполняемую тогда, когда на вход* поступает сигнал Н. Если на вход* поступает сигнал L, то на выходе О будет сигнал L, а на Q — Н. Поэтому вместо составления логического блока из набора соответствующих интегральных микросхем можно использовать универсальные логические блоки, разработанные для ШД.

Рассмотрим несколько типов логических блоков, состоящих из инте­гральных микросхем с транзисторно-транзисторной логической схемой (TTL), изготовленных по КМОП — технологии.

5.2.1. Двухфазное управление четырехфазным двигателем.

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

SamPawno

  • Темы без ответов
  • Активные темы
  • Поиск
  • Наша команда

Работа с шаговым мотором 28BYJ-48 и драйвером ULN2003

  • Версия для печати

#1 Дим » 14 мая 2019, 19:45

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

Технические параметры двигателя 28BYJ-48

Модель: 28BYJ-48
Тип двигателя: Униполярный
Напряжение питания: 5 Вольт, DC
Количество фаз: 4
Частота: 100 Гц
Сопротивление: 50Ω ± 7% (при 25 ℃)

Общие сведения о движке

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

Двигатель называется четырех фазным, из-за того, что в нем содержится две обмотки, которые, в свою очередь, разделены на четыре. (Это отражено на схеме выше). Центральные отводы катушек подключены вместе и служат для питания двигателя. Так как каждая обмотка подключена к питанию, такие двигатели называют униполярными. На роторе 28BYJ-48 расположено 8 магнитов, с чередующимися полюсами (то есть, четыре магнита с двумя полюсами).

Читать еще:  Что делать после гидроудара двигателя

На рисунке видно, что внутри расположен редуктор, с примерным передаточным числом в 1:64, если быть точнее 1:63,68395. Это значит, что двигатель за один оборот осуществляет 4075.7728395 шага. Данный двигатель поддерживает полушаговый режим и за один полный оборот может совершать 4076 шага, а точнее за 1° делает примерно 11,32 шага. (4076 / 360 = 11,32).

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

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

Полушаговый режим — за 1 такт, ротор делает ½ шага.
Полношаговый режим — за 1 такт, ротор делает 1 шаг.

Ниже представлены таблицы последовательности тактов:

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

Цифровой вывод микроконтроллера выдает ток до

40 мА, а одна обмотка 28BYJ-48 в пике потребляет

320 мА, то есть, если подключить двигатель напрямую, микроконтроллер сгорит. Для защиты был разработан модуль шагового двигателя ULN2003, в котором используется микросхема ULN2003A (состоящая из 7 ключей), которая позволяет управлять нагрузкой до 500 мА (один ключ). Данный модуль может работать с 5 Вольтовым и 12 Вольтовым двигателем 28BYJ-48. Для переключения необходимо установить или убрать перемычку (по умолчанию перемычка установлена на питание 5 Вольт).

С принципиальной схемой модуля ULN2003 можно ознакомиться на рисунке ниже

IN1 . . . IN7: Вход 1 … 7

1 — GND: «-» питание модуля
2 — Vcc: «+» питание модуля (5В или 12В)
3 — Vcc: «+» питание модуля (перемычка, только при 5В)
4 — Vcc: «+» питание модуля (перемычка, только при 5В)

A . . . G: Выход 1 … 7

1 — Питание
2 — A
3 — B
4 — C
5 — D

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

Arduino UNO R3 x 1 шт.
Модуль драйвера шагового двигателя ULN2003 x 1 шт.
Шаговый двигатель 28BYJ-48-5V (5В) x 1 шт.
Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
Кабель USB 2.0 A-B x 1 шт.

В данном примере используется модуль ULN2003, Arduino UNO R3 и двигатель 28BYJ-48-5V. Схема довольно простая, необходимо всего 6 проводов. Вначале подключаем интерфейсные провода, IN1 (ULN2003) в 11 (Arduino UNO), IN2 (ULN2003) в 10 (Arduino UNO), IN3 (ULN2003) в 9 (Arduino UNO) и IN4 (ULN2003) в 8 (Arduino UNO). Остается подключить питание GND к GND и VCC к VIN (не для постоянного использовании). Подключим разъем двигателя в модуль ULN2003. Схема собрана, теперь надо подготовить программную часть.

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

Пример программы для работы с двигателем 28BYJ-48

#include // Подключаем библиотеку CustomStepper
CustomStepper stepper ( 2 , 3 , 4 , 5 ); // Указываем пины, к которым подключен драйвер шагового двигателя
boolean rotate1 = false ; // Переменная для смены режимов
boolean rotatedeg = false ; // Переменная для смены режимов
boolean crotate = false ; // Переменная для смены режимов

void setup ()
<
stepper . setRPM ( 10 ); // Устанавливаем количество оборотов в минуту
stepper . setSPR ( 4075.7728395 ); // Устанавливаем колочество шагов на полный оборот. Максимальное значение 4075.7728395
>

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

(Ниже описана несложная разработка, позволяющая управлять шаговым двигателем, подключенным к LPT порту IBM-совместимого компьютера.)

Параллельный порт является великолепным интерфейсом, позволяющим подключать к персональному компьютеру множество самых различных устройств. Однако он может быть легко поврежден, поэтому при его использовании для подсоединения самодельных внешних устройств нужно быть очень внимательным. Если вы не уверены в том, что вы все делаете правильно, сначала проконсультируйтесь у специалистов и только потом экспериментируйте. Ниже приводится краткое описание параллельного порта. Параллельный порт имеет несколько линий ввода/вывода, которые могут быть разделены на две группы — линии передачи данных и линии сигналов управления. Линии передачи данных — двунаправленные (разумеется, речь идет о режимах ЕСР/ЕРР), и именно их мы и будем использовать. В табл.1 описано назначение выводов разъема порта LPT.

Читать еще:  Характеристика масел для двигателя автомобиля

Назад

№ выв.Назва-ниеНаправ-лениеОписание
1STROBEввод и выводустанавливается PC после завершения каждой передачи данных
2/9DO-D7вывод8 линий данных
10АСКвводустанавливается в «0» внешним устройством после приема байта
11BUSYвводустройство показывает, что оно занято, путем установки этой линии в «1»
12Paper outвводдля принтеров
13Selectвводустройство показывает, что оно готово, путем установки на этой линии «1 »
14AutofeedВвод и вывод
15Errorвводиндицирует об ошибке
16InitializeВвод и вывод
17Select InВвод и вывод
18-25GroundGNDобщий провод

Вперед

Прим. переводчика: я использовал шаговый двигатель от русского дисковода. Тип двигателя: ПБМГ-200-265Ф. Для определения выводов применялся тестер. При этом я зарисовал схему обмоток, фиксируя на ней измеренные сопротивления. Оказалось, что двигатель имеет четыре обмотки. Две обмотки соединены друг с другом и имеют общий провод белого цвета, вторые выводы этих обмоток красного и зеленого цвета. Две другие обмотки также соединены друг с другом и имеют общий провод черного цвета, вторые выводы этих обмоток голубого и желтого цвета. Если соединить белый и черный провода, получается практически та же схема, что и описанная в оригинальной статье. Порядок подключения выводов я определил опытным путем.
Для управления шаговым двигателем можно использовать микросхему драйвера ULN2003, которая содержит семь мощных транзисторных ключей, собранных по схеме Дарлингтона. Каждый ключ способен управлять нагрузкой с током потребления до 500 мА. Микросхема имеет резисторы в цепи базы, что позволяет напрямую подключить ее входы к обычным цифровым микросхемам. Все эмиттеры соединены вместе и выведены на отдельный вывод. На выходах транзисторных ключей имеются защитные диоды, что позволяет управлять с помощью этой микросхемы индуктивными нагрузками при минимуме внешних компонентов. В нашей конструкции использовано только четыре транзисторных ключа. Электрическая схема подключения шагового двигателя показана на рис. 2.

Обратите внимание, что первый вывод шагового двигателя, идентифицированный с помощью описанной ранее процедуры, подсоединен к линии DO параллельного порта (разумеется, через микросхему ULN2003). Каждый следующий вывод подсоединен к соответствующему выводу параллельного порта. Если порядок подключения выводов шагового двигателя неверный, вал мотора будет не вращаться, а лишь поворачиваться на небольшой угол из одной стороны в другую и наоборот. Общий провод схемы подсоединен к источнику питания не напрямую, а через стабилитрон. Это сделано с целью защиты схемы от напряжения ЭДС самоиндукции, возникающего в катушках при резком выключении напряжения питания схемы.
Программа, разработанная для описываемого устройства, достаточно проста. Она управляет выводами порта и формирует на них специальную последовательность импульсов. Эта последовательность показана в табл. 2 и 3.
Различие между алгоритмами (полным и половинным углом поворота вала на один шаг) состоит в том, что во втором случае скорость вращения оказывается в два раза ниже, при этом в два раза уменьшается угол поворота вала двигателя на каждом шаге, т. е. увеличивается разрешающая способность системы. Также во втором случае примерно в два раза увеличивается потребляемая мощность, и кроме того, двигатель способен развивать в два раза больший крутящий момент.
Для изменения направления вращения вала двигателя необходимо формировать указанные последовательности в обратном порядке.

Таблица 2

№ шагаDOD1D2D3
11000
20100
30010
40001
Таблица 3

№ шагаDOD1D2D3
11000
21100
30100
40110
50010
60011
70001
80001

Ниже приведен короткий пример программы для Turbo С, работающей в операционной системе MS-DOS. Эта программа заставляет шаговый двигатель вращаться в прямом направлении, в режиме полного угла на один шаг.

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