Смекни!
smekni.com

Исследование нелинейных систем (стр. 7 из 8)

4. Синтез дискретной системы с максимальным быстродействием

В работе необходимо с использованием методов модального синтеза провести проектирование цифрового алгоритма управления непрерывным объектом из условий обеспечения максимального быстродействия и единичной статики по командному сигналу.

Методы модального синтеза основаны на обеспечении желаемого расположения собственных чисел матрицы динамики системы. Из теории известно, что в линейных импульсных системах можно обеспечить окончание переходных процессов за минимальное время, равное произведению порядка дифференциальных уравнений объекта на период квантования по времени. Для этого все собственные числа матрицы динамики системы должны быть нулевыми. Если не все координаты вектора состояния объекта являются измеримыми, то в алгоритм управления необходимо ввести наблюдатель с целью получить оценки неизмеримых координат вектора состояния. Собственные числа наблюдателя в рассматриваемой задаче также целесообразно задать равными нулю. Управляющий сигнал, который будет подан на вход объекта управления, вычисляется как произведение оценки вектора состояния объекта на матрицу обратной связи, полученную в результате модального синтеза.

Целями работы являются:

- закрепление знаний по теории модального синтеза;

- ознакомление с возможностями пакета MATLAB в части модального синтеза;

- анализ процессов при наличии и при отсутствии наблюдателя;

- анализ грубости (чувствительности) системы по отношению к параметрам линейной модели объекта;

- анализ быстродействия при наличии ограничений сигнала управления.


Подготовительная часть работы

По данным табл. 4.1 и в соответствии с предложенным преподавателем вариантом и значениями параметров проанализировать свойства объекта.

Таблица 4.1 Варианты передаточной функции объекта

Номер варианта Wob(p) Параметры Номер варианта Wob(p) Параметры
1
6
T1=0.2;T2=0.1;ξ = 0.1
2
T1=0.1 7
Т1=2;T2=1;T3=1
3
T1=2; ξ=0.1 8
T1=0.2;ξ=0.1
4
T1=2;T2=1 9
T1=2;T2=1
5
T1=5 10
T1=2;ξ=0.1

Изучите текст программы (файл SSOpt_d.m) и структуру моделей SSLOpt_dSim.mdl (система с обратной связью по вектору состояния) и SSLKOpt_dSim.mdl (система с наблюдателем).

Содержание файла SSOpt_d.m:

%Синтез дискретной системы с максимальным быстродействием

%–

clc

close_system ('SSLOpt_dSim', 1); %Закрытие mdl‑файла

close_system ('SSLKOpt_dSim', 1); %Закрытие mdl‑файла

clear all

close all

set (0, 'ShowHiddenHandles', 'on')

delete(get(0,'Children'))

%Параметры моделированиЯ

hMO = 0.01; %Шаг моделированиЯ объекта, с

T0 = 0.35; %Шаг работы цифровой части, с

T_end = 8% 2.5; %ВремЯ окончаниЯ моделированиЯ, с

top_lim_u = 5000; %заданное ограничение управлениЯ сверху

low_lim_u = -5000; %заданное ограничение управлениЯ снизу

%ОбъЯвление комплексной переменной p

p = zpk('p');

%Передаточная функция объекта

% (непрерывной части системы)

%Параметры передаточной функции непрерывной части

T1 = 0.2; T2 = 0.1; T3 = 1; ksi = 0.1;

%Варианты передаточной функции непрерывной части

disp ('ПередаточнаЯ функциЯ непрерывной части')

Wn_1 = 1/p^2;

Wn_2 = 1/((T1*p+1)^2);

Wn_3 = 1/(T1^2*p^2+2*ksi*T1*p+1);

Wn_4 = (T1*p+1)/(p*(T2*p+1));

Wn_5 = 1/(p*(T1*p‑1));

Wn_6 = 1/(p*(T1*p+1)^3*(T2^2*p^2+2*ksi*T2*p+1));

Wn_7 = (T1*p+1)/(p*(T2*p‑1)*(T3*p+1));

Wn_8 = 1/(p*(T1^2*p^2+2*ksi*T1*p+1));

Wn_9 = 1/((T1^2*p^2+1)*(T2*p+1));

Wn_10 = 1/(p*(T1^2*p^2–2*ksi*T1*p+1));

%Выбор варианта передаточной функции

Wn = Wn_10

%:

%Как получить различную информацию об объекте

%(напоминание о видах операторов, используемых для этого)

disp ('Нули, полюсы и К передаточной функции непрерывного объекта')

[zn_ob, pn_ob, kn_ob] = zpkdata (Wn, 'v')

disp ('Коэффициенты полиномов числителЯ R и знаменателЯ Q передаточной функции')

[num_n_ob, den_n_ob] = tfdata (Wn, 'v')

disp ('Матрицынепрерывногообъекта')

[An_ob, Bn_ob, Cn_ob, Dn_ob] = ssdata(Wn)

n_ob = size (An_ob);%n_ob(1) – порЯдок непрер. объекта

%:

%Переход к дискретному объекту

sys_n_ob = ss(Wn); %Переход к вект.-матр. описанию объекта

sys_d_ob = c2d (sys_n_ob, T0); %Переход к дискр. объекту в вект.-матр. форме

[Ad_ob, Bd_ob, Cd_ob, Dd_ob] = ssdata (sys_d_ob) %Матрицы дискретного объекта

%Переходные функции непрерывного и дискретизированного объекта

ltiview ('step', sys_n_ob, 'r-', sys_d_ob, 'b-');

grid on

%:

%Синтез управлениЯ длЯ дискретной системы

disp ('Желаемые полюсы замкнутой дискретной системы')

Pd = zeros (1, n_ob(1))%Нулевой вектор-строка

disp ('Матрица оптимальной обратной свЯзи дискретной системы')

Ld = acker (Ad_ob, Bd_ob, Pd)

%Ld = place (Ad_ob, Bd_ob, Pd) – не работает при кратных полюсах замкнутой системы

%:

%Матрицы замкнутой дискретной системы

%Матрица динамики

Ad_z = Ad_ob-Bd_ob*Ld;

%Матрицы B, C, D

Bd_z = Bd_ob;

Cd_z = Cd_ob;

Dd_z = Dd_ob;

%:

%Проверка полюсов замкнутой системы

sys_d_z = ss (Ad_z, Bd_z, Cd_z, Dd_z);%Описание замкн. дискр. сист-мы в вект.-матр. форме

disp ('Фактические полюсы замкнутой дискретной системы (сравнить с желаемыми)')

poles_sys_d_z = eig (sys_d_z)

%:

%^Вычисление коэфф-та при командном сигнале, обеспечивающего единичную статику

%Векторы коэффициентов полиномов числителЯ и знаменателЯ дискретной передаточной

%функции замкнутой системы

[num_d_z, den_d_z] = tfdata (sys_d_z, 'v');

disp ('Коэффициент при командном сигнале, обеспечивающий единичную статику')

%Величина, обратнаЯ сумме коэффициентов числителЯ дискретной ПФ замкнутой системы

Kv = 1/sum (num_d_z)

%:

%Моделирование в Simulink системы с обратной свЯзью

%по вектору состоЯниЯ

%Для того, чтобы провести моделирование, необходимо иметь доступ к вектору состояния объекта. Поэтому в файле SSLOpt_dSim.mdl при задании объекта в векторноматричной форме (блок State-Space) нужно вместо матрицы Cn_ob указать единичную

%матрицу Сх, а в качестве матрицы Dn_ob – нулевой вектор-столбец Dx соответств-щих

%размерностей

Cx = eye (n_ob(1)); %ЕдиничнаЯ матрица

Dx = zeros (n_ob(1), 1); %Нулевой вектор-столбец

open_system ('SSLOpt_dSim.mdl'); %Вызов mdl‑файла

sim ('SSLOpt_dSim'); %Запуск моделированиЯ

%:

disp ('Желаемые собственные числа дискретного наблюдателЯ')

P_obs_d = zeros (1, n_ob(1))

%Матрица невЯзки дискретного наблюдателЯ

Все команды Matlab, использованные при составлении данной программы, описаны в приложении.

При составлении моделей в Simulink (SSLOpt_dSim.mdl и SSLKOpt_dSim.mdl) используются элементы из таких разделов библиотеки Simulink, как Math, Linear, Discrete, Nonlinear, Function & Tables, Signals & Systems, Sinks и Sources. Схемы моделирования и настройки элементов моделей представлены на рис. 4.1 – 4.8. Параметры моделирования нужно указать в окне «Simulation parameters», доступном через меню Simulation\Simulation parameters окна, вкоторомоткрыт mdl‑файл (рис. 4.9).



Рис. 4.3. Настройки блока «Фиксатор нулевого порядка»

Рис. 4.4. Настройки блока «Ограничитель входного сигнала»

Рис. 4.5. Настройки блока «Коэффициент усиления командного сигнала»

Рис. 4.6. Настройки блока «Матрица коэффициентов обратной связи»


Рис. 4.7. Настройки блока «Объект»

Рис. 4.8. Настройки блока «Наблюдатель»

Рис. 4.9. Параметры моделирования


Составьте план экспериментов в соответствии с целями лабораторной работы (см. п. 4.1).

Выполнение работы

Выберите передаточную функцию объекта и значения её параметров в соответствии с вашим вариантом.

Установите необходимые параметры моделирования: шаг моделирования объекта, такт работы системы управления (первоначально около 0.4 c), время моделирования; снимите ограничения на уровень управляющего сигнала.

Ознакомьтесь с работой программного комплекса. Обратите внимание на данные, появляющиеся в командном окне во время решения.

Проанализируйте влияние наблюдателя на процессы, происходящие в системе, выясните роль начальных условий по вектору состояния наблюдателя. Зафиксируйте переходные процессы в системе без наблюдателя и с наблюдателем.

Исследуйте влияние периода квантования T0 на требуемый диапазон изменения управляющего сигнала в системе с наблюдателем. Результаты фиксируйте в таблице.