roboforum.ru

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


Самодельный сервопривод

Обсуждение и примеры готовых и самосборных компонент для построения роботов.

Сообщение Outcaster » 22 ноя 2004, 15:48

aliens писал(а):Вот тут подумал, ведь из этой конструкции можно сделать полноценный серво.
Приделать управление двигателем и контроллер с АЦП
К контроллеру обращаться допустим через USART.

Кто что думает?
Так и задумывалось, только ставить один контроллер (тот-же AT90S2313) на несколько приводов, и обмен информацией организовать по I2C. При этом предусмотреть возможность контроллеру не только получать команды, но и "отчитываться" об их исполнении (напр.по запросу, или самостоятельно, по выполнению). И дак делать правильнее, и вот почему:
setar писал(а):...отличительной особенностью серва является наличие обратной связи от рабочей части...
Но ведь от рулевой машинки обратной связи нет! :D Да, на неё подаеться команда, но выполнена-ли она (и насколько) никакой информации нет. Получаеться, что управление сервами всё равно ведёться в слепую.

На RC-моделях обратная связь выполняеться благодаря наблюдениям человека за реакцией модели на его команды. Для робота такое неприменимо. Он "не видит" результатов своей "деятельности". Чтобы обеспечить обратную связь, нужно переделывать следяще-управляющюю систему.
Outcaster
 
Сообщения: 267
Зарегистрирован: 13 ноя 2004, 01:10
Откуда: Ривне, Украина

Сообщение aliens » 22 ноя 2004, 17:26

2313 не пойдет! он без АЦП.
Надо Tiny26 хотя бы на него можно 3 движка повесить точно, а АЦП переключать транзистором
aliens
 
Сообщения: 171
Зарегистрирован: 26 окт 2004, 14:16
Откуда: Севастополь сити...

Сообщение Outcaster » 22 ноя 2004, 17:55

aliens писал(а):2313 не пойдет! он без АЦП.
У него есть аналоговый компаратор, его достаточно. Собираем на RC-цепочке интегрирующий АЦП, и как раз на 4 серва его хватает.
Outcaster
 
Сообщения: 267
Зарегистрирован: 13 ноя 2004, 01:10
Откуда: Ривне, Украина

Сообщение aliens » 22 ноя 2004, 21:29

А компаратором не сложнее будет узнавать угол?

Начал делать механику. Завтра думаю принесут фотик и выложу.
aliens
 
Сообщения: 171
Зарегистрирован: 26 окт 2004, 14:16
Откуда: Севастополь сити...

Сообщение Outcaster » 19 дек 2004, 21:04

Кстати, похожие штуки уже делают:http://diwww.epfl.ch/lami/mirobots/smoovy.html
Outcaster
 
Сообщения: 267
Зарегистрирован: 13 ноя 2004, 01:10
Откуда: Ривне, Украина

Самодельный сервопривод

Сообщение Влад » 15 янв 2005, 00:01

Давно хотел написать в эту тему.

Тем более что автор ? Outcaster. Не буду перегружать сообщение цитатами, постараюсь подвести некоторые итоги и выразить свои мысли.

1. Предложенный вариант привода действительно очень интересен, и, как я понял, популярен. Я, кстати, тоже делал аналогичное устройство.

2. По поводу привода, сервопривода, обратной связи, датчиков угла/перемещения: дело в том, что сервы и датчики угла существуют только потому, что они не могут жить друг без друга. Ибо имеет смысл говорить не о какой-то ПОЛНОЙ или НЕПОЛНОЙ обратной связи, а о тех звеньях/каскадах, которые охвачены обратной связью. Она (связь) либо есть ? либо нет. Но об этом ? чуть позже. :)

