roboforum.ru

Технический форум по робототехнике.

OpenServo ПЛАТЫ

Re: OpenServo ПЛАТЫ

shadowjack » 05 сен 2011, 19:32

Да, интересно. А то мне что-то тоже опенсервов захотелось.

Re: OpenServo ПЛАТЫ

linvinus » 05 сен 2011, 20:55

хоть я и не спользовал ни одну из плат, но я собирал http://www.robotfuzz.com/OSIF и ту часть опенсервы что отвечает за обмен данными, для того чтобы проверить скорость обмена.
если коротко то i2c не достаточно для быстрого управления, подробности на форуме опенсервы.

Re: OpenServo ПЛАТЫ

shadowjack » 06 сен 2011, 13:20

В каком режиме не достаточно, и что значит "для быстрого управления"? И можно ссылочку можно на конкретную тему на форуме?

Re: OpenServo ПЛАТЫ

linvinus » 06 сен 2011, 15:51

Сорри, это я загнался вчера.
Я лишь хотел сказать что нужно чётко понимать что она может :)

Мне нужно было быстро (с частотой 100гц), посылать команды и принимать данные (текущее стостояние всех параметро устройства).
И вторая задача каким нибудь образом синхронизировать два устройства.

Собственно пока я изучал как устроена опенсерва нашёл следующие.
1. За одну секунду вы можете послать не более 100 управляющих команд (учтите что это не только сами команды на движение) (это есть и на форуме http://www.openservo.com/forums/viewtop ... =2827#2827, и подтверждают мои тесты forum40/topic10112.html)

2. Нет возможности синхронизировать несколько серв между собой (есть решение через broadcast но это +-10ms в лучшем случае).

3. Управлять и одновременно считывать "большие" объёмы данных не получится.

Получается что сложного робота (от 6 серв) со сложными(плавными и быстрыми) движениями сделать сложно.
Т.е. Казалось бы "умная серва" возможностей "море", но в реальности это не так :(
Но есть ещё выход, использовать несколько шин i2c , но синхронизировать всё равно не получится.

Лучше посмотрите в сторону SSC-32, и/или подключайтесь к проекту :) forum73/topic10209.html хороший быстрый контроллер и прямое управление сервами.

Ну а вообще, это лично мой опыт, возможно я что то упустил.

Re: OpenServo ПЛАТЫ

avr123.nm.ru » 06 сен 2011, 17:07

RS-485 спасет

А SSC-32 при чем тут ?

Re: OpenServo ПЛАТЫ

shadowjack » 06 сен 2011, 18:09

Контроллер для стандартных серв? Нет, не интересно.
Несколько шин точно помогут с быстродействием, например, по шине на ногу шестинога. Я думаю, синхронизировать вполне можно - ведь на мастере-то мы знаем тайминги, по получению байта на слейве генерится прерывание - так?
Не справляется I2C? Можно использовать SPI, другие интерфейсы.
Не хочу управлять по положению. В захвате, например, хочу управлять по услилию (току) и/или скорости.

Re: OpenServo ПЛАТЫ

linvinus » 06 сен 2011, 20:55

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

Re: OpenServo ПЛАТЫ

linvinus » 12 сен 2011, 13:23

Наткнулся на ещё один проект, глубоко не копался, из отличий есть rs-485
http://letsmakerobots.com/node/18504
http://01mech.com/supermodified
http://code.google.com/p/zosupermodified/
http://www.youtube.com/watch?v=8jajnIBX2cU
Судя по видео, двигается не плохо, хотя серв тут мало.

Re: OpenServo ПЛАТЫ

Nemod » 06 ноя 2011, 01:51

КМК надо CAN делать.
RS-485 неудобно делать передачу данных от сервы к контроллеру, в основном на нем реализуются протоколы мастер-слейв с последовательным опросом мастером всех ведомых устройств, у меня был опыт реализации мультимастерного протокола на ней, во первых это медленно, во вторых вам нужно ещё в нем отлавливать ошибки.
У CAN арбитраж сделан на уровне контроллера, во вторых арбитраж неразрушающий.
Всегда можно сказать какая серва передаст сообщение первой, и максимальное время последней, поэтому можно спроектировать достаточно жесткий реалтайм.
Главный минус CAN это только 8 байт значащих данных, но мне кажется больше здесь и не надо.


cron
Rambler\'s Top100 Mail.ru counter