roboforum.ru

Технический форум по робототехнике.


Масштабы величин в ПИД регуляторе

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Масштабы величин в ПИД регуляторе

Сообщение regal » 20 окт 2010, 22:14

Привет. Подскажите, по какому принципу подбираются значения коэффициентов относительно величины ошибки и требуемого регулирующего воздействия. Например, нужно воздействие в диапазоне 0..5000, величина ошибки может быть любым числом (даже очень большим), какие значения коэффициентов подбирать - я имею в виду не настройку а именно масштаб. Допустим настраиваю регулятор, проп. коэфф. для начала можно взять 0.1, 10, 20 или 1000...?
regal
 
Сообщения: 12
Зарегистрирован: 28 сен 2010, 17:38

Re: Масштабы величин в ПИД регуляторе

Сообщение Duhas » 20 окт 2010, 22:32

вы можете после регулятора поставить умножение на 5к а регулятор настраивать на 1.0 выходной сигнал...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Масштабы величин в ПИД регуляторе

Сообщение Radist » 20 окт 2010, 22:38

Настройка Пид - дело тонкое. Допустим, у вас печка. Есть текущая температура, есть заданная. А значит есть рассогласование. Берем пропорциональную составляющую. Если ее взять маленькую, то мощность на объект управления пойдет маленькая, а по мере нагрева она еще и будет уменьшатьсся. Если коэффициент взять большой, то возможно сильное перерегулирование. Писать тут всю теорию - слишком долго и скучно, эту информацию вы найдете в сети. Одно могу сказать точно - никто вам не скажет порядок величины коэффициентов, поскольку он (порядок) и они (коэффициенты) зависят от объекта управления.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Масштабы величин в ПИД регуляторе

Сообщение Master » 21 окт 2010, 11:19

Читать ссылку внизу статьи.
http://ru.wikipedia.org/wiki/%D0%9F%D0% ... 0%BE%D1%80

Однозначно сразу ставьте дифференциальный коэф. в ноль и можете про него забыть. 99 всех ПИД регуляторов это ПИ регуляторы.
А вообще в институте теорию ПИД регулирования изучают год.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Масштабы величин в ПИД регуляторе

Сообщение Duhas » 21 окт 2010, 11:22

год изучают ТАУ,. ПИДы - несколько занятий максимум + практика..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Масштабы величин в ПИД регуляторе

Сообщение regal » 23 окт 2010, 08:09

Спасибо. У меня еще вопрос по поводу ошибки рассогласования. Её нужно ограничивать, т.е. например при ошибке = 100 я регулирую, а при ошибке = 0.01 нет - это правильный поход для достижения необходимой точности регулирования? или регулятор должен работать всегда несмотря на величину ошибки?
regal
 
Сообщения: 12
Зарегистрирован: 28 сен 2010, 17:38

Re: Масштабы величин в ПИД регуляторе

Сообщение Radist » 23 окт 2010, 08:56

Регулятор должен сделать так, чтобы рассогласования не было. Получить рассогласование 0,01 - это фантастика. В реальном регуляторе всегда будут колебания. Пример - вы едете по идеально прямой дороге. Руль стоит очень точно прямо. Можно ли вам поспать на заднем сиденье?
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Масштабы величин в ПИД регуляторе

Сообщение regal » 23 окт 2010, 10:40

Radist, это-то конечно не получить даже и не мечтаю. Вопрос немного в другом. У меня есть механизм, который управляет какой-то величиной. Допустим я получил err = need_val - current_val = 10, где err-ошибка, need_val - требуемое значение величины, current_val - текущее значение величины. Пусть ошибка равная 10 меня устраивает, тогда чтобы не дергать механизм лишний раз я его отключаю, если ошибка снова станет >10 я снова его включу - так правильно делать?
И попутно еще вопрос - при регулировании как Вы и сказали всегда будут колебания, как отличить колебания нормальные и перерегулирование или возбуждение?
regal
 
Сообщения: 12
Зарегистрирован: 28 сен 2010, 17:38

Re: Масштабы величин в ПИД регуляторе

Сообщение Radist » 23 окт 2010, 12:42

Отключать механизм при малом рассогласовании - это правильно. Так работают с клапанами и задвижками. Не отключают когда работают с тэнами и печами.
Перерегулирование - это большой вылет за уставку. Если следующий перелет будет еще больше - это уже возбуждение. Если меньше - затухающий апериодический процесс. Величина перерегулирования обратна пропорциональна времени выхода на режим: можно ооооочееень плавно подойти к уставке без перерегулирования, но это будет достаточно долго.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Масштабы величин в ПИД регуляторе

Сообщение regal » 23 окт 2010, 17:04

Radist, спасибо. Я думаю, что еще вопросы появятся в ближайшее время, хочу подробнее разобраться в теме. Посоветуйте пожалуйста литературу (книги, статьи) для начала - книг много нашел в сети, глаза разбегаются, не знаю с какой начать и в основном голая теория, куча математики. Действительно хорошую стать посоветовал Master (спасибо) лежит на http://www.pidregulator.com.
regal
 
Сообщения: 12
Зарегистрирован: 28 сен 2010, 17:38

Re: Масштабы величин в ПИД регуляторе

Сообщение Radist » 24 окт 2010, 09:21

Это действительно проблема. Я сам не видел хороших книг по этому. Точнее понятных для новичков. Есть формула пид закона. Потребителя интересует методика настройки коэффициентов. На сайте owen.ru есть то ли журналы, то ли статьи, где я видел эти методики. Кладезь знаний есть тут http://lord-n.narod.ru/walla.html, но жизни не хватит чтобы все это прочитать.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Масштабы величин в ПИД регуляторе

Сообщение regal » 25 окт 2010, 14:28

В данный момент работаю с пропорциональным клапаном, который управляется ШИМ с помощью МК (задача - поддерживать постоянный поток с помощью датчика и клапана). Клапан довольно быстрый, время отклика еденицы - десятки миллисекунд. Есть кое-какие успехи, но проблема с коэффициентами ПИД. Без дифф. составляющей система явно колеблется, при малейшем изменении интегрального тоже начинает сильные колебания. В общем настроить не могу. Подскажите как работать с такими системами.
regal
 
Сообщения: 12
Зарегистрирован: 28 сен 2010, 17:38

Re: Масштабы величин в ПИД регуляторе

Сообщение Radist » 25 окт 2010, 20:17

С клапанами не используют классический ПИД. Клапан по сути - интегратор. Упрощаем задачу: есть бассейн с двумя трубами. По одной трубе вещество вытекает (исчезает любым способом), по другой трубе втекает. На этой трубе есть задвижка, которую надо поставить в такое положение, когда приход равен расходу. Если расход изменится - изменится и положение задвижки - система стремиться сделать приход равным расходу (не напоминает работу операционного усилителя?). Пид закон рассчитывает воздействие, которое надо передать в систему. Когда приход равен расходу - мы не трогаем задвижку, то есть воздействие на нее нулевое. Доказал, что не нужна интегральная составляющая? При пропорциональном управлении будут колебания в силу специфичности объекта управления. Кстати, пример вам пропорциональной системы управления без колебаний и перерегулирования - смывной бачок унитаза. Это все была лирика, теперь к сути. Нужно использовать закон ПДД, где вторая Д - вторая производная рассогласования. Вы помните 3 последних рассогласования, конечные разности суть первая и вторая производные. Что делает первая производная - она увеличивает сигнал управления когда мы уходим от уставки (ускоряет возврат к уставке), и уменьшает сигнал управления когда мы идем к уставке (тормозит, чтобы не перелететь). Вторая производная наводит последний лоск. Подбор коэффициентов - тот еще геморрой. Вам сильно бы помогло, если бы вы могли получить следующие графики от времени:
- переменная процесса
- сигнал управления
- пропорциональная составляющая сигнала управления
- первая диф составляющая
- вторая диф составляющая
В процессе подбора будет видно как меняется общая картина, и вам будет нагляднее подбирать коэффициенты.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Масштабы величин в ПИД регуляторе

Сообщение regal » 26 окт 2010, 08:13

Radist, понял идею с ПДД. А без интегральной составляющей как система выйдет на точно уставку? У меня задача выдержать поток на выходе, величины потока могут быть различными, но их нужно держать, да еще и от давления на входе клапана выход не должен зависеть.
regal
 
Сообщения: 12
Зарегистрирован: 28 сен 2010, 17:38

Re: Масштабы величин в ПИД регуляторе

Сообщение Radist » 26 окт 2010, 09:32

Попробую еще раз объяснить просто и с примерами. Выход у вас - положение заслонки. Задача - найти это положение. Управляющее воздействие - движение заслонки в ту или другую сторону. Если есть ненулевая интегральная составляющая - значит вы движите заслонку. И будете двигать, пока не упретесь. Обратимся к аллегориям. Вы за рулем автомобиля. Вы не смотрите на руль, поэтому не знаете положение колес, но знаете куда хотите ехать. Поехали. Опа, не туда, надо повернуть руль. Все равно не туда, сильнее поворачиваем. О, приближаемся к нужному нам направлению - надо руль в другую сторону повернуть. Теперь немного туда-сюда покрутим - мы вышли на уставку! (Теперь на минутку вернемся к нашим терминам. Наше направление уходит от нас - мы крутим руль сильнее, направление приближается к нам - мы начинаем возвращать руль обратно заранее - типичный закон ПД). И рулем будем крутить только если мы отойдем от генеральной линии партии. А пока мы на линии - рулем не крутим. Так был осуществлен выход на режим без использования интегральной составляющей.

Ну и еще один пример-аргумент. Интегральная составляющая - сумма рассогласований с учетом знака, поделенная на время интегрирования. Когда мы выйдем на режим - интегральная составляющая будет не нулевой (мы же на режиме не мгновенно оказались, была ошибка, мы ее копили). Неизбежно перерегулирование. И оно будет идти до тех пор, пока мы его не выработаем (не вычтем из интеграла сумму ошибок с другой стороны уставки). П и Д компоненты (если они были выбраны примерно верно) не дадут далеко уйти от уставки, а потом цикл повторится. Я вот подумал - может те колебания были именно интегральной составляющей вызваны? В данном случае она - враг.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

cron