Использование одних и тех же выводов GPIO для управления несколькими шаговыми приводами

У меня есть Arduino Mega 2560, и я хочу управлять четырьмя 23-кадровыми шаговыми двигателями с одинаковой скоростью/направлением для конвейерного приложения. Я хочу, чтобы они были синхронизированы как можно точнее для бесперебойной работы.

  • Могут ли четыре драйвера TB6600 быть прикованы к одним и тем же выводам Arduino GPIO?

  • Есть ли ограничение на количество драйверов, которые я могу использовать?

  • Меня интересует ток, потребляемый от 5-вольтового Arduino GPIO, распределенного по многим драйверам.

Спасибо за вашу помощь!
Боб

, 👍1

Обсуждение

ромашковая цепь означает соединенная последовательно, а не параллельно... https://irepo.primecp.com/2016/05/280836/Daisy-Chain-Flower-Crown_Large600_ID-1656864.jpg, @jsotola


1 ответ


2

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

Встроенный резистор выглядит так, как будто он устанавливает ток "между 8 мА и 15 мА" и обычно 10 мА, хотя невозможно сказать, что это такое на самом деле. Поэтому мы возьмем наихудший сценарий 15 мА.

Arduino имеет абсолютный максимум 40 мА и рекомендуемый максимум 25 мА от каждого вывода ввода-вывода, а также максимум 200 мА в общей сложности через все контакты.

Это означает, что в идеале вы не можете иметь более одного TB6600 на вывод ввода-вывода, но вы можете обойтись 2 на вывод, конечно, не больше.

Чтобы работать параллельно, вам понадобится отдельный набор драйверов, которые могут "разветвлять" слаботочный сигнал либо на один сильноточный сигнал, либо на параллельный набор слаботочных сигналов.

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

,

Таким образом, MOSFET действует как реле, сохраняя сигнал ввода-вывода нетронутым (не слишком много тянет на Arduino), в то же время имея возможность поглотить общую сумму всех задействованных драйверов tb6600?, @Robert Born

@RobertBorn Правильно, но и как инвертор, так что МАКСИМУМ включится вместо МИНИМУМА, как вы обычно используете для этого устройства., @Majenko

Пожалуйста , прости меня .. Я больше разбираюсь в мощных электриках. На самом деле я занимаюсь слишком многими видами проектов :) Чтобы не возиться с моим управляющим SW и элегантным графическим интерфейсом , я заплатил студенту колледжа за его создание .. могу ли я просто изменить общий вход tb6600 с + 5 В на землю? Мне все еще нужно изучить подключение МОП-транзистора. Еще одна мысль .. Я уже пользовался этими оптико-изолированными сигнальными платами. Но, может быть, они недостаточно быстродействующие, чтобы обрабатывать ШИМ-сигнал?, @Bob B

@BobB Вы можете использовать два N-канальных МОП-транзистора, один в качестве инвертора (как в инверторе RTL) или, может быть, P-канальный МОП-транзистор для переключения сигнала 5V, конечно. Или добавьте к выходам настоящий инверторный чип (74HC00 дает 6 инверторов в одном чипе). Есть много вещей, которые ты мог бы сделать., @Majenko