Оглавление:
Видео: Приспособление для испытания шагового двигателя: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
У меня практически не было опыта управления шаговыми двигателями, поэтому перед проектированием, печатью, сборкой и программированием аналоговых часов с автокоррекцией «Antique» (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/)) используя шаговый двигатель, я решил спроектировать и протестировать программное обеспечение, используя гораздо более простое приспособление для тестирования. Если вы, как и я, практически не имеете опыта работы с шаговыми двигателями, то, надеюсь, вам поможет это краткое руководство с исходным кодом.
Для тестового приспособления требуются следующие компоненты:
- Макетная плата.
- Adafruit Feather ESP32 с женскими заголовками.
- Плата шагового контроллера на базе ULN2003.
- Шаговый двигатель 28BYJ-48 5 В постоянного тока.
- Некоторые перемычки между мужчинами и женщинами.
- Литиевая батарея Adafruit 3,7 В постоянного тока.
- Стрелка индикатора, напечатанная на 3D-принтере.
Шаговый контроллер, шаговый двигатель и перемычки, которые я использовал, включены в 5 упаковок, которые я приобрел в качестве набора онлайн (ищите «Шаговый двигатель TIMESETL 5шт. Постоянного тока 5В 28BYJ-48 + 5шт. Плата драйвера ULN2003 + 40шт. ).
Батарея не обязательна. Обратите внимание на выход батареи 3,7 В постоянного тока, но плата шагового контроллера и шаговый двигатель имеют 5 В постоянного тока. Тестовый прибор будет работать только от батареи, даже при более низком напряжении.
Я включил видео, показывающее шаги, необходимые для загрузки программного обеспечения в ESP32, подключения ESP32 к контроллеру шагового двигателя и подключения шагового двигателя и аккумулятора.
Шаг 1: Электромонтаж
Я использовал перемычки «папа / мама», входящие в комплект, для подключения тестового прибора. Требуются шесть проводов, которые вставляются следующим образом:
- Контакт 14 ESP32 (вилка) к контакту IN4 (розетка) шаговой платы.
- Контакт 32 ESP32 (вилка) к контакту IN3 (розетка) шаговой платы.
- Контакт 15 ESP32 (вилка) к контакту IN2 (розетка) шаговой платы.
- Контакт 33 ESP32 (вилка) к контакту IN1 (розетка) шаговой платы.
- Контакт ESP32 «GND» (вилка) к контакту «-» (розетка) шаговой платы.
- Контакт ESP32 «USB» (вилка) для работы через USB ИЛИ «BAT» (вилка) для работы от батареи, к контакту «+» (розетка) шаговой платы.
После того, как провода вставлены и дважды проверены, подключите кабель шагового двигателя к разъему платы контроллера шагового двигателя. Разъем имеет ключ и подходит только для одной стороны.
Наконец, если вы используете аккумулятор, подключите его к разъему аккумулятора ESP32.
Шаг 2: индикатор
Для индикатора на шаговом двигателе я разработал и напечатал на 3D-принтере стрелку индикатора «Hand.stl». Я напечатал стрелку индикатора на высоте слоя 0,15 мм, заполнение на 20% без опор, затем прижал ее к валу шагового двигателя.
В качестве альтернативы в качестве индикатора можно использовать ленту, картон или другой материал.
Шаг 3: Программное обеспечение
Я написал программу для тестирования шагового двигателя в среде Arduino 1.8.5. Если вы еще этого не сделали, загрузите среду Arduino и необходимые драйверы USB на свой компьютер и установите их. Также посетите веб-сайт Adafruit, чтобы узнать о любом дополнительном программном обеспечении, связанном с Adafruit ESP32. Я нашел эту ссылку очень полезной: Adafruit ESP32 и среда Arduino.
С помощью USB-кабеля, подключенного между вашим компьютером и ESP32, и «Stepper.ino», загруженного в среду Arduino, загрузите «Stepper.ino» в ESP32.
После загрузки шаговый двигатель должен шагать на 6 градусов один раз в секунду.
Я написал эту тестовую программу по двум причинам; во-первых, чтобы научиться управлять шаговым двигателем, а во-вторых, преобразовать 4096 шагов на один оборот шагового двигателя в 60 «тиков» на 6 градусов за одну секунду для часов.
Функция «Шаг (nDirection)» приводит в действие шаговый двигатель. Эта функция поддерживает локальную (статическую) целочисленную переменную «nPhase», которая либо увеличивается, либо уменьшается на единицу (каждый раз, когда функция вызывается), в соответствии со знаком аргумента функции nDirection. Эта переменная ограничена диапазоном от 0 до 7, что при использовании вместе с переключателем корпуса управляет фазами двигателя в соответствии со спецификациями производителя для каждого шага.
Функция «Update ()» определяет, когда и сколько шагов нужно сделать для каждого тика, чтобы равномерно распределить 60 тиков на 360 градусов вращения. Эта функция выполняет шаговый двигатель на 68 или 69 шагов для каждого тика. Например, если функция использует только 68 шагов за такт, то (68 шагов * 60 тактов) = 4080 шагов будет недостаточно для завершения вращения на 360 градусов (помните, что шаговый двигатель требует 4096 шагов для вращения на 360 градусов). И если бы функция использовала 69 шагов за такт, то (69 шагов * 60 тактов) = 4140 было бы слишком много шагов. Написанный мною простой алгоритм равномерно распределяет 68 и 69 тактов по всему вращению на 360 градусов и может определить, какое направление вращения является наиболее быстрым до желаемого секундного отсчета (используемого в часах).
Именно так я разработал и протестировал программное обеспечение для «старинных» автокорректирующих аналоговых часов.
Если у вас есть предложения и / или вопросы, не стесняйтесь комментировать, и я постараюсь ответить.
Рекомендуемые:
Как сделать СИГНАЛЬНЫЙ драйвер для шагового двигателя: 5 шагов
Как сделать драйвер с высоким током для шагового двигателя: здесь мы увидим, как сделать драйвер шагового двигателя с помощью контроллера Toshiba TB6560AHQ. Это полнофункциональный контроллер, которому нужны только 2 переменные в качестве входных данных, и он выполняет всю работу. Так как мне понадобились два из них, я сделал их с помощью
Выбор шагового двигателя и драйвера для проекта автоматического затенения Arduino: 12 шагов (с изображениями)
Выбор шагового двигателя и драйвера для проекта автоматизированного затененного экрана Arduino: в этом руководстве я проделаю шаги, которые я предпринял, чтобы выбрать шаговый двигатель и драйвер для прототипа проекта автоматизированного затененного экрана. Шторы - это популярные и недорогие модели Coolaroo с ручным приводом, и я хотел заменить их
Угловое позиционное управление шагового двигателя 28BYJ-48 с Arduino и аналоговым джойстиком: 3 шага
Угловое позиционное управление шаговым двигателем 28BYJ-48 с помощью Arduino и аналогового джойстика: это схема управления шаговым двигателем 28BYJ-48, которую я разработал для использования в рамках моей дипломной работы последнего года. Я не видел этого раньше, поэтому подумал, что выложу то, что обнаружил. Надеюсь, это поможет кому-то еще o
Интеллектуальная система рулевого управления для машин-роботов с использованием шагового двигателя от старого дисковода для гибких дисков / компакт-дисков: 8 шагов (с изображениями)
Интеллектуальная система рулевого управления для автомобилей-роботов с использованием шагового двигателя старого дисковода для гибких дисков / компакт-дисков: интеллектуальная система рулевого управления для автомобилей-роботов Вы беспокоитесь о создании хорошей системы рулевого управления для своего автомобиля-робота? Вот отличное решение, просто используя ваши старые дисководы для гибких дисков / CD / DVD. следите за этим и получите представление о нем. Посетите georgeraveen.blogspot.com
Arduino: Precision Lib для шагового двигателя: 19 шагов
Arduino: Precision Lib для шагового двигателя: Сегодня я покажу вам библиотеку для полного драйвера шагового двигателя с концевыми выключателями и движения двигателя с ускорением и микрошагом. Эта Lib, которая работает как на Arduino Uno, так и на Arduino Mega, позволяет перемещать движки не только на основе