Uploaded by Soyka Kv

Документ Microsoft Word (5)

advertisement
Реализация ПИД-регулятора и цифровой фильтрации в контроллерах
Микропроцессорные контроллеры позволяют реализовать как дискретные, так и
аналоговые регуляторы, а также нелинейные и самонастраивающиеся
регуляторы. Главная проблема цифрового управления – найти соответствующую
структуру регулятора и его параметры. Программная реализация алгоритмов
управления по этим параметрам обычно является сравнительно простой задачей.
Каждый регулятор должен включать и средства защиты, предотвращающие
опасное развитие процесса под действием регулятора в нештатных ситуациях.
Многие ТП характеризуются несколькими входными и выходными параметрами.
Часто внутренние связи и взаимодействие соответствующих сигналов не имеют
принципиального значения, и процессом можно управлять с помощью набора
простых регуляторов, при этом каждый контур используется в системах прямого
цифрового управления.
Линейные регуляторы с одним входом/выходом можно представить в обобщенном
виде
(30.1)
где u – это выход регулятора (управляющая переменная), uс – заданное значение,
а у – выходной сигнал процесса (управляемая переменная).
Параметр п представляет собой порядок регулятора.
Обычный ПИД-регулятор может рассматриваться как частный случай
обобщенного дискретного регулятора при п = 2.
Рассмотрим регулятор, состоящий из двух частей: контура обратной связи
(feedback) GFB(s), отрабатывающего ошибку E, и контура упреждения
(feedforward) GFF(s), контролирующего изменения задающего воздействия и
прибавляющего к управляющему сигналу поправочный член, с тем чтобы система
реагировала более оперативно на изменения задания. Для этого регулятора
управляющее воздействие U(s) представляет собой сумму двух сигналов
.
Это выражение можно переписать в виде
(30.2)
где UF1(s) – упреждающий сигнал по опорному значению (задающему
воздействию), a UF2(s) – сигнал обратной связи.
Рис.30.1. Регулятор, содержащий контур упреждающего управления по
опорному значению (заданию) и контур обратной связи по выходу процесса
Регулятор имеет два входных сигнала Uc(s) и Y(s) и, следовательно, может быть
описан двумя передаточными функциями GF1(s) и GR(s).
(30.3)
Поскольку регулятор с ПФ (30.3) имеет за счет GF1(s) больше настраиваемых
коэффициентов, чем обычный регулятор, то замкнутая СУ имеет лучшие
характеристики.
Положение полюсов системы с обратной связью можно изменить с помощью
регулятора GR(s), а упреждающий регулятор GF1(s) добавляет системе новые
нули. Потому СУ может быстро реагировать на изменения сигнала задания,
если GF1(s) выбрана правильно.
Рис.30.2. Структура линейного регулятора с упреждающим управлением и
обратной связью
Благодаря использованию такого регулятора, возможно создание высокоточных
(серво) СУ электроприводами, роботами или станками. Для них важно, чтобы
реакция на выходную величину процесса была быстрой и точной при любых
изменениях задания.
Если числитель и знаменатель ПФ GR(s), и GF1(s) в (23.3) выразить полиномами
от s, то описание регулятора после преобразований можно представить в
следующем виде
(30.4)
г де
ri , si , ti – параметры полиномов ПФ, s – оператор Лапласа.
Регулятор, соответствующий уравнению (30.4), можно представить в виде
обобщенного регулятора (general controller)
ПФ процесса можно выразить так
(30.5)
Используя выражения (30.4) для регулятора и (30.5) для процесса, ПФ замкнутой
системы можно записать так
(30.6)
.
Рис.30.3. Структура линейного регулятора с упреждающим управлением и
обратной связью в виде ПФ
Если R(s), S(s) и T(s) имеют достаточно высокий порядок, т. е. достаточное
количество "ручек настройки", ПФ замкнутой системы можно изменять в широких
пределах. Порядок регулятора п должен быть таким же, как и у исходного
процесса. Так, подбирая R(s) и S(s), можно произвольно менять знаменатель ПФ
замкнутой системы. Теоретически это означает, что полюса замкнутой системы
можно сдвинуть в любое место комплексной плоскости. (На практике
максимальные амплитуда и скорость изменения управляющего сигнала
ограничивают свободу перемещения полюсов.)
В результате, неустойчивую систему, имеющую полюс с положительной
вещественной частью, можно стабилизировать с помощью СУ.
30.1. Реализация ПИД-регулятора
Прежде всего, следует разработать дискретную модель регулятора и определить
соответствующую частоту выборки. Амплитуда выходной величины регулятора
должна находиться между минимальным и максимальным допустимыми
значениями. Часто нужно ограничить не только выходной сигнал, но и скорость
его изменения из-за физических возможностей ИМ и предотвращения их
чрезмерного износа.
Изменение настроек параметров и переключение с автоматического режима
работы на ручной или другие изменения условий эксплуатации не должны
приводить к возмущениям регулируемого процесса.
Регуляторы можно создать по аналоговой технологии на базе операционных
усилителей или как цифровые устройства на основе микропроцессоров. При этом
они имеют практически одинаковый внешний вид – небольшой прочный корпус,
который допускает установку в промышленной среде.
Хотя цифровая технология имеет много преимуществ, аналоговый подход он
является основой для цифровых решений. К преимуществам цифровых
регуляторов относится возможность с помощью каналов связи соединять их друг с
другом, что позволяет производить обмен данными и применять удаленное
управление. Нас интересуют программы для цифрового ПИД-регулятора
Дискретная модель ПИД-регулятора. Она необходима для программной
реализации аналогового регулятора. Если регулятор проектируется на базе
аналогового описания, а затем строится его дискретная модель, при достаточно
малых интервалах выборки производные по времени заменяются конечными
разностями, а интегрирование – суммированием. Ошибка выходной величины
процесса вычисляется для каждой выборки
e(k) = uc(k) – y(k) .
При этом интервал выборки ts считается постоянным, а любые изменения
сигнала, которые могли подойти в течение интервала выборки, не учитываются.
Существует два типа алгоритма ПИД-регулятора – позиционный и приращений
Позиционный алгоритм ПИД-регулятора. В позиционном алгоритме
(position form) выходной сигнал представляет собой абсолютное значение
управляющей переменной ИМ. Дискретный ПИД-регулятор имеет вид
u(k) = u0 + uP(k) + uI(k) + uD(k).
При этом интервал выборки ts считается постоянным, а любые изменения
сигнала, которые могли подойти в течение интервала выборки, не учитываются.
Даже при нулевой ошибке управления выходной сигнал отличен от нуля и
определяется смещением u0.
Пропорциональная часть регулятора имеет вид
uP(k) = K∙ e(k).
Интегральная часть аппроксимируется конечными разностями
uI(k) = uI(k – 1) + K∙ (ts / Ti) ∙ e(k) = uI(k – 1) + K∙ a∙ e(k) .
Величина второго слагаемого при малых ts и больших Ti может стать очень
маленькой, поэтому нужно обеспечить нужную точность его машинного
представления.
Дифференциальная часть ПИД-регулятора аппроксимируется разностью назад
uD(k) = b∙ uD(k –1) – K∙ (Td /ts) ∙ (1– b)∙ [y(k) – y(k –1)] ,
где
(30.7)
Величина Td /N = Tf – это нормализованная (в N раз) постоянная времени фильтра
в аппроксимации дифференциальной составляющей закона регулирования
апериодическим звеном первого порядка. Число N берется в пределах от 5 до 10.
Величина b находится в пределах от 0 до 1.
Алгоритм приращений. В нем вычисляется лишь изменение его выходного
сигнала. Алгоритм приращений (incremental form) ПИД-регулятора удобно
применять, если ИМ представляет собой разновидность интегратора, например
шаговый двигатель. Другой пример такого ИМ – клапан, открытие и закрытие
которого управляется импульсами и который сохраняет свое положение при
отсутствии входных сигналов.
В алгоритме приращений рассматриваются только изменения управляющего
выходного сигнала от момента времени (k –1) до момента k. Алгоритм регулятора
записывается в виде
ΔuI(k) = u (k) – u (k – 1) = Δ uP(k) + Δ uI(k) + Δ uD(k).
Пропорциональная часть алгоритма приращений вычисляется из уравнения
Δ uP(k) = uP (k) – uP (k – 1) = K∙ [e(k) – e(k – 1)] = K∙ Δ e(k) .
Интегральная часть – из уравнения
Δ uI(k) = uI (k) – uI (k – 1) = K∙ a∙ e(k) .
Дифференциальная часть – из уравнения
Δ uD(k) = b Δ uD(k –1) – K∙ (Td /ts)∙(1– b)∙ [Δ y(k) – Δ y(k –1) ,
где
Δ y(k) = y(k) –y(k –1) .
Алгоритм весьма прост. Для его применения, как правило, достаточно операций с
плавающей точкой ординарной точности. В нем не возникает проблем из-за
насыщения. При переключении с ручного режима на автоматический регулятор,
вычисляющий приращения, не требует присвоения начального значения
управляющему сигналу (u0 в позиционном алгоритме).
ИМ можно привести в необходимое положение во время пуска как при ручном, так
и при автоматическом управлении. Небольшим недостатком алгоритма
приращений является необходимость учитывать интегральную составляющую.
Опорное значение сокращается как в пропорциональной, так и
дифференциальной частях, начиная со второй выборки после его изменения.
Поэтому, если используется регулятор на базе алгоритма приращений без
интегральной составляющей, возможен дрейф управляемого процесса от
опорного значения.
Определение частоты выборки в СУ. Это скорее искусство, чем наука.
Слишком малая частота выборки снижает эффективность управления, особенно
способность СУ компенсировать возмущения. Но если интервал выборки
превышает время реакции процесса, возмущение может повлиять на процесс и
исчезнуть прежде, чем регулятор начнет корректирующее действие. Поэтому при
определении частоты выборки важно учитывать как динамику процесса, так и
характеристики возмущения.
С другой стороны, слишком высокая частота выборки ведет к повышенной
загрузке ЭВМ и износу ИМ.
Таким образом, определение частоты выборки представляет собой компромисс
между требованиями динамики процесса и доступной производительностью ЭВМ
и технологических механизмов. Стандартные цифровые регуляторы, работающие
с небольшим числом контуров управления (от 8 до 16), используют
фиксированную частоту выборки порядка долей секунды.
На частоту выборки влияет и соотношение сигнал/шум. При малых значениях
этого соотношения, т. е. при больших шумах, следует избегать высокой частоты
выборки, потому что отклонения в измерительном сигнале скорее связаны с
высокочастотным шумом, а не с реальными изменениями в физическом процессе.
Считают, что адекватная частота выборки связана с полосой пропускания или
временем установления замкнутой СУ. Эмпирические правила рекомендуют,
чтобы частота выборки была в б-10 раз выше, чем полоса пропускания, или чтобы
время установления соответствовало, по крайней мере, пяти интервалам
выборки.
В случае если допустимо дополнительное отставание по фазе на 5-15°,
справедливо следующее правило
ts ·ωс = 0,15 – 0,5 ,
где ωс – ширина полосы пропускания системы (по уровню 3 дБ), ts – период
квантования, или интервал выборки. (Такой подход используется во многих
промышленных цифровых одно- и многоконтурных ПИД-регуляторах.)
Ограничение управляющего сигнала. Для ограничения управляющего сигнала
существуют две предпосылки:
1) амплитуда выходного сигнала не может превышать диапазон ЦАП на выходе
компьютера;
2) рабочий диапазон ИМ тоже всегда ограничен. Клапан не открыть больше, чем
на 100 %; на двигатель нельзя подать неограниченный ток и напряжение.
Поэтому алгоритм управления и должен включать какую-либо функцию,
ограничивающую выходной сигнал. В некоторых случаях должна быть определена
зона нечувствительности, или мертвая зона (deadband).
Если используется регулятор с алгоритмом приращений, то изменения
управляющего сигнала могут быть настолько малы, что ИМ не сможет их
обработать. Если управляющий сигнал достаточен для того, чтобы
воздействовать на ИМ, целесообразно избегать малых, но частых срабатываний,
которые могут ускорить его износ.
Простым решением является суммирование малых изменений управляющей
переменной и выдача управляющего сигнала ИМ лишь после того, как будет
превышено некоторое пороговое значение. Введение зоны нечувствительности
имеет смысл, только если она превосходит разрешение ЦАП на выходе
компьютера
Предотвращение интегрального насыщения. Эффект интегрального
насыщения (integral windup) наблюдается, когда ПИ- или ПИД-регулятор в течение
длительного времени должен компенсировать ошибку, лежащую за пределами
диапазона управляемой переменной. Поскольку выход регулятора ограничен,
ошибку сложно свести к нулю.
Если ошибка управления длительное время сохраняет знак, величина
интегральной составляющей ПИД-регулятора становится очень большой. Так
происходит, если управляющий сигнал ограничен настолько, что расчетный выход
регулятора отличается от реального выхода ИМ.
Так как интегральная часть становится равной нулю лишь некоторое время спустя
после того, как значение ошибки изменило знак, интегральное насыщение может
привести к большому перерегулированию (over-shoot). Интегральное насыщение
является результатом нелинейностей в системе, связанных с ограничением
выходного управляющего сигнала, и может никогда не наблюдаться в линейной
системе.
Ограничить влияние интегральной части можно условным интегрированием. Пока
ошибка достаточно велика, ее интегральная часть не требуется для
формирования управляющего сигнала, а для управления достаточно
пропорциональной части.
Интегральная часть, используемая для устранения стационарных ошибок, нужна
только в тех случаях, когда ошибка относительно невелика. При условном
интегрировании эта составляющая учитывается в окончательном сигнале, только
если ошибка не превосходит определенного порогового значения. При больших
ошибках ПИ-регулятор работает как П-регулятор. Выбор порогового значения для
активизации интегрального члена – не простая задача. В аналоговых регуляторах
условное интегрирование выполняют с помощью диода Зинера (ограничителя),
который подключается параллельно с конденсатором в цепи обратной связи
операционного усилителя в интегрирующем блоке регулятора. Такая схема
ограничивает вклад интегрального сигнала.
В цифровых ПИД-регуляторах избежать интегрального насыщения проще.
Интегральную часть настраивают на каждом интервале выборки так, чтобы
выходной сигнал регулятора не превышал определенного предела.
Управляющий сигнал сначала вычисляется с помощью алгоритма ПИ-регулятора,
а затем проверяется, превышает ли он установленные пределы:
u = umin, если ud < umin ;
u = ud, если umin ≤ ud < umax ;
u = umax, если ud ≤ umax ;
После ограничения выходного сигнала интегральная часть регулятора
сбрасывается. Ниже приведен пример программы ПИ-регулятора с защитой от
насыщения.
Пока управляющий сигнал остается в установленных пределах, последний
оператор в тексте программы не влияет на интегральную часть регулятора.
(*инициализация*) c1 := K*taus/Ti;
…
(*регулятор*)
…
e := uc - у;
Ipart := Ipart + c1*e;
ud := K*e + Ipart; (*вычисление сигнала управления*)
if (ud < umin) then u := umin (*функция ограничения*)
else if (ud < umax) then u := ud
else ud := umax;
Ipart := u - K*e; (* "антинасыщающая" поправка интегральной части *)
Иллюстрация проблемы интегрального насыщения для привода
позиционирования с ПИ-регулятором далее на рис. 30.4.
Рис. 30.4. Переходные процессы в СУ при параметрах
управления – К = 0.4; ts·К/Тi = 0.04:
а) ограничения управляющего сигнала нет, поэтому
интегрального насыщения нет; б) ограничение управляющего
сигнала есть (0.1), поэтому интегральное насыщение есть; в)
ограничение управляющего сигнала есть (0.1), ограничение
интегрального насыщения тоже есть
Плавное переключение режимов работы. При переключении с ручного на
автоматический режим выход регулятора может измениться скачком, даже если
ошибка управления равна нулю. Причина в том, что интегральный член в
алгоритме регулятора не всегда равен нулю. Регулятор – это динамическая
система, и интегральная часть является одним из элементов внутреннего
состояния, который должен быть известен при изменении режима управления.
Скачок выходной величины регулятора можно предотвратить, а смена режима в
этом случае называется плавным (безударным) переходом (bumpless transfer).
Возможны две ситуации: а) переход с ручного на автоматический режим или
наоборот; б) изменение параметров регулятора.
Плавный переход в случае а) для аналогового регулятора достигается за счет
приведения процесса вручную к состоянию, в котором измеренное значение
выходной величины равно опорному.
Процесс поддерживается в этом состоянии до тех пор, пока выходной сигнал
регулятора равен нулю. В этом случае интегральная часть также равна нулю, и
поскольку ошибка равна нулю, то достигается плавный переход. Эта процедура
годна и для цифровых регуляторов.
Другой метод состоит в медленном доведении опорного значения до необходимой
конечной величины.
Вначале опорное значение устанавливается равным текущему измерению, а
затем постепенно вручную доводится до желаемого.
Если эта процедура выполняется достаточно медленно, интегральная часть
сигнала регулятора остается настолько малой, что обеспечивается плавность
перехода. Недостатком этого способа является то, что он требует достаточно
большого времени, которое зависит от характера процесса.
Ограничение скорости изменения управляющего сигнала. Во многих СУ
необходимо ограничивать как амплитуду, так и скорость изменения управляющего
сигнала. Для этого используют специальные схемы защиты, подключаемые после
канала ручного ввода опорного значения uc(t) и передающие регулятору
отфильтрованный сигнал uL(t), как это показано на рис. 30.5.
В результате процесс «видит» этот управляющий сигнал вместо введенного
вручную. Такой способ обычно применяют при регулировании электроприводов.
Ограничение скорости изменения сигнала можно получить с помощью простой
цепи обратной связи.
Сигнал ручного управления uc(t), выступающий в качестве опорного, сравнивается
с допустимым управляющим сигналом uL(t). Сначала их разность ограничивается
пределами uemin и uеmах.
Затем полученное значение интегрируется, причем интеграл аппроксимируется
конечной суммой.
Алгоритм ограничения скорости изменения таков:
…
uе = uс - uL;
if (uе < uemin) then uelim := uemin (*функция ограничения*) else if (ue < uemax) then
uelim := ue
else uelim := uemax;
uL = uL_old + taus*uelim;
…
Рис. 30.5. Цепь ограничения скорости изменения сигнала
задания Uc (а) и
реакция схемы на скачок задающего сигнала Uc (б)
Вычислительные особенности алгоритма ПИД-регулятора. Цифровая
реализация ПИД-регулятора из-за последовательного характера вычислений
приводит к задержкам, которых нет в аналоговой технологии. Кроме того,
некоторые ограничения (защита от насыщения и алгоритмы плавного перехода)
требуют, чтобы выход регулятора и срабатывание ИМ происходили
одновременно. Поэтому вычислительные задержки необходимо свести к
минимуму. Для этого некоторые элементы цифрового регулятора вычисляют до
момента выборки.
Для регулятора с защитой от насыщения интегральная часть можно вычислить
заранее с помощью разностей вперед
uI (k + 1) = uI(k) + c1· e (k) + c2· [u (k) – ud (k) ] ,
где u – ограниченное значение ud ;
c1 = K· ts / Ti ; c2 = ts / Tt;
(30.8)
Tt – коэффициент, который называется постоянной времени слежения.
Дифференциальная часть выглядит как
uD(k) = – c3 · y (k) + x (k – 1),
где
(30.9)
c3 = (1– b) ·K·Td /ts ;
x (k – 1) = b· uD(k – 1) + c3 · y (k – 1).
Переменную x можно обновить сразу после момента времени k
x (k ) = b· x(k – 1) + c3 · (1– b) · y (k).
Таким образом, uD(k + 1) удается вычислить из (24.2), как только получен
результат измерения y(k + 1).
Оптимизация вычислений необходима, так как цифровой регулятор иногда
должен выполнять несколько тысяч управляющих операций в секунду. В этих
условиях важно, чтобы некоторые коэффициенты были доступны сразу, а не
вычислялись каждый раз заново. Кроме того, промышленные регуляторы имеют
не самые быстрые процессоры (i386, 486). Поэтому порядок и тип вычислений
очень влияют на скорость операций управления.
Алгоритм ПИД-регулятора. Пример программы ПИД-регулятора на языке
Pascal. Вычисление коэффициентов c1, c2 и c3 нужно производить лишь в случае
изменения параметров регулятора K, Ti , Td и Tf. Алгоритм регулятора
выполняется в момент каждой выборки. Программа имеет защиту от насыщения
интегральный составляющей.
(*Предварительное вычисление коэффициентов*)
c1 := K*taus/Ti; (* уравнение 23.7 *)
с2 := taus/Tt; (* уравнение 24.1 *)
beta := Td/(Td + taus*N); (* уравнение 24.1 *)
сЗ := K*Td*(l - beta)/taus; (* уравнение 24.2 *)
с4 := сЗ*(1 - beta); (* локальная константа*)
ipart := 0;
х:=0;
(* Алгоритм управления *)
uc := ADinput(ch1); (* ввод опорного значения, аналоговый вход *)
у := AD_input(ch2); (* ввод измерения, аналоговый вход *)
е := uc - у; (* вычисление ошибки управления *)
ppart := К*е; (* пропорциональная часть *)
dpart := х - (сЗ*у); (* дифференциальная часть, *)
ud := uO + ppart + ipart + dpart; (* выход регулятора до ограничения сигнала*) if (ud
< umin) then u := umin (* функция ограничения *)
else if (ud < umax) then u := ud
else u := umax;
DAoutput (ch1, u); (*вывод аналогового сигнала *) (*управления и, канал вывода
#1*)
ipart := ipart + c1*e + c2*(u - ud); (* интегральная часть с "антинасыщением"*)
х := beta*x + с4*у; ("обновление состояния, с4 вычислено *)
(*предварительно *)
Подобные алгоритмы цифрового регулирования реализуются в серийных
регуляторах, выпускаемых различными фирмами. Так на рис. 30.6 показан
серийный ПИД-регулятор компании Alfa Laval Automation, Швеция.
Рис. 30.6. ПИД-регулятор компании Alfa Laval Automation
На передней панели регулятора отображаются опорные и текущие значения
выходных величин процесса. Переключение с ручного режима на автоматический
осуществляется кнопками. Прочие клавиши используются для изменения опорных
значений и настройки других параметров регулятора.
Download