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

Uln2003 схема подключения шагового двигателя

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

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

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

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

#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.

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

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

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

Файлы для скачивания

управления шаговым двигателем 28BYJ-48 с помощью Энкодера.ino4 Kb368Вы можете скачать файл.
управления шаговым двигателем 28BYJ-48 с помощью кнопки и потенциометра .ino5 Kb333Вы можете скачать файл.
с использованием библиотеки Stepper.ino1 Kb272Вы можете скачать файл.
Даташит на шаговый двигатель 28BYJ-48.pdf193 Kb182Вы можете скачать файл.
Читать еще:  Что такое дизеление двигателя приора

Работа схемы

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

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

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

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

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

Загрузим скетч в память Arduino. Запустим его. Вал двигателя не вращается. Чтобы задать скорость вращения, нужно передать в последовательный порт значение от 0 до 255. Направление вращения определяется знаком числа.

Подключимся с помощью любой терминалки к порту, передадим число «100» – двигатель начнёт вращаться со средней скоростью. Если подадим «минус 100», то он начнёт вращаться с той же скоростью в противоположном направлении.

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

А вот так выглядит подключение подключение коллекторного двигателя к Arduino в динамике:

Arduino + Stepper (ULN2003A)

By telleropnul, October 25, 2016

Description

Unipolar stepper motors have 5, 6 or 8 wires. They do not require a dual H-bridge to drive them. Instead, you can use a transistor for each phase and a flyback diode to prevent voltage spikes when the power to the coil is turned off and the stepper motor acts like a generator briefly (back-emf).

There are integrated circuits (chips) we can use that have all the required components on board. This example uses an ULN2003A chip to drive a unipolar 5,6 or 8 wire stepper motor.

ULN2003A

The ULN2003A is an array of seven NPN Darlington transistors capable of 500mA, 50V output. It features common-cathode flyback diodes for switching inductive loads.

The ULN2003 is known for its high-current, high-voltage capacity. The drivers can be paralleled for even higher current output. Even further, stacking one chip on top of another, both electrically and physically, has been done.

  • 500 mA rated collector current (single output)
  • 50 V output (there is a version that supports 100 V output)
  • Includes output flyback diodes
  • Inputs compatible with TTL and 5V CMOS logic

Hardware Required

  • Arduino board
  • Arduino ULN2003A based stepper driver board
  • 5, 6 (or 8) wire stepper motor (i.e. “28BYJ-48”)

28BYJ-48 unipolar stepper motor

The 28YBJ-48 stepper motor operates on 5Vdc and has built-in reduction gears. It has good torque for its size, but has relatively slow motion. It is ideal for use with Arduino boards as the stepper motor can be powered from the Arduino and the connector fits straight into ULN2003A driver boards.

28BYJ-48 specifications

  • 4 Phase 5 Wire.
  • Voltage : 5V DC
  • Current : 160 mA per winding (320 mA in 4-step mode) Measured: 250mA stopped, 200 mA running fast.
    If powered directly from an Arduino output pin, the current provided will be far less.
  • Resistance : 30 Ω per coil winding from Red wire to any coil.
  • Step Angle 8-Step sequence (Internal Motor without reduction gears): 5.625° (64 steps per revolution)
  • Step Angle 4-Step sequence (Internal Motor without reduction gears): 11.25° (32 steps per revolution)
  • Gear Reduction ratio: 1 / 64:
    • 64*64 = 4096 steps per output shaft revolution in 8-step sequence.
    • 32*64 = 2048 steps per output shaft revolution in 4-step sequence.
    • Note: The Arduino “Stepper Library” runs in 4-step mode
  • No-Load Pull-Out Frequency : 800pps
  • No-Load Pull-In Frequency : 500pps
  • Pull-In Torque : ≥ 78.4mN.m
  • Wiring Instruction : A (Blue), B (Pink), C (Yellow), D (Orange), E (Red, Mid-Point)
  • Weight : 30g

Wiring diagram for this model unipolar 5 wire stepper motor:

  • Coil 1 = Blue / Pink wire
  • Coil 2 = Yellow / Orange wire
  • Red = Common (center tap)

ULN2003A driver boards

These are the two most common ULN2003A driver boards. You can use these boards to drive DC motors or unipolar stepper motors.

The advantage of the below board is that all 7 inputs (IN1..7) and all 7 outputs (A..G) of the ULN2003A are accessible.

Circuit

The 28BYJ-48 stepper motor plugs straight into the connector.

Читать еще:  Infiniti g25 сколько масла в двигателе

If you use a different stepper motor requiring an external power source you may need to wire differently like in the picture below. If the stepper motor vibrates instead of rotates, you may need to change the wiring sequence.

Example 1

Example 2

Connect a >10k Ohm potentiometer between +5V and GND with the slider connected to pin A0. This will be used to change the speed of the stepper motor.

Example 3

