Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 lectures

.pdf
Скачиваний:
24
Добавлен:
04.01.2019
Размер:
3.75 Mб
Скачать

Презентация 6. Применение среды MATLAB для анализа и проектирования систем

автоматического управления

6.1

Способы задания передаточной функции ...................................................................................................................................................................

2

6.2

Функции реализации последовательного, параллельного и соединения с обратной связью ................................................................................

8

6.3

Анализ и проектирование динамических систем в среде MATLAB ........................................................................................................................

9

6.3.1 Вычисление и отображение нулей и полюсов системы ......................................................................................................................................

9

6.3.2 Построение ЛАФЧХ и городгафа передаточной функции ...............................................................................................................................

10

6.3.3 Построение временных характеристик...............................................................................................................................................................

13

6.3.4 Построение корневого годографа........................................................................................................................................................................

14

6.1 Способы задания передаточной функции

Пакет Control system toolbox для описания непрерывных и дискретных динамических моделей систем управления с постоянными параметрами использует либо tf-форму передаточной функции, либо zpk-форму нулей, полюсов и обобщенного коэффициента передачи,

либо ss-форму пространства состояний.

Передаточная функция описывается в виде отношения многочленов, которые задаются в виде векторов-строк, составленных из их коэффициентов. В zpk-форме корни многочленов числителя и знаменателя передаточной функции и обобщенного коэффициента передачи также задаются в виде одномерных массивов. Наиболее естественным для системы MATLAB является представление модели в пространстве состояний.

Таким образом, математическую модель стационарной непрерывной системы можно задать следующими способами: 1) в tf-форме передаточной функции

W (s) b0 sm b1sm 1 ... bm 1s bm , m n a0 sn a1sn 1 ... an 1s an

2) в zpk-форме нулей, полюсов и коэффициента усиления

W (s) k

s

1 s 2

... s m

 

, m n

 

 

 

 

 

 

 

 

s

s

2

... s

n

 

 

 

 

 

1

 

 

 

 

 

Истинный коэффициент усиления такой системы K k 1 2 ... m

1 2 ... n

3) в ss-форме пространства состояний в виде четверки матриц A, B, C и D системы дифференциальных уравнений

dx

Ax Bu,dt

y Cx Du

den(s)
den(s)

Передаточная функция W (s) num(s) задается многочленом числителя num и многочленом знаменателя den. В системе MATLAB

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

Например, вектор [1 3 5] соответствует многочлену s2 3s 5 . Если заданы векторы num и den, соответствующие многочленам числителя и знаменателя, то функция W (s) tf (num, den) создает модель системы в виде передаточной функции W (s) num(s) .

Пример.

s

Функция w=tf([1 0],[1 2 10]) формирует передаточную функцию s2 2s 10 : >> w=tf([1 0],[1 2 10])

Transfer function: s

--------------

s^2 + 2 s + 10

Пример .Передаточную функцию W (s) 2 можно задать следующим образом:

2s 1 s2 3s 1

>> w=tf([2],[2 1])*tf([1],[1 3 1])

Transfer function: 2

-----------------------

2 s^3 + 7 s^2 + 5 s + 1

zpk-модель тесно связана с формой представления объекта в виде передаточной функции: нули – это корни многочлена числителя,

полюсы – корни многочлена знаменателя.

Функция, предназначенная для формирования таких моделей, имеет вид w zpk(z, p, k) , где z и p – векторы из нулей и полюсов, а k –

обобщенный коэффициент усиления.

Не забывайте, что коэффициент k следует задавать аккуратно, чтобы обеспечить истинный коэффициент усиления K k 1 2 ... m .

1 2 ... n

Пример. Требуется задать передаточную функцию W (s) 2s . Для этого необходимо найти все нули и полюса этой s 2 s2 2s 2

передаточной функции, составить из них вектора и задать функцию w=zpk([0],[1-j 1+j 2],-2):

>> w=zpk([0],[1-j 1+j 2],-2)

Zero/pole/gain:

-2 s

--------------------

(s-2) (s^2 - 2s + 2)

Пример. Пусть требуется задать передаточную функцию W (s)

s 1

 

.

(s 1)(2s 1)

Обратите внимание, что истинный коэффициент усиления

 

 

равен 1. Нули и полюса этой передаточной функции следующие:

1, 1,

0.5 Воспользовавшись равенством K k

 

 

1 2 ... m

 

 

получим:

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

1 2 ... n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 k

1

. Отсюда обобщенный коэффициент k=0.5

1*( 0.5)

Тогда функция w=zpk([-1],[1 -0.5],0.5) обеспечит нам исходную передаточную функцию:

>> w=zpk([-1],[1 -0.5],0.5)

Zero/pole/gain:

0.5 (s+1)

-------------

(s-1) (s+0.5)

Если привести вид полученной передаточной функции к типовому, то можно убедиться, что истинный коэффициент усиления равен

1.

Примечание. Если нули в передаточной функции отсутствуют, то соответствующий вектор следует задавать пустым, в виде пустых скобок [].

Пример. Пусть требуется задать передаточную функцию W (s) 1

(2s 1)(4s 1)

Нули в данной системе отсутствуют, а полюса 1 0.5, 2 0.25

Тогда для задания передаточной функции следует воспользоваться записью

w=zpk([],[-0.5 -0.25],0.125), где обобщенный коэффициент 0.125=0.5*0.25 обеспечивает истинный коэффициент, равный 1:

>> w=zpk([],[-0.5 -0.25],0.5*0.25)

Zero/pole/gain:

0.125

----------------

(s+0.5) (s+0.25)

Если известно описание системы в пространстве переменных состояний в виде матриц

MATLAB можно с помощью функции ss:

sys=ss(A,B,C,D), где sys – любое выбираемое пользователем имя системы.

Пример.

0

Пусть система описана в пространстве переменных состояний с помощью матриц A 5

A, B, C и D, то задать эту систему в среде

1

, B 0

, C 0

1 , D [0] .

2

3

 

 

Тогда для задания этой системы в среде MATLAB необходимо записать следующие строчки:

>>A=[0 1;-5 -2];

>>B=[0;3];

>>C=[0 1];

>>D=0;

>>sys=ss(A,B,C,D)

a =

x1 x2

x1 0 1

x2 -5 -2

b =

u1

x1 0

x2 3

c =

x1 x2

y1 0 1

d =

u1

y1 0

sys1

6.2 Функции реализации последовательного, параллельного и соединения с обратной связью

1. Параллельное соединение

Функция sys=parallel(sys1,sys2) реализует параллельное соединение двух систем. Эта функция эквивалентна операции сложения sys=sys1+sys2.

2. Последовательное соединение

Функция sys=series(sys1,sys2) реализует последовательное соединение двух систем. Эта функция эквивалентна операции умножения систем sys=sys1*sys2.

3. Соединение с обратной связью

Функция sys=feedback(sys1,sys2) возвращает систему sys, соответствующую соединению систем sys1 и sys2 в контур с отрицательной обратной связью. Причем система sys1 находится в прямой передаче, а система sys2 – в обратной связи.

Чтобы замкнуть систему положительной обратной связью, следует использовать следующее обращение: sys=feedback(sys1,sys2,+1).

Внимание! Очень частой ошибкой бывает использование следующей записи при построении соединения с обратной связью:

sys 1 sys1* sys2 . В данном случае операция замыкания контура обратной связью в среде MATLAB будет выполнена некорректно.

Поэтому для реализации соединения с обратной связью необходимо использовать функцию feedback.

6.3 Анализ и проектирование динамических систем в среде MATLAB

6.3.1 Вычисление и отображение нулей и полюсов системы

Функция p=pole(sys) возвращает вектор p, состоящий из полюсов системы sys.

Функция z=tzero(sys) возвращает вектор z, состоящий из нулей передаточной функции системы sys.

Для отображения полюсов и нулей системы на комплексной плоскости следует использовать функцию pzmap(sys).

Пример.

Пусть задана система в виде некоторой передаточной функции W

Тогда, воспользовавшись записью pzmap(W), получим следующий результат (рисунок 6.1).

Рис. 6.1

6.3.2 Построение ЛАФЧХ и городгафа передаточной функции

Функция bode(sys) предназначена для построения амплитудных и фазовых логарифмических частотных характеристик для динамических систем.

Пример.

Пусть требуется построить ЛАФЧХ для колебательного звена W 1 . s2 s 1

Обращение bode(W) позволит получить график ЛАФЧХ (рисунок 6.2).

Рис. 6.2

Соседние файлы в предмете Инженерные конструкции