Оглавление:

Приспособление для испытания шагового двигателя: 3 шага
Приспособление для испытания шагового двигателя: 3 шага

Видео: Приспособление для испытания шагового двигателя: 3 шага

Видео: Приспособление для испытания шагового двигателя: 3 шага
Видео: 4.6 На что способны шаговые двигатели 18.6 кгсм 2024, Ноябрь
Anonim
Image
Image
Электропроводка
Электропроводка

У меня практически не было опыта управления шаговыми двигателями, поэтому перед проектированием, печатью, сборкой и программированием аналоговых часов с автокоррекцией «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: Электромонтаж

Электропроводка
Электропроводка
Электропроводка
Электропроводка

Я использовал перемычки «папа / мама», входящие в комплект, для подключения тестового прибора. Требуются шесть проводов, которые вставляются следующим образом:

  1. Контакт 14 ESP32 (вилка) к контакту IN4 (розетка) шаговой платы.
  2. Контакт 32 ESP32 (вилка) к контакту IN3 (розетка) шаговой платы.
  3. Контакт 15 ESP32 (вилка) к контакту IN2 (розетка) шаговой платы.
  4. Контакт 33 ESP32 (вилка) к контакту IN1 (розетка) шаговой платы.
  5. Контакт ESP32 «GND» (вилка) к контакту «-» (розетка) шаговой платы.
  6. Контакт 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 градусов и может определить, какое направление вращения является наиболее быстрым до желаемого секундного отсчета (используемого в часах).

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

Если у вас есть предложения и / или вопросы, не стесняйтесь комментировать, и я постараюсь ответить.

Рекомендуемые: