– замкнутая система будет находиться на границе устойчивости (k=kкр);
– замкнутая система будет неустойчива (k=kну);
– замкнутая система будет устойчива (k=kу) с запасом по модулю не менее 10 дБ.
Проверить соответствие значений коэффициента, рассчитанных при подготовке и по результатам компьютерного моделирования.
– проверить значения запасов устойчивости по модулю, используя ЛЧХ разомкнутой системы, оценить состояние замкнутой системы;
– проанализировать взаимное расположение АФХ разомкнутой системы и точки (-1, j0) на комплексной плоскости, определить количество переходов расширенной АФХ разомкнутой системы, сделать вывод об устойчивости системы в замкнутом состоянии;
– проанализировать расположение полюсов замкнутой системы на комплексной плоскости, сделать вывод о ее устойчивости;
– проверить состояние замкнутой системы по ее переходной характеристике.
Эксперимент по изучению устойчивости рассматриваемой системы считается завершенным только в случае непротиворечивости всех полученных результатов.
Сохранить в файл совмещенные ЛАЧХ и ЛФЧХ разомкнутой системы при k=1, также сохранить все частотные характеристики разомкнутой системы, переходный процесс в замкнутой системе и ее собственные значения при k= kкр, kну, kу (т.е. всего 1+
рисунка + 3 текстовых блока для рассматриваемой системы). Наличие сетки на графиках обязательно. На ЛАЧХ должны быть отмечены сопрягающие частоты и ее наклон на каждом из участков. На АФХ должна присутствовать оцифровка.Повторить пп. 3.3.2 – 3.3.4 для систем №2 и 3.
Отчет оформляется на листах формата А4, допускается рукописное, печатное или комбинированное оформление.
Данная лабораторная работа предназначена для первого практического ознакомления с применением модального метода для синтеза управления. Ее целью является исследование взаимосвязи между расположением собственных чисел и качеством процессов и выработка обоснованного подхода к выбору желаемых полюсов системы при осуществлении модального синтеза.
В качестве неизменяемой части системы следует принять одну из систем, заданную передаточной функцией в работе №3, с теми же значениями параметров (номер системы выбирается из табл. 4.1 согласно варианту).
Таблица 4.1 Выбор исследуемой системы (см. также табл. 3.1)
Номер варианта | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Номер системы | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 |
Номер варианта | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
Номер системы | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 |
%Модальный синтез управлениЯ в линейных непрерывных системах
%Система #1
%Вывод информации – в командное и графические окна
%Очистка всех переменных в памЯти
clear all
%Очистка командного окна
clc
%Закрытие всех предыдущих рисунков
set (0,'ShowHiddenHandles', 'on')
delete (get(0,'Children'))
%Установка параметров моделированиЯ для mdl‑файла
h_max = 0.01;%максимальный шаг моделированиЯ
t_end = 20; %времЯ завершениЯ моделированиЯ
%задание переменной преобразованиЯ Лапласа длЯ последующего описаниЯ
%системы в виде передаточной функции
p = tf('p');
%Параметры системы #1 длЯ варианта #20
T1_s1 = 4;
T2_s1 = 1;
T3_s1 = 48;
%Описание разомкнутой системы через передаточную функцию
disp ('ПередаточнаЯ функциЯ системы #1 в разомкнутом состоЯнии');
disp([' ' num2str (T1_s1) '*p+1'])
disp ('–');
disp([' (' num2str (T2_s1) '*p+1)*(' num2str (T3_s1) '*p‑1)*p']);
R_s1 = T1_s1*p+1;
Q_s1 = (T2_s1*p+1)*(T3_s1*p‑1)*p;
W_s1_r = R_s1/Q_s1
%Преобразование описаниЯ в ss‑форму (получение описаниЯ через матрицы % A, B, C, D)
sys1_r = ss (W_s1_r);
[A_s1_r, B_s1_r, C_s1_r, D_s1_r] = ssdata (sys1_r);
disp ('Матрицы A, B, C, D разомкнутой системы');
A_s1_r
B_s1_r
C_s1_r
D_s1_r
%Вычисление нулей и полюсов ПФ разомкнутой системы
[zeros_s1_r, poles_s1_r, koef_s1_r] = zpkdata (zpk(W_s1_r), 'v');
disp ('Нули и полюсы ПФ разомкнутой системы');
zeros_s1_r
poles_s1_r
%Проверка правильности вычислениЯ матрицы динамики при домашней подготовке
%путем вычислениЯ ее собственных чисел и сравнениЯ их c poles_s1_r
disp ('Cобств. числа матрицы динамики разомк. сис-мы (из домашней подготовки)');
poles_s1_r_dp = eig([-47/48 1/48 0; 1 0 0; 0 1 0])
%Желаемые полюсы замкнутой системы (задаютсЯ после анализа расположениЯ
%полюсов разомкнутой системы)
disp ('Желаемые полюсы замкнутой системы');
poles_s1_z_g = [-2+2*j; -2–2*j; -0.25]
%Расчет матрицы обратных свЯзей L, реализующей желаемое расположение
%полюсовзамк. сис.
[L_s1, PREC_s1, MESSAGE_s1] = PLACE (A_s1_r, B_s1_r, poles_s1_z_g);
disp ('Матрица обратных свЯзей');
L_s1
%Матрица динамики замкнутой системы
A_s1_z = A_s1_r-B_s1_r*L_s1;
%Матрицы B, C, D замкнутой системы
B_s1_z = B_s1_r;
C_s1_z = C_s1_r;
D_s1_z = D_s1_r;
%Описание замкнутой системы в ss‑форме
sys1_z = ss (A_s1_z, B_s1_z, C_s1_z, D_s1_z);
%Расчет коэффициента усилениЯ по командному сигналу (должен обеспечивать
%единичную статику)
W_s1_z = tf (sys1_z);
[num_s1, den_s1] = tfdata (W_s1_z, 'v');
disp ('Коэффициент усилениЯ по командному сигналу');
%Вычисление коэффициента усилениЯ по командному сигналу
%как отношениЯ свободных членов полиномов знаменателЯ и числителЯ,
%передаточной функции замкнутой системы, т.е. последних элементов
%в векторах коэффициентов знаменателЯ и числителЯ
Kv_s1 = den_s1 (length(den_s1))/num_s1 (length(num_s1))
%Описание итоговой замкнутой системы в ss‑форме
B_s1_z = Kv_s1*B_s1_r;
sys1_z = ss (A_s1_z, B_s1_z, C_s1_z, D_s1_z);
%Фактические собственные числа итоговой замкнутой системы
%(сравнить с заказанными)
[zeros_s1_z_f, poles_s1_z_f, koef_s1_z_f] = zpkdata (zpk(sys1_z), 'v');
disp ('Нули и полюсы замкнутой системы с синтезированным управлением');
zeros_s1_z_f
poles_s1_z_f
%Рисунок, отображающий расположение нулей и полюсов до и после
%замыканиЯобратныхсвЯзей
figure
plot (real(poles_s1_r), imag (poles_s1_r), 'rs', real (zeros_s1_r), imag (zeros_s1_r), 'ro')
hold on
plot (real(poles_s1_z_f), imag (poles_s1_z_f), 'bs', real (zeros_s1_z_f),…
imag (zeros_s1_z_f), 'bo', 'MarkerSize', 14)
grid on
title ('Расположение нулей и полюсов до и после замыканиЯ обратных свЯзей')
xlabel ('real(z)');
ylabel ('imag(z)');
legend ('poles of sys1 (razomk)', 'zeros of sys1 (razomk)',…
'poles of sys1 (zamkn)', 'zeros of sys1 (zamkn)', 0);
%переходный процесс в замкнутой системе c синтезированным управлением
ltiview({'step'}, sys1_z, t_end);
grid on
%вызовмодели
open_system ('sys1_mod.mdl');
%запуск моделированиЯ
sim('sys1_mod');
Назначение всех использованных при создании данной программы функций Matlab приводится в приложении.
Как следует из текста вышеприведенного файла, процедура модального синтеза управления предполагает выполнение следующих шагов:
– описание объекта (ввод исходных данных);
– преобразование описания объекта к ss‑форме и нахождение матриц A, B, C, D;
– вычисление нулей и полюсов ПФ разомкнутой системы;
– анализ расположения нулей и полюсов разомкнутой системы и назначение желаемых полюсов замкнутой системы;
– расчет матрицы обратных связей, реализующей желаемое расположение полюсов замкнутой системы;
– вычисление передаточной функции полученной замкнутой системы и коэффициента усиления по командному сигналу
(т.е. как отношения свободных членов полиномов знаменателя и числителя передаточной функции замкнутой системы).Результаты вычислений на каждом из этапов выводятся в командное окно.
Также в программе предусмотрено проведение ряда проверок (с использованием данных из командного окна): сравнение собственных чисел матрицы динамики разомкнутой системы, полученной в ходе предварительной подготовки, с собственными числами разомкнутой системы, рассчитанными в Matlab; проверка правильности работы процедуры расчета матрицы обратных связей – вычисление фактических значений полюсов полученной замкнутой системы и сравнение их со значениями желаемых полюсов.
Кроме того, по завершении процедуры модального синтеза будет выведено графическое окно с расположением нулей и полюсов системы на комплексной плоскости до и после замыкания обратных связей, построен график переходного процесса для замкнутой системы и запущена модель Simulink, содержащая структурную схему замкнутой системы.
Рис. 4.1. Структурная схема замкнутой системы в Simulink
а б
Рис. 4.2. Настройка параметров: а – моделирования; б – в блоке State-Space
В тексте описанного выше файла-сценария скорректировать исходные данные в соответствии с номером варианта, задать матрицу динамики, рассчитанную при домашней подготовке, и задать некоторое желаемое расположение полюсов замкнутой системы. Скорректировать описание объекта в блоке State-Space модели, если это необходимо. Запустить программу на выполнение, после чего проверить правильность предварительных расчетов и корректность работы встроенной в Matlab процедуры расчета матрицы обратных связей place. Убедиться в правильности описания замкнутой системы при помощи структурной схемы в Simulink, сравнив переходный процесс в графическом окне и на экране осциллографа. В случае отсутствия ошибок сохранить полученные файл-сценарий и структурную схему в файл.