Наконец-то я затарился сервами и скоро начну строить контроллер на 12 серв. Скорее всего с контролем тока каждой сервы. Все это дело планирую уместить на двух контроллерах: Т26 и Т2323 (на одном никак, надо 12 каналов АЦП.) Интерфейс будет двойной: I2C или RS-232. Первое время для отладки через ком-порт, а в дальнейшем для использования на роботе через I2C. Кому данная тема интересна - прошу высказаться. Так-же обдумываю мысль не городить огород и сделать 2 контроллера по 6 серв, оба как законченные устройства. И тертий - мост I2C в RS-232.
З.ы. Когда все будет готово - возможно мелкосерийное изготовление. :wink:
А USB-то зачем? Для серв и ком вполне сойдет. Конечно можно USB в виде быстрого кома на FTDI, но это я думал реализовать на отдельной плате I2C-USB. Вообще идея: все сделать через I2C. Тогда будет легко подключить всю систему не к контроллеру, а через USB или СОМ к ПК. а ставить USB на каждый серво-контроллер нет смысла. Лучше собрать их в кучу и подключить через одну плату к ПК.
Контроль тока нужен чтоб спасти серву при заклинивании или понять на каких ногах робот стоит, а какие без смысла в воздухе висят. В общем полезно знать нагрузку на каждой серве.
Буду делать именно 2 контроллера по 6 серв. Но при желании их легко будет доделать и до 8ми и больше, но без контроля тока.
Так-же считаю что нужно: 1. Как минимум делать версию с одним контроллером, для тех кому не нужно миллион серв. 2. Датчик тока абсолютно никуда не уперся - по крайней мере я видел кучу всяких датчиков, которые никто не пользует - можете ли вы показать датчики такого типа, которые бы активно кем-то пользовались, типа этих датчиков тока? 3. Про I2C - да. 4. Про USB - мое мнение, как человека имеющего у себя дома кучу плат (3 платы для управления каждая 4 сервами, 1 плата акселерометра и одна интерфейсная - 8+8 входов, 8 выходов) с этим самым USB-портом - нафиг это не надо для девайса такого типа - нужен один переходник USB<=>I2C и все, или центральный МК с выходом на USB.
Датчик тока - это простой резистор на 0.5-5 Ом хорошей мощности. На нем мерится напряжение и пересчитывается в ток. Я так уже делал с двигателями, для серв тоже подойдет.
Kanoka писал(а):Складывается впечатление что мы говорим о разных вещах, по вашему чем отличается сервоконтроллер от просто контроллера?
Тем, что он предназначен для управления сервоприводами... Ожидается что это будет уже готовое решение с прошивкой, печатной платой с выходами для подключения сервоприводов и разъемом для подключения управляющего девайса.
Мы же не говорили про "серво-контроллер-с-компьютера"
По-моему USB не самый лучший вариант для подключения множества устройств одновременно, как бы красиво не выглядели USB-хабы на 7 портов
Вот именно, контроллер с прошивкой, серво коннекторами, без разъема для программатора но с разъемом для подключения к компьютеру. Это законченное решение для постройки манипулятора, все что нужно это подключить к нему сервы, а его подключить к компьютеру.
Идея вот какая: создать девайс, в который будет приходить номер сервы и значение ее положения. По какому порту - пока не важно. Так-же девайс пожно опросить на предмет "какой ток идет через такую-то серву". USB в роботах - штука бесполезная. Да, хорошая скорость, но геморроя столько, что проще уж параллельные интерфейсы использовать если приспичит скорость огромную получить. Да и со стороны ПК я с USB работать не умею. А ком-порт он простой как топор и никто его не отменял.
Актуальные вопросы: 1) Контроллер. Т2313 или М48 или что-то такое. Не сильно здоровое, но и не Т26, его явно маловато будет. 2) Интерфейсы. Я склоняюсь в сторону I2C (и RS-232 для отладки) 3) Количество серв и всякие доп.функции. (Для себя буду делать на 6 серв)
Вообще кто с сервами имеет опыт: что бы еще полезно в этот контроллер запихнуть? :roll:
Kanoka писал(а):Вот именно, контроллер с прошивкой, серво коннекторами, без разъема для программатора но с разъемом для подключения к компьютеру. Это законченное решение для постройки манипулятора, все что нужно это подключить к нему сервы, а его подключить к компьютеру.
Это уже не просто сервоконтроллер, это "stand-alone сервоконтроллер" - гораздо более специализированная вещь.
С одной стороны я вас понимаю, удобство в конкретном проекте, с другой - такая специализация будет часто убивающей, ну, допустим, построил я манипулятор и захотел подцепить его на платформу управляемую по радио с WiFi-камерой - тогда такой контроллер можно забыть в шкафу и заняться новым. А зачем?
-= Александр =- писал(а):Идея вот какая: создать девайс, в который будет приходить номер сервы и значение ее положения. По какому порту - пока не важно. Так-же девайс пожно опросить на предмет "какой ток идет через такую-то серву". USB в роботах - штука бесполезная. Да, хорошая скорость, но геморроя столько, что проще уж параллельные интерфейсы использовать если приспичит скорость огромную получить. Да и со стороны ПК я с USB работать не умею. А ком-порт он простой как топор и никто его не отменял.
Скорость то зачем здесь огромную в задаче про сервы?
-= Александр =- писал(а):Актуальные вопросы: 1) Контроллер. Т2313 или М48 или что-то такое. Не сильно здоровое, но и не Т26, его явно маловато будет. 2) Интерфейсы. Я склоняюсь в сторону I2C (и RS-232 для отладки) 3) Количество серв и всякие доп.функции. (Для себя буду делать на 6 серв)
Вообще кто с сервами имеет опыт: что бы еще полезно в этот контроллер запихнуть? :roll:
1. Контроллер самый "любой" - лучше универсальный типа "Мега8" в кроватке - чтобы можно было при особом желании вытащить и запользовать "куда-то еще". Самый дешевый смысла нет пользовать -ибо опять доступность и пользуемость в других местах будет хромать.
2. Интерфейс I2C - это однозначно, потому что шина. Никакой RS232 или USB шиной не является. Устройства такого типа должны вешаться на шину.
3. Количество серв - ввиду пункта 2 любое, какое влезет. Но почему не 8?
4. Ну опыт он конечно есть - датчик тока не сильно нужен: 4.1. Это сильно усложнит схему и печатку (посчитайте сколько доп. элементов будет нужно на 8 серв); 4.2. Откуда любой человек знает какой ток соответствует усилию сервы во внештатном режиме? Будет руками её ломать? 4.3. Сначала попробуйте просто сделать чтобы оно бегало, а потом можно будет и модифицированную версию делать. А на концы ног лучше поставить датчики давления, хоть типа переключателя, ибо может быть так, что серва в режиме удержания ноги на весу будет хавать больше тока, чем при стоянии на этой ноге.
lynxmotion - самый правильный выбор - наиболее грамотный код из всего что публиковалось кстати там в коде есть hexapod sequencer опять же в том варианте подключения остается куча ног свободных и процессор не сильно занят
на 16 серв я выкладывал печатку на соседней ветке
по поводу измерения тока - может ограничиться 6 датчиками - на каждую ногу ? - тогда и меги хватит
по поводу шунтов - у твоих сервух ток в заторможенном состоянии до 2 ампер кстати очень удобно использовать 1 ом резисторы 1206 спаянные этажеркой
Потому что когда нога висит в воздухе - она уже достигла заданного положения и мотор работает на его подержку (довольно слабенький ток) а когда она уперлась и не достигла положения - мотор работает на всю катушку. Это уже опытным путем проверено, разница токов такая, что точно можно понять застряла нога или нет. Берешь серву и амперметр. Даешь серве средний сигнал - она отработала и остановилась. Чем сильнее ты на нее начнешь давить тем больше будет ток... С места она не сдвинется, но ток будет менятьться.