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

Обновлено: 22.11.2024

Я создаю вещи, играю музыку, а иногда делаю вещи, которые играют музыку. Фанат пончиков, Arduino, робототехники BEAM, скейтбординга, Бакминстера Фуллера и мигающих огней.

@дональд

Шаговые двигатели — невероятно точный и невероятно полезный инструмент в арсенале любого Создателя. Они являются сердцем любого станка с ЧПУ, робота, робота или 3D-принтера. Откройте шаговый двигатель, и вы обнаружите плотную, механически красивую массу медных катушек, шестерен и магнитов. Именно эта сложность делает еще более удивительным тот факт, что инженер Proto G взял на себя как 3D-печать, так и ручной завод собственного шагового двигателя.

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

Чтобы помочь вам создать собственную версию этого шагового двигателя, Proto G создал Instructable и разместил все свои файлы 3D-печати и свой код Arduino в своем аккаунте на Google Диске. Но будьте осторожны, 3D-печать — это самая простая часть.

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

Между видео и файлами 3D-принтера, кодом Arduino и походом в магазин бытовой техники у вас есть почти все, что вам нужно, чтобы запустить собственный шаговый двигатель. Когда вы закончите, сам двигатель может быть не самой практичной альтернативой покупке точно изготовленного и откалиброванного, но выглядит так, будто им весело хвастаться. Мне также нравится, что этот проект представляет собой смесь высоких и низких технологий, сочетая Arduino и 3D-печать с гвоздями, проволокой, лентой и магнитами.

1 мысль о «3D-печать собственного шагового двигателя»

Одним из самых простых и недорогих способов управления шаговыми двигателями является подключение драйвера двигателя L298N к Arduino. Он может контролировать как скорость, так и направление вращения любого биполярного шагового двигателя, такого как NEMA 17.

Если вы планируете создать собственный 3D-принтер или станок с ЧПУ, вам потребуется управлять несколькими шаговыми двигателями. И иметь один Arduino, управляющий всеми ими, — не лучший вариант. Вместо этого рекомендуется использовать специальный драйвер шагового двигателя, например A4988.

Если вы планируете создать собственный 3D-принтер или станок с ЧПУ, вам потребуется управлять несколькими шаговыми двигателями. И.

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

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

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

Однако скорость двигателя определяется тем, как часто на эти катушки подается питание.

На изображении ниже показано управление шаговым двигателем с помощью H-Bridge.

Привод биполярного шагового двигателя (NEMA 17)

В нашем эксперименте мы использовали биполярный шаговый двигатель NEMA 17 с номинальным напряжением 12 В. Он предлагает 200 шагов на оборот и может работать со скоростью 60 об/мин. Если у вас еще нет этих спецификаций, узнайте сейчас, так как они понадобятся вам для скетча.

Прежде чем мы начнем подключать двигатель к модулю, вам необходимо определить провода A+, A-, B+ и B- на двигателе, который вы планируете использовать. Лучший способ сделать это — проверить техпаспорт двигателя. Для нашего мотора это красный, зеленый, синий и желтый цвета.

Подключения довольно просты. Начните с подключения внешнего источника питания 12 В к клемме VCC. И оставьте перемычку 5V-EN на месте.

Вам также необходимо оставить обе перемычки ENA и ENB на месте, чтобы двигатель всегда был включен.

Теперь подключите входные контакты (IN1, IN2, IN3 и IN4) модуля L298N к четырем цифровым выходным контактам Arduino (8, 9, 10 и 11).

Наконец, подключите провода A+, A-, B+ и B- от шагового двигателя к модулю, как показано на рисунке ниже.

Подключение шагового двигателя NEMA 17 к L298N и Arduino

Код Arduino — управление шаговым двигателем NEMA 17

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

Пояснение кода:

Скетч начинается с включения библиотеки Arduino Stepper. Библиотека шаговых двигателей поставляется в комплекте с Arduino IDE и обеспечивает последовательность импульсов, которые мы будем отправлять на наш шаговый двигатель.

После включения библиотеки мы определяем переменную с именем stepsPerRevolution. Как следует из названия, это количество шагов на оборот, на которое рассчитан наш двигатель. В данном случае это 200, т. е. 1,8 градуса на шаг.

