Странное поведение шаговых двигателей

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

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

Схема, которую я использую для подключения драйверов, - это та, которую рекомендует производитель:

С помощью цифрового анализатора я вижу, что мой скачок скорости генерируется правильно:

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

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

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

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

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

- Спасибо.

, 👍1

Обсуждение

/fault-активный низкий выход, @jsotola


1 ответ


Лучший ответ:

1

Таким образом, по-видимому, двигатели, которые я использую, имеют оптимальный рабочий диапазон, который начинается не с 0, а с 200PPS. Хотя, даже правильно генерируя скоростные пандусы, при использовании низкого ускорения мои двигатели будут работать в течение нескольких шагов за пределами этого оптимального диапазона, вызывая странные движения в начале движения.

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

,