3. По поводу шагового двигателя в данном устройстве. Известно, что любой шаговый двигатель имеет такую неприятную вещь, как погрешность установки шага. Т.е. все равно придется рано или поздно вводить поправку (калибровать). В принципе или без принципа, а придется. Потому, на мой взгляд, применение шаговика в данной конструкции теряет смысл, и ориентироваться только на шаги двигателя не получится, тем более, если нужно «переставлять ноги» роботу, когда неизвестно, какой будет результат.

4. По поводу ползунка и переменного резистора. Мужики, правда, не теряйте времени даром. Я когда-то намучился так, что врагу не пожелаешь.  :evil: Не в робототехнике, правда, а в другом устройстве, но смысл тот же. Нет, не спорю ? идея работоспособна, но:
- подвижный контакт имеет низкую надежность,
- линейность изменения сопротивления от угла поворота у «линейной» группы «А» оставляет желать много лучшего, особенно на краях диапазона,
- невысокая механическая прочность и износостойкость токопроводящего слоя,
- «плохая» климатика. (Плывет от температуры и незащищен от попадания влаги).
Все это, в конце концов, очень быстро ведет к тому, что устройство приходит в негодность. Можно, конечно, купить качественный импортный резистор, но стоить он будет дороже покупного сервопривода и датчика угла.

5. Теперь о главном. Про обтюраторы и обратную связь и др. Обтюратор ДОЛЖЕН БЫТЬ ОБЯЗАТЕЛЬНО! Только, я думаю, устанавливать его нужно не на ходовой винт, а на вал двигателя. Увеличится количество импульсов на один оборот винта, т.е. позиционировать водило (гайку) можно точнее. Схема контроля тока двигателя должна быть ОБЯЗАТЕЛЬНО! Концевой выключатель можно установить один, для определения «начала координат». Учитывая, что мы знаем передаточное число редуктора, шаг резьбы ходового винта, мы можем сказать, сколько оборотов должен сделать двигатель, чтобы переместить водило, допустим, на 10 мм. Концепция такая:  :idea: вначале определяем исходное положение по концевику. Потом включаем двигатель и начинаем считать импульсы с обтюратора, постоянно (!) контролируя ток потребления. Если ток в норме, мы должны получить, например, 200 импульсов, и мы их получили, то это значит, что водило находится в нужном (заданном) положении. Если манипулятор «уперся», ток возрастает скачком. Двигатель тут же отключается, при этом мы знаем, сколько импульсов пришло, и, как следствие, в каком положении манипулятор. Имеем две петли обратной связи: контроллер ? двигатель ? обтюратор ? контроллер и контроллер ? двигатель ? датчик тока ? контроллер.

Кроме того, если немного доработать схему контроля тока, которую предложил Outcaster, можно получать не только дискретные сигналы типа «уперлись ? не уперлись», но и по потребляемому току определять усилие в суставах. По принципу источник тока ? преобразователь ток/напряжение ? АЦП.

Не знаю, насколько эта концепция актуальна, но мне кажется, что есть «пища» для размышлений. :wink:

Кроме того, если речь идет о «ногах», то «интеллектуальному» роботу недостаточно знать только положение своих «конечностей», гораздо важнее, в каком положении он сам. Вероятно, нужен датчик «равновесия», а тут пригодится и усилие в суставах?

Вобщем, если есть идеи по поводу реализации программных алгоритмов, приветствуется. Я сам контроллеры пока осваиваю,  :oops: мне проще все сделать «в железе», на жесткой логике, но будет слишком громоздко.
Простите за длинное сообщение, короче не получилось.
Влад
 
Сообщения: 70
Зарегистрирован: 08 янв 2005, 21:16

Re: Самодельный сервопривод

Сообщение Digit » 15 янв 2005, 02:53

Влад писал(а):4. По поводу ползунка и переменного резистора. Мужики, правда, не теряйте времени даром. Я когда-то намучился так, что врагу не пожелаешь.  :evil:

Как вариант: колебательный контур с переменным кондером. Угол - по изменению частоты колебаний. Жизнеспособно?

