Приветствую! Для проекта мне требуется управление 9 "сервами" (бесколлекторные двигатели, шаговые двигатели). Причем требуется очень точное управления, никакой речи о подергиваниях быть не может. Долго думал сваять самому, но нежелание заморачиваться с домашним изготовлением плат склонило меня все-таки в сторону MultiServo Shield. В связи с этим у меня два вопроса: Частота обновления стандартная - 50Гц? Может ли она быть увеличена, скажем, до 200Гц? И да, действительно ли отсутствуют подергивания?
Так чем вам всё же нужно управлять? Указали три разные типа движков, которые и управляются по разному.
Ну бесколлекторные двигатели управляются через контроллер, который принимает стандартный для серв PDM, потому я и написал в кавычках
фактически она же частота обновления. То есть, если импульсы идут с частотой 50Гц, то я нет возможности менять положение чаще этих 50Гц.
предвещая вопрос "а зачем больше?" Взять например бесколлекторный движок с оборотами 6000rpm. То есть в секунду он делает 100 оборотов, то есть между каждыми двумя импульсами на частоте 50Гц он делает 2 полных оборота, хотя, например, мог бы регулировать обороты более плавно (в моем случае контроллер позволяет обновляться с частотой до 400Гц).
Да, но обратное не всегда достижимо: если частота сигнала 400 Гц, то это ещё не означает, что котроллер, который выдаёт этот сигнал, даёт меняеть его 400 раз в секунду. Частота выходного сигнала Multiservo — 50 Гц. Но я не уверен, что вы сможете 50 раз за секунду послать команду на смену режима Multiservo...
почему нет? если ардуино будет заниматься только регулированием этих самых моторов, то не будет успевать выдавать импульсы чаще 50Гц?
Я не сказал «нет». Я сказал «не факт». Для случая 50 Гц — скорее всего всё сработает. Для 400 Гц — уже не уверен...
Можно. Для этого нужно поправить прошивку Multiservo Shield. Исходные коды открыты — https://github.com/amperka/multiservo Лежат они там в папке firmware. Дрожания с Multiservo нету. Это одна из главнейших её фич, которые мы заявляем.