реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ПИД с ПОС?, убирать или оставить?
_Ivana
сообщение Nov 3 2013, 19:46
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Здравствуйте. Пытаюсь промоделировать механическую конструкцию, балансирующую за счет маятника-противовеса, управляемого двигателем с редуктором. Есть модель в симулинке, играюсь с ней. Датчика обратной связи 2 - гироскоп на конструкции, дающий угловую скорость, и энкодер на двигателе, дающий угол отклонения противовеса от условного нуля. Мне советовали взять линейную комбинацию невязок с каждого датчика и завести ее на общий ПИД, с выхода которого брать сигнал управления двигателем. Но я для расширения возможностей подаю сигнал с каждого датчика на свой ПИД со своими коэффициентами, а уже сумму выходов ПИД-ов использую в качестве сигнала управления. Подобрал коэффициенты, модель устойчиво балансирует, переваривает достаточно сильные шумы датчиком, люфт редуктора привода, импульсные и шумовые механические воздействия и толчки, скачкообразную смену уставки угла балансира и т.п., сносно выходит на заданную уставку. Но меня немного смущает то, что коэффициенты при пропорциональной и интегральной составляющих ПИДа энкодера получились разных знаков, то есть по одной ветке обратной связи у меня получилась ПОС. Причем, пока все мои попытки от нее избавиться приводят к ухудшению качества управления. Я встречался с электрическими схемами устойчивых усилителей, в которых ПОС была оправдана и компенсировалась более глубокой ООС, но в данном случае я подозреваю, что можно реализовать управление оптимальнее, убрав ПОС.
Что скажете, доктора? Файл модели в симулинке могу предоставить.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Nov 3 2013, 21:11
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Сейчас уже поздно писать развернутый ответ, постараюсь завтра. Но вот так сходу:

Вы рассматриваете систему как линейную или как нелинейную? Для линейной:
Если получается ПОС по интегралу угла, то это плохо, так как даже при наблюдаемой устойчивости системы могут быть скрытые неустойчивые состояния. Если получается ПОС по углу, то, возможно, она компенсируется ООС по интегралу скорости, так как для анализа устойчивости это, вообще-то, "эквивалентные" сигналы. Если, конечно, они заведены в одну точку.

Вообще по вашему описанию полноценная картина не складывается, лучше действительно посмотреть симулинковскую модель.
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Nov 3 2013, 21:20
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Я не настолько разбираюсь в теории, чтобы рассматривать линейную или нелинейную модель )) Я просто беру сигналы с датчиков, завожу их в ПИДы и смотрю результат, подбирая коэффициенты. Модель сейчас загружу. Для работы требуется компонента сим-механикс, как вы понимаете )
Go to the top of the page
 
+Quote Post
RHnd
сообщение Nov 3 2013, 21:23
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Если модель маятника в сим-меканикс, то она нелинейная. Это сильно затрудняет формальный анализ. А угол отклонения в больших пределах меняется?
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Nov 3 2013, 21:27
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



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

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

upd: сейчас анализирую отдельно выходы каждого ПИДа и их сумму, может что-то выявлю. Вдобавок, вставлю ограничение интегральных компонент и общего сигнала управления, это должно помочь против наблюдаемых выбросов сигнала управления при скачкообразном изменении уставки, но сам факт ПОС от этих мер конечно никуда не денется.
Прикрепленные файлы
Прикрепленный файл  Cube.zip ( 24.44 килобайт ) Кол-во скачиваний: 19
 
Go to the top of the page
 
+Quote Post
RHnd
сообщение Nov 4 2013, 11:32
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Я подозреваю, что у вас матлаб 2013? У них новый формат файлов, мой матлаб его не открывает. Пересохраните, пожалуйста, модель в формате Simulink 7.4(2009b). Если будут проблемы с сохранением, то выложите хотя бы картинку, на которой структура регулятора, от двух входов (угол и скорость) к выходному сигналу - заданию на двигатель.

Если вас тревожат выбросы при скачкообразном изменении уставки, то, может, сглаживающий префильтр поставить? Или там есть какие-то физические причины, что уставка должна именно скачком меняться?
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Nov 4 2013, 14:14
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



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

Прикрепленные файлы
Прикрепленный файл  Cube.zip ( 12.27 килобайт ) Кол-во скачиваний: 17
 
Go to the top of the page
 
+Quote Post
RHnd
сообщение Nov 4 2013, 15:32
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



По модели:
1) К сожалению, у вас не очень хорошо оформлена модель. Рекомендуется разделять по разным подсистемам группы элементов. В вашем случае надо, как минимум, разделить сам объект управления и регуляторы. Т.е. создать одну подсистему, в которой вся механика, привод и датчики, и вторую подсистему, в которой регуляторы. Соответственно, от второй к первой идет сигнал управления, а от первой ко второй - сигналы от датчиков. Это позволит в дальнейшем продуктивнее работать с моделью, поддерживать ее и даже кому-то передавать. При этом первую подсистему так же можно делить на блоки. Есть такое эмперическое правило - не более 8-10 элементов в одной логической группе (в одной подмодели).
2) На данный момент я вижу, что угол измеряется в градусах, а скорость в радианах в секунду.
3) Перед PID гиро и PID энкодер стоят множители K и K1, а после сумматора - множитель K2. Эти множители относятся к регулятору или они как-то связаны с самой системой, двигателем, датчиками? Чтобы таких вопросов не было, как раз и надо делить систему на логические подсистемы.
4) А почему у вас люфт стоит перед двигателем, т.е. в канале управления? Разве в sim mechanics нету нормального механического люфта? Я сам не знаю, я с sim mechanics не работал.
5) Не увидел в модели трения. Странно для детального моделирования механической системы. Я его пропустил?
6) А так же не увидел динамику самого двигателя. Вы ею сознательно пренебрегаете?


По управлению.
1) Когда я предлагал сглаживающий фильтр, я имел ввиду в канал задания, т.е. между switch и сумматором. Это не будет задержкой управления, если только у вас не накручено еще контуров управления сверху, не показанных в модели. Если же такие контура есть, то это они должны заботиться, чтобы не было скачков в задании. С выбранной вами структурой регулятора нельзя избавиться от скачков управления: из-за скачка в задании у вас возникает скачок в ошибке, а он через пропорциональный коэффициент в PID энкодера проходит прямо в управление. Очевидных решения два. Первое - построение регулятора без пропорциональной составляющей. Второе - формирование гладкого задания. Лучше оба, но вам, как мне кажется, больше подходит второй. Попробуйте поставить на выходе switch апериодическое звено первого порядка 1/(a*s+1). Начните с a=0.01 и поэкспериментируйте.
2) Чтобы говорить про сам контроллер, надо разобраться с K,K1,K2 и с размерностями измерений. Чтобы понять, что же именно является контроллером. sm.gif
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Nov 4 2013, 16:04
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Спасибо за то что вникли и так подробно отвечаете. по пунктам:
1) насчет группировки модели по блокам - скорее всего вы правы, это первая модель в симулинке, с которой я экспериментирую, и то изначально мне дали готовую основу, а я уже пытаюсь ее шлифовать. Но имхо пока модель аналоговая, разделение на блоки не принципиально, хотя и удобно.
2) это тоже не принципиально. датчик вообще будет давать попугаи в секунду или количество щелчков энкодера на оборот, после него все равно будет усилитель (неважно, аналоговый или цифровой), который приводит значения к условному уровню. Можно и без этих усилителей, сразу в ПИДы коэффициенты соответствующие выбирать
3) множители также не принципиальны, см. п. 2. выбраны в модели исключительно для подбора коэффициентов ПИДов в районе 1-цы.
4) люфт "сигнальный", да rolleyes.gif механического так и не нашел в сим-меканикс, может плохо искал. Но для качественной картины устойчивости при люфте такой сигнальный люфт более менее подходит. Все лучше, чем ничего rolleyes.gif
5) Трения нет, хотя его можно добавить, это вроде можно найти в компоненте. Вопрос в том, насколько точно моделировать. По хорошему, надо добавить еще тряску земли (в вариантах "на столе" и "на полу вагона метро"), ветер, жесткость конструкции и т.п. Но повторюсь, мне хотелось получить некую качественную картину, проверить ее на тех воздействиях, что я смогу смоделировать (шумы датчиков, люфт привода (пусть и сигнальный). тряску шумом и импульсами за верхнюю часть конструкции, скачок сигнала уставки) - и посмотреть, хорошо ли моя ПИД-модель переваривает эти воздействия. Чтобы оценить. реализуется ли она в железе в принципе.
6) Динамики двигателя тоже нет smile3009.gif Двигатель сам по себе сложная система для моделирования, автор модели (исходной) применяет вместо него актуатор, т.е. просто интерфейс между сигнальной и механической частью. Конечно далеко от идеала, но надеюсь в грубом приближении должно сойти.

1) по фильтру в канале задания уставки понял, попробую, сначала думал вы предлагаете фильтр в канале управления.
2) про коэффициенты и размерности выше писал и продолжаю думать что это не принципиально. Все равно все решается коэффициентами ПИДов.

А вот с ПОС так и непонятно. Хотя только что посмотрел выходы сигналов с двух ПИД-ов и их сумму, картинка производит впечатление, но хорошо это или плохо и что делать дальше пока не понял.
Go to the top of the page
 
+Quote Post
RHnd
сообщение Nov 4 2013, 17:45
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Разделение модели на подсистемы было бы очень удобно для анализа поведения. Ну и просто правила хорошего моделирования. sm.gif
Вы, к сожалению, несколько заблуждаетесь по поводу пунктов 2 и 3. Конечно, угол у вас датчик показывает в отсчетах, а скорость гироскоп показывает в попугаях. Задание же на двигатель вы вообще выдаете в бубликах, всё правильно. И, кончено, все масштабирующие коэффициенты можно явно внести прямо в коэффициенты регуляторов. Но для анализа так делать не надо, для анализа сигналы регулятора и сигналы модели надо сводить в единую систему измерений. Впрочем, поскольку вы анализом не занимаетесь, а подбираете значения, то на данный момент вам это действительно не актуально. Просто поставьте себе пометку, что в этом месте вы заготовили хороший запас граблей. sm.gif


А что у вас за скорость измеряется гироскопом? Я сначала думал, что это скорость той же координаты, что и измеряемый энкодером угол, но, похоже, это не так.

Цитата(_Ivana @ Nov 4 2013, 20:04) *
А вот с ПОС так и непонятно. Хотя только что посмотрел выходы сигналов с двух ПИД-ов и их сумму, картинка производит впечатление, но хорошо это или плохо и что делать дальше пока не понял.


Я еще посмотрел вашу модель. У вас неполноприводная механическая система, где вы измеряете положение одной координаты и еще какую-то скорость. Вам вообще повезло, что для нее удалось найти какой-то простой регулятор в семействе ПИД, так как аналитический синтез таких систем дело непростое.
Действительно, у вас есть положительная обратная связь. Да, это выглядит неприятно. С другой стороны, это система нелинейная и тут нет такой обязательной закономерности "положительная"="плохо". Хотя, конечно, смущает.
Если вы доверяете вашей механической модели, то хорошо. Попробуйте еще поварьировать параметры самой системы, проверить на чувствительность.

Чтобы проводить какой-то дальнейший анализ, хорошо бы посмотреть математическую модель системы, а не механическую в sim mechanics. Я в этом mechanics не разбираюсь, увы.
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Nov 4 2013, 18:19
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Спасибо за рекомендации по разбиению на блоки и работе в одной системе измерений. Это мой первый опыт с подобными моделями, поэтому подобные советы в любом случае полезны.

Детальнее по модели: она родилась как попытка промоделировать идею куба (или любой другой фигуры), стоящего на своей вершине. причем, безо всяких маховиков и прочего подобного, только с помощью балансиров-противовесов. Для простоты хочу сначала реализовать в железе одномерную модель с одной степенью свободы. И тут есть варианты - либо я ставлю на каркас полноценное IMU, которое дает мне абсолютные (от земли) углы отклонения, либо просто гироскоп, который дает только угловую скорость относительно земли. плюс энкодер на валу двигателя дает угол отклонения балансира относительно каркаса (а не относительно земли). То есть, гироскоп измеряет угловую скорость падения каркаса относительно земли, а энкодер - угол балансира относительно каркаса. вот с помощью двух таких нехитрых датчиков я и хочу добиться устойчивого балансирования, и модель показывает что это реально, если я не ошибся в чем-то принципиально.

ЗЫ математику я сам люблю, хотя и не умею ))) Но боюсь, если засесть за математическое описание этой системы, то я в этом утону с головой и так и не доведу идею до практического воплощения.... я смутно подозревал, что там не все тривиально. в любом случае, большое вам спасибо за конструктивные советы и комментарии. если вдруг появятся еще мысли по этой теме, с удовольствием почитаю ) Или если я (может с чьей-то помощью) все-таки сумею создать математическую модель, то покажу ее )
Go to the top of the page
 
+Quote Post
RHnd
сообщение Nov 4 2013, 19:55
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Как я вижу из описания, в вашем "одномерном" (некорректный термин) случае можно предположить, что первое звено закреплено в точке контакта с землей, так? Тогда вы имеете дело с классическим двузвенным маятником. Мат. модель такого маятника должно быть не сложно найти. Да и составить ее должен без особых проблем человек, недавно прослушавший курс теормеха или робототехники.

Вообще, неполноприводными многозвенными маятниками активно занимаются некоторые ученые в области теории управления и робототехники. Например, вот ребята из Цюриха сделали - вы что-то подобное хотели?
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Nov 4 2013, 20:09
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



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

Вообще, некоторое время назад я создал тему насчет этой идеи на нескольких форумах по робототехнике. Вот здесь http://forum.easyelectronics.ru/viewtopic....afc&start=0 обсуждение было самым плодотворным, более того, мне один добрый и весьма неглупый при этом человек презентовал стартовую модель для симулинка и дал много других полезных советов, а самое страшное - что он взял и за пару часов собрал по его словам рабочий прототип в железе (!), протестировал ее и потерял интерес, вернувшись к более интересным для себя вещам ))) А я все выбираю какие заказать двигатели да пытаюсь дошлифовать мой вариант симулинковской модели...

ЗЫ а от этой темы на данном форуме я хотел решения принципиального вопроса - оставлять свою ПОС и пытаться реализовывать с ней или вдруг бы кто сказал: да там проще так-то и сяк-то, и без ПОСа и устойчивее )))
Go to the top of the page
 
+Quote Post
RHnd
сообщение Nov 4 2013, 20:31
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Цитата(_Ivana @ Nov 5 2013, 00:09) *
ЗЫ а от этой темы на данном форуме я хотел решения принципиального вопроса - оставлять свою ПОС и пытаться реализовывать с ней или вдруг бы кто сказал: да там проще так-то и сяк-то, и без ПОСа и устойчивее )))

Я думаю, что есть решения и без ПОС. Но без мат. модели искать их придется подбором. sm.gif
Поставьте интегральный коэффициент в ноль. Задание не отрабатывает, но балансирует.
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Nov 4 2013, 20:40
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Пробовал (если вы про интегральный коэффициент ПИД энкодера), даже быстрее стабилизируется, но уставку не отрабатывает (типа как классический пример с термодатчиком и нагревателем). Стыдно сказать, но я еще детально не выяснил где у меня ПОС - в пропорциональной или в интегральной составляющей, кажется что в пропорциональной все-таки.
Меня сейчас смущает и само наличие ПОС и противофазные выходы обоих ПИДов и малая их сумма как сигнал управления.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 21:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016