Простой метод настройки ПИД регулятора


Есть два похода к настройке ПИД регулятора. Первый – синтез регулятора, то есть вычисление параметров регулятора на основании модели системы. Данный метод позволяет очень точно рассчитать параметры регулятора, но он требует основательного погружения в ТАУ.

Второй метод – ручной подбор параметров (коэффициентов). Это метод научного тыка проб и ошибок. Берем готовую систему, меняем один (или сразу несколько коэффициентов) регулятора, включаем регулятор и смотрим за работой системы. В зависимости от того, как ведет себя система с выбранными коэффициентами (недо/пере регулирование) опять меняем коэффициенты и повторяем эксперимент. И т. д. Ну, такой метод имеет право на жизнь, главное представлять как изменение того или иного коэффициента повлияет на систему (что бы не действовать совсем наугад).

Есть более «оптимизированный» метод подбора коэффициентов – метод Зиглера–Никольса.

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

Суть метода состоит в следующем:

1. Выставляем все коэффициенты (Kp, Ki, Kd) в 0.
2. Начинаем постепенно увеличивать значение Kp и следим за реакцией системы. Нам нужно добиться, чтобы в системе начались устойчивые колебания (вызванные перерегулированием). Увеличиваем Kp, пока колебания системы не стабилизируются (перестанут затухать).
3. Запоминаем текущее значение Kp (обозначим его Ku) и замеряем период колебаний системы (Tu).

Все. Теперь используем полученные значения Ku и Tu для расчета всех параметров ПИД регулятора по формулам:

Kp = 0.6 * Ku
Ki = 2 * Kp / Tu
Kd = Kp * Tu / 8

Готово. Для дискретных регуляторов нужно еще учесть период дискретизации – T ( умножить на Ki та Т, разделить Kd на Т).

Еще раз повторюсь, ТАУ изучать нужно, синтез регуляторов рулит, описанный метод годится для базовой настройки, подходит не для всех систем и т. д. Но данный метод очень простой, и вполне годится для «бытового» уровня.
  • +5
  • 22 августа 2012, 12:23
  • e_mc2

Комментарии (17)

RSS свернуть / развернуть
Сильно инерционную систему настроить так сложно. Я пробовал воспользоваться этим методом, что бы настроить печь для SMD, но так и не смог добиться колебаний. Да и точность измерения периода вызывает сомнения :(
0
  • avatar
  • evsi
  • 22 августа 2012, 12:31
Плюсую безоговорочно! Автор абсолютно правильно расставил акценты, его не упрекнешь ни в пренебрежении к каноническим методам, ни в том, что не очертил ограничения предлагаемого.
Именно для Easyelectronics! В яблочко!
Себе метод тоже взял на вооружение. Мне-то и не нужно… Но подумал: «Ага, было не нужно СЛОЖНО расчитывать контуры регулирования. А вот так просто… Х.з. Может и есть смысл пересмотреть некторые готовые решения»
Кстати, знатоки. К вам вопрос:
Подскажите, плз, как быть в такой ситуации, что описал уважаемый evsi? Если есть огромная тау и загнать систему в колебания нереально? Можете порекомендовать метод, сравнимый по простое с сабжем?
Ведь, ИМХО, классический ПИД-регулятор тогда и нужен во всей своей красе, когда у системы «классические» динамические параметры. Например, она может взвыть. А если вся она простая, как инерционная печь (или теплый пол) — так и решение может быть попроще. Но можно ли вывести это решение от классического ПИД-регулятора, как частный случай?
Кстати, я не настаиваю, что теплый пол — простая система. Я просто этого не знаю. Но тогда оговорюсь: система не то, чтобы простая, но собственные колебания ее получить невозможно. Ну, прикиньте, как мне получить автоколебания в подогреве теплого пола? Но может для таких инерционных систем можно построить эксперимент несколько иначе? Например, подать скачек, построить переходной процесс, а потом несколько простых вычислений — вуаля! ПИД-регулятор рассчитан!
0
Есть другой эмпирический метод — Cohen Coon Tuning Method. Он не требует введения системы в перерегулирование и достаточно прост (основан на анализе реакции системы на «импульс» на входе). Возможно, он Вам подойдет (сам я не пробовал его использовать).
0
Шикарно! Я знал, что такое должно существовать! Не было нужды, не искал. А вот — само нашлось :)
Спасибо огромное!
0
Да не за что:) Если будете его использовать — отпишитесь, пожалуйста, о результатах.
0
Так… По работе не очень-то и нужно. Но в теплом полике у меня стоит тинька и сигнал от датчика температуры пока игнорирует. Возможно, дойдут руки — поэкспериментирую.
Но я обожаю простые методы. За каждой простой формулой (в непростой области, каковой ПИД-регулирование, несомненно, является)) стоит глубокое понимание вопроса.
0
мда… как-то это все попахивает немножко бредом…
я все понимаю, ТАУ учить лень всем… но коэффициенты ПИД (только зачем ПИД? в бытовом и ПИ достаточно), относительно характеристического уравнения системы, а потом уже делают их корректировку незначительную…
0
  • avatar
  • kalik
  • 22 августа 2012, 13:26
чего-чего?
но коэффициенты ПИД (...), относительно характеристического уравнения системы, а потом уже делают их корректировку незначительную…
вы пропустили что-то, не?
0
да чуток есть, пардоньте)
коэффициенты регулятора получают из хар.уравнения системы
0
А если харак. уравнение неизвестно и получение его проблематично и не стоит потраченных сил, то эмпирический метод подбора коэффициентов куда привлекательней.
0
мда… как-то это все попахивает немножко бредом…
:)
0
мда… как-то это все попахивает немножко бредом…
Что именно Вас смущает? Этот метод придумал не я, это один из известных эмпирических методов.

только зачем ПИД? в бытовом и ПИ достаточно

Не спорю. Но «бытовые» системы бывают разные. Где-то вообще можно обойтись двухпозиционным регулированием, где-то нужен ПИД.
«…относительно характеристического уравнения системы …»

Я специально написал последний абзац, дабы упредить подобные комментарии.
Если для Вас проще решать данную задачу через синтез (что, безусловно, есть более правильный путь) – значит данный метод Вам не нужен. Но, ИМХО он будет полезен многим посетителям данного ресурса.
0
Двухпозиционное регулирование не так плохо, чтобы говорить о нем
Где-то вообще можно обойтись
.

Оно часто бывает оптимальным по быстродействию. Робастность тоже не последнее его качество. При правильном использовани им можно и коптером рулить. В простых случаях к тому же имеет 0 (почти) параметров для настройки.
0
Я не имел ввиду, что это плохо, я говорил о простоте реализации (например, биметаллический термостат).
0
Зингер — это швейные машинки. ;)
Если влом считать, можно воспользоваться матлабом с его блоком автонастройки.

О ПИДе можно много говорить. Лучше просто что-нибудь почитать. Хотя бы здесь www.bookasutp.ru/Chapter5_1.aspx
+1
Упс, исправил.
0
Кстати да, хорошая книжка. Осталось выделить время и осилить :)
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.