Лабораторна робота № 8

Тема: Аналіз стійкості в MATLAB за коренями характеристичного рівняння.

Мета: дослідити систему автоматичного керування на стійкість

 

MATLAB надає потужні інструменти для дослідження стійкості систем автоматичного керування. Лінійна система є стійкою тоді й лише тоді, коли всі корені її характеристичного полінома розташовані в лівій півплощині комплексної площини коренів.

Ми вже знаємо, як використовувати функцію roots. Наприклад, якщо характеристичний поліном має вигляд

B(s) = 2s^3+3s^2+2s+40, то його корінь можна визначити в такий спосіб:

>> B= [2  3  2  40];

>> roots(B)

У результаті отримаємо колонку, що містить шукані корені

ans =

  -3.1722 + 0.0000i

   0.8361 + 2.3676i

   0.8361 - 2.3676i

Як бачимо, запропонована система буде не стійкою.

Якщо  задано  передатну  функцію,  то  можна  скористатися  функцією pole, що обчислює полюси передатної функції:

>> W=tf([1  0.5],[B])

Transfer function:

>> pole(W)

ans =

  -3.1722 + 0.0000i

   0.8361 + 2.3676i

   0.8361 - 2.3676i

Функція pzmap дозволяє відобразити на комплексній площині розташування полюсів і нулів передавальної функції. Нулі позначаються кружечками, а полюси — хрестиками. Якщо викликати pzmap без аргументів, діаграма створюється автоматично (див. рис. 1).

>> pzmap(W)

Рисунок 1 – Результат виконання команди pzmap

 

Розглянемо приклад.  Дослідити стійкість системи керування водяним баком із нагрівачем. Керуючий елемент: потенціометр (змінний резистор), що задає напругу U(t) (В). Виконавчий елемент: електричний нагрівач, що перетворює напругу U(t) у потужність P(t) Вт. Об’єкт управління: водяний бак, де температура T(t)° залежить від потужності. Вимірювальний елемент: термометр (наприклад, термопара), що вимірює температуру T(t).

Визначимо, чи є задана система стійкої в розімкнутому  та замкненому стані, лістинг 1

Лістинг 1 – Код програми

___________________________________________________________________

W_pot = tf(1, 1);          % Потенціометр: W(s) = 1

W_n = tf(100, 1);          % Нагрівач: W(s) = 100

W_bak = tf(0.05, [200 1]); % Бак: W(s) = 0.05 / (200s + 1)

W_meas = tf(1, [1 1]);     % Термометр: W(s) = 1 / (s + 1)

% Розімкнута система

W_open = W_pot * W_n * W_bak * W_meas;

% Замкнена система

W_closed = feedback(W_open, 1);

roots_open = roots([200 201 1]);    % Для відкритої: 200s^2 + 201s + 1

roots_closed = roots([200 201 6]);  % Для замкненої: 200s^2 + 201s + 6

disp(roots_open);

disp(roots_closed);

figure;

subplot(1, 2, 1); pzmap(W_open); title('Відкрита'); grid on;

subplot(1, 2, 2); pzmap(W_closed); title('Замкнена'); grid on;

____________________________________________________________________Кінець лістингу 1

Результати розміщення коренів на комплексній площині зображено на рисунку 2.

 

Рис. 2. Результат знаходження коренів характеристичного рівняння системи

Отже, аналіз розташування коренів на комплексній площині показує, що система є стійкою, оскільки всі корені характеристичного рівняння знаходяться в лівій півплощині відносно уявної осі.

 

 

Завдання

Дослідити замкнуту систему на стійкість за коренями характеристичного рівняння. Номер завдання залежить від порядкового номера в журналі академічної групи.

Таблиця 1 – Варіанти завдань