Смекни!
smekni.com

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

plot (t_, w12_s, 'r-', t_, w12_vm, 'b–', t_, w12_a, 'm – .')

grid on

xlabel ('t, c')

ylabel('w12')

title ('Графики элемента w12 матричной весовой функции')

legend ('w12‑struct', 'w12‑VM', 'w12‑analit', 0)

figure

plot (t_, w22_s, 'r-', t_, w22_vm, 'b–', t_, w22_a, 'm – .')

grid on

xlabel ('t, c')

ylabel('w22')

title ('Графики элемента w22 матричной весовой функции')

legend ('w22‑struct', 'w22‑VM', 'w22‑analit', 0)

%Построение графиков элементов матричной переходной функции (файл h_stop.m)

%

close all

figure

plot (t_, h11_s, 'r-', t_, h11_vm, 'b–', t_, h11_a, 'm – .')

grid on

xlabel ('t, c')

ylabel('h11')

title ('Графики элемента h11 матричной переходной функции')

legend ('h11‑struct', 'h11‑VM', 'h11‑analit', 0)

figure

plot (t_, h21_s, 'r-', t_, h21_vm, 'b–', t_, h21_a, 'm – .')

grid on

xlabel ('t, c')

ylabel('h21')

title ('Графики элемента h21 матричной переходной функции')

legend ('h21‑struct', 'h21‑VM', 'h21‑analit', 0)

figure

plot (t_, h12_s, 'r-', t_, h12_vm, 'b–', t_, h12_a, 'm – .')

grid on

xlabel ('t, c')

ylabel('h12')

title ('Графики элемента h12 матричной переходной функции')

legend ('h12‑struct', 'h12‑VM', 'h12‑analit', 0)

figure

plot (t_, h22_s, 'r-', t_, h22_vm, 'b–', t_, h22_a, 'm – .')

grid on

xlabel ('t, c')

ylabel('h22')

title ('Графики элемента h22 матричной переходной функции')

legend ('h22‑struct', 'h22‑VM', 'h22‑analit', 0)

Назначение всех функций пакета Matlab, использованных при создании программ (m‑файлов), приводится в приложении.

Организовать все указанные файлы следует самостоятельно (файлы-примеры выдаваться не будут) с целью получения навыков работы с редактором-отладчиком m‑файлов и редактором схем Simulink.

Открыть и запустить файл w_h_init.m для задания значений всем необходимым переменным в рабочей области памяти Matlab (Workspace).

Открыть и запустить модель из файла w.mdl и проверить соответствие результатов домашнего расчета элементов матричной весовой функции результатам компьютерного моделирования. В случае несоответствия найти и устранить ошибки.

По завершении моделирования в Simulink открыть и запустить файл w_stop.m. Скопировать информацию, выведенную в графические окно путем выполнения команды меню «Edit\CopyFigure», после чего сохранить ее при помощи какого-либо приложения, например текстового редактора MSWord.

Выполнить пп. 1.3.3 и 1.3.4, используя файлы h.mdl и h_stop.m.

Замечание. Запуск файлов w_h_init.m и w_stop.m (h_stop.m) до и после проведения моделирования можно автоматизировать, связав mdl‑файл с соответствующими m‑файлами. Для этого необходимо:

- убедиться в том, что mdl- и m – файлы находятся в одной директории и она является текущей;

- открыть mdl‑файлы;

- в командном окне выполнить следующие команды:

set_param ('w', 'InitFcn', 'w_h_init')

set_param ('w', 'StopFcn', 'w_stop')

set_param ('h', 'InitFcn', 'w_h_init')

set_param ('h', 'StopFcn', 'h_stop')

- в Simulink для каждого mdl‑файла выполнить команду меню Edit\UpdateDiagram и сохранить файлы.

Содержание отчёта

Отчет оформляется на листах формата А4, допускается рукописное, печатное или комбинированное оформление.

2. Изучение типовых звеньев

Цель работы

Целью работы является расчет весовых и переходных функций, логарифмических амплитудно-частотных и фазочастотных характеристик (ЛАЧХ и ЛФЧХ), амплитудно-фазовых характеристик (АФХ) типовых динамических звеньев систем автоматического управления, а также анализ влияния их параметров на перечисленные выше характеристики. В работе предусматривается исследование звеньев, перечень которых приведен в табл. 2.1.

Таблица 2.1 Перечень типовых звеньев

Номерзвена Звено Передаточная функция
1 Интегрирующее
2 Инерционное
3 Реальноедифференцирующее
4 Интегро-дифференцирующее
5 Колебательное
6 Номинально-фазовое первого порядка
7 Неустойчивое первого порядка
8 Неустойчивое второго порядка
9 Режекторный фильтр

Обязательными для изучения являются первые пять звеньев, указанные в табл. 2.1, а также любые два звена из звеньев №6–9.

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

Для каждого типового звена необходимо выполнить следующее.

Все рассматриваемые звенья, за исключением интегратора, имеют 2 или 3 настраиваемых параметра. В отдельных случаях при изучении влияния параметра на характеристики звена достаточно варьировать его независимо от остальных, а в других ситуациях имеет смысл учитывать соотношения нескольких параметров и варьировать их совместно. Поэтому для каждого исследуемого звена следует провести предварительный анализ необходимого количества и содержания экспериментов.

При проведении подготовки рекомендуется использовать учебную и справочную литературу по курсу «Линейные непрерывные системы регулирования» (ТАУ).