Using the Arduino stepper library.

4 Step Sequence: AB-BC-CD-DA
This is what the Arduino STEPPER Library uses.

The 8-step sequence uses only 1 coil on, then 2, then 1… etc.
8 Step Sequence: A – AB – B – BC – C – CD – D – DA – A

DRIVER
LED
LETTER
MOTOR WIREMOTOR WIRE COLORstepstepstepstepstepstepstepstep
4-STEPSEQUENCE1234
8-STEPSEQUENCE12345678
5red++++++++
D4orange111
C3yellow111
B2pink111
A1blue111

Example 4

Using the AccelStepper library we can accelerate and decelerate stepper motors.

Русские Блоги

Базовое введение ULN2003

Обзор ULN2003

ULN2003 — это сильноточная композитная матрица транзисторов с высоким выдерживаемым напряжением, состоящая из семи кремниевых композитных транзисторов NPN.Обычно используют пластиковую упаковку ДИП-16 или СОП-16.

Основные особенности ULN2003:

  • Каждая пара Дарлингтона в ULN2003 подключена последовательно с базовым резистором 2,7 кОм,Он может быть напрямую подключен к цепям TTL и CMOS при рабочем напряжении 5 В и может напрямую обрабатывать данные, для обработки которых изначально требовались стандартные логические буферы.
  • ULN2003 имеет высокое рабочее напряжение и большой рабочий ток, а потребляемый ток может достигать 500 мА, а в выключенном состоянии он может выдерживать напряжение 50 В. Выход также может работать параллельно с высоким током нагрузки.

Роль ULN2003

ULN2003 — этоСильноточный приводной массив, в основном используемый в схемах управления, таких как однокристальные микрокомпьютеры, интеллектуальные счетчики, ПЛК, карты цифрового вывода и т. Д., Может напрямую управлять нагрузками, такими как релеУровень входа 5VTTL, выход может достигать 500 мА / 50 В.

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

Схема контактов ULN2003 и функции

Схема контактов ULN2003

Функция контакта ULN2003

  • Контакт 1: клемма импульсного входа ЦП, порт соответствует клемме выхода сигнала;
  • Контакт 2: клемма импульсного входа процессора;
  • Контакт 3: клемма импульсного входа ЦП;
  • Контакт 4: клемма импульсного входа ЦП;
  • Контакт 5: клемма импульсного входа ЦП;
  • Контакт 6: клемма импульсного входа процессора;
  • Контакт 7: клемма импульсного входа ЦП;
  • Контакт 8:Земля
  • Контакт 9:Этот вывод является общим концом катодов семи внутренних диодов свободного хода, а анод каждого диода подсоединен к коллектору каждой лампы Дарлингтона. При использовании в индуктивной нагрузке этот вывод подключается к положительному полюсу источника питания нагрузки для обеспечения свободного хода. Если этот вывод заземлен, на самом деле, коллектор трубки Дарлингтона подключен к земле;
  • Контакт 10: Клемма выхода импульсного сигнала, соответствующая 7-контактной клемме входа сигнала;
  • Контакт 11: Клемма выхода импульсного сигнала, соответствующая 6-контактной клемме входа сигнала;
  • Контакт 12: Клемма выхода импульсного сигнала, соответствующая 5-контактной клемме входа сигнала;
  • Контакт 13: Клемма выхода импульсного сигнала, соответствующая 4-контактной клемме входа сигнала;
  • Контакт 14: Клемма выхода импульсного сигнала, соответствующая 3-контактной клемме входа сигнала;
  • Контакт 15: Клемма выхода импульсного сигнала, соответствующая контакту 2 входной клеммы сигнала;
  • Контакт 16: Клемма выхода импульсного сигнала, соответствующая контакту 1 входной клеммы сигнала.

Схема приложения привода принципа работы ULN2003

ULN2003 — это композитный массив транзисторов с высоким выдерживаемым напряжением, сильноточный, состоящий из семи кремниевых композитных транзисторов NPN, каждая пара Дарлингтона соединена последовательно с базовым резистором 2,7 кОм, и он может взаимодействовать с цепями TTL и CMOS при рабочем напряжении 5 В. С прямым подключением может напрямую обрабатывать данные, для обработки которых изначально требовались стандартные логические буферы.

LN2003 также является 7-канальной схемой инвертора, то есть, когда на входе высокий уровень, на выходе ULN2003 низкий уровень; когда на входе низкий уровень, на выходе ULN2003 высокий уровень.

ULN2003 — это схема без затвора, включающая 7 блоков, каждое из которых может управлять током до 500 мА, а контакт 9 можно оставить свободным. Например, если контакт 1 является входным, а контакт 16 — выходным, подключите нагрузку между VCC и контактом 16 вместо контакта 9.

В соответствии с вышеизложенным принципом, основной пример схемы прикладной схемы управления ULN2003, функция каждого вывода отмечена на ней:

