roboforum.ru

Технический форум по робототехнике.
Текущее время: 21 фев 2025, 16:21

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 45 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Плавное движение
СообщениеДобавлено: 23 апр 2013, 08:43 
Не в сети

Зарегистрирован: 23 апр 2013, 08:30
Сообщения: 12
У меня задача. Мне необходимо сделать систему, которая может поворачиваться (sic!).
В начале я использовал шаговый двигатель, но к сожалению выявился недостаток - он не останавливается после прекращения работы. (да, кстати, вращающаяся часть "локоть" условно, может менять момент инерции).
После этого я стал использовать сервопривод, но у него свои проблемы - резкий старт и неконтролируемое время поворота (оно, конечно, изменяется, но очень слабо и неточно).
Плавность обязательна, потому что резкое движение привносит неприятные инерционные эффекты и колебания.
Задача - плавно (для имитации квазистатического движения) повернуть систему на заданный угол.

У меня есть следующие мысли
1. Поставить вискомуфту. Она позволит плавно начать движение и плавно закончить. Угол поворота, конечно, в данном случае потеряет точность. Поворот осуществлять шаговым двигателем, через ременной редуктор (у меня нет возможности точить шестерни из металла).
2. Использовать "нетрадиционные" способы, например, нагревать TiNi проволоку, которая будет притягивать рычаг.
3. Поставить систему торможения, например, небольшой диск, кторый прижимается сервой, или скобу, не важно. Если сделать диск достаточно мягким (втёрдый паролон), то торможение не будет разким.

Вопросы:
1. У кого поднималась подобная проблема, кто и как решал
2. Кто пользовался нитинолом. Как он себя ведёт, скорость сокращения и пр.
3. Кто делал вискомуфту сам, есть ли готовые решения, можно ли откуда-то спилить готовую, есть ли чертежи. Автомобильные не предлагать, у них совершенно другой способ работы, большой вес и нескромная цена.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 09:26 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
так ты сервопривод медленно разгоняй и медленно тормози :)

какой у тебя сервопривод сейчас? давай фотки или название.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 09:31 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Решал такую проблему как сказал Мур: плавно разгонял и плавно тормозил сервопровод - он для таких целей отлично подходит. Причем неважно какой сервопривод - все модели поддерживают плавный разгон и торможение. Все зависит от управляющего алгоритма

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 09:40 
Не в сети

Зарегистрирован: 23 апр 2013, 08:30
Сообщения: 12
Я сомневаюсь в плавности такого движения. Сервоприводов два типа пробовал. HX12K 0.17sec/60 градусов 15 Кг, вторая и не вспомню, подобная, на 6 кг. Она начинает двигаться, когда подвожу к ней нормальное питание с нормальной силой тока (не меньше полуампера на 4 вольта) и со скрипом еле двигается.
Что с ней делать? Разобрать и снимать сигнал с резистора самостоятельно? Или ставить временные задржки? Или как ещё? Фотки вечером.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 09:56 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
megamanx писал(а):
В начале я использовал шаговый двигатель, но к сожалению выявился недостаток - он не останавливается после прекращения работы.

Может к нему электро-тормоз прикрутить и всё?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 10:10 
Не в сети

Зарегистрирован: 23 апр 2013, 08:30
Сообщения: 12
Про электротормоз думал. Решил спросить, может быть есть какие-то другие идеи, надоело тратить средства и переделывать с нуля. Это, конечно, хорошо, что я учусь на своих ошибках...
Теперь, ещё раз о плавности хода. Я помещаю на движущиеся части объекта метки, после чего провожу видеосъёмку скоростной камерой.
Например, физический маятник в таком случае двигается плавно, а вот моя система, хотя и кажется, что движется плавно, но на самом деле, при детально рассмотрении, сильно дёргается и качается на концах треаектории. Здесь ещё и недостаток самой конструкции, слишком она тонкая, я буду делать её основание более устойчивым и тяжёлым.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 10:11 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
а ты не выставляй на серве сразу максимальный угол.
плааавненько увеличивай угол и плавненько тормози.

