Перейти к содержимому

EKDR-STEPx4

Модуль управления 4 шаговыми двигателями.

Основные характеристики:

  • До 4 двигателей
  • Напряжение питания двигателей от 4,5 до 48 В
  • Разные двигатели могут работать от разных источников питания
  • Ток до 2,5 А на канал
  • Микрошаг до 1/256
  • Частота шагов до 500 кГц
  • Защитные функции
  • Управление и диагностика через гальванически изолированный CAN-интерфейс

Область применения:

  • Управление линейными и поворотными механизмами на базе шаговых двигателей
  • Управление дозаторами, подающими механизмами
  • Управление заслонками и другими исполнительными механизмами с шаговым приводом

При питании двигателей от разных источников необходимо объединить “минус” этих источников.

Частота шагов теоретически может быть до 500 кГц. Однако фактическая частота зависит от двигателя и напряжения.

Защитные функции драйвера:

  • Защита от пониженного напряжения питания (UVLO)
  • Защита от перегрузки по току (OCP)
  • Предупреждение о перегреве чипа драйвера (OTW) и защита от перегрева драйвера (OTSD)
  • Обнаружение обрыва нагрузки (OL)
  • Защита от недостаточного напряжения зарядового насоса (CPUV)

В качестве драйвера для двигателя используется чип DRV8834S.

Для индикации состояния двигателей подключается модуль EKLD-10.

Для разных каналов можно использовать разное напряжение. Минусовой провод всех источников объединяется на модуле.

Заданная конфигурация: Скопировано

Стоимость: $

1. Количество подключаемых двигателей

EKDR-STEPx4 - вид сверху
EKDR-STEPx4 - вид снизу
Скачать 3D STEP
EKBSDRV8434DRV8434DRV8434B24033.3V DCSCLSDACH0_STEPCH1_STEP24VCH00CH01CH02CH03CH04CH05CH06CH07CH08CH09CANI2CSPIISOCH10CH11CH12CH13CH14CH15DRV8434CH2_STEPCH3_STEPMOSIMISOCSSCKMCP23017GPA0CH3_SLEEPCH3_ENABLECH3_DIRCH2_SLEEPCH2_ENABLECH2_DIRGPA1GPA2GPA3GPA4GPA5GPA6GPA7GPB0GPB1GPB2GPB3GPB4GPB5GPB6GPB7CH1_SLEEPCH1_ENABLECH1_DIRCH0CH1CH2CH3CH0_SLEEPCH0_ENABLECH0_DIREKMC-ESP32C3498765103210

На рисунке отображена функциональная схема модуля.

EKBS - шина данных и питания между модулями.

Изолирующий DC/DC преобразователь B2403 обеспечивает питание модуля напряжением 3.3 В.

EKMC-ESP32C3 - плата с микроконтроллером ESP32-C3 для управления работой модуля. Выполняет следующие функции:

  • через шину CAN получает команды от управляющего контроллера и отправляет данные фактической работы и диагностики
  • через интерфейс I²C управляет чипом MCP23017
  • через интерфейс SPI управляет 4 драйверами шаговых двигателей DRV8834S
  • задаёт импульсы STEP для команд перемещения шаговых двигателей. Подробнее в разделе Задание импульсов STEP

Чип MCP23017 необходим для подачи команд на драйвера шаговых двигателей:

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

Адрес MCP23017 на шине I²C - 0x20.

Драйверы DRV8834S объединены в последовательную цепочку daisy chain. Это позволяет передавать конфигурационные и управляющие данные всем драйверам по общей шине SPI. Последовательность драйверов - от канала CH3 до CH0. Нужно учитывать, что на плате модуля может быть установлено меньшее количество драйверов. В таком случае в цепочку линий MOSI-MISO возле отсутствующих драйверов запаивается перемычка.

На модуль светодиодной индикации EKLD-10 выводится по 2 сигнала с каждого драйвера:

  • индикация шагов STEP
  • сигнал FAULT о наличии ошибки

Драйвер поворачивает шаговый двигатель на один микрошаг при получении импульсов на входе STEP. При этом можно задавать количество и частоту импульсов:

  • количество импульсов определяет угол поворота двигателя
  • частота импульсов (промежуток времени между импульсами) определяет скорость поворота двигателя

В данном модуле импульсы STEP создаются в микроконтроллере ESP32-C3. Можно использовать несколько способов:

  • ESP timer
  • LED control (LEDC)

ESP timer - это высокоуровневый программный таймер в ESP‑IDF, построенный поверх аппаратных таймеров, который позволяет вызывать пользовательские функции с микросекундной точностью.

Документация приведена на сайте - ссылка.

Минимальный период вызова 50 мкс. Это даёт возможность генерации импульсов до 10 кГц. Для большинства задач этого достаточно, хотя и не покрывает все возможности драйвера DRV8834S, который может работать на частоте до 500 кГц.

Используя ESP timer, можно точно отсчитать количество импульсов.

LED control (LEDC) - это аппаратный ШИМ-модуль в ESP32, предназначенный для генерации сигналов с регулируемой скважностью на выводах микроконтроллера.

Документация приведена на сайте - ссылка.

Возможность генерации импульсов до 40 МГц, что даёт возможность работы с драйвером DRV8834S на всех частотах.

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

DRV8834S даташитСкачатьСсылка
MCP23017 даташитСкачатьСсылка
ESP32-C3 даташитСкачатьСсылка