Как управлять 16 шаговыми двигателями с помощью Arduino?

Я пытаюсь запустить 16 таких маленьких шаговых двигателей на Arduino Uno.

Каждый тестовый драйвер использует 4 цифровых контакта для управления (по 2 на каждую катушку), так что мне понадобится 64 контакта.

Я думаю, что либо получить что-то вроде это или 4 из этих.

Будет ли что-то подобное работать? Какой самый простой способ управлять ими на Arduino Uno?

, 👍1


1 ответ


1

Если вам нужно управлять всеми 16 одновременно и независимо, у Uno может не хватить мощности для этого. Подумайте о наихудшем числе двигателей и максимальной скорости, которую вы ожидаете управлять одновременно, а также о том, что еще вам нужно, чтобы Uno делал одновременно. Вы можете попробовать простой скетч, чтобы сделать все эти вещи (заменив светодиоды драйверами двигателей) одновременно, и использовать осциллограф для проверки выходных сигналов светодиодов на правильную частоту, форму волны и отсутствие джиттера. Без расширителей ввода-вывода вы не получите выходов для 16 двигателей (если у вас уже нет расширителя ввода-вывода), но вы можете попробовать удвоить существующий выход (используйте неперекрывающиеся двигатели или фазы, если можете).

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

,