Особое внимание следует уделить информационному сопровождению приводимых в подготовительной части работы эскизных рисунков: для каждого процесса необходимо отметить его характерные особенности, которые зависят от каких-либо параметров исследуемого звена. Так, для временных процессов - это начальное и установившееся значения, постоянная времени, период колебаний, перерегулирование; для ЛАЧХ – сопрягающие частоты, наклон в децибелах на декаду (дб/дек) для наклонных участков и значения модуля комплексного передаточного коэффициента для горизонтальных участков; для ЛЧХ – сопрягающие частоты, асимптоты, точки экстремума (если есть); для АФХ – точки на комплексной плоскости (

, соответствующие
,
, пересечению с мнимой или действительной осями, точка максимального значения модуля комплексного передаточного коэффициента.

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

%ФункциЯ описаниЯ звена в виде передаточной функции

%

function W = TF_zv (N_zv, inp_param)

p = tf('p');

switch N_zv

case 1, %интегрирующеезвено, N_zv = 1, inp_param = [k]

k = inp_param(1);

W = k/p;

case 2, %инерционноезвено, N_zv = 2, inp_param = [k, T]

k = inp_param(1);

T = inp_param(2);

W = k/(T*p+1);

case 3, %реальноедифференцирующеезвено, N_zv = 3, inp_param = [k, T]

k = inp_param(1);

T = inp_param(2);

W = (k*p)/(T*p+1);

case 4, %интегро-дифференцирующеезвено, N_zv = 4, inp_param = [T1, T2]

T1 = inp_param(1);

T2 = inp_param(2);

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

case 5, %колебательноезвено, N_zv = 5, inp_param = [k, T, ksi]

k = inp_param(1);

T = inp_param(2);

ksi = inp_param(3);

W = k/(T^2*p^2+2*ksi*T*p+1);

case 6, %неминимально-фазовое звено 1‑го пор., N_zv = 6, inp_param = [T1, T2]

T1 = inp_param(1);

T2 = inp_param(2);

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

case 7, %неустойчивоезвено 1‑гопор., N_zv = 7, inp_param = [k, T]

k = inp_param(1);

T = inp_param(2);

W = k/(T*p‑1);

case 8, %неустойчивоезвено 2‑гопор., N_zv = 8, inp_param = [k, T, ksi]

k = inp_param(1);

T = inp_param(2);

ksi = inp_param(3);

W = k/(T^2*p^2–2*ksi*T*p+1);

case 9, %режекторныйфильтр, N_zv = 9, inp_param = [T, ksi1, ksi2]

T = inp_param(1);

ksi1 = inp_param(2);

ksi2 = inp_param(3);

W = (T^2*p^2+2*ksi1*T*p+1)/(T^2*p^2+2*ksi2*T*p+1);

end

%end of function TF_zv

Назначение всех использованных при создании этого файла функций Matlab приводится в приложении.

В программе звенья пронумерованы в соответствии с табл. 2.1, указание на номер моделируемого звена выполняется с помощью параметра N_zv рассматриваемой функции TF_zv. Второй параметр inp_param является векторным и предназначен для передачи значений параметров звена; в зависимости от вида звена он может содержать от одного до трех элементов. Для организации выбора описания звена служит оператор switch…case, при помощи которого производится анализ значения переменной N_zv и переход на вычисление соответствующей передаточной функции.

%Изучение типовых динамических звеньев: колебательное звено

%Очистка всех переменных в памЯти

clear all

%Очистка командного окна

clc

%Закрытие всех предыдущих рисунков

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

delete (get(0,'Children'))

%Описание колебательного звена (N_zv = 5) через его передаточную функцию

%при различных значениЯх параметров. Параметры колебательного звена

%задаютсЯ вектором inp_param = [k, T, ksi] (см. текст файла TF_zv.m)

%изменЯем k

W_11 = TF_zv (5, [1,1,0.707]);

W_12 = TF_zv (5, [2,1,0.707]);

W_13 = TF_zv (5, [3,1,0.707]);

%изменЯем Т

W_21 = TF_zv (5, [1,0. 354,0.707]);

W_22 = TF_zv (5, [1,0. 707,0.707]);

W_23 = TF_zv (5, [1,1. 414,0.707]);

%изменЯем ksi

W_31 = TF_zv (5, [1,0. 5,0.3]);

W_32 = TF_zv (5, [1,0. 5,0.5]);

W_33 = TF_zv (5, [1,0. 5,0.7]);

%изменЯем T и ksi

W_41 = TF_zv (5, [1,0. 3,0.3]);

W_42 = TF_zv (5, [1,0. 5,0.5]);

W_43 = TF_zv (5, [1,0. 7,0.7]);

%Построение требуемых характеристик при различных k

%ЛАЧХ и ЛФЧХ

ltiview({'bode'}, W_11,'b-', W_12,'r-', W_13,'k-')

%АФХ

ltiview({'nyquist'}, W_11,'b-', W_12,'r-', W_13,'k-')

%весоваЯ функциЯ w(t)

ltiview({'impulse'}, W_11,'b-', W_12,'r-', W_13,'k-')

%переходнаЯ функциЯ h(t)

ltiview({'step'}, W_11,'b-', W_12,'r-', W_13,'k-')

%Построение требуемых характеристик при различных T

%ЛАЧХ и ЛФЧХ

ltiview({'bode'}, W_21,'b-', W_22,'r-', W_23,'k-')

%АФХ

ltiview({'nyquist'}, W_21,'b-', W_22,'r-', W_23,'k-')

%весоваЯ функциЯ w(t)

ltiview({'impulse'}, W_21,'b-', W_22,'r-', W_23,'k-')

%переходнаЯ функциЯ h(t)