Адаптивная система автоматического управления нестационарным объектом
В работе предложен способ адаптации параметров ПИД-регулятора адаптивной системы автоматического управления объектом 2-го порядка с одним нестационарным параметром.
Задание
Разработать и смоделировать в ППП MatLab адаптивную систему автоматического управления нестационарным объектом.
Объект управления
В качестве объекта управления был выбран объект 2-го порядка со следующей передаточной функцией:
Изначальная модель системы управления данным объектом имеет вид, представленный на рисунке 1.
Рисунок 1 – Изначальная модель системы управления
При настройках ПИД-регулятора, представленных на рисунке 2, переходный процесс САУ будет иметь вид, представленный на рисунке 3.
Рисунок 2 – Параметры регулятора
В данной работе дифференциальная составляющая регулятора была принята равной нулю. Поэтому ПИД-регулятор был заменен ПИ-регулятором.
Рисунок 3 – График переходного процесса при k=1
В данной системе нестационарным параметром объекта управления является коэффициент передачи k.
При увеличении коэффициента передачи объекта управления в 100 раз и тех же настройках ПИД-регулятора переходный процесс будет иметь вид, представленный на рисунке 4.
Рисунок 4 – График переходного процесса при k=100
Таким образом, нестационарность объекта управления будет состоять в изменении коэффициента в интервале (1-100).
Необходимо создать систему адаптивного управления, которая будет определять критическое изменение качества переходного процесса и подстраивать коэффициенты ПИД-регулятора таким образом, чтобы переходный процесс снова вернулся к состоянию апериодического или близкого к апериодическому процессу.
Описание адаптивной системы
Мерой качества переходного процесса САУ предлагается сделать интегральную квадратичную ошибку регулирования. При апериодическом переходном процессе значение этого параметра будет наименьшим, а при колебательном переходном процессе значение этого параметра будет наибольшим.
При запуске системы в работу и при начальном значении нестационарного параметра объекта управления переходный процесс САУ с ПИД-регулятором и выбранным объектом является апериодическим. После окончания переходного процесса необходимо произвести тестирование объекта управления путем подачи тестового сигнала в виде увеличения задающего воздействия (+1/10 от номинального значения) и подсчета текущего значения интегральной квадратичной ошибки за время переходного процесса (пока ошибка не перестанет расти). После этого необходимо убрать тестовый сигнал и записать значение подсчитанной ошибки в константу и принять ее за эталонное значение ошибки.
Затем через некоторое время (в реальном времени работы САУ) необходимо изменить нестационарный параметр объекта управления на такое значение, чтобы переходный процесс такой САУ уже был колебательным. После окончания переходного процесса необходимо снова провести тестирование САУ путем подачи тестового сигнала в виде увеличения задающего воздействия (+1/10 от номинального значения) и подсчета текущего значения интегральной квадратичной ошибки за время переходного процесса (пока ошибка не перестанет расти). После этого необходимо убрать тестовый сигнал и записать значение подсчитанной ошибки в константу и принять ее за текущее значение ошибки.
После этого необходимо сравнить два значение (эталонное и текущее) и принять решение об адаптации.
В случае принятия решения об адаптации необходимо получить новые значения параметров регулятора (заданные заранее таблично) которые необходимо передать в регулятор и тем самым компенсировать нестационарность объекта управления.
После этого снова необходимо провести тестирование, чтобы убедиться, что переходный процесс стал апериодическим или близким к нему.
Для записи значений в константы, и ПИД-регулятор была использована S-функции Set_param. Для извлечения значений из объектов Simulink была использована S-функции Get_param.
Структурная схема адаптивной системы приведена на рисунке 5.
Рисунок 5 – Структурная схема системы
Данная адаптивная система производит адаптацию в определённые моменты времени, сравнивая текущее время с заданными порогами. Таки образом, в определенные моменты времени начинают работу подсистемы, которые производят модификацию коэффициентов объекта или регулятора. Общее время работы системы 100 с.
В данной модели присутствуют две тригеррные подсистемы: инициализации (Init) и адаптации (Adaptation).
Структурная схема триггерной подсистемы Init представлена на рисунке 6.
Рисунок 6 – Структурная схема триггерной подсистемы Init
Структурная схема триггерной подсистемы Adaptation представлена на рисунке 7.
Рисунок 7 – Структурная схема триггерной подсистемы Adaptation
Триггерная подсистема Adaptation в качестве входной переменной принимает интегральную квадратичную ошибку.
Далее приведены листинги S-функций, используемых в тригеррных подсистемах.
Листинг 1 – Функция инициализации
function [sys,x0,str,ts] = Initialize(t,x,u,flag)
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;
b=0;
c=0;
case 3
sys=mdlOutputs(t,x,u);
case {1,2,4,9}
sys=[];
otherwise
error(['Unhadled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts] = mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 0;
sizes.NumInputs =0;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [-1 0];
end
function sys=mdlOutputs(t,x,u)
%/Начальные условия
b=num2str(0.86);
c=num2str(0.17);
set_param('KP/PID Controller', 'P', b);
set_param('KP/PID Controller', 'I', c);
sys=[];
end
end
Данная s-функция производит сброс системы в момент времени 1 к изначальному состоянию, указанному в первом пункте данной записки.
Листинг 2 – Функция адаптации
function [sys,x0,str,ts] = sfun(t,x,u,flag)
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;
b=0;
c=0;
k=0;
case 3
sys=mdlOutputs(t,x,u);
case {1,2,4,9}
sys=[];
otherwise
error(['Unhadled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts] = mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 0;
sizes.NumInputs =1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [-1 0];
end
function sys=mdlOutputs(t,x,u)
if ((abs(u(1)-3.676)*100/3.676)>10)
k=str2num(get_param('KP/Tf1', 'Numerator'));
b=num2str(0.86/k);
c=num2str(0.17/k);
set_param('KP/PID Controller', 'P', b);
set_param('KP/PID Controller', 'I', c);
end
sys=[];
end
end
Данная s-функция производит анализ интегральной квадратичной ошибки регулирования и при необходимости производит адаптацию параметров регулятора.
Расчет параметров регулятора основан на эталонной переходной характеристике, то есть при коэффициенте передачи объекта равном 1 и параметрах регулятора, представленных на рисунке 1.
Формула для расчета коэффициентов была получена эмпирическим путем.
Для этого при изменении коэффициента передачи объекта управления от 1 до 10 с шагом 1, а затем от 10 до 50 с шагом 10 были получены параметры регулятора, которые обеспечивают близкую к эталонной интегральную квадратичную ошибку регулирования. Данные опытов сведены в таблицу 1.
Таблица 1 – Результаты экспериментов
k |
P |
I |
E |
1 |
0.86 |
0.17 |
3.676 |
2 |
0.43 |
0.085 |
3.676 |
3 |
0.287 |
0.057 |
3.676 |
4 |
0.215 |
0.0425 |
3.676 |
5 |
0.172 |
0.034 |
3.676 |
6 |
0.143 |
0.028 |
3.697 |
7 |
0.123 |
0.024 |
3.691 |
8 |
0.108 |
0.021 |
3.686 |
9 |
0.096 |
0.019 |
3.66 |
10 |
0.086 |
0.017 |
3.676 |
20 |
0.043 |
0.0085 |
3.659 |
30 |
0.029 |
0.006 |
3.742 |
40 |
0.0215 |
0.0043 |
3.659 |
50 |
0.0172 |
0.0034 |
3.676 |
Их данных представленных в таблице 1 видно, что параметры регулятора зависят линейно от изменения коэффициента передачи объекта. При этом максимальная относительная погрешность ошибки в приведенных опытах составляет 1.8%.
На основании данного замечания была получена следующая формула:
Так как в данной работе эталонный коэффициент придачи равен 1, то формула расчета параметров регулятора выглядит следующим образом:
Алгоритм работы системы заключается в следующем:
1.в момент времени t = 1c происходит инициализация параметров регулятора, то есть в ПИД-регулятор передаются эталонные значения;
2. затем в течении с, происходит моделирование системы;
3.в момент времени t = 60с происходит расчет относительного отклонения накопленной ошибки от эталонной, и, если отклонение превышает 10%, то происходит подсчет коэффициентов;
4.затем происходит подача ступенчатого сигнала и снимается переходная характеристика системы;
Работа системы представлен на рисунке 8.
Рисунок 8 – Результат работы системы
Заключение
В ходе выполнения данной курсовой работы были получены навыки разработки и моделирования в ППП MatLab адаптивных систем автоматического управления нестационарным объектом.
Также была выявлена зависимость параметров регулятора от изменения выбранного параметра объекта управления и получена формула для расчета параметров.
Результатом данной работы стала адаптивная САУ с объектом управления 2-го порядка, выполняющая адаптацию параметров регулятора в условиях нестационарности параметра объекта.
Комментарии