Настройка параметров PID контроллера

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Настройка параметров PID контроллера

Сообщение Nick »

Это частичный перевод статьи по PID из английской википедии. Оригинал статьи здесь: http://en.wikipedia.org/wiki/PID_controller .
Добавляйте свои вопросы комментарии в эту тему, это поможет другим людям столкнувшимся с проблемами при настройке PID.

Ручная настройка PID

Если система должна находится включенной, один из методов, установить параметры I и D равными 0. Затем увеличивать параметр P до тех пор, пока выход не начнет колебаться, после чего P должен быть установлен равным приблизительно половине значения для отклика "четверти амплитудного затухания" "quarter amplitude decay". Затем увеличиваем параметр I пока отступ будет корректным на достаточном промежутке времени. Однако слишком сильное увеличение I ведет к нестабильности системы. В конце увеличиваем D, если необходимо, до тех пор пока цикл PID не будет достигать установленного значения достаточно быстро. Однако, слишком большое значение I вызывает чрезмерно большой отклик и промахи мимо заданного значения.

Быстрый цикл PID обычно слегка проскакивает заданную точку, чтобы достичь ее быстрее. Однако некоторые системы не допускают таких промахов, в этом случае требуется заторможенный закрытый цикл, которые требует установку значения P существенно меньше половины значения, которое вызывает колебания.

Общие принципы настройки PID, влияние параметров на значения PID

Влияние увеличения отдельных параметров на вывод PID:
[td]Параметр[/td][td]Время разгона[/td][td]Проскок[/td][td]Время установки[/td][td]Ошибка в стационарном состоянии[/td][td]Стабильность[/td]
PУменьшаетсяУвеличиваетсяНебольшое изменениеУменьшаетсяУхудшается
IУменьшаетсяУвеличиваетсяУвеличиваетсяСущественно уменьшаетсяУхудшается
DНе сильно уменьшаетсяНе сильно уменьшаетсяНе сильно уменьшаетсяНе влияет (в теории)Улучшает, если значение D маленькое

Метод Ziegler–Nichols

Другой эвристический метод формально известен как метод Ziegler–Nichols, представлен John G. Ziegler и Nathaniel B. Nichols в 1940 году. Также как и в методе выше параметры I и D с начала устанавливаются в 0. Параметр P увеличивается до достижения максимального усиления, U, при котором вывод цикла PID будет начнет колебаться. Значение U и период колебаний Pu используется для установки остальных параметров, как показано:
Тип управленияPID
P0.5*U--
PI0.45*U1.2*P/Pu-
PID0.6*U2P/PuP*Pu/8
Интегральное правило Пессена0.7*U2.5*P/Pu0.15*P*Pu
Небольшой проскок0.33U2P/PuP*Pu/3
Без проскока0.2U2P/PuP*Pu/3
Эти коэффициенты применимы к идеальной параллельной форме PID контроллера. Когда применяется к стандартной форме PID контроллера, параметры интегрального и дифференциального времени Ti и Td зависят только от периода колебаний Pu (т.е. из значений в таблице для них нужно убрать множитель P).

Стандартная форма отличается от параллельной тем, что параметр P применяется ко всему выходу, а не только к пропорциональному члену.

Удобная настройка параметров PID в EMC2

При настройке PID, желательно видеть результат получаемый с теми или иными параметрами. В EMC2 есть несколько способов для проверки параметров PID:
  1. При настройке станка через pnccnf, можно запустить тест оси прямо из окна настройки для конкретной оси.
  2. Использовать дополнительную специальную панель, для настройки параметров PID. Подробнее об этой панели можно почитать на форуме LinucCNC.org (англ.): http://www.linuxcnc.org/component/optio ... g,english/
Rtimm
Новичок
Сообщения: 20
Зарегистрирован: 18 мар 2015, 23:02
Репутация: -2
Настоящее имя: Rtimm
Откуда: Spain
Контактная информация:

Re: Настройка параметров PID контроллера

Сообщение Rtimm »

ответьте пожалуйста что значит "Параметр P увеличивается до достижения максимального усиления, U, при котором вывод цикла PID будет начнет колебаться."какие должны быть колебания есть резкие есть умеренные есть начальные
Ответить

Вернуться в «LinuxCNC»