- •1Теория автоматического управления
- •1.1Общие сведения
- •1.2Определение параметров типовых динамических звеньев по их временным характеристикам
- •1.2.1Типовые динамические звенья
- •1.2.1.1Апериодическое (инерционное) звено
- •1.2.1.2Дифференцирующее звено первого порядка
- •1.2.1.3Колебательное звено
- •1.3Определение параметров типовых динамических звеньев по их частотным характеристикам
- •1.3.1Апериодическое (инерционное) звено
- •1.3.2Дифференцирующее звено первого порядка
- •1.3.3Колебательное звено
- •1.4Исследование устойчивости и качества линейной системы автоматического управления
- •1.4.1Определение условий устойчивости системы автоматического управления
- •1.4.2Анализ точности системы автоматического управления
- •1.4.3Интегральная оценка качества
- •1.4.4Выбор оптимальных параметров управляющего устройства по минимуму интегральной оценки
- •2.4Окно предыстории
- •2.5Командное окно
- •2.6Программирование в системе MatLab
- •2.6.1Создание m-файлов
- •2.6.2Вывод графиков
- •2.7Моделирование в среде Simulink
- •2.7.1Запуск среды
- •2.7.2Создание моделей
- •2.7.3Построение основных частотных и временных характеристик линейной системы управления
- •2.8Создание исполняемого файла
- •2.8.1Назначение компилятора MatLab
- •2.8.2Конфигурирование компилятора
- •2.8.3Среда разработки Deployment Tool
- •2.8.4Создание приложения
- •2.8.5Использование команды mcc
- •3.1.1.2Дифференцирующее звено
- •3.1.1.3Колебательное звено
- •3.1.2Моделирование с использованием gui-приложения
- •3.1.3Лабораторное задание
- •3.1.4Содержание отчета
- •3.1.5Контрольные вопросы
- •3.2Определение параметров типовых динамических звеньев по их частотным характеристикам
- •3.2.1Порядок выполнения работы в системе MatLab
- •3.2.1.1Апериодическое звено
- •3.2.1.2Дифференцирующее звено
- •3.2.1.3Колебательное звено
- •3.2.2Моделирование с использованием gui-приложения
- •3.2.3Лабораторное задание
- •3.2.4Содержание отчета
- •3.2.5Контрольные вопросы
- •3.3Исследование устойчивости и качества линейной системы автоматического управления
- •3.3.1Порядок выполнения работы в системе MatLab
- •3.3.2Моделирование с использованием gui-приложения
- •3.3.3Лабораторное задание
- •3.3.4Содержание отчета
- •3.3.5Контрольные вопросы
- •Определение параметров дифференциального звена по временным характеристикам
- •Определение параметров колебательного звена по временным характеристикам
- •Определение параметров дифференциального звена по частотным характеристикам
- •Определение параметров колебательного звена по частотным характеристикам
Определение параметров колебательного звена по временным характеристикам
disp('Лабораторная работа №1')
%
clear all;
close all;
disp('Определение параметров коллебательного звена по временным характеристикам ')
for i = 1:100
%вводим начальные данные
R = input('enter resistance, kOm: R = ');
L = input('enter inductance, Gn: L = ');
C = input('enter capacity, mkF: C = ');
%считаем постоянную времени и показатель коллебательности
T=(L*C*0.001)^1/2;
ksi=R*1000/2*(C*0.001/L)^1/2;
%передаточная функция
W = tf([1],[T^2 2*T*ksi 1])
%открываем файл в Simulink
open kolleb.mdl
%строим график переходного процесса
figure(1);
stepplot(W);
grid on;
hold all;
title('Переходные процессы коллебательных звеньев с разными T и ksi');
%считаем перерегулирование
hust = dcgain(W);
[y ~] = step(W);
hmax = max(y);
sigma = (hmax - hust)/hust*100
%выводим легенду
r(i,1) = R;
c(i,1) = C;
l(i,1) = L;
L1(i,:)=['R ='];
L2(i,:)=['C ='];
L3(i,:)=['L ='];
Legen = [L1, num2str(r),repmat(';', size(L1,1), 1),L2, num2str(c),repmat(';', size(L1,1), 1),L3, num2str(l)];
legend(Legen);
%запрос о продолжении
k = input('Хотите продолжить? Y/N:', 's');
if (k == 'n') || (k == 'N'), break; end;
end
ПРИЛОЖЕНИЕ 2
ОПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ДИНАМИЧЕСКИХ ЗВЕНЬЕВ ПО ИХ ЧАСТОТНЫМ ХАРАКТЕРИСТИКАМ
Определение параметров апериодического звена по частотным характеристикам
disp('Лабораторная работа №2')
clear all;
close all;
disp('Определение параметров апериодического звена по частотным характеристикам ')
for i = 1:100
%вводим начальные данные
R = input('enter resistance, kOm: R = ');
C = input('enter capacity, mkF: C = ');
%считаем постоянную времени
T=R*C;
%передаточная функция
W = tf([1],[T 1])
%открываем файл в Simulink
open aperiod.mdl
%строим АФХ
figure(1);
nyquist(W);
grid on;
hold all;
title('АФХ апериодических звеньев с разными постоянными времени');
%выводим легенду
r(i,1) = R;
c(i,1) = C;
L1(i,:)=['R ='];
L2(i,:)=['C ='];
Legen = [L1, num2str(r),repmat(';', size(L1,1), 1),L2, num2str(c)];
legend(Legen);
%строим ЛАЧХ и ФЧХ
figure(2);
bodeplot(W);
grid on;
hold all;
title('ЛАЧХ и ФЧХ апериодических звеньев с разными постоянными времени');
%выводим легенду
r(i,1) = R;
c(i,1) = C;
L1(i,:)=['R ='];
L2(i,:)=['C ='];
Legen = [L1, num2str(r),repmat(';', size(L1,1), 1),L2, num2str(c)];
legend(Legen);
%запрос о продолжении
k = input('Хотите продолжить? Y/N:', 's');
if (k == 'n') || (k == 'N'), break; end;
end
Определение параметров дифференциального звена по частотным характеристикам
disp('Лабораторная работа №2')
clear all;
close all;
disp('Определение параметров дифференциального звена по частотным характеристикам ')
for i = 1:100
%вводим начальные данные
R = input('enter resistance, kOm: R = ');
C = input('enter capacity, mkF: C = ');
%считаем постоянную времени
T=R*C;
%передаточная функция
W = tf([T 0],[T 1])
%открываем файл в Simulink
open differenc.mdl
%строим АФХ
figure(1);
nyquist(W);
grid on;
hold all;
title('АФХ дифференциальных звеньев с разными постоянными времени');
%выводим легенду
r(i,1) = R;
c(i,1) = C;
L1(i,:)=['R ='];
L2(i,:)=['C ='];
Legen = [L1, num2str(r),repmat(';', size(L1,1), 1),L2, num2str(c)];
legend(Legen);
%строим ЛАЧХ и ФЧХ
figure(2);
bodeplot(W);
grid on;
hold all;
title('ЛАЧХ и ФЧХ дифференциальных звеньев с разными постоянными времени');
%выводим легенду
r(i,1) = R;
c(i,1) = C;
L1(i,:)=['R ='];
L2(i,:)=['C ='];
Legen = [L1, num2str(r),repmat(';', size(L1,1), 1),L2, num2str(c)];
legend(Legen);
%запрос о продолжении
k = input('Хотите продолжить? Y/N:', 's');
if (k == 'n') || (k == 'N'), break; end;
end
