Professional Documents
Culture Documents
Курсовий проект
з дисципліни "Моделювання та оптимізація систем керування"
на тему: Моделювання та оптимізація систем керування
Варіант №7
Виконав:
студент групи
Перевірив:
Онисик С.Б.
Львів 2023
ЗМІСТ
Завдання до курсового проекту……………………………………………………….3
1. Структурна та параметрична ідентифікація об’єкта керування……………...4
1.1. Параметрична ідентифікація функцією fminsearch…..……………………….4
1.1.1. Знаходження функції передачі об’єкта по каналу збурення………………….4
1.1.2. Знаходження функції передачі об’єкта по каналу регулювання…………....10
1.2. Параметрична ідентифікація засобами середовища Simulink/Check against
reference…………………………………………………………………………….….16
1.2.1. Знаходження функції передачі об’єкта по каналу збурення…………….…..16
1.2.2. Знаходження функції передачі об’єкта по каналу
регулювання………….....21
2. Параметрична оптимізація системи керування…………………………………..25
2.1. Параметрична оптимізація системи керування в Simulink/Check step response
characteristics………………………………………………………………………….25
2.2. Дослідження системи керування з ПІ-регулятором……………………………26
2.3. Дослідження системи керування з ПІД-регулятором………………………….29
Висновки……………………………………………………………………………….32
Список літератури…………………………………………………………………….34
2
Завдання до курсового проекту
Варіант 7
Табл.1. Завдання
2. Критерій оптимізації:
4
Рис.1. Експериментальна крива розгону по каналу збурення
стрибкоподібного збурення;
- загальний час перехідного процесу Tmax = 25 с.
5
Задаємо початкові значення параметрів оптимізації. Для функції передачі у
k
W ( s )=
вигляді послідовного з’єднання двох аперіодичних ланок a 2 s2 +a 1 s+1 та
Критерій оптимізації - .
var7_1fmins.m
clc,
load var7_1
global k te ye
te= var7_1(:,1);
ye= var7_1(:,2);
k=1;
% Значення стрибкоподібної зміни вхідної величини du
du=2;
% Завдання початкових значень параметрів оптимізації
Tmax=max(te);
a1p=(Tmax/9)^3; a2p=3*(Tmax/9)^2;
x0=[a1p a2p]
% Встановлення точності обчислення (параметр не обов'язковий)
opt=optimset('tolfun',1e-12);
% var7_1f – файл функція даних для обчислення значень критерію, які
% застосовуються функцією fminsearch
xx=fminsearch('var7_1f',x0,opt)
% хх – результати оптимізації
a1=xx(1),a2=xx(2),
% Модель об'єкта
W=tf(k,[a1 a2 1]);
% Перехідна функція моделі об'єкта
r=step(W,te);
% кривої розгону функції моделі об'єкта
yf=r*du;
save yf;
% Графік порівняння експериментальної та апроксимованої моделлю
кривих
% розгону
plot(te,yf,te,ye,'o'); grid;
% Обчислення показників якості оптимізації
delta=max(abs(yf-ye))
sigma=sqrt(sum((ye-yf).^2)/length(ye))
6
Imin=min(sum((abs(ye-yf))).^2) % Мінімальне значення критерію
function s=var7_1f(x);
global k te ye
du=2;
a1=x(1);a2=x(2);
W=tf(k,[a1 a2 1]);
r=step(W,te);
y=r*du;
s=min(sum((abs(ye-y)))^.2);
7
параметрів оптимізації та оцінки показників якості. Задаємо наступні початкові
clc,
load var7_1
global k te ye
te= var7_1(:,1);
ye= var7_1(:,2);
k=1;
% Значення стрибкоподібної зміни вхідної величини du
du=2;
% Завдання початкових значень параметрів оптимізації
Tmax=max(te);
a1p=(Tmax/9)^3; a2p=3*(Tmax/9)^2; a3p=3*(Tmax/9);
x0=[a1p a2p a3p]
% Встановлення точності обчислення (параметр не обов'язковий)
opt=optimset('tolfun',1e-12);
% var7f – файл функція даних для обчислення значень критерію, які
% застосовуються функцією fminsearch
xx=fminsearch('var7f',x0,opt)
% хх – результати оптимізації
a1=xx(1),a2=xx(2), a3=xx(3),
% Модель об'єкта
W=tf(k,[a1 a2 a3 1]);
% Перехідна функція моделі об'єкта
r=step(W,te);
% кривої розгону функції моделі об'єкта
yf_1=r*du;
save yf_1;
% Графік порівняння експериментальної та апроксимованої моделлю
кривих
% розгону
plot(te,yf_1,te,ye,'o'); grid;
% Обчислення показників якості оптимізації
delta=max(abs(yf_1-ye))
sigma=sqrt(sum((ye-yf_1).^2)/length(ye))
Imin=min(sum((abs(ye-yf_1))).^2) % Мінімальне значення критерію
function s=var7f(x);
global k te ye
du=2;
a1=x(1);a2=x(2); a3=x(3);
W=tf(k,[a1 a2 a3 1]);
r=step(W,te);
y=r*du;
8
s=min(sum((abs(ye-y)))^.2);
10
1.1.2. Знаходження функції передачі об’єкта по каналу регулювання
Параметричну ідентифікацію засобами середовища MatLab потрібно
здійснити аналогічно до функції передачі об’єкта керування по каналу збурення.
Файл програми kr7_2.m для побудови графіка експериментальної кривої
розгону по каналу збурення:
load var7_2
global te ye
te= var7_2(:,1);
ye= var7_2(:,2);
%Побудова експериментальної кривої розгону
figure(1)
plot(te,ye,te,ye,'*'), grid
стрибкоподібного збурення;
- загальний час перехідного процесу Tmax=50 с.
11
Виконуємо ідентифікацію шляхом застосування функції Optimization Toolbox
– fminsearch.
clc,
load var7_2
global k te ye
te= var7_2(:,1);
ye= var7_2(:,2);
k=1;
% Значення стрибкоподібної зміни вхідної величини du
du=2;
% Завдання початкових значень параметрів оптимізації
Tmax=max(te);
a1p=(Tmax/9)^3; a2p=3*(Tmax/9)^2;
x0=[a1p a2p]
% Встановлення точності обчислення (параметр не обов'язковий)
opt=optimset('tolfun',1e-12);
% var7f – файл функція даних для обчислення значень критерію, які
% застосовуються функцією fminsearch
xx=fminsearch('var7_21f',x0,opt)
% хх – результати оптимізації
a1=xx(1),a2=xx(2),
% Модель об'єкта
W=tf(k,[a1 a2 1]);
% Перехідна функція моделі об'єкта
r=step(W,te);
% кривої розгону функції моделі об'єкта
yk_1=r*du;
save yk_1;
% Графік порівняння експериментальної та апроксимованої моделлю
кривих
% розгону
plot(te,yk_1,te,ye,'o'); grid;
% Обчислення показників якості оптимізації
delta=max(abs(yk_1-ye))
sigma=sqrt(sum((ye-yk_1).^2)/length(ye))
Imin=min(sum((abs(ye-yf_1))).^2) % Мінімальне значення критерію
function s=var7_21f(x);
global k te ye
du=2;
a1=x(1);a2=x(2);
12
W=tf(k,[a1 a2 1]);
r=step(W,te);
y=r*du;
s=min(sum((abs(ye-y)))^.2);
13
Головний файл var7_2fmins.m
clc,
load var7_2
global k te ye
te= var7_2(:,1);
ye= var7_2(:,2);
k=1;
% Значення стрибкоподібної зміни вхідної величини du
du=2;
% Завдання початкових значень параметрів оптимізації
Tmax=max(te);
a1p=(Tmax/9)^3; a2p=3*(Tmax/9)^2; a3p=3*(Tmax/9);
x0=[a1p a2p a3p]
% Встановлення точності обчислення (параметр не обов'язковий)
opt=optimset('tolfun',1e-12);
% var7f – файл функція даних для обчислення значень критерію, які
% застосовуються функцією fminsearch
xx=fminsearch('var7_2f',x0,opt)
% хх – результати оптимізації
a1=xx(1),a2=xx(2),a3=xx(3)
% Модель об'єкта
W=tf(k,[a1 a2 a3 1]);
% Перехідна функція моделі об'єкта
r=step(W,te);
% кривої розгону функції моделі об'єкта
yk=r*du;
save yk;
% Графік порівняння експериментальної та апроксимованої моделлю
кривих
% розгону
plot(te,yk,te,ye,'o'); grid;
% Обчислення показників якості оптимізації
delta=max(abs(yk-ye))
sigma=sqrt(sum((ye-yk).^2)/length(ye))
Imin=min(sum((abs(ye-yf_1))).^2) % Мінімальне значення критерію
function s=var7_2f(x);
global k te ye
du=2;
a1=x(1);a2=x(2);a3=x(3);
W=tf(k,[a1 a2 a3 1]);
r=step(W,te);
y=r*du;
s=min(sum((abs(ye-y)))^.2);
14
Порядок
Засоби вирішення
функції ai* Imin ∆
задачі оптимізації
передачі
a1= 126.9499
a2= 77.1141 9.5458 0.0297 0.0889
3 MatLab
a3= 14.9368
15
Рис.8. Графіки порівняння експериментальної та апроксимованої кривих розгону
для другого та третього порядків
16
1.2. Параметрична ідентифікація засобами середовища
Simulink/Check Against Reference
1.2.1. Знаходження функції передачі об’єкта по каналу збурення
середовищі MatLab).
Файл передачі даних в середовище Simulink/Chack Against Reference ms_1.m:
clc,
load var7_1
global te ye
global A1 A2 A3
te= var7_1(:,1);
ye= var7_1(:,2);
A1=5.6780; A2=10.8776; A3=6.0450;
k=1;
17
вибрати розділ Create Desing Variables Set, відкрити його і ввести шукані
коефіцієнти A3, A2 і A1):
18
Рис.12. Графік кривої розгону об’єкту керування
Для того, щоб знайти необхідні параметри налаштування необхідно
натиснути Optimize.
20
Reference
a1=5.6780
a2=10.8776 0.1111 0.0183 0.0523
MatLab
a3=6.0450
21
1.2.2. Знаходження функції передачі об’єкта по каналу регулювання
Файл передачі даних в середовище Simulink/CAR ms_2.m:
clc,
load var7_2
global te ye
global A1 A2 A3
te= var7_2(:,1);
ye= var7_2(:,2);
A1=126.9499; A2=77.1141; A3=14.9368;
k=1;
Для знаходження функції передачі об’єкта по каналу регулювання будуємо
модель ОР в середовищі Simulink.
22
Рис.17. Вікно введення вектору часу та вихідної величини
23
Рис.19. Вигляд отриманої кривої розгону об’єкту керування
В результаті одержуємо такі значення параметрів для даного об’єкту
керування:
A1 = 13.4209
A2 = 85.4825
A3 = 28.4055
Програма для порівняння експериментальної та апроксимованої кривих clc,
load var7_2
te=var7_2(:,1);
ye=var7_2(:,2);
du=2;
k=1;
A3=126.9499;
A2=77.1141;
A1=14.9368;
W=tf(k,[A3 A2 A1 1]);
A13=28.4055;
A12=85.4825;
A11=13.4209;
W1=tf(k,[A13 A12 A11 1]);
r=step(W,te);
r1=step(W1,te);
y1=r*du;
yncd=r1*du;
plot(te,ye,'o',te, yncd,'g',te,y1);grid
legend('eкспер. крива','ncd','fmins')
%Обчислення показників якості оптимізації
delta=max(abs(yncd-ye))
sigma=sqrt(sum((ye-yncd).^2)/length(ye))
Imin=min(sum((abs(ye-yncd))).^2) % мінімальне значення критерію
24
Рис.20. Графіки порівняння кривих розгону по каналу збурення
Порівняння результатів ідентифікації засобами Matlab/Simulink/Check
Against Reference наведені в таблиці 9.
Табл.9. Порівняння параметрів та показників якості
Засоби вирішення
ai* Imin ∆
задачі оптимізації
MatLab/
a1=28.4055
Simulink/Check Against a2=85.4825 1.8388 0.0645 0.1517
a3=13.4209
Reference
a1= 126.9499
a2= 77.1141 9.5458 0.0297 0.0889
MatLab
a3= 14.9368
25
2. Параметрична оптимізація системи керування
Виконуємо оптимізацію лінійної системи, наведеної на рис.21.
uzb
W1(s
) +
y(t)
ukzb + +
W2(s)
_
Об’єкт
+
yzd(t)
WR(s) _
26
Рис.22. Вікно САР в середовищі Simulink
27
Рис.24. Параметри оптимізації
У вікні Response Optimization будуємо перехідний процес системи
регулювання з використанням ПІ-регулятора:
28
Рис.26. Перехідний процес оптимальними параметрами ПІ-регулятора у вікні
Response Optimization
Знайдені оптимальні параметри ПІ-регулятора:
kr=1.02; Tiz=12.1877;
29
критерію, який є сумою штрафів за перетин обмежень на показники якості
системи стабілізації. Отримана функція передачі ПІ регулятора:
30
Рис.29. Перехідний процес системи регулювання, при початкових
параметрах ПІД-регулятора
Для виконання оптимізації необхідно в полі Optimization вибрати розділ
Create Design Variables Set, відкрити його і ввести назви шуканих коефіцієнтів kr,
Ti і Td. За вимогами до перехідного процесу встановлюємо обмеження та
коректуємо діапазон зміни перехідного процесу по осі Y.
31
Рис.31. Перехідний процес оптимальними параметрами ПІД-регулятора у вікні
Response Optimization
Знайдені оптимальні параметри ПІД-регулятора :
kr =1; Tiz =10.003; Td = 1.0007.
32
Висновок: Виконана параметрична ідентифікація системи керування із
застосуванням середовища Simulink Design Optimization/Check Step Response
Characteristics. Визначені параметри настроювання ПІД регулятора, оптимальні
для заданого критерію, який є сумою штрафів за перетин обмежень на показники
якості системи стабілізації. Отримана функція передачі ПІД регулятора:
33
Висновок
У даному курсовому проекті була проведена ідентифікація та оптимізація
об’єкта керування та системи керування відповідно до вказаного завдання. За
допомогою функції fminsearch в середовищі MatLab знайдено оптимальні
параметри моделей об’єкта у вигляді функцій передачі третього порядку,
побудовано графіки порівняння експериментальних кривих розгону та
апроксимованих за моделями. Зроблено висновок, що функція передачі третього
порядку забезпечує найменше значення середньоквадратичного відхилення для
моделі об’єкта по каналу збурення, також функція передачі третього порядку,
забезпечує найменше значення по каналу регулювання.
Знайдено функції передачі об’єкта по каналах збурення та регулювання за
допомогою оптимізаційного блоку Check Against Reference у середовищі Simulink.
Було зроблено висновок, що функція fminsearch забезпечує більш якісні
показники, ніж блок Check Against Reference.
В результаті отримано такі функції передачі:
- по каналу збурення:
- по каналу регулювання:
Також побудована лінійна система керування та проведено її параметричну
оптимізацію за допомогою середовища Simulink/Check step response
characteristics. Визначено найкращі показники якості, які можуть бути досягнуті
при застосуванні ПІ та ПІД–регуляторів в системі стабілізації при
стрибкоподібній зміні uzb, які наведені у відповідних розділах курсової роботи.
1
(
Показано, що ПІД-регулятор з функцією передачі W ( s )=2.17 1+ 1.73 s +1.06 s , )
забезпечує кращі показники якості перехідного
процесу за ПІ-регулятор.
34
Список використаної літератури
1. Параметрична ідентифікація об’єктів керування із застосуванням методів
оптимізації. Методичні вказівки для самостійної підготовки та інструкція до
лабораторної роботи з дисципліни "Моделювання та оптимізація систем
керування" для студентів другого (магістерського) рівня навчання за
спеціальністю 151, «автоматизація та комп’ютерно-інтегровані технології» / Укл.
С. Б. Онисик, Г. Ф. Матіко Львів: Видавництво Національного університету
"Львівська політехніка", 2020. - 22 с.
2. Параметрична оптимізація систем керування засобами Matlab-Simulink.
Методичні вказівки для самостійної підготовки та інструкція до лабораторної
роботи з дисципліни "Моделювання та оптимізація систем керування" для
студентів другого (магістерського) рівня навчання за спеціальністю 151,
«автоматизація та комп’ютерно-інтегровані технології» / Укл. С. Б. Онисик,
Львів: Видавництво Національного університету "Львівська політехніка", 2029. -
15 с.
35
3. Методичні вказівки до роботи в середовищі NCD Blockset MatLab-
Simulink. Методичні вказівки для самостійної підготовки та інструкція до
лабораторної роботи з дисципліни "Моделювання та оптимізація систем
керування" для студентів другого (магістерського) рівня навчання за
спеціальністю 151, «автоматизація та комп’ютерно-інтегровані технології» / Укл.
С. Б. Онисик. - Львів: Видавництво Національного університету "Львівська
політехніка", 2017. - 13 с.
4. Дослідження нелінійних об’єктів шляхом структурного моделювання в
середовищі Simulink design optimization MatLab-Simulink ver 7.*. Методичні
вказівки для самостійної підготовки та інструкція до лабораторної роботи з
дисципліни "Моделювання та оптимізація систем керування" для студентів
другого (магістерського) рівня навчання за спеціальністю 151, «автоматизація та
комп’ютерно-інтегровані технології» / Укл. С. Б. Онисик. - Львів: Вид-во
національного ун-ту ‘ Львівська політехніка, 2017 р. -36 с.
5. Методичні вказівки до роботи в середовищі Matlab - Simulink ver. 8.5.
Методичні вказівки для самостійної підготовки та інструкція до лабораторної
роботи з дисципліни "Моделювання та оптимізація систем керування" для
студентів другого (магістерського) рівня навчання за спеціальністю 151,
«автоматизація та комп’ютерно-інтегровані технології» / Укл. С. Б. Онисик. -
Львів: Видавництво Національного університету "Львівська політехніка", 2019. -
54 с.
36