напиши функцию которая бы по начальному положению и конечному высчитывала бы несколько десятков промежуточных точек с разными паузами.
тогда твой девайс будет вопервых плавно двигаться, а во вторых ты сам будешь знать сколько времени он будет поворачиваться так как сам задашь задержки.
если сделать достаточно медленный поворот то изменение момента инерции будет незаметно на глаз.

можно снимать сигнал с резистора, припаять провод к центральному выводу внутри
тогда получаешь текущее положение и сможешь придумать алгоритм разгона с привязкой к текущему положению.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 11:19 
Не в сети

Зарегистрирован: 23 апр 2013, 08:30
Сообщения: 12
Я так не смог. Возможно, руки кривые. Каждый раз, при маленьком повороте, происходит рывок. Вот он мне и не нужен, я пытаюсь от него избавиться. Если я делаю очень маленький временной промежуток, то скорость падает раза в два, но тут нельзя говорить о медленном повороте, 0.45 сек и 0.90 секунд разница несущественная. Когда делаю интервал больше, серва успевает провернуться и начинает тормозить уже. Выглядит как пляска святого Витта - подёргивание, с постепенным перемещением.
Вывести провод от резистора можно, но я опять же не понимаю сути, поворот возможен только на малый угол, с крутым ростом фронта.
Скорее вопрос даже в том, как этот фронт сгладить. Чтобы очень медленно запустить движок. Единственный способ, который я могу себе представить - это заменить микроконтроллер сервы на свой ПИД.

Как вот такое решение? - берём простой моторчик, контроллер под него, редуктор скажем на 10, и соосно ведомой шестерне ставим переменный резистор, потом реализую свой ПИД. (ну то есть действительно, свой сервопривод)
Начал делать такую штуку. Но насколько я ТАУ помню, там управление по току, чем мне это грозит, ещё не вспомнил до конца).

Добавлено спустя 2 минуты 14 секунд:
А, я ещё слышал такую штуку, что можно подправить серву, спилить у резистора кусок, чтобы он вращался на 360 градусов, а не на 120. Тогда можно будет за счёт редуктора ещё уменьшить скорость и точность по углу останется приемлемой. вроде даже на этом форуме материал читал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 11:59 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Я переделывал сервы под постоянное вращение с энкодерами:
http://dccharacter.blogspot.ru/2012/06/ ... on_30.html

Вот я на них делал рисовалку:
post243724.html#p243724

Т.е. делаешь PID по данным с энкодера, при этом у тебя всегда будет нужная плавность и динамика. Плавность будет ограничена настройками пида, динамика - максимальной скоростью сервы.
Если нужно - есть две готовых сервы.
Продам.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 12:06 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
А какая у тебя величина ступенек по углу? Мне кажется ты все же как-то неправильно реализовал поворот, временной промежуток должен быть 20 мс, а скорость поворота регулировать шагом угла (0.1, 0.01, да хоть 0.001 градуса на 20 мс).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 12:08 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
А может это взять за основу?: http://we.easyelectronics.ru/electro-an ... bview.html (извиняюсь если мимо, но сам, как-то раз, пользовался).

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 14:42 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
megamanx писал(а):
Я так не смог. Возможно, руки кривые.

ищи в чём проблема
серва вполне способна медленно и плавно поворачиваться.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 16:30 
Не в сети
Аватара пользователя

Зарегистрирован: 14 ноя 2012, 21:30
Сообщения: 170
Откуда: Моск. обл.
я чё-то так и не вкурил, что там за проблема у топикстартера?!?
forum16/topic12233-60.html#p271721 - это не достаточно плавно? 8)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 17:04 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
AndreW82, никто кроме тс не знает, как он реализовал само управление и что из себя представляет эта "система". да, очень похоже, что тс просто немного в коде слишком резко серву гоняет. хотя и не исключено, что это особенности конструкции (габаритами, распределениее веса,...). может ему достаточно будет немного код подправить, а может придётся выводить провод от потенциометра и пид делать или вообще взять другую серву (скорость не та или слабовата).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Плавное движение
СообщениеДобавлено: 23 апр 2013, 18:05 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Кстати, да, ТС, скажите, насколько точно (в цифрах) плавно вам нужно?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 45 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO