• Регистрация
skiff
skiff 0.00
н/д

Адаптивная система автоматического управления нестационарным объектом

23.11.2019

В работе предложен способ адаптации параметров ПИД-регулятора адаптивной системы автоматического управления объектом 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-го порядка, выполняющая адаптацию параметров регулятора в условиях нестационарности параметра объекта.

 

 

 

Теги

    23.11.2019

    Комментарии