- Шаговый двигатель:
- ULN2003 Драйвер шагового двигателя:
- Необходимые компоненты
- Принципиальная схема и объяснение
- Код Пояснение
Шаговый двигатель - это специально разработанный двигатель, который вращается ступенчато. Скорость шагового двигателя зависит от мощности приложенного к нему электрического сигнала. Различные шаблоны могут управлять направлением и типом вращения шагового двигателя. В основном доступны два типа шаговых двигателей: униполярный и биполярный. Unipolar проще в эксплуатации, управлении и доступе. Здесь, в этом руководстве, мы связываем шаговый двигатель с микроконтроллером PIC PIC16F877A.
Для этого проекта мы используем шаговый двигатель 28BYJ-48, который дешев и легко доступен. Это униполярный шаговый двигатель 5 В постоянного тока. Мы также используем модуль, доступный с этим двигателем, который состоит из микросхемы драйвера шагового двигателя ULN2003. ULN2003 - это массив пар Дарлингтона, который полезен для управления этим двигателем, поскольку микроконтроллер PIC не может обеспечить достаточный ток для управления. ULN2003A способен управлять нагрузкой 500 мА с пиковым током 600 мА.
Шаговый двигатель:
Давайте посмотрим на спецификацию шагового двигателя 28BYJ-48 из таблицы.
Как вращать шаговый двигатель:
Если мы увидим таблицу, мы увидим распиновку.
Внутри двигателя доступны две катушки с резьбой по центру. Красный провод является общим для обоих, которые будут подключены к VCC или 5V.
Другие 4 провода - розовый, красный, желтый и синий - будут управлять вращением в зависимости от электрического сигнала. Также, в зависимости от движения, этим мотором можно управлять в 3 шага. Режим полного привода, режим Half Drive и режим Wave привод.
Три режима движения шагового двигателя:
Полный привод: Если два электромагнита статора находятся под напряжением одновременно, двигатель будет работать с полным крутящим моментом, называемым режимом последовательности полного привода.
Шаг |
Синий |
Розовый |
Желтый |
апельсин |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
Полупривод: когда поочередно запитаны одна или две фазы, двигатель будет работать в режиме половинного привода. Используется для увеличения углового разрешения. Недостатком этого движения является меньший крутящий момент.
Шаг |
Синий |
Розовый |
Желтый |
апельсин |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5 |
0 |
0 |
1 |
1 |
6 |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8 |
1 |
0 |
0 |
0 |
Волновой привод: в этом режиме включен один электромагнит статора. Он выполняет 4 шага, как в режиме полного привода. Он потребляет небольшую мощность с низким крутящим моментом.
Шаг |
Синий |
Розовый |
Желтый |
апельсин |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
Ранее мы сопоставляли шаговый двигатель с другими микроконтроллерами:
Шаговым двигателем также можно управлять без микроконтроллера, см. Эту схему драйвера шагового двигателя.
ULN2003 Драйвер шагового двигателя:
Давайте разберемся с отрывной платой, которая состоит из микросхемы ULN2003. Важно понимать, что это за штырь.
Желтая часть используются для подключения двигателя, Красная часть демонстрирует перемычку, это важно поместить перемычку, поскольку это позволит столкнувшемуся диоду защиты для двигателя . Розовый вход предназначен для подключения микроконтроллера.
Мы будем вращать двигатель в режиме полного привода по часовой стрелке и снова вращать его в режиме волнового привода против часовой стрелки. Посмотрите демонстрационное видео в конце.
Необходимые компоненты
- Pic16F877A
- Комплект для программирования
- Макетная плата
- Кристалл 20 МГц
- Конденсатор дисковый 33пФ - 2шт
- Резистор 4,7 кОм
- Проволока и булавки Berg
- Коммутационная плата ULN2003A вместе с шаговым двигателем 28BYJ-48.
- Дополнительные провода для подключения
- Блок питания 5 В или сетевой адаптер с номиналом 500 мА
Принципиальная схема и объяснение
На принципиальной схеме слева показан PIC16F877A, а справа - соединение ULN2003A. ULN2003 и часть шагового двигателя находятся внутри коммутационной платы.
Подключение платы Breakout к блоку микроконтроллера будет:
A. IN1 => Pin33
B. IN2 => Pin34
C. IN3 => Pin35
D. IN4 => Pin36
Я подключил все компоненты и ваше оборудование для вращения шагового двигателя с микроконтроллером PIC готово.
Если вы новичок в использовании микроконтроллера PIC, следуйте нашим руководствам по микроконтроллеру PIC, в которых говорится в разделе «Начало работы с микроконтроллером PIC».
Код Пояснение
Полный код для этого драйвера шагового двигателя на основе PIC приведен в конце этого руководства с демонстрационным видео. Как всегда, сначала нам нужно установить биты конфигурации в микроконтроллере pic, а затем начать с функции void main .
Это макросы для битов конфигурации микроконтроллера и файлов заголовков библиотеки.
#define _XTAL_FREQ 200000000 // Частота кристалла, используемая в задержке #define speed 1 // Диапазон скоростей от 10 до 1 10 = самый низкий, 1 = самый высокий #define steps 250 // сколько шагов потребуется #define по часовой стрелке 0 // по часовой стрелке macro #define anti_clockwise 1 // макрос направления против часовой стрелки
В первой строке мы определили частоту кристалла, которая необходима для процедуры задержки. Другие макросы используются для определения параметров, связанных с пользователем.
Если вы видите код, то есть три функции, определенные для привода двигателя в трех режимах: по часовой стрелке и против часовой стрелки. Вот три функции:
1. void full_drive (направление символа)
2. void half_drive (направление символа)
3. void wave_drive (направление символа)
Проверьте определения этих функций в полном коде, приведенном ниже:
Теперь в функции void main мы приводим двигатель в движение по часовой стрелке, используя режим полного привода, в зависимости от шагов, и после задержки в несколько секунд мы снова вращаем двигатель против часовой стрелки, используя режим волнового привода.
недействительный основной (недействительный) { system_init (); while (1) { / * Запустите двигатель в режиме полного привода по часовой стрелке * / for (int i = 0; i
Вот как мы можем вращать шаговый двигатель с помощью микроконтроллера PIC. Шаговые двигатели очень полезны в станках с ЧПУ, робототехнике и других встроенных приложениях.