Влад писал(а):Кроме того, если немного доработать схему контроля тока, которую предложил Outcaster, можно получать не только дискретные сигналы типа «уперлись ? не уперлись», но и по потребляемому току определять усилие в суставах. По принципу источник тока ? преобразователь ток/напряжение ? АЦП.

А можно подробно, с картинками и объяснением для чайников? А то для меня электроника - темный лес...  :oops:
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Самодельный сервопривод

Сообщение Влад » 16 янв 2005, 01:31

Digit писал(а): Как вариант: колебательный контур с переменным кондером. Угол - по изменению частоты колебаний. Жизнеспособно?


Конечно, жизнеспособно! Только я думаю, что нет смысла городить именно контур, достаточно конденсатора. Изменение емкости как первичное преобразование величины широко используется в измерительной технике. Кондером менять частоту генератора, а дальше ? если контроллер, то можно, насколько я знаю, определить частоту импульсов по системному таймеру, если нужен аналоговый сигнал ? тогда есть готовое решение: ADFVC32 от Analog Devices. Однокристальный конвертер частота-напряжение или напряжение-частота с 14 «ногами». Внешней обвязки ? пара-тройка резисторов и конденсаторов. Вход ? по току или по напряжению. Выход ? уровни ТТЛ или КМОП. Точность на частоте 100 кГц ? порядка 0.05 %. Есть вариант еще лучше: AD650. Все то же, а точность ? 0.005 % при 100 кГц, на частоте 10 кГц ? 0,002 %. Работает в диапазоне до 1 МГц. Только стоит он порядка $6 - $8. (стоил, по крайней мере, сейчас не знаю?). Но это так, для изврата. Частоту нужно измерять контроллером.

Кстати, измеряя частоту импульсов с обтюратора на валу, мы еще получим и скорость перемещения манипулятора. Ни один серв, по-моему, такого не может сообщить.

Как вариант, еще можно использовать в качестве датчика перемещения соленоид, в который входит ферромагнитный сердечник. Будет меняться индуктивность. Короче, есть над чем подумать и поэкспериментировать. Как найду время попробовать, расскажу, что получилось.
Влад
 
Сообщения: 70
Зарегистрирован: 08 янв 2005, 21:16

Сообщение Digit » 16 янв 2005, 02:40

Влад, спасибо за помощь! :)
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Самодельный сервопривод

Сообщение Влад » 16 янв 2005, 02:53

Digit писал(а):А можно подробно, с картинками и объяснением для чайников? А то для меня электроника - темный лес...  :oops:

Опять я невнимательный.  :? Схему контроля тока предложил не Outcaster, а EdGull. Только он нестандартно нарисовал схему включения ОУ, это сбило меня с толку и я в спешке решил, что там выдаются дискретные сигналы.  :oops: На самом деле схема отдает контроллеру сигнал напряжения. Контроллер, я так понял, следит за током и отключает двигатель, если ток потребления выше нормы. Предлагаемая ниже схема позволяет отключать двигатель в таких случаях без применения контроллера. :wink:

На ОУ DA1.1 собран неинвертирующий усилитель напряжения, которое падает на резисторе R1. (Его сопротивление подобрать). Коэффициент усиления задается резистором R3. С выхода ОУ усиленный сигнал напряжения, которое пропорционально току в цепи двигателя поступает на один из входов аналогового компаратора напряжения, выполненного на ОУ DA1.2. Одновременно этот сигнал можно подавать на вход АЦП контроллера и по нему пытаться оценивать усилие на валу/манипуляторе. На другой вход компаратора необходимо подать опорное напряжение, с которым мы будем сравнивать полученный сигнал. Как только величина входного напряжения превысит величину опорного напряжения, компаратор скачком переключается, т.е. выходное напряжение изменяется от минимума до максимума. Источник опорного напряжения выполнен на стабилитроне VD1 и резисторе R5. Необходимую величину опорного напряжения получают с помощью делителя R8, Р1. Выход компаратора соединен с базой транзистора Т1, который при срабатывании компаратора открывается и включает реле К1. Потому как двигатель подключен к источнику питания через нормально замкнутые контакты реле, то при срабатывании последнего он отключается.  Это, собственно, основная идея. Тут нужно дальше смотреть, что делать, т.к. при отключении двигателя напряжение на выходе DA1.1 станет равным нулю, (на самом деле почти нулю) это приведет к обратному переключению компаратора и повторному включению двигателя. Если поворот вала по-прежнему невозможен, (из-за препятствия) то опять отключится двигатель, и т.д. При этом самое главное, что он не сгорит. Если нужно просто отключить двигатель, то можно заблокировать обмотку реле, например. Способов много.