Далее мы создаем экземпляр библиотеки степпера. В качестве параметра принимает количество шагов на оборот двигателя и штыревых соединений Arduino.

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

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

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

Сегодня я поделюсь своими знаниями о повторном использовании старых шаговых двигателей, извлеченных из принтеров.

Идентификация шаговых двигателей

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

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

Коллекция шаговых двигателей.
Коллекторный двигатель постоянного тока.

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

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

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

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

В этом уроке мы будем работать с биполярными двигателями.

Что вам нужно

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

Контроллер двигателя

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

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

Зеленый мотор-контроллер предназначен для небольших униполярных моторов.

Источник питания

Шаговые двигатели, используемые в принтерах, как правило, работают от напряжения 24 В, но обычно они работают при более низком напряжении, хотя и с меньшим крутящим моментом и меньшей скоростью вращения. Большинство устройств, которые я пробовал, раскручиваются при напряжении 12–14 В при токе около 400 мА.

Ток является важным фактором, особенно если вы решите питать двигатели от сети 24 В. Большинство дешевых контроллеров двигателей имеют мощность от 20 до 25 Вт. Двадцать четыре вольта при 1000 мА составляют 24 Вт, а это означает, что вам нужно будет поддерживать ток ниже этого значения, чтобы не потреблять больше энергии, чем может выдержать ваш контроллер двигателя.

На данный момент мой блок питания настроен на консервативное 14 В при 460 мА (6,4 Вт), и, кажется, это работает со всеми двигателями, которые я пробовал до сих пор.

Если вам нужна помощь в настройке источника питания с переменным током и напряжением, см. мое руководство «Создание регулируемого источника питания с использованием регуляторов LM317».

Определение выводов

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

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

Шаговый двигатель от принтера Canon.

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

Шаговый двигатель с плоским серым кабелем и синим краем.

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

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

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

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

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

Подключение к контроллеру мотора.

Биполярные контроллеры шаговых двигателей имеют четыре винтовых клеммы для двигателя (обычно по две с каждой стороны) и три винтовых клеммы на передней панели для входа напряжения (Vin), заземления (GND) и 5 ​​В. Не подключайте ничего к клемме 5v. Подключите блок питания к Vin и GND.

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

OUTA, OUTB, OUTC, OUTD

ВЫХОД1, ВЫХОД2, ВЫХОД3, ВЫХОД4

MOTA, MOTB, MOTC, MOTD

МТ1, МТ2, МТ3, МТ4

В этом примере я использую контроллер с "OUTA", "OUTB" и т. д.

Первая пара проводов двигателя идет OUTA и OUTB. Вторая пара идет к OUTC и OUTD

Теперь подключим контроллер мотора к Arduino или Raspberry Pi.

Я предполагаю, что вы знакомы с использованием контактов GPIO на Arduino или Pi. Если вам нужна помощь, оставьте комментарий внизу этой страницы, и я свяжусь с вами, чтобы помочь.

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

Какие контакты GPIO вы выберете, не имеет значения, если вы измените контакты в коде на соответствующие.

Контроллер мотора должен иметь четыре контакта с именами in1, in2, in3 и in4, а также два контакта ENB. Если к контактам ENB прикреплены перемычки, удалите их.

В моей конфигурации Arduino у меня есть GPIO 12 и 13, подключенные к контактам ENB на контроллере мотора. У меня GPIO 2 подключен к in1, GPIO 3 к in2, GPIO 6 к in3 и GPIO 7 к in4. Если вы используете эти контакты, код, который я предоставляю, будет работать из коробки. Если вы используете другие булавки, вам нужно будет изменить код в соответствии с вашими потребностями.

Код

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

Мы начнем с кода Arduino, а затем попробуем код Python для Raspberry Pi.

Ардуино

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

Теперь я подробно расскажу об этом.

Эта строка указывает плате Arduino использовать stepper.h, библиотеку встроенных функций для запуска шаговых двигателей. Есть и другие библиотеки степперов, о которых я планирую рассказать в будущем, но сегодня мы воспользуемся этой.

