Как управлять 16 шаговыми двигателями с помощью Arduino?
Я пытаюсь запустить 16 таких маленьких шаговых двигателей на Arduino Uno.
Каждый тестовый драйвер использует 4 цифровых контакта для управления (по 2 на каждую катушку), так что мне понадобится 64 контакта.
Я думаю, что либо получить что-то вроде это или 4 из этих.
Будет ли что-то подобное работать? Какой самый простой способ управлять ими на Arduino Uno?
@George Profenza, 👍1
Обсуждение1 ответ
Если вам нужно управлять всеми 16 одновременно и независимо, у Uno может не хватить мощности для этого. Подумайте о наихудшем числе двигателей и максимальной скорости, которую вы ожидаете управлять одновременно, а также о том, что еще вам нужно, чтобы Uno делал одновременно. Вы можете попробовать простой скетч, чтобы сделать все эти вещи (заменив светодиоды драйверами двигателей) одновременно, и использовать осциллограф для проверки выходных сигналов светодиодов на правильную частоту, форму волны и отсутствие джиттера. Без расширителей ввода-вывода вы не получите выходов для 16 двигателей (если у вас уже нет расширителя ввода-вывода), но вы можете попробовать удвоить существующий выход (используйте неперекрывающиеся двигатели или фазы, если можете).
Если Uno может справиться с этим с чистыми выходами, вы будете иметь лучшее представление о том, может ли он справиться с полной нагрузкой. Если нет, вам, возможно, придется пересмотреть свой выбор процессора относительно его тактовой частоты, обоих видов памяти (в зависимости от того, что вы узнали), количества выходов, возможно, количества доступных таймеров и прерываний.
Альтернативный вариант: распределить нагрузку между несколькими микроконтроллерами., @Majenko
Максимальная (надежная) скорость, которую мне удалось получить с помощью этих степперов, составила 3 мс на шаг., @Gerben
- Вопрос по управлению выводами с помощью расширения ввода-вывода PCA9534PW
- Использовать все контакты как цифровые входы/выходы
- Отправка и получение различных типов данных через I2C в Arduino
- Что такое ICSP pin (разъём)?
- Как работают функции вне цикла void?
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Сколько датчиков может поддерживать один модуль Arduino?
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
Я бы не стал покупать эти шаговые двигатели. В одной части описания говорится, что у него один чип для управления, а в другой части говорится, что это совершенно другой чип. Если только у вас их нет, в таком случае вы можете вручную определить, какой чип на нем установлен. Для двух разных чипов нужны совершенно разные стратегии управления., @Majenko
@Majenko На картинке похоже на драйвер ULN2003 (SOIC16 !), а не на A3967 (SOIC24), как в описании. Лично я бы просто использовал 8 сдвиговых регистров., @Gerben