Um7.ru

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

ESP32 with Stepper Motor (28BYJ-48 and ULN2003 Motor Driver)

ESP32 with Stepper Motor (28BYJ-48 and ULN2003 Motor Driver)

In this guide, you’ll learn how to control a stepper motor with the ESP32. We’ll use the 28BYJ-48 unipolar stepper motor with the ULN2003 motor driver. The ESP32 board will be programmed using Arduino IDE.

ESP32 with Stepper Motor 28BYJ-48 and ULN2003 Motor Driver

We have tutorials for other motors with the ESP32:

Характеристики микросхемы

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

Чтобы этого не происходило, правильно подходите к расчету потребляемой и рассеиваемой мощности. В данном случае при максимальном напряжении на CE равном 50 В максимальная мощность выходного транзистора составит не более 25 Вт, при этом он будет очень сильно греться. Поэтому номинальный коммутационный ток лучше поддерживать не более 300-400 мА. В таком режиме микросхема будет работать долго и стабильно.

Структурная схема микросхемы до боли проста и состоит всего из 7 ячеек стандартной ТТЛ-логики И-НЕ с подключенным обратным диодом на общий вывод питания COM . С топологией устройства также все просто, каждый вход расположен напротив выхода, что не даст спутать выводы при проектировании каких-либо устройств. Главное запомнить, что первый вывод является прямым входом.

Что касается характеристик, то они представлены для микросхем с ТТЛ-логикой, при котором управляющий сигнал не превышает 5 В. Но также выпускаются аналоги КМОП, которые могут работать от более низкого порога около 2 В до 9 В.

Читайте так же:
Плотность алюминия в килограммах на метр кубический

↑ Решение

Решение пришло само собой, когда я вспомнил о своей предыдущей статье про шаговики: «Как покрутить шаговый двигатель с помощью аудиоусилителя».

Смысл такой: если крутить моторчик двумя синусоидами, он вращается гораздо равномернее, и практически бесшумно!
В чистом виде такое решение едва ли будет применимо, но вот сделать синусоиду ШИМом можно, и для этого даже не понадобится более мощный микроконтроллер. У Attiny2313A есть четыре канала ШИМ, что как раз нам подходит.

Как мы помним, шаговый двигатель имеет сдвоенные обмотки. В паре две полуобмотки намотаны в разные стороны, благодаря чему одна электрическая полярность дает два возможных направления магнитного поля. Задача сформулирована: одну полуволну синусоиды надо выдать в одну полуобмотку, вторую полуволну — в парную ей полуобмотку. Для двух оставшихся полуобмоток делается то же самое, но со сдвигом фазы на 90 градусов.

↑ Расчёт синуса

Я не стал заморачиваться с вычислением значений синуса в микроконтроллере и просто подготовил их заранее в Excel.
Поскольку используется восьмибитный ШИМ, для каждого шага значение синуса (оно не может быть больше единицы) нужно умножить на 255, чтобы получить итоговые значения от 0 до 255

Получился такой ряд цифр:

↑ Новый код

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

Получился такой код:

Настройка микрошага драйвера DRV8825.

Настройка микрошага драйвера DRV8825.

Драйвер DRV8825 может работать в микрошаговом режиме, то есть может подавать питание на катушки с промежуточным уровнем. Например, если взять двигатель NEMA17 с шагом 1.8 градусов или 200 шагов на оборот, в режиме 1/4, двигатель будет выдавать 800 шагов за оборот.

Читайте так же:
Почему центровые сверла делают более качественные отверстия

Дня настройки микрошага на драйвере DRV предусмотрены три выхода, а именно M0, M1 и M2. Установив соответствующие логические уровни для этих выводов, можно выбрать режим микрошага.

Драйвер DRV8825 может работать в микрошаговом режиме

Выводы M0, M1 и M2 в микросхеме DRV8825 подтянуты резистором к земле, поэтому, если не подключать их, двигатель будет работать в режиме полного шага.

Система охлаждения DRV8825.

Система охлаждения DRV8825.

При интенсивной работе микросхемы драйвер DRV8825 начинает сильно греться и если температура превысит предельное значение, то он может сгореть. По документации DRV8825 может работать с током до 2,5 А. на катушку, но на практике микросхема не греется, если ток не превышает 1,2 А. на катушку. Поэтому если ток выше 1,2 А. необходимо устанавливать радиатор охлаждения, который идет в комплекте.

Особенности схемы и детали

  • управление четырехфазным шаговым двигателем
  • плавная регулировка скорости вращения в пределах всего диапазона
  • изменение направления вращения мотора
  • возможная остановка двигателя
  • блок питания 12 В постоянного тока

Детали – IC1: 4070, IC2: 4093, IC3: 4027, T1-T4: BUZ10, BUZ11

Простой драйвер шагового двигателя

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

Простой драйвер шагового двигателя

Блок, собранный из проверенных компонентов, не требует настройки и запускается сразу после подачи питания. Со значениями элементов, указанными на схеме, позволяет работать двигателю 5,25” и выполняет изменение скорости вращения в интервале от 40 об./мин. до 5 об./мин.

Простой драйвер шагового двигателя

Шаговый двигатель 28BYJ-48

Среди множества выбора шаговых двигателей следует обратить внимание именно на шаговый двигатель модели 28BYJ-48. Стоит она достаточно дешево, всего лишь 100-150 рублей за штуку. Как выглядит шаговый двигатель для «Ардуино», можно увидеть на фото ниже.

Читайте так же:
Химический анкер для газобетона hilti

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

Многие радиолюбители отдают предпочтение именно этой модели из-за низкой цены и хорошей точности. Тип мотора — униполярный, число фаз — 4. Потребляет шаговый двигатель для «Ардуино» от 5 до 12V. Однако рекомендуется использовать 6-7V. Двигатели могут работать в двух режимах: полношаговый и полушаговый. Рекомендуется для использования в полушаговом режиме. Это 5.625 градуса на шаг. При полношаговом на шаг дается 11.25 градуса. Вес двигателя — 30 грамм.

Характеристики

Так как шаговый двигатель не предназначен для непрерывного вращения в его параметрах не указывают мощность. Шаговый двигатель — маломощный двигатель по сравнению с другими электродвигателями.

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

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