Здесь мы устанавливаем размер шага для вашего двигателя. На некоторых двигателях размер шага указан на этикетке, на других нет.

Если вы знаете размер шага для вашего двигателя, вы просто делите 360 на размер шага. Например, шаговый двигатель с углом поворота 3,75 градуса делает 96 шагов на один оборот.

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

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

Эти строки сообщают Arduino, какие контакты являются контактами включения.

Эта строка устанавливает пошаговую последовательность, которую будет генерировать код.

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

Эта строка задает скорость в оборотах в минуту (об/мин), если у вас правильный размер шага.

Эти линии поворачивают двигатель на 980 шагов (10 оборотов для двигателя с углом поворота 3,75 градуса) в разных направлениях

Это все, что касается Arduino.

Python на Raspberry PI

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

А сейчас мне нужен перерыв. Я продолжу этот урок в ближайшее время.

Комментарии

Оставить комментарий к этой статье

Пожалуйста, будьте вежливы: критика полезна, оскорбления — нет! Не используйте оскорбительные выражения в комментариях

Политические и религиозные комментарии не публикуются.

Оставить комментарий к этой статье

Пожалуйста, будьте вежливы: критика полезна, оскорбления — нет! Не используйте оскорбительные выражения в комментариях

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

Однако есть ряд людей (в число которых до недавнего времени входил и я), которые не знали бы, как заставить двигатель работать, если бы он был им передан. Итак, давайте узнаем кое-что сегодня. Давайте научимся использовать шаговый двигатель!

Шаг 1. Используемые материалы

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

  • Сам шаговый двигатель, 24BYJ48A
  • Транзисторная матрица Дарлингтона, ULN2803A
  • микроконтроллер Digilent'schipKIT uC32
  • а также макетная плата и провода макетной платы

Шаговый двигатель и транзисторная матрица Дарлингтона доступны в стартовом наборе chipKIT.

Шаг 2. Теория шагового двигателя

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

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

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

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

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

Шаг 4. Сравнение униполярных и биполярных шаговых двигателей

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

Разница между этими двумя типами заключается в уровнях напряжения. Униполярный шаговый двигатель работает только с положительным напряжением, поэтому высокое и низкое напряжения, подаваемые на электромагнитные катушки, будут примерно равны 5 В и 0 В. Биполярный шаговый двигатель имеет две полярности, положительную и отрицательную, поэтому его высокое и низкое напряжения будут примерно 2,5 В и -2,5 В.

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

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

Шаг 5. Провода шагового двигателя

Разные шаговые двигатели могут иметь разное количество проводов, обычно 4, 5, 6 или 8 проводов. 4-проводная схема поддерживает только биполярные шаговые двигатели, так как отсутствует центральный провод.

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

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

Шаг 6. Итак, питание или заземление?

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

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

Платы Digilent работают при напряжении 3,3 В, поэтому нам потребуется усилить их сигналы до 5 В. Мы могли бы использовать четыре операционных усилителя, чтобы довести сигналы до 5 В, но я бы не хотел возиться со всеми резисторами, которые мне нужно было бы использовать. Вместо этого я буду использовать массив транзисторов Дарлингтона. Эта микросхема имеет несколько пар транзисторов Дарлингтона.

Короче говоря, пара транзисторов Дарлингтона состоит из двух NPN-транзисторов, расположенных таким образом, что когда микроконтроллер отправляет высокое логическое напряжение, на выходе пары транзисторов будет низкое напряжение (0 В), что приводит к ток от центральной ответвленной линии 5 В.

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

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

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

В полношаговом приводе всегда «включены» два электромагнита. Чтобы повернуть центральный вал, один из электромагнитов выключается, а следующий включается, заставляя вал вращаться на 1/4 зуба (по крайней мере, для гибридных шаговых двигателей). Этот стиль, когда два электромагнита всегда включены, имеет наибольший крутящий момент из всех стилей, но самый большой размер шага.

В полушаговом приводе чередуются два электромагнита и только один включенный электромагнит. Чтобы вращать центральный вал, на первый электромагнит подается питание в качестве первой ступени, затем также подается питание на второй, в то время как первый все еще питается для второй ступени. Третий шаг выключает первый электромагнит, а четвертый шаг включает третий электромагнит, при этом второй электромагнит все еще находится под напряжением. Эта модель, показанная на рисунке выше, использует в два раза больше шагов, чем полношаговый привод, допуская половину размера шага, но также имеет меньший общий крутящий момент, поскольку не всегда два электромагнита удерживают центральный вал на месте.< /p>

Неудивительно, что микрошаг имеет наименьший возможный размер шага из всех этих стилей. Одним из наиболее распространенных способов выполнения микрошагов является «синусно-косинусный микрошаг». Это означает, что ток, протекающий через каждую катушку, управляется таким образом, что создается синусоидальная/косинусоидальная волна. «Перекрытие» волн между двумя катушками приводит к большому количеству подэтапов. Фактическое количество подшагов зависит от того, сколько различных изменений тока вы можете обеспечить для катушек, но микрошаг по-прежнему будет иметь наименьшие размеры шага и, следовательно, наиболее точное движение из всех стилей. Крутящий момент, связанный с этим стилем, зависит от того, какой ток протекает через катушки в определенное время, но всегда будет меньше, чем при полном шаговом приводе.

Шаг 8: Планы для нашего шагового двигателя

Я обнаружил, что этот конкретный шаговый двигатель, как гибридный шаговый двигатель, должен последовательно включать свои четыре электромагнита примерно 200 раз (в отличие от предположительно 64 раз, которые я также видел), чтобы повернуть центральный вал на полный 360 градусов. Это означает, что каждый из примерно 200 зубов находится на расстоянии около 1,8 градуса друг от друга. Я не определил точное число, так как трудно сказать, когда был сделан точный полный оборот, а не полный оборот плюс зуб.

Лично мне не нужно иметь размер шага меньше, чем ~1,8 градуса, и я заинтересован в максимально возможном крутящем моменте, поэтому я продемонстрирую (с кодом), как использовать полношаговый привод, который всегда имеет два шага. электромагнитов включается одновременно. Вы можете узнать, как использовать полушаговый привод в коде, здесь.

Шаг 9. Создание схемы. Часть 1. Питание

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

Создайте шину 5 В и шину заземления на макетной плате, подключив источник питания 5 В на uC32 к положительной шине макетной платы и соединив один из контактов заземления на uC32 с отрицательной шиной на макетной плате.

Затем, используя схему выводов для ULN2803A, соедините контакт GND (контакт 9) с отрицательной шиной, а контакт COM (контакт 10) с положительной шиной.

Наконец, поскольку я разработал схему для управления униполярным шаговым двигателем, подключите 5-й провод (красный в случае этого шагового двигателя) к контакту COM.

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

Шаг 10. Создание схемы: часть 2 — сигнальные линии

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

Подключите четыре пронумерованных (а не буквенных) цифровых контакта на uC32 к четырем входам массива транзисторов Дарлингтона. Я использовал цифровые контакты 34, 32, 30 и 28 на uC32 и входы 1B, 2B, 3B и 4B на транзисторной матрице Дарлингтона соответственно.

Затем подключите выходы пар транзисторов (в данном случае 1C, 2C, 3C и 4C) к соответствующему проводу на шаговом двигателе. Я имею в виду, что вы хотите, чтобы ваши выходы последовательно подключались к катушкам шагового двигателя.

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

Шаг 11. Выполнение полного шага в коде

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

Чтобы подать питание на определенную катушку, она должна получить сигнал низкого (0 В) напряжения, чтобы ток мог течь от центральной линии 5 В с отводом к концу катушки с 0 В. Для пары транзисторов Дарлингтона это означает, что нам нужно в цифровом виде записать вывод, связанный с этой катушкой, в логическое высокое напряжение. Это имеет смысл; поднимите контакт на высокий уровень, чтобы включить электромагнит, и на низкий уровень, чтобы выключить электромагнит.

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

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

Вложения

Шаг 12. Мысли на прощание

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

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

Загляните в блог Digilent, чтобы узнать, какие еще интересные вещи мы с командой Digilent делаем!

Читайте также: