Лабораторна робота №15
Тема.
Моделювання типових нелінійних елементів
Мета: отримання навичок моделювання типових нелінійних
елементів за допомогою пакета програм MATLAB/Simulink
У теорії автоматичного керування нелінійні елементи відіграють
важливу роль, оскільки реальні системи часто мають нелінійну поведінку, яка не
може бути адекватно описана лінійними моделями. Нелінійні елементи — це
компоненти системи, чия вихідна характеристика не пропорційна вхідному сигналу,
тобто їхня поведінка не підкоряється принципу суперпозиції.
1. Нелінійна залежність: Вихід не є прямо пропорційним
входу. Наприклад, це може бути насичення, гістерезис, мертва зона тощо.
2. Складність аналізу: На відміну від лінійних систем,
нелінійні системи не мають загального аналітичного розв’язку, і для їхнього
дослідження використовуються спеціальні методи.
3. Різноманітність поведінки: Нелінійні системи можуть
демонструвати унікальні явища, такі як біфуркації, хаос або кілька станів
рівноваги.
У Simulink є кілька методів і
інструментів для створення та аналізу нелінійних елементів у різних типах
систем. Ось кілька ключових моментів, які важливо розуміти, коли працюєш з
нелінійними елементами в Simulink, таблиця 1:
Таблиця 1 – Типові
нелінійності в Simulink
|
Тип нелінійності |
Cхема моделювання в Simulink |
|
||||
|
зона насичення |
|
|||||
|
|
||||||
|
Параметри блоку Gain: 1) Gain : K c b tg
= = / a |
Параметри блоку Saturation: 1) Upper limit
: с 2) Lower limit
:-с |
|||||
|
зона нечутливості |
|
|||||
|
|
||||||
|
Параметри блоку Dead Zone: 1) Start of
dead zone : -b 2) End of dead
zone :b |
Параметри блоку Gain: 1) Gain : K tg = a . |
|||||
|
ідеальне двопозиційне реле |
|
|||||
|
|
||||||
|
Параметри
блокe Relay: 1) Switch on point
: 0 2) Switch off point
: 0 3) Output when on
: c 4) Output when off
: -c |
||||||
|
ідеальне трипозиційне реле |
|
|||||
|
|
||||||
|
Параметри
блоку Dead Zone: 1) Start of dead
zone : -b 2) End of dead zone
:b |
Параметри
Coulomb and Viscous Friction: 1) Coulomb friction value (Offset) : [c] 2) Coefficient of viscous friction (Gain) : 0. |
|||||
|
люфт |
|
|||||
|
|
||||||
|
Параметри
блоку Backlash: 1) Deadband width : 2b |
Параметри
блоку Gain: 1) Gain : K tg = a . |
|||||
|
двопозиційне реле з
гістерезисом |
|
|||||
|
|
||||||
|
Параметри
блоку Relay: 1) Switch on point
: b 2) Switch off point
: -b 3) Output when on
: c 4) Output when off
: -c |
||||||
|
трипозиційне реле з
гістерезисом |
|
|||||
|
|
||||||
|
Параметри
блоку Relay: 1) Switch on point : b 2) Switch off point
: mb 3) Output when on
: c 4) Output when off
: 0 |
Параметри
блоку Relay1: 1) Switch on point
: -mb 2) Switch off point
: -b 3) Output when on
: 0 4) Output when off
: -c |
|||||
|
||||||
Основні блоки вище перерахованих типових нелінійностей
знаходяться в бібліотеці Discontinuities. Бібліотека включає 12
основних блоків, кожен із яких має специфічне призначення. Ось їхній перелік із
поясненнями:
1.
Saturation (Насичення):
–
Обмежує сигнал у заданому діапазоні (верхня та нижня межі).
–
Якщо вхідний сигнал перевищує верхню межу, вихід дорівнює цій межі; якщо нижче
нижньої — вихід дорівнює нижній межі.
–
Застосування: моделювання обмежень у реальних системах (наприклад, максимальна
напруга в електричних колах).
2.
Saturation Dynamic (Динамічне
насичення):
–
Аналогічно до Saturation, але межі насичення
задаються динамічно через додаткові входи.
–
Застосування: системи, де межі змінюються в часі (наприклад, адаптивні
регулятори).
3.
Dead Zone (Мертва зона):
–
Вихід дорівнює нулю, якщо вхідний сигнал перебуває в заданому діапазоні (мертва
зона); поза цим діапазоном вихід пропорційний входу з урахуванням зміщення.
–
Застосування: моделювання механічних люфтів або нелінійностей
у датчиках.
4.
Dead Zone Dynamic (Динамічна мертва зона):
–
Мертва зона з межами, які задаються через входи в реальному часі.
–
Застосування: системи з адаптивними порогами чутливості.
5.
Backlash (Люфт):
–
Моделює гістерезис або затримку в механічних системах, коли вихід не одразу
реагує на зміну входу.
–
Параметр: ширина люфту.
–
Застосування: зубчасті передачі, механічні з’єднання.
6.
Relay (Реле):
–
Імітує поведінку реле з гістерезисом: вихід перемикається між двома значеннями
залежно від рівня входу.
–
Параметри: пороги увімкнення/вимкнення та вихідні значення.
–
Застосування: моделювання дискретних перемикачів.
7.
Quantizer (Квантування):
–
Перетворює неперервний сигнал у дискретний шляхом округлення до найближчого
рівня квантування.
–
Застосування: цифрові системи обробки сигналів.
8.
Hit Crossing (Точка
перетину):
–
Виявляє момент, коли сигнал перетинає задане значення (зазвичай нуль).
–
Вихід: логічний сигнал (1, коли перетин відбувається).
–
Застосування: аналіз подій у системі, наприклад, виявлення контакту в механіці.
9.
Coulomb & Viscous Friction (Кулонівське та в’язке тертя):
–
Моделює силу тертя, що складається з кулонівської (статичної) та в’язкої
(залежної від швидкості) складових.
–
Застосування: механічні системи, гальма, підшипники.
10. Wrap To Zero (Обгортання
до нуля):
–
Обнуляє сигнал, якщо він перевищує задану межу.
–
Застосування: моделювання періодичних процесів із обмеженням.
11. Rate Limiter (Обмежувач швидкості зміни):
–
Обмежує швидкість зміни сигналу (похідну) у межах заданих значень.
–
Застосування: захист обладнання від різких стрибків (наприклад, у двигунах).
12. Rate Limiter Dynamic
(Динамічний обмежувач швидкості):
–
Те саме, що Rate Limiter,
але з межами, що задаються через входи.
–
Застосування: системи з адаптивними обмеженнями.
Особливості роботи блоків:
1. Нелінійність: Усі блоки вводять нелінійну поведінку, що може ускладнити
аналітичний аналіз, але є необхідним для реалізму моделі.
2. Виявлення нульових перетинів (Zero-Crossing Detection): Simulink використовує цю техніку для
точного визначення моментів переривання (наприклад, коли сигнал досягає межі
насичення чи перетинає мертву зону). Це забезпечує точність симуляції без
значного зменшення кроку інтегрування.
3. Параметризація: Більшість блоків дозволяють задавати параметри (межі, пороги
тощо) як константи або динамічні сигнали, що робить їх гнучкими.
Бібліотека Discontinuities є незамінним
інструментом для інженерів і дослідників, які працюють із системами, що мають
нелінійну або переривчасту поведінку
Давайте розглянемо простий приклад, у якому ми створюємо модель
блок-схеми Simulink, моделюємо її та зобразимо
результати.

Рисунок 1 – Модель Simulink та
результат симуляції
Завдання для виконання
1. Реалізувати моделі в Simulink згідно з
завданнями (табл.2).
2. Запустити моделювання та отримати результати роботи кожного
нелінійного елемента.
3. Проаналізувати результати за допомогою Scope та XY Graph.
4. Зробити висновки, описавши, як нелінійні елементи впливають на
форму сигналу.
Таблиця 2 – Завдання
|
1. |
Моделювання
обмеження сигналу (Saturation): Використати блок Saturation для обмеження
вихідного сигналу в діапазоні [−2,2]. Подати на вхід синусоїдальний сигнал і
перевірити, як змінюється вихідний сигнал. |
|
2. |
Моделювання
релейного елемента (Relay): Використати блок Relay, щоб реалізувати
перемикання між значеннями −1 та +1. Дослідити роботу релейного елемента при
подачі трикутного сигналу. |
|
3. |
Обмеження
швидкості зміни сигналу (Rate Limiter): Використати блок Rate Limiter, щоб обмежити швидкість
наростання та спадання сигналу. Перевірити, як обмежувач впливає на
імпульсний сигнал. |
|
4. |
Моделювання діодної характеристики: Реалізувати нелінійний зв'язок між струмом і
напругою за допомогою блоку MATLAB Function. Побудувати графік струму при зміні напруги. |
|
5. |
Моделювання сигмоїдної функції: Створити функцію y=1/1+e^−x у Simulink, використовуючи блок MATLAB Function. Побудувати графік вихідного сигналу для
вхідного діапазону [−5,5]. |