Синхронизация нескольких плат Mega для запуска нескольких серводвигателей

8

Мой друг Жюль спрашивает:

Цель состоит в том, чтобы получить как можно больше органов управления серводвигателем - похоже, максимум, который Arduino будет выдавать, составляет 14?

Цифровые выводы ввода / вывода54 (из которых 14 обеспечивают выход ШИМ)

Я думаю, тогда это становится проблемой программного обеспечения для синхронизации нескольких плат Mega? - т.е. массив 14 х 14 с использованием 14 досок

mad_z
источник
Я думаю, что когда вы говорите «сервомотор», вы имеете в виду модель интегрированного радиоуправления типа «сервомотор»? Как правило, «серводвигатель» означает двигатель, используемый в ПИД (или аналогичной) сервосистеме с обратной связью. Из названия я подумал, что этот вопрос касается реализации нескольких одновременных циклов сервоуправления на Atmega.
Коннор Вольф

Ответы:

10

Я также пошел бы по тому же маршруту, который предложил todbot. Однако, поскольку я большой поклонник I2C, я использую сервоконтроллер SD21, который может управлять 21 сервоприводом. Если вам нужно еще больше, есть сервоконтроллер SD84, который может управлять (как вы уже догадались) 84 сервоприводами.

tuupola
источник
7

Если вы хотите управлять несколькими сервоприводами, лучше всего подключить несколько выделенных сервоконтроллеров к одному Arduino. Существует много примеров сервоконтроллеров с открытым исходным кодом, но вы также можете купить полнофункциональные. Например, вот Polulu контроллер 8-серво и Pololu контроллер 16-сервопривода . Получить несколько из них, подключить их к любым цифровым выводам Arduino и использовать библиотеку SoftSerial для отправки команд им.

todbot
источник
Сервоконтроллеры, которые вы рекомендуете, устарели. Новое семейство сервоконтроллеров Maestro лучше во всех отношениях. pololu.com/catalog/category/12
ryantm
1

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

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

Лен Холгейт
источник
1

Другой подход заключается в использовании «цифровых» сервоприводов, таких как OpenServo . Таким образом, вы можете управлять дюжиной или около того сервоприводов, используя 2 контакта Arduino, и дюжину или около того больше сервоприводов, используя еще 2 контакта.

davidcary
источник
1

Я использую сервоконтроллер SSC-32 от Lynxmotion. Он использует ATmega8 или ATmega168 и может контролировать до 32 сервоприводов. Вы можете найти все (принципиальная схема, прошивка), чтобы построить его на своей странице. Я построил один сам, и он работал нормально.

Ахим
источник