Один из вариантов показан далее. (С ограничительным резистором, на схеме уже исправлено).
Вложения
current1.jpg
Последний раз редактировалось Влад 16 янв 2005, 16:03, всего редактировалось 1 раз.
Влад
 
Сообщения: 70
Зарегистрирован: 08 янв 2005, 21:16

Сообщение Влад » 16 янв 2005, 02:57

Далее показана схема компаратора и принцип его работы. В реальной схеме для установки величины гистерезиса необходимо подбирать сопротивление R2. (В устройстве контроля R7). Вроде как все ясно из рисунка. Если что непонятно ? готов ответить. :lol:
Вложения
comp.gif
Компаратор на ОУ
comp.gif (4.6 КиБ) Просмотров: 9140
Влад
 
Сообщения: 70
Зарегистрирован: 08 янв 2005, 21:16

Сообщение Влад » 16 янв 2005, 13:42

Как один из способов, чтобы не возникал колебательный процесс: параллельно контактам К1.1 подключить резистор, сопротоивление его подобрать так, чтобы при размыкании контактов ток через двигатель уменьшился до очень малой и безопасной величины, а компаратору задать такой гистерезис, чтобы он не смог при такой силе тока переключиться обратно.
Влад
 
Сообщения: 70
Зарегистрирован: 08 янв 2005, 21:16

Re: Самодельный сервопривод

Сообщение Outcaster » 17 янв 2005, 14:41

Влад писал(а):Схему контроля тока предложил не Outcaster, а EdGull.
И не спроста не предложил контроль по току - наморочитесь, и толку небудет, вязаться нужно к валу. :?
Outcaster
 
Сообщения: 267
Зарегистрирован: 13 ноя 2004, 01:10
Откуда: Ривне, Украина

Сообщение Tracer » 17 янв 2005, 22:48

Главное ЭТО ЦЕНА ВОПРОСА :?
Для чего нужна точность 0,5%(паять кристалы напрямую :lol: ?)
Я собрал АКТУАТОР из импортного многооборотного резистора и микромотора от мобилки и он меня ВПОЛНЕ устраивает.
Я определяю начальную и конечную точки по резистору в пределах определенной дельты и знаю в любой момент даже если только подключил питание как, какой сустав изогнут. 8я Мега крутит ВОСЬМЬЮ моторами и еще матрицы задачи обратной кинематики премножает. Для "моих" ног такой точности как 5% вполне ХВАТАЕТ. А так можно конечно нагородить девайс посложнее "мозгов робота" на все случаи жизни.

Привожу схему привода

PS просили как то показать как освобождать микромоторы мобилок из плена эксцентрика привожу схему процесса.
Вложения
Motor_Free.jpg
Motor_Free.jpg (39.68 КиБ) Просмотров: 9143
Actuator.jpg
Аватара пользователя
Tracer
 
Сообщения: 195
Зарегистрирован: 24 ноя 2004, 12:36
Откуда: Харьков

Сообщение Digit » 17 янв 2005, 23:58

Tracer, еще бы несколько более подробное описание как дивайса, в котором крутятся восемь моторов, так и приведенных схем... Было бы здорово! :)
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Пред.След.

Вернуться в Готовые модули

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8