Здесь следует отметить следующее:Хотя согласно официальным документам, входное управляющее напряжение должно составлять 5 В, на самом деле сигналы, для которых требуется только более 2,5 В, можно в основном рассматривать как высокий уровень. Другими словами, высокоуровневый выход порта ввода-вывода однокристального микрокомпьютера 3,3 В может напрямую выполнять управляющий ввод ULN2003.

Читать еще:  Шевроле авео т250 какой двигатель лучше

Представьте практический пример прикладной схемы привода ULN2003:

В целом: контакты 1-7 — это входные сигналы; контакты 10-16 — выходные сигналы, контакт 8 — заземлен, а контакт 9 подключен к VCC.

  • Контакт 1 вводит сигнал RL, а соответствующий выходной контакт 16 управляет реле. Когда контакт 1 вводит высокий уровень, реле включено;
  • Контакты 2-5 служат для ввода сигналов D, C, B, A, а соответствующие выходные контакты 15, 14, 13, 12 используются как четырехфазные для управления четырехфазными пятипроводными шаговыми двигателями;
  • Контакт 6 вводит сигнал SPK, а соответствующий выходной контакт 11 управляет динамиком. Когда контакт 6 вводит высокий уровень, динамик включается;
  • Контакт 7 вводит сигнал M0T, а соответствующий выходной контакт 10 управляет двигателем постоянного тока. Когда контакт 6 вводит высокий уровень, двигатель постоянного тока запускается.

В настоящее время вы, вероятно, можете понять суть ULN2003:

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

Приводной шаговый двигатель STM32

Подключение оборудования

  • Микроконтроллер: STM32F103ZET6
  • Шаговый двигатель: 28BYJ-48
  • Схема привода: плата привода микросхемы ULN2003[TELESKY] Шаговый двигатель 5 В + плата драйвера ULN2003 Плата тестового модуля 5 В (1 комплект)
  • Контактное соединение: IN1: PC3, IN2: PC2, IN3: PC0, IN4: PC13, OUT1: шаговый двигатель 4, OUT2: шаговый двигатель 3, OUT3: шаговый двигатель 2, OUT4: шаговый двигатель 1, шаговый Двигатель 5: положительный полюс источника питания VCC (5 В), GND: общая земля, COM: положительный полюс источника питания VCC (5 В).
  • Источник питания 5 В постоянного тока: вывод напряжения 5 В на плате разработки STM32F103ZET6 (VCC на рисунке ниже).

Как упоминалось ранее:Высокий уровень 3,3 В порта ввода-вывода STM32 может использоваться в качестве входного сигнала управления ULN2003., Я здесь еще раз подчеркиваю.

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

Программа управления STM32

Шаговый двигатель — это исполнительное устройство, преобразующее электрические импульсы в угловое смещение. С точки зрения непрофессионала: когда шаговый драйвер получает импульсный сигнал, он приводит в действие шаговый двигатель для поворота на фиксированный угол (то есть угол шага) в заданном направлении. Мы можемКонтролируя количество импульсов для управления угловым смещением, чтобы достичь цели точного позиционирования; в то же время мы можем контролировать скорость и ускорение вращения двигателя, контролируя частоту импульсов, чтобы достичь цели регулирования скорости

Шаговый двигатель 28BYJ48 — это четырехфазный восьмитактный двигатель с напряжением DC5V DC12V. Когда на шаговый двигатель в определенном порядке подается серия непрерывных управляющих импульсов, он может непрерывно вращаться. Каждый импульсный сигнал вызывает однократное изменение включенного состояния фазной или двухфазной обмотки шагового двигателя, что соответствует повороту ротора на определенный угол. Когда изменение включенного состояния завершает цикл, ротор вращается на шаг зубьев. Четырехфазные шаговые двигатели могут работать в разных режимах подачи питания.Обычные методы подачи питания включают одно (однофазное включение обмотки) четырехтактное (ABCDA . ), двойное (двухфазное включение обмотки) четырехтактное (AB-BC-CD- DA-AB . ), четырехфазный восьмибитный (A-AB-B-BC-C-CD-D-DA-A . ).

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

Интеллектуальная рекомендация

Kindeditor Cross-Domain Upload Picture Configuration Rich Text Recisting

Эта статья используется для решения конфигурации Brose доменной доменной домены, а интерфейс загрузки сервера использует Java. kindeditor Позвоните в интерфейс загрузки сервера необходимо, чтобы верну.

Kaggle лучший опыт конкуренции

 [Галантерея] Обмен опытом Kaggle Data Mining (воспроизведено) Метки:Сбор данныхУченый данныхМашинное обучениеkaggle 2017-05-21 19:25 99 человек читаюткомментарий(0) Collect отчет Эта стат.

Схема одного из каналов в микросхемах ULN2003A, ULQ2003A и ULN2003AI.

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

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

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