Сервопривод с обратной связью

 
1 2 3
RU Alexeev Max #15.03.2011 23:19
+
-
edit
 

Alexeev Max

втянувшийся

На данный момент моя работа связана с робототехникой. И по работе возникла задача построения двухзвенного манипулятора для отработки определенных алгоритмов управления.

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

Исполнительным устройством в данной системе (манипулятор, закрылки, рычаг наклона камеры сгорания) является сервопривод. Огромное количество сервоприводов выпускается для радио-моделей, в этом смысле изобретать велосипед смысла нет, такой сервопривод и возьму в качестве базового. Управляются они одинаково, а ключевая характеристика (момент на валу) варьируются в широких пределах, соответственно под требуемую задачу подбираем необходимую серву, а управление будет одинаковое.

Как управлять стандартной сервой информации в сети вагон и маленькая тележка. В качестве одной из статей можно взять эту (Сервомашинка HS-311 : Электроника для всех) в статье весьма неплохо описано устройство и принципы управления.

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

Я думаю это весьма актуально и для применения в нашем деле. Т.к. манипулятор двухзвенный, то в нем будет использовано два сервопривода, что равно 2-м каналам управления для управления отклонением камеры двигателя.
 
BG metero #15.03.2011 23:33  @Alexeev Max#15.03.2011 23:19
+
-
edit
 

metero

втянувшийся

Есть такие рулевьiе машинки с обратной связи ( потенциометр). Поищи в сети. Кроме того, датчик положения руля может стать shaft encoder или мини step motor. Но их показания скорее используют для более мягкого достижения заданного угла поворота. А для направлении полета - жироскопьi и датчики ускорения. И адаптивная система управления.
http://airbase.ru/modelling/rockets/res/users/metero/index.html  7.07.0
AR a_centaurus #15.03.2011 23:48  @Alexeev Max#15.03.2011 23:19
+
-
edit
 

a_centaurus

опытный

A.M.> На данный момент моя работа связана с робототехникой. И по работе возникла задача построения двухзвенного манипулятора для отработки определенных алгоритмов управления.

A.M.> Но дело в том, что у стандартной сервы отсутствует обратная связь. На пальцах: есть возможность задать угол который необходимо установить на валу, но нет никакой информации какой угол в данный момент на валу сейчас. Задача о которой я говорил в самом начале требует этой самой обратной связи, т.е. каждый момент времени я должен знать какое положение занимает вал сервопривода.
Весьма интересный топик может получится. Если не возражаешь, то я тебе задам несколько вопросов. Можно ли будет реализовать роботизированный gimbal (вилка на вращающейся опоре), управляющий с дистанции положением оси телескопа камеры высокого разрешения? Командная линия управления может траслироваться по cell. Угловые перемещения в меридиональной и саггитальной (вертикальный план) плоскости, скажем - 10º (±5). Камера длиной около 1 м и весом ок. 8 кг. Как ты написал - необходима обратная связь, хотя будет контрол в real time с дисплея компа. Чтобы было понятно - речь идёт о симуляторе платформы микроспутника. Для натурной калибровки его оптического сенсора. Точность наводки скажем 1´(угловая минута). Очень желательно, чтобы задача решалась коммерческими и доступными способами. На сервах жалеть не надо. В смысле качества.
 3.6.153.6.15
AR a_centaurus #15.03.2011 23:52  @metero#15.03.2011 23:33
+
-
edit
 

a_centaurus

опытный

metero> Е А для направлении полета - жироскопьi и датчики ускорения. И адаптивная система управления.

Ну вот metero (Gracias, Петр) уже кое-что подсказал. И интеграция твёрдотельных гироскопов/accelerometers как желательна, так и необходима. Для управления платформой уже на орбите.
 3.6.153.6.15
RU Alexeev Max #15.03.2011 23:52
+
-
edit
 

Alexeev Max

втянувшийся

Внутри сервопривода находится четыре узла.
1. Электромотор
2. Редуктор
3. Переменный резистор
3. Контроллер

Переменный резистор завязан на редуктор и сообщает контроллеру угол поворота вала. На контроллер приходит сигнал управления (угол) и он контролируя показания резистора крутит мотор добиваясь заданного угла, как я говорил ранее обратно никакой информации не уходит.

Решение: нам такой контроллер не нужен. :) Нужен другой!!!

Серву закупил, контроллер выпаял и напрямую вывел провода от резистора и мотора, получилось коса из 5-ти проводов.
Резистор заведу на АЦП моего контроллера, что позволит мне контролировать угол, а мотором буду управлять через драйвер двигателя L293D, еще один неоспоримый плюс драйвер позволяет регулировать обороты двигателя, т.е. возможно плавного воздействия на объект управления.

Как управлять мотором посредством драйвера L293D описано в статье Контроллер шасси : Электроника для всех

С двумя сервами вполне справится уже опробованная ATMEGA8(16)

На фотках моя плата на месте контроллера сервы и модифицированная серва в сборе.
Прикреплённые файлы:
 
 
Это сообщение редактировалось 16.03.2011 в 00:22
RU Alexeev Max #15.03.2011 23:56  @Alexeev Max#15.03.2011 23:52
+
-
edit
 

Alexeev Max

втянувшийся

Выпаянный контроллер и макетка драйвера L239D

Сори, что без размеров т.к. несущественно.
Прикреплённые файлы:
 
 
RU Alexeev Max #16.03.2011 00:05  @a_centaurus#15.03.2011 23:52
+
-
edit
 

Alexeev Max

втянувшийся

metero>> Е А для направлении полета - жироскопьi и датчики ускорения. И адаптивная система управления.
a_centaurus> Ну вот metero (Gracias, Петр) уже кое-что подсказал. И интеграция твёрдотельных гироскопов/accelerometers как желательна, так и необходима. Для управления платформой уже на орбите.

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

Я уже это делаю, есть сроки и примерно описанное ТЗ.

В целом по замыслу должен получится контроллер управляющий двумя сервоприводами с обратной связью - это законченый элемент системы управления, т.к. этот элемент можно подключить к другому контроллеру (более навороченному) на котором уже будет крутится ПО системы управления.

На контроллере который будет управлять приводами есть еще свободное место (ноги) для подключения твердотельных гироскопов и акселерометров, но это в будущем.
 
RU Alexeev Max #16.03.2011 00:18  @a_centaurus#15.03.2011 23:48
+
-
edit
 

Alexeev Max

втянувшийся

a_centaurus> Весьма интересный топик может получится. Если не возражаешь, то я тебе задам несколько вопросов. Можно ли будет реализовать роботизированный gimbal (вилка на вращающейся опоре), управляющий с дистанции положением оси телескопа камеры высокого разрешения? Командная линия управления может траслироваться по cell. Угловые перемещения в меридиональной и саггитальной (вертикальный план) плоскости, скажем - 10º (±5). Камера длиной около 1 м и весом ок. 8 кг. Как ты написал - необходима обратная связь, хотя будет контрол в real time с дисплея компа. Чтобы было понятно - речь идёт о симуляторе платформы микроспутника. Для натурной калибровки его оптического сенсора. Точность наводки скажем 1´(угловая минута). Очень желательно, чтобы задача решалась коммерческими и доступными способами. На сервах жалеть не надо. В смысле качества.

При всем желании не отвечу :(. Все пока сугубо мои идеи, чистое экспериментаторство, опыта в этих делах не много.
 
AR a_centaurus #16.03.2011 00:20  @Alexeev Max#16.03.2011 00:18
+
-
edit
 

a_centaurus

опытный

A.M.> При всем желании не отвечу :(. Все пока сугубо мои идеи, чистое экспериментаторство, опыта в этих делах не много.

Значит будем в параллель работать. Ничего страшного, научишься и узнаешь.
 3.6.153.6.15
UA Ckona #16.03.2011 00:21  @a_centaurus#15.03.2011 23:48
+
-
edit
 

Ckona

опытный
★☆
a_centaurus> Точность наводки скажем 1´(угловая минута). Очень желательно, чтобы задача решалась коммерческими и доступными способами.
У нас это реализовано в спектрополяриметрах на шаговых двигателях (поворот фазовой пластинки). Одной из порученных мне задач является датчик положения.
 
RU Alexeev Max #16.03.2011 00:31  @Ckona#16.03.2011 00:21
+
-
edit
 

Alexeev Max

втянувшийся

Ckona> У нас это реализовано в спектрополяриметрах на шаговых двигателях (поворот фазовой пластинки). Одной из порученных мне задач является датчик положения.

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

Причем номенклатура серв от мини, до серьезных агрегатов с шарико-подшипниками и металлическими шестернями, контроллер получается одинаков для всех.

Сервы требуют минимальной доработки, на переделку 2-х серв потратил один вечер.
 
AR a_centaurus #16.03.2011 06:06  @Ckona#16.03.2011 00:21
+
-
edit
 

a_centaurus

опытный

aCkona> У нас это реализовано в спектрополяриметрах на шаговых двигателях (поворот фазовой пластинки). Одной из порученных мне задач является датчик положения.

Датчик положения на каком принципе делаешь? Фазовая пластинка на оси двигателя находится, ввиду своей малой массы. В случае тяжёлого и с большим моментом инерции телескопа с фокальным планом на холодильнике Пельтье, придётся использовать передаточные звенья. А точность здесь необходима не только в позиционировании, но и в сохранении позиции. На время экспозиции. В реальности на бы ещё сенсором "подмахивать", чтобы смаз ground trаck скомпенсировать. Но это потом. Пока мы думаем о сервах, как автор этого топика, чтобы научится управлять обьектом в условиях наземного модуля.
 8.08.0
UA Ckona #16.03.2011 07:54  @a_centaurus#16.03.2011 06:06
+
-
edit
 

Ckona

опытный
★☆
a_centaurus> Датчик положения на каком принципе делаешь?
"подхватил" на оптическом принципе. У используемых шаговых двигателей редукторы с большим передаточным коэффициентом и конечным люфтом менее одного "шага". Требуется остановить поворот в нужном месте, есть готовое решение и масса нюансов с переходом на современную элементную базу.
 
RU Alexeev Max #16.03.2011 14:18
+
-
edit
 

Alexeev Max

втянувшийся

Схема подключения серв к контроллеру посредством драйвера L293D и организации обратной связи. На контроллере остается достаточное количество входов для навешивания на него еще датчиков (акселерометр, гироскоп). Связь с головным контроллером можно организовать по i2c шине или UART.

На схеме не показана обвязка контроллера (кварц, сброс и т.д.)
Прикреплённые файлы:
 
 
UA Ckona #16.03.2011 15:13  @Alexeev Max#16.03.2011 14:18
+
-
edit
 

Ckona

опытный
★☆
A.M.> Схема подключения серв к контроллеру посредством драйвера L293D и организации обратной связи.

Экономное решение. Может быть основой для управления полетом "на Солнце".
Для точного сопровождения объектов ... морщусь я.
Потенциометры сервоприводов как датчики углового положения никакой точностью не обладают, они рассчитаны на позиционирование "рулей авиамоделей". Тут при зубчатом редукторе надо считать количество оборотов двигателя, а не выходного вала.
Еще есть задача управления креном, которую для двухкоординатной задачи "на Солнце" решать нет надобности.
 
RU Alexeev Max #16.03.2011 15:53  @Ckona#16.03.2011 15:13
+
-
edit
 

Alexeev Max

втянувшийся

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

Я не считаю обороты выходного вала, он вообще никогда не обернется, там конструктивные ограничители примерно 100 градусов в обе стороны. По показаниям потенциометра определяется только угол.

Чем руль авиамодели отличаеется от руля ракеты, звена манипулятора, рычага наклона платформы...

Ясно что прецезионной точности не получить, но потенциометр я не меняю. "Родной" контроллер использует этот же потенциометр и выставляет нужный угол на валу. Возможно есть сервы с более качественными потенциометрами... дело в эксперименте.

Городить в серву счетчик оборотов двигателя (датчик хола/оптопара) для данной задачи не буду.

И сама система управления я думаю способна "проглатывать" погрешность угла... тут дело в алгоритмах обработки.
 
UA Ckona #16.03.2011 16:18  @Alexeev Max#16.03.2011 15:53
+
-
edit
 

Ckona

опытный
★☆
A.M.> И сама система управления я думаю способна "проглатывать" погрешность угла... тут дело в алгоритмах обработки.

...кроме случая, когда сам угол должен следить с заданной точностью за координатой объекта.
На бытовом языке: где точность управления выше - подойти к мишени ногами (догнать) или попасть в нее камнем ? В первом случае точность ±10 градусов, во втором - доли градуса.

В задаче Центауруса, может быть, быстрее всего купить готовый механизм сопровождения для астрономов-любителей и присопособить его, меняя обвеску и управление.
 
RU Alexeev Max #16.03.2011 16:28  @Ckona#16.03.2011 16:18
+
-
edit
 

Alexeev Max

втянувшийся

A.M.>> И сама система управления я думаю способна "проглатывать" погрешность угла... тут дело в алгоритмах обработки.
Ckona> ...кроме случая, когда сам угол должен следить с заданной точностью за координатой объекта.
Ckona> На бытовом языке: где точность управления выше - подойти к мишени ногами (догнать) или попасть в нее камнем ? В первом случае точность ±10 градусов, во втором - доли градуса.
Ckona> В задаче Центауруса, может быть, быстрее всего купить готовый механизм сопровождения для астрономов-любителей и присопособить его, меняя обвеску и управление.

Я думаю для задачи Центауруса мое решение на данных компонентах не подходит - у него второй случай, где нужен точный градус.

Для первого случая вполне, главное что бы система имела сходимость по сигналам управления - это позволит проглотить или если быть более точным проглатывать и корректировать ошибку определения угла в процессе управления.
 
AR a_centaurus #16.03.2011 16:38  @Alexeev Max#16.03.2011 15:53
+
-
edit
 

a_centaurus

опытный

A.M.> Ясно что прецезионной точности не получить, но потенциометр я не меняю. "Родной" контроллер использует этот же потенциометр и выставляет нужный угол на валу. Возможно есть сервы с более качественными потенциометрами... дело в эксперименте.

Жаль, но мне твоя схема открывается с очень малым разрешением. Можешь добавить, Max? Мне кажется, что ты выбрал правильное решение. Нужно сначала в общем решить задачу, потом будет видно, что менять, а что оставить. Для этого сервы - идеальные исполнительные машинки.
 3.6.153.6.15
AR a_centaurus #16.03.2011 16:47  @Ckona#16.03.2011 16:18
+
-
edit
 

a_centaurus

опытный

Ckona> В задаче Центауруса, может быть, быстрее всего купить готовый механизм сопровождения для астрономов-любителей и присопособить его, меняя обвеску и управление.

Это уже делается для первой, лабораторной модели:



Sky-Watcher HEQ5 PRO SynScan Equatorial Mount.


Opticstar - advanced CCD imaging solutions.

// www.opticstar.com
 


Экваториальная mount для тяжёлых телескопов. Имеет remote control, который может быть синхронизирован с управлением камерой (сенсором) в реальном времени. Есть и другие, роботизированные сканерные головки для снятия панорамных снимков.

Но я говорю уже о инженерной модели, которую нужно рассматривать как прототип логики управления орбитальной платформой. То есть надо запихать оптику и сенсор в структуру и пытаться управлять ею с применением штатных методов контроля аппарата на орбите.
 3.6.153.6.15
RU Alexeev Max #16.03.2011 16:53  @a_centaurus#16.03.2011 16:38
+
-
edit
 

Alexeev Max

втянувшийся

a_centaurus> Жаль, но мне твоя схема открывается с очень малым разрешением. Можешь добавить, Max? Мне кажется, что ты выбрал правильное решение. Нужно сначала в общем решить задачу, потом будет видно, что менять, а что оставить. Для этого сервы - идеальные исполнительные машинки.

Насчет потенциометра могу сказать, что в теме "Комплексное БРЭО" у меня по такой схеме подключены два потенциометра к контроллеру, они имитируют показания датчиков (давление, ускорение). Оцифровка идет 10 бит с усреднением по 64 значениям. Шумов и непроизвольных скачков не наблюдается, я без особых проблем поворачивая потенциометр рукой могу добиться следующего значения или выставить тербуемое мне значение.

одно значение 360/1024 ~ 0.35 градуса
 
UA Serge77 #16.03.2011 16:58  @Alexeev Max#16.03.2011 16:53
+
-
edit
 

Serge77

модератор

A.M.> одно значение 360/1024 ~ 0.35 градуса

Обычно переменный резистор крутится меньше, чем на 360. Посмотри, как у тебя.
RU Alexeev Max #16.03.2011 17:02  @Serge77#16.03.2011 16:58
+
-
edit
 

Alexeev Max

втянувшийся

Serge77> Обычно переменный резистор крутится меньше, чем на 360. Посмотри, как у тебя.

Не суть важно пускай будет 330, серва тоже не совершает полный оборот... в любом случае порядок измерений тот же.
 
EE Татарин #16.03.2011 17:12  @Alexeev Max#15.03.2011 23:19
+
-
edit
 

Татарин

координатор
★★★★☆
A.M.> Задача о которой я говорил в самом начале требует этой самой обратной связи, т.е. каждый момент времени я должен знать какое положение занимает вал сервопривода.
Я в аналогичной ситуации сделал оптический датчик. Кругляшок с затенёнными секторами напечатал просто на лазерном принтере, в полтора сантиметра внутри корпуса помещается 10 диодов. Это разрешение 360/1024 = 0.35 градуса на отчёт.
Плюсы:
- никаких дрейфов АЦП;
- никаких шумов (то есть, ты точно знаешь момент, когда меняется значение, скажем, расчёту скорости шум на АЦП может сильно подгадить);
- никакого износа потенциометра (а он будет, поверь!), в случае дешёвого резистора у тебя оно и пару дней не провертится, начнёт "трещать", со всеми вытекающими закидонами;
- возможность полного оборота (и вообще - сколько угодно оборотов);
- никакого сопротивления движению;
- изначально цифра, экономишь аналоговый вход (хотя, это было мне 10 лет назад с ПИК16Ф84 актуально, сейчас-то наверняка пофигу);
- датчик может быть сколь угодно точным: хоть 18 диодов в линейку пихай, если место в корпусе есть для кругляшка есть, и все 20 бит будут истинно работать. С АЦП (молчу уж про потенциометр) такого не будет.

Минус только один вижу: светодиод энергию жрёт. Миллиампер 20. Для устройств "от батарейки" может быть критично.
А, ну и размеры. Тут уже от кривизны ручек зависит: как линейку диодов упакуешь.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  10.0.648.13310.0.648.133
Это сообщение редактировалось 16.03.2011 в 17:18
RU Alexeev Max #16.03.2011 17:21  @Татарин#16.03.2011 17:12
+
-
edit
 

Alexeev Max

втянувшийся

Татарин> Я в аналогичной ситуации сделал оптический датчик. Кругляшок с затенёнными секторами напечатал просто на лазерном принтере, в полтора сантиметра внутри корпуса помещается 10 диодов. Это разрешение 360/1024 = 0.35 градуса на отчёт.

Насчет относительно скорой "смерти" потенциометра иллюзий не испытываю, а насчет оптического датчика картинку в студию с комментариями, идея интересна.
 
1 2 3

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru