Приводы робомуравьев. Т.к. их получается довольно много, то по своей массе, объему, цене они составляют значительную часть всего робота. Прошу дать мне ссылки или просто разъяснить здесь, что такое есть сервы особенно в плане их подключения к управляющим цепям. От этого зависит кое-что из кинематики. Я ими не пользовался, и тем более не разбирал. Электромотор с редуктором - это понятно. А какая электроника там стоит и что в сервы входит по кабелю и есть ли обратный сигнал?
внутри мотор + редуктор + Н-мост + управляющай ИМС, задание по положению на нее приходит в виде ШИМ сигнала частотой 50Гц... высокий уровень от 1500мкс до 2500мкс на сколько я помню ... на выходном валу сервы стоит потенциометр... видимо по схеме делителя напряжения... что является ОС по положению... насколько я знаю ОС по току нет... ОС по скорости мона получить из положения..
выхода ОС по положению наружу нет..
мой взгляд на данный вопрос - найти подходящую серву и поставить в нее свою електронику.. сродни проекту openservo...
Обычно: Управляется прямоугольными импульсами амплитудой 3-5В, частотой 50Гц, шириной 0.5-2.5мс Обратного сигнала нет.
Есть дорогие робо-сервы или OpenServo, в них есть обратная связь и управление по уарту или i2c или еще как-то.
Добавлено спустя 1 минуту 1 секунду: Есть идея как получить обратную связь - взять HXT12K и перепрограммировать PIC который на борту, чтобы не трогать электронику и механику.
Опять мне, чайнику, непонятно, как серва управляется. Если на вход блока электроники внутри сервы извне приходят ШИМ импульсы, то какую команду они сообщают? Как повернуть на опр. угол? Или как вращаться в ту или иную сторону с пом. этих импульсов если серва с круговым вращением?
Импульсы определяют положение, в которое серва должна встать штатный диапазон 1-2мс, реальный до 0.5-2.5мс Если принять штатный диапазон, то 1мс - крайнее левое положение, 1.5мс - центр, 2мс - крайнее правое.
Т.е. подав одиночный импульс установленной продолжительности, я тем самым даю команду повернуть ось сервы на опр. угол. Серва измеряет длит. импульса и осуществляет поворот, руководствуясь встроенным в нее переменным резистором на оси. Так? Если так, то это не есть гуд. Даже очень не гуд. Это во-первых, черевато поломками, если нога робота досрочно упрется в препятствие, например, порог, либо вся система будет работать не очень правильно.
Не... там не одиночный импульс - там делаешь ШИМ постоянно, а она к этой позиции едет и пытается удержать.
А поломки, да, возможны (хотя на практике в большинстве случаев она упирается и все.... гудит, но не взрывается ), вообще автоматика более подвержена поломкам, например станки с ЧПУ на порядок опаснее ручных. Он же, дурак железный, не видит, что давно уже стол начал фрезеровать и спилит сейчас крепление заготовки ))
ШИМ тогда как работает? Сколько я должен импульсов подать одинаковых, чтобы гарантированно серва повернулась на нужный угол? И что будет, если я всего один импульс подам?
Вы постоянно гоните последовательность с постоянным периодом 20ms единица - 1-2миллисекунды (зависит от положения, которое вы хотите задать) ноль - 19-18миллисекунд. Пока гоните - серва едет и удерживает это положение.
Что будет... Не знаю, дернется наверное и встанет как попало...
С сервами постоянного вращения все хуже. Переделанные регулируют скорость в очень узком диапазоне скважностей. Штатные сервы постоянного вращения - не знаю, в руках не держал.
Если хочется по одному импульсу, то лучше глядеть в сторону робосерв, например Hitec ( http://www3.towerhobbies.com/cgi-bin/WT ... =MAJ&V=HRC ) или dynamixel. С Hitec имею дело, управляются по UART одним проводом (RX и TX через резистор), можно получить назад информацию о позиции (550-2450), есть ли давление на серву (под нагрузкой или нет), скорость перемещения к заданной позиции. Если получать обратную информацию, то она как бы щелкает, а под нагрузкой это не очень хорошо выглядит (маленький "дерг"). Также по UART можно задать скорость поворота и конечную точку, и освободить серву (типа без цели). Вот здесь небольшое применение ( viewtopic.php?p=125447#p125447 )
Последний раз редактировалось AndreiSk 10 ноя 2009, 12:53, всего редактировалось 1 раз.
Никто не мешает? Да кому это нужно... Есть и более интересные задачи чем программировать сервы. Хотя бы научить ходить то, что из нескольких серв. Многих даже на это не хватает, не то чтобы сервы программировать Процессор на борту сервы это обычный МК, чем дешевле МК и меньше металла, тем и дешевле серва. Некоторые сервы по $3 бакса ( http://www.hobbycity.com/hobbycity/stor ... entCat=189 ), только Hitec там неадекватно дорогие, существенно дороже чем на башне.
Нет, опенсерво тут не поможет. Я почему все так тщательно выспрашивал? Потому что вижу проблему. Как я вижу применение электродвигательного привода в муравьях. Двигатель с редуктором соединяется с суставом через фрикцион. Он предохраняет редуктор от разрушения под действием внешних сил. Например, робот упал с небольшой высоты или еще что. Но тогда нужно датчики положения устанавливать до и после фрикциона. А также мерить ток через двигатель. И побольше датчиков касания на конечности. Тогда любая рефлекторная дуга должна проходить через центральный "мозг" робота, а для уменьшения трафика с пом ШИМ и линии направления вращения можно реализовать одним общим контроллером для всех приводов.