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

Гуру
     
Группа: Модераторы
Сообщений: 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)
|
|
|
|
|
 |
Ответов
|
Mar 15 2010, 14:00
|
Гуру
     
Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741

|
Насколько я помню, петля PI+V (скорость) позволяет получить стабильность привода при низких скоростях и удержании позиции. При этом датчик скорости должен быть аналоговый (тахогенератор). Это избавляет контроллер от необходимости рассчитывать скорость при почти неподвижном энкодере, тем более, что простым просчетом числа импульсов за единицу времени при почти неподвижном диске получаем большую ошибку. С другой стороны вводить аналоговый тахогенератор в современный привод (там, где он не предусмотрен конструктивно)- это большие проблемы с механикой и надежностью. В продвинутых контроллерах предусмотрен аппаратный блок velocity estimator для квадратурного энкодера. Обычно работает по принципу заполнения импульса от энкодера импульсами высокой частоты и регистрации их в отдельном аппаратном счетчике. В принципе работоспособен, но иногда чудит при удержании позиции привода. Второй вариант- синусно-косинусный энкодер, дающий аналоговый отсчет промежуточного положения между слотами диска энкодера. Но плохо работает при длинных проводах от привода к контроллеру (помехи АЦП). Так вот, собственно, как считаете, таходатчик при сегодняшней технике развития привода это анахронизм, и надо "тянуть" за алгоритм обработки энкодера, или все таки надо его сохранить?
|
|
|
|
Сообщений в этой теме
Сергей Борщ Сервопривод - какие алгоритмы кроме ПИД используются? 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|