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

 
 
> Сервопривод - какие алгоритмы кроме ПИД используются?, результаты с ПИД не устраивают (может неправильно готовлю).
Сергей Борщ
сообщение Mar 14 2010, 09:59
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Стоит задача: оживить авиационный индикатор. Индикатор состоит из двухфазного двигателя типа ДИД, который через редуктор двигает шкалу или вращает стрелку и датчик обратной связи (потенциометр или сельсин). Двигатель запитываю пониженным напряжением (17в вместо 36в) 400Гц. Больше не могу - входное питание постоянка 24в. Двигатель вращается замечательно. Проблема с реализацией следящей системы. Редуктор обладает весьма значительной инерцией и трением покоя. Попробовал реализовать ПИД (по статье "PID without PhD"), но результат не понравился. Настроить его по Зиглеру-Николсу невозможно - при малых P двигатель не может преодолеть трение редуктора, увеличиваю - как только двигатель в состоянии стронуть редуктор начинаются колебания. Задавить колебания можно значительным увеличением D. При малых D торможение начинается слишком поздно, при больших оно начинает тормозить еще на разгоне, система получается очень вялой. При малых изменениях входного сигнала I часть отрабатывает медленно, а если ее ускорить - начинает мешать при больших перемещениях, снова начинаются колебания.
Какие еще алгоритмы применяются в подобных сервосистемах? На просторах интернета встречается статья "Fundamentals of Servo Motion Control", где кроме PID управления описано некое PIV управление, но описано в общих словах. Поиск этого PIV выдает перепечатки этой самой "Fundamentals" с теми же самыми картинками и ни слова больше. Какие алгоритмы применяются в сервосистемах радиоуправляемых моделей? Там нагрзука сервомашинки заранее неизвестна, но работают они очень шустро и четко.

Процессор - мега88, плавающую точку не успеет, все считаю в фиксированной. Частота опроса датчика - 50 Гц.
В какую сторону копать? Ссылки с не очень заумной математикой приветствуются.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
khach
сообщение Mar 15 2010, 14:00
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Насколько я помню, петля PI+V (скорость) позволяет получить стабильность привода при низких скоростях и удержании позиции. При этом датчик скорости должен быть аналоговый (тахогенератор). Это избавляет контроллер от необходимости рассчитывать скорость при почти неподвижном энкодере, тем более, что простым просчетом числа импульсов за единицу времени при почти неподвижном диске получаем большую ошибку. С другой стороны вводить аналоговый тахогенератор в современный привод (там, где он не предусмотрен конструктивно)- это большие проблемы с механикой и надежностью. В продвинутых контроллерах предусмотрен аппаратный блок velocity estimator для квадратурного энкодера. Обычно работает по принципу заполнения импульса от энкодера импульсами высокой частоты и регистрации их в отдельном аппаратном счетчике. В принципе работоспособен, но иногда чудит при удержании позиции привода. Второй вариант- синусно-косинусный энкодер, дающий аналоговый отсчет промежуточного положения между слотами диска энкодера. Но плохо работает при длинных проводах от привода к контроллеру (помехи АЦП).
Так вот, собственно, как считаете, таходатчик при сегодняшней технике развития привода это анахронизм, и надо "тянуть" за алгоритм обработки энкодера, или все таки надо его сохранить?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Сергей Борщ   Сервопривод - какие алгоритмы кроме ПИД используются?   Mar 14 2010, 09:59
- - proxi   Цитата(Сергей Борщ @ Mar 14 2010, 11:59) ...   Mar 14 2010, 11:00
- - @Ark   IMHO, нужна обратная связь по скорости вращения дв...   Mar 14 2010, 11:04
- - Tanya   Цитата(Сергей Борщ @ Mar 14 2010, 12:59) ...   Mar 14 2010, 12:02
- - @Ark   Цитата... Получится более линейная вещь. По моему,...   Mar 14 2010, 12:42
|- - Tanya   Цитата(@Ark @ Mar 14 2010, 15:42) По моем...   Mar 14 2010, 13:02
- - @Ark   ЦитатаСкорость при малых значениях ее обычно измер...   Mar 14 2010, 13:08
- - _Pasha   Цитата(Сергей Борщ @ Mar 14 2010, 13:59) ...   Mar 14 2010, 15:35
- - Сергей Борщ   Цитата(proxi @ Mar 14 2010, 13:00) двигат...   Mar 14 2010, 18:50
|- - Tanya   Цитата(Сергей Борщ @ Mar 14 2010, 21:50) ...   Mar 14 2010, 19:13
|- - proxi   ЦитатаНе все так страшно - у меня сельсин запитыва...   Mar 14 2010, 21:42
- - man with no name   Я для регулирования положения делал табличку завис...   Mar 14 2010, 21:01
- - Сергей Борщ   Цитата(Tanya @ Mar 14 2010, 21:13) Что зн...   Mar 14 2010, 21:24
|- - Tanya   Цитата(Сергей Борщ @ Mar 15 2010, 00:24) ...   Mar 15 2010, 09:18
|- - Oldring   Цитата(Tanya @ Mar 15 2010, 12:18) Может ...   Mar 15 2010, 09:31
|- - Tanya   Цитата(Oldring @ Mar 15 2010, 12:31) Имен...   Mar 15 2010, 09:35
|- - Oldring   Цитата(Tanya @ Mar 15 2010, 12:35) Ограни...   Mar 15 2010, 09:49
|- - Tanya   Цитата(Oldring @ Mar 15 2010, 12:49) Пожа...   Mar 15 2010, 10:17
|- - Oldring   Цитата(Tanya @ Mar 15 2010, 13:17) И так ...   Mar 15 2010, 10:44
|- - Tanya   Цитата(Oldring @ Mar 15 2010, 13:44) Невя...   Mar 15 2010, 10:55
|- - Oldring   Цитата(Tanya @ Mar 15 2010, 13:55) Для ре...   Mar 15 2010, 11:10
|- - Tanya   Цитата(Oldring @ Mar 15 2010, 14:10) Невя...   Mar 15 2010, 11:27
|- - Oldring   Цитата(Tanya @ Mar 15 2010, 14:27) Не шут...   Mar 15 2010, 11:33
|- - Tanya   Цитата(Oldring @ Mar 15 2010, 14:33) Назр...   Mar 15 2010, 12:13
|- - Oldring   Цитата(Tanya @ Mar 15 2010, 15:13) Что Ва...   Mar 15 2010, 12:36
- - @Ark   Цитата... люфты в редукторе минимальные, если вращ...   Mar 14 2010, 22:45
- - _Pasha   Типомысль: Экстраполяция промежуточных отсчетов ко...   Mar 15 2010, 07:47
- - Oldring   Цитата(Сергей Борщ @ Mar 14 2010, 12:59) ...   Mar 15 2010, 09:04
- - @Ark   В этой задаче присутствуют два различных процесса ...   Mar 15 2010, 10:10
- - @Ark   ЦитатаПредполагается, что мы можем создать именно ...   Mar 15 2010, 10:24
|- - Tanya   Цитата(@Ark @ Mar 15 2010, 13:24) Система...   Mar 15 2010, 10:27
- - @Ark   ЦитатаЭто мы хотим положение, а она должна выдават...   Mar 15 2010, 10:47
- - Сергей Борщ   Цитата(Oldring @ Mar 15 2010, 11:04) Можн...   Mar 15 2010, 12:09
|- - Oldring   Цитата(Сергей Борщ @ Mar 15 2010, 15:09) ...   Mar 15 2010, 12:22
|- - Tanya   Цитата(Сергей Борщ @ Mar 15 2010, 15:09) ...   Mar 15 2010, 12:29
||- - Сергей Борщ   Цитата(Tanya @ Mar 15 2010, 14:29) Если В...   Mar 15 2010, 12:39
||- - Tanya   Цитата(Tanya @ Mar 15 2010, 15:29) Если В...   Mar 15 2010, 12:58
||- - Oldring   Цитата(Tanya @ Mar 15 2010, 15:58) Ваш ав...   Mar 15 2010, 13:28
||- - Tanya   Цитата(Oldring @ Mar 15 2010, 16:28) Не п...   Mar 15 2010, 14:09
||- - Oldring   Цитата(Tanya @ Mar 15 2010, 17:06) Задача...   Mar 15 2010, 14:27
||- - blackfin   Цитата(Oldring @ Mar 15 2010, 17:27) Все ...   Mar 15 2010, 14:31
|- - _Pasha   Ого, нафлудили... Цитата(Сергей Борщ @ Mar 15...   Mar 16 2010, 06:55
|- - Сергей Борщ   Цитата(_Pasha @ Mar 16 2010, 08:55) Все-т...   Mar 16 2010, 09:28
||- - barabek   Цитата(Сергей Борщ @ Mar 16 2010, 19:28) ...   Mar 16 2010, 09:40
||- - AndreyChip   Цитата(Сергей Борщ @ Mar 16 2010, 13:28) ...   May 26 2010, 14:00
|- - Tanya   Цитата(_Pasha @ Mar 16 2010, 09:55) Ого, ...   Mar 16 2010, 17:53
|- - _Pasha   Цитата(Tanya @ Mar 16 2010, 21:53) а) По...   Mar 16 2010, 18:40
- - @Ark   ЦитатаБыло бы замечательно. Мучает вопрос - как оп...   Mar 15 2010, 12:26
- - perfect   Пардон, что влезаю с такими вопросами, но всё-таки...   Mar 15 2010, 13:25
- - @Ark   ЦитатаЭтот самый мотор может в нерабочее время под...   Mar 15 2010, 14:27
- - Сергей Борщ   Цитата(Tanya @ Mar 15 2010, 14:58) А заче...   Mar 15 2010, 14:53
|- - Tanya   Цитата(Сергей Борщ @ Mar 15 2010, 17:53) ...   Mar 15 2010, 15:11
|- - Сергей Борщ   Цитата(Tanya @ Mar 15 2010, 17:11) Тогда ...   Mar 15 2010, 15:22
|- - Tanya   Цитата(Сергей Борщ @ Mar 15 2010, 18:22) ...   Mar 15 2010, 15:39
|- - Oldring   Цитата(Сергей Борщ @ Mar 15 2010, 18:22) ...   Mar 15 2010, 15:50
|- - тау   Цитата(Oldring @ Mar 15 2010, 18:50) Обмо...   Mar 15 2010, 16:24
- - Сергей Борщ   Цитата(Tanya @ Mar 15 2010, 17:39) Я тако...   Mar 15 2010, 16:30
|- - Oldring   Цитата(Сергей Борщ @ Mar 15 2010, 19:30) ...   Mar 15 2010, 16:45
||- - khach   Цитата(Oldring @ Mar 15 2010, 19:45) На з...   Mar 15 2010, 17:00
||- - Oldring   Цитата(khach @ Mar 15 2010, 20:00) Кстати...   Mar 15 2010, 17:07
|- - тау   Цитата(Сергей Борщ @ Mar 15 2010, 19:30) ...   Mar 15 2010, 17:00
|- - Сергей Борщ   Цитата(тау @ Mar 15 2010, 19:00) СП в тра...   Mar 15 2010, 17:32
|- - Tanya   Цитата(Сергей Борщ @ Mar 15 2010, 20:32) ...   Mar 15 2010, 18:31
- - perfect   Хм, мне бы больше понравилось не падение амплитуды...   Mar 15 2010, 18:24
|- - Сергей Борщ   Цитата(perfect @ Mar 15 2010, 20:24) Хм, ...   Mar 15 2010, 20:48
|- - barabek   У меня была примерно такая задача управления мален...   Mar 16 2010, 01:00
- - perfect   Не очень постоянный, там есть С21.   Mar 15 2010, 18:35
|- - Tanya   Цитата(perfect @ Mar 15 2010, 21:35) Не о...   Mar 15 2010, 18:43
|- - Oldring   Цитата(Tanya @ Mar 15 2010, 21:43) Течет,...   Mar 15 2010, 22:41
|- - Tanya   Цитата(Oldring @ Mar 16 2010, 01:41) Рото...   Mar 16 2010, 04:42
|- - Oldring   Цитата(Tanya @ Mar 16 2010, 07:42) А я во...   Mar 16 2010, 06:03
- - TSerg   >Амплитудное мне реализовать проще - не нужно б...   Mar 18 2010, 12:23
- - Serj78   Наличие трения указывает на существенное изменение...   Mar 24 2010, 19:45
|- - _Pasha   Цитата(Serj78 @ Mar 24 2010, 22:45) Диффе...   Mar 24 2010, 21:28
- - Vasily_   Цитата(Сергей Борщ @ Mar 14 2010, 13:14) ...   Apr 14 2010, 09:35


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 00:50
Рейтинг@Mail.ru


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