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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Производная ступенчатой функции, угла, измеряемого энкодером
_Ivana
сообщение Mar 21 2014, 09:09
Сообщение #31


Местный
***

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



Вот здесь http://books.google.com.ua/books?id=oCsFYK...p;q&f=false автор рассматривает задачи локальной и глобальной стабилизации двухзвенного маятника в положении "оба звена вверх" в двух постановках - управлением или в точке подвеса, или в точке соединения звеньев. В случае "оба звена вверх" присутствуют две устойчивые и две неустойчивые моды, и ни одной колебательной. Автор рассчитывает управление, а в конце скромно замечает, что случай "второе звено вниз" гораздо проще, там одна неустойчивая мода и нечего его рассматривать. Я рассмотрел этот случай, там колебательная мода тоже сильно портит управление, оно получается тоже колебательным, в отличие от "оба звена вверх", а отсюда - и дребезг энкодера... Получается формально проще, а фактически, когда нет хорошего датчика скорости второго звена относительно первого - не факт.

Цитата
Достаточно двух много-пульсных энкодеров в точке вращения первого звена и в точке соединения звеньев + датчик точной механической вертикали ( да хоть бы и микропереключатель/оптрон и т.п.).
Идеалом было бы наличие аналоговых ДУС в этих точках, т.е. тахогенераторов.
Я хочу быть не привязанным к земле, у меня же нет шарнира в точке крепления первого звена - оно ставится на пол и держится на трении, на которое я надеюсь. Поэтому и датчики такие на первом звене - гироскоп и акселерометр, надеюсь получить от них хорошие угол первого звена от вертикали и его производную - буду изучать чужой опыт, благо его немало в этом случае. А межзвенный датчик я могу выбирать из более широкого диапазона, он же не привязан к внешней системе отсчета. Я думал, энкодера уже стоящего на двигателе с редуктором - 8400 щелчков на оборот должно хватить, а оказывается встретил такие сложности с расчетом его производной. Если будет совсем плохо, то буду думать какой другой датчик угловой межзвенной скорости поставить. Но пока из спортивных соображений хочу победить энкодер, то есть обойтись только им в межзвенном угле.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 21 2014, 09:15
Сообщение #32


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(_Ivana @ Mar 21 2014, 13:09) *
, а отсюда - и дребезг энкодера... Получается формально проще, а фактически, когда нет хорошего датчика скорости второго звена относительно первого - не факт.

Невозможно избежать дребезга энкодера. Вы же знаете, что фазовые траектории не пересекаются...
Поэтому решение в виде - положение и скорость = нулю - изолированная точка.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Mar 21 2014, 14:13
Сообщение #33





Guests






Цитата(_Ivana @ Mar 21 2014, 13:09) *
Я хочу быть не привязанным к земле, у меня же нет шарнира в точке крепления первого звена - оно ставится на пол и держится на трении, на которое я надеюсь.


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

Что тут могу сказать - метод подбора управления способом тыка под недоопределенную физическую систему может вызвать только сочувствие.
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Mar 21 2014, 18:11
Сообщение #34


Местный
***

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



Я постарался максимально подробно описать свою конструкцию, некоторые ограничения понятны из описания - например, максимальная угловая скорость двигателя с редуктором весьма ограничена, и ее может не хватить для нужд управления, еще буду проверять этот момент. С другой стороны, чем больше понижение на редукторе, тем больше момент и больше щелчков энкодера на оборот. Попробую найти компромисс.
Да, сначала хотел трехмерный случай, но решил сперва сделать плоский вариант sm.gif А насчет управления у Формальского все расписано, я рассчитал для своего случая, и при идеальных датчиках и двигателе все должно быть хорошо. Теперь на первый план выходят сложности с их неидеальностями и варианты как их оптимально обходить.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Mar 21 2014, 18:23
Сообщение #35





Guests






Извините, но если Вы не учитываете скольжение точки опоры, так и надо говорить - жестко закрепленная, она.
P.S.
Идеальные объекты.. как это заманчиво!
Увы, реальность ставит другие задачи, которые надо решать сейчас и в заданных ограничениях.

P.P.S.
Не надо кивать на Формальского или на Мартыненко.
Думать надо Вам.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Mar 24 2014, 10:20
Сообщение #36





Guests






Здесь небольшая (50 Mb) подборка материалов по обратному маятнику - может что-то пригодится:
http://exfile.ru/457976
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Mar 24 2014, 14:30
Сообщение #37


Местный
***

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



Спасибо, скачал, буду пытаться разобраться. Тут на форуме уже интересовались подобным: http://electronix.ru/forum/index.php?showtopic=94350 , некоторые рекомендации совпадают.

ЗЫ сейчас пытаюсь разобраться что такое наблюдатель и управление по модели - второе хоть как-то качественно понятно, а с первым совсем сурово - здесь http://www.bmstu.ru/ps/~s_tkachev/ есть статья по ним, но там понятны только предлоги (а там векторные поля, коммутаторы, производные и скобки Ли, кораспределения, теоремы Гамильтона-Кэли и прочие сильные слова и термины wacko.gif )
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Mar 24 2014, 15:54
Сообщение #38





Guests






По наблюдателям
http://exfile.ru/457997
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Mar 24 2014, 16:43
Сообщение #39


Местный
***

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



Да, в вашей подборке та серьезная статья Ткачева тоже присутствует 
Спасибо, чувствую, объемом информации для усвоения я обеспечен на неопределенное время. Но делать нечего, придется разбираться и моделировать. Хотя, может и можно уже попробовать реализовать в железе управление, посчитанное по Формальскому – по двум углам и их производным, производную по энкодеру посчитать по МНК, модель в Матлабе более-менее работает. Хотя остается один тонкий момент – двигатель. У меня управление задается в виде момента силы, двигатель с сильным редуктором, может можно приблизительно считать, что момент силы прямо пропорционален напряжению, подаваемому на двигатель. Если же это сильно не так, и момент зависит еще от многих параметров (например, скорости вала), тогда надо попытаться включить в моделирование эти зависимости.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Mar 25 2014, 02:29
Сообщение #40





Guests






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

ДПТ независимого возбуждения или на магнитах.
M=k*Ф*I
E=k*Ф*w
U-E=I*R
M-Mc=J*dw/dt

В Вашем случае целесообразнее выполнить питание/управление двигателя от источника тока, при этом он приобретает свойство источника момента.
Задавая ток, получаете нужный момент.
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Mar 25 2014, 16:03
Сообщение #41


Местный
***

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



Очередное спасибо. То есть, будет эффективнее не усложнять модель маятника моделью зависимости момента двигателя от напряжения (не переводить управление моментом в управление напряжением), а поставить резистор в разрыв, замерять напряжение на нем с помощью АЦП того же МК, и сделать еще один контур управления двигателем, который будет принимать на вход нужный момент (пропорциональный току) и с помощью своего ПИДа удерживать этот ток, управляя напряжением на двигателе с помощью ШИМ?

Или, скорее всего, уже есть готовые модули токового управления двигателем. Если стоят разумных денег и подойдут к моему двигателю, имеет смысл взять, чтобы хоть этот вопрос на первое время снять.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Mar 25 2014, 16:25
Сообщение #42





Guests






Цитата(_Ivana @ Mar 25 2014, 20:03) *
и с помощью своего ПИДа удерживать этот ток, управляя напряжением на двигателе с помощью ШИМ?


ПИД тут совершенно не нужен. Обычный ШИМ со стабилизацией тока.
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Mar 31 2014, 16:22
Сообщение #43


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Если я правильно понял вашу задачу, то у меня было очень что-то близкое. Имелся угловой датчик положения, который оцифровывался с некоторой частотой. Поскольку частота оцифровки была в несколько раз больше чем скорость смены значений у датчика, то тоже получалась ступенчатая функция, а интересовала скорость вращения. Численное дифференцирование такой функции бессмысленно. Поэтому задача успешно решалась двумя способами. Первый - сглаживание нестационарным альфа-фильтром, при этом альфа являлась функцией от кол-ва "перескоков" датчика положения на заданном интервале времени. А второй - ещё проще, между перескоками датчика скорость полагалось постоянной и равной углу одного перескока датчика, делённого на кол-во отсчётов между ними. Недостаток второго способа в том, что крива скорости получается всё равно разрывной.
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Apr 1 2014, 03:07
Сообщение #44


Местный
***

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



Kluwert, спасибо, я пробовал в другом варианте адаптивные фильтры - например, изменение длины окна (количества отсчетов) для МНК в зависимости не от количества перескоков, а просто от величины угла, предполагая, что при выходе в нулевой угол скорость тоже близка к нулю. Работает, но не сказать что сильно лучше, чем при постоянной длине окна, подобранной для любой частоты опроса датчика просто равной половине максимального времени запаздывания сигнала скорости, при котором система еще стабилизируется - это время подбиралось в модели с идеальной непрерывной угловой скоростью. То есть, все тот же пресловутый баланс гладкости/запаздывания. Хотя, может я что-то не так делаю, может и можно подобрать наиболее условно оптимальный фильтр для моего случая, или еще покрутить детальнее варианты учета времени между перескоками.
Все-таки хочется разобраться и попробовать построить управление с использованием модели и/или наблюдателя, благо математическая модель системы существует и относительно несложна. Это если пока отвлечься от управления двигателем, которое мне все же хочется реализовать через напряжение, введя в модель момент от противоэдс, и от наличия трения и условия ограничения скорости в межзвенном шарнире из-за редуктора большой кратности на двигателе.
Go to the top of the page
 
+Quote Post
amaora
сообщение Apr 1 2014, 16:08
Сообщение #45


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



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

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

По синтезу регуляторов, может быть будет полезна вот эта ссылка http://www.unn.ru/pages/e-library/aids/2006/36.pdf . Там в некоторых местах накручены сложности для того, чтобы линеаризовать неравенства (как и во многих статьях про LMI). Можно этого и не делать, а решать неравенства как есть, но другими методами. Каким нибудь стохастическим поиском, если регулятор настраивается один раз, то можете даже перебором. Такими методами можно синтезировать например динамический регулятор для системы с запаздыванием. Проще чем руками его стоить.

По двигателю, зная постоянную связывающую скорость с эдс и сопротивление обмоток, пренебрегая преходным процессом связанным с индуктивностью (для коллекторного двигателя при низкой частоте дискретизации управления можно так сделать) и зная скорость, можно управлять моментом задавая напряжение. Значение тока буду выражатся так, I=(U-Ew)/R, связь статическая. Но нужно предварительно оценить E и R, либо откалибровать регулятор. Выразить значение U зная все остальное не сложно. Но E и особенно R плавают с температурой, и не стоит рассчитывать на высокую точность такого метода. Уравнения ДПТ легко найти, если у меня не очень ясно получилось.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 01:13
Рейтинг@Mail.ru


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