Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Исследование линейных стационарных систем (ЛСС)




9.3.1. Классы пакета CONTROL.l

Для решения задач САУ в среде MATLAB используется набор специальных функций, или тулбокс (ToolBox) “Система управления” (Control System Toolbox).

Tулбокс (ToolBox) “Система управления” представляет собой библиотеку алгоритмов, содержащихся в функциональных М-файлах и реализующих наиболее общие методы расчета, анализа и построения (моделирования) систем.

Пакет прикладных программ (ППП) Control System Toolbox сосредоточен в подкаталоге CONTROL каталога TOOLBOX системы MatLab:

MatLab\ TOOLBOX\ CONTROL.

Основными вычислительными объектами этого ППП являются:

- родительский объект (класс) LTI (Linear Time-Invariant System – линейные, инвариантные во времени системы) или линейные стационарные системы (ЛЛС);

- дочерние объекты (классы), т.е. подклассы класса LTI, соответствующие трем разным представлениям ЛСС:

- TF – объект (Transfer Function) – передаточная функция);

- ZPK – объект (Zero-Pole-Gain – нули, полюсы, коэффициент передачи);

- SS – объект (State Spaсe пространство состояний).

Объекты различных классов характеризуются:

- класса TF - векторами коэффициентов числителя и знаменателя рациональной передаточной функции;

- класса ZPK – векторами, содержащими значения нулей, полюсов передаточной функции и коэффициента передачи системы;

- класса SS – четверкой матриц, описывающих динамическую систему в пространстве состояния.

Специфические атрибуты передаточных функций ( TF – объектов):

num – Числитель

Для одномерной системы (система с одним входом U и выходом Y) - вектор-строка;

Для многомерной системы (с несколькими входами и выходами) – массив ячеек из векторов-строк размером nY на nU.

denЗнаменатель

Для одномерной системы (система с одним входом U и выходом Y) - вектор-строка;

Для многомерной системы (с несколькими входами и выходами) – массив ячеек из векторов-строк размером nY на nU.

VariableИмя (тип) переменной.

Специфические атрибуты ZPK – объектов:

zНули

Для одномерной системы - вектор-строка;

Для многомерной системы – массив ячеек из векторов-строк размером nY на nU.

pПолюсы

Для одномерной системы - вектор-строка;

Для многомерной системы – массив ячеек из векторов-строк размером nY на nU.

kКоэффициент передачи

Для одномерной системы - число;

Для многомерной системы – матрица размером nY на nU.

Специфические атрибуты SS – объектов (моделей пространства состояний):

a, b, c, d – A, B, C, D – матрицы, в соответствии с уравнениями в переменных состояния:

x = Ax + Bu,

y = Cx + Du.

e - E – матрица для систем Descriptor’а (описателя). По умолчанию E= eye (size(A)).

StateName – имя переменной состояния (не обязательное). Массив ячеек nX на 1 из строк.

Атрибуты, общие для всех LTI-моделей:

TsДискрет по времени (в секундах).

Ts = -1 для дискретных систем;

Ts = 0 для непрерывных систем.

TdЗадержка входов (в секундах).

InputNameИмена входов.

Строка - для систем с одним входом.

Массив ячеек nX на 1 из строк – для системы с несколькими входами.

OutpuNameИмена выходов.

Строка - для систем с одним входом.

Массив ячеек nX на 1 из строк – для системы с несколькими входами.

NotesЗаметки.

UserdataДополнительная информация или данные.

9.3.2. Ввод и преобразование моделей

Ввод модели линейной стационарной системы (ЛСС) в среду пакета CONTROL возможен в трех формах:

- в форме матриц пространства состояний;

- в виде коэффициентов числителя и знаменателей передаточной функции;

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

К процедурам создания LTI- моделей относятся:

ss Создает модель пространства состояния по заданным матрицам A, B, C, D уравнений состояния системы.

dss Создает аналогичную модель по описанию пространства состояния более общего вида, когда уравнения переменных состояния не разрешены относительно производных.

tf Создает модель по заданным передаточным функциям системы.

zpk Создает модель по заданным нулям, полюсам и коэффициентам передачи системы.

filt Создает модель по дискретным передаточным функциям системы, записанным в форме полинома от z-1.

set Присваивает значения некоторым другим полям (атрибутам) LTI- объекта (названиям входов и выходов, названиям системы и т.п.).

get Выдает значения атрибутов объекта.

Указанные процедуры позволяют создавать как непрерывные модели, так и дискретные.

В последнем случае к числу входных параметров процедуры следует добавить в конце значения параметра Ts – шага дискретизации, а вводимые значения коэффициентов уже должны задавать параметры дискретных передаточных функций (для tf и zpk), либо матрицы конечно-разностных уравнений пространства состояний (при использовании процедур ss и dss).

При использовании процедуры filt должны задаваться векторы коэффициентов числителя и знаменателя дискретной передаточной функции, представленной в виде отношения полиномов от z-1.

Процедуры ss, dss, tf и zpk применяются также для преобразования моделей из одной из указанных форм в другую.

Модель, заданную как непрерывная, можно преобразовать в дискретную форму, воспользовавшись процедурой c2d в соответствии со схемой:

sysd=c2d(sys, Ts, method).

Здесь sys – исходная непрерывнаязаданная модель;

sysd – получаемый в результате работы процедуры дискретный аналог исходной системы;

Ts – задаваемое значение шага дискретизации;

method – параметр, определяющий метод дискретизации. Например:

‘zoh’ – соответствует применению экстрополятора нулевого порядка: внутри интервала дискретизации сигналы аппроксимируются постоянной величиной, равной значению сигнала в начале интервала дискретизации;

‘foh’ - соответствует применению экстрополятора первого порядка: внутри интервала дискретизации сигналы аппроксимируются отрезками прямых, проходящих через концы кривой сигнала в интервале дискретизации.

Процедура d2c осуществляет обратную операцию – переводит дискретную систему в непрерывную.

Процедура d2d позволяет переопределить дискретную систему, меняя шаг дискретизации:

sys1=d2d(sys, Ts).

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

В общем случае это довольно сложно.

В то же время реальные САУ состоят из соединенных между собой отдельных блоков (динамических звеньев), уравнения которых достаточно просты.

Поэтому в практике проектирования САУ принято использовать структурные методы, когда САУ задается как определенная схема соединения отдельных элементарных динамических звеньев, и фактически проектируется одно или несколько из этих звеньев таким образом, чтобы обеспечить заданное качество всей системы.

В соответствии с этим в MatLab предусмотрена возможность “набирать” программно схему САУ путем:

- предварительного ввода моделей звеньев, составляющих САУ, и

- последующего “соединения” этих звеньев в единую структуру.

К процедурам, осуществляющим расчет характеристик соединений отдельных звеньев, относятся:

plus (minus) – выполняет параллельное соединении указанных звеньев;

parallel -выполняет ту же процедуру, параллельного соединения звеньев; отличие – может использоваться для многомерных систем и для осуществления параллельного соединения лишь по некоторым входам и выходам

mtimes ( или знак “*” между именами звеньев ) – выполняет последовательное соединении указанных звеньев; применяется для одномерных систем;

series -выполняет последовательное частичное соединении многомерных систем;

feedback -выполняет такое соединении двух звеньев, когда второе указанное звено составляет цепь отрицательной обратной связи для первого звена;

append -выполняет формальное объединение не связанных между собой систем (добавление выходов и входов второй системы к выходам и входам первой);

connect – установление соединений входов и выходов многомерной системы, созданной формальным объединением процедурой append;

inv – рассчитывает САУ, обратную указанной, т.е. такую, у которой выходы и входы поменяли местами.

Пример создания модели

Создать модель движения системы (торпеды) в горизонтальном канале, состоящую из подмодели углового движения вокруг вертикальной оси и из подмодели цепи управления.

При этом подмодель углового движения может быть представлена в виде двух последовательно соединенных звеньев:

- апериодического

и – интегрирующего .

В свою очередь подмодель цепи управления может быть представлена в виде двух параллельно соединенных частей:

– части, управляемой гироскопом направления и представляющей собой обычное усилительное звено K;

- части, управляемой гиротахометром, которую можно представить как дифференцирующе-колебательное звено W3.

Соответствующая структурная схема имеет вид, представленный на рисунке,

где M – момент внешних сил относительно вертикали;

ω - угловая скорость торпеды ;

ψ – угол поворота торпеды вокруг вертикали (угол рыскания).

Mу – момент управляющих сил, создаваемый при помощи рулей управления.

Решение.

Подмодель углового движения:

>> W1=tf(25,[100 50])

Transfer function:

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

100 s + 50

>> W2=tf(1, [1 0])

Transfer function:

---.

s

Последовательное соединение этих звеньев можно осуществить двумя способами:

– применением процедуры series:

>> W0=series(W1, W2)

Transfer function:

---------------------;

100 s^2 + 50 s

- либо просто операцией “перемножения” моделей:

>> W01=W1*W2

Transfer function:

----------------------.

100 s^2 + 50 s

Теперь сформируем цепь управления, входом которой является угол рыскания торпеды ψ, а выходом – момент Mу, накладываемый на торпеду со стороны ее рулей направления.

Усилительное звено:

>> K=tf(2,1)

Transfer function:

Дифференцирующе-колебательное звено W3:

>> W3=tf([100 0], [1 10 100])

Transfer function:

100 s

-----------------------.

s^2 + 10 s + 100

Параллельное соединение этих двух звеньев управления можно осуществить тоже двумя способами:

- либо используя процедуру parallel

>> U1=parallel(K,W3)

Transfer function:

2 s^2 + 120 s + 200

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

s^2 + 10 s + 100

- либо применяя операцию “сложения” моделей

>> U=K+W3

Transfer function:

2 s^2 + 120 s + 200

------------------------.

s^2 + 10 s + 100

Теперь найдем модель всей САУ угловым движением торпеды, рассматривая цепь управления как цепь отрицательной обратной связи для торпеды, пользуясь для объединения прямой и обратной цепи процедурой feedback:

>> sys=feedback(W01,U)

Transfer function:

25 s^2 + 250 s + 2500

-------------------------------------------------------------------.

100 s^4 + 1050 s^3 + 10550 s^2 + 8000 s + 5000

После того, как система сформирована, можно ввести при помощи процедуры set некоторые ее символьные описания. В частности присвоить названия входам и выходам системы, а также дать краткий комментарий к самой системе.

>> set(sys,'InputName','Момент сил', 'OutputName','Угол рыскания')

>> set(sys,'Notes','Угловое движение торпеды')

>> get(sys)

num: {[0 0 25 250 2.5e+003]}

den: {[100 1.05e+003 1.06e+004 8e+003 5e+003]}

Variable: 's'

Ts: 0

ioDelay: 0

InputDelay: 0

OutputDelay: 0

InputName: {'Момент сил'}

OutputName: {'Угол рыскания'}

InputGroup: [1x1 struct]

OutputGroup: [1x1 struct]

Notes: {'Угловое движение торпеды'}

UserData: []

9.3.3. Анализ системы

Пакет CONTROL предоставляет пакет процедур для осуществления анализа САУ, прежде всего, для определения отклика системы на внешние воздействия как во временной, так и в частотной областях.

Для нахождения временных откликов системы на внешние воздействия некоторых видов предусмотрены функции:

impulse Нахождение отклика на импульсное входное воздействие.

step Нахождение реакции системы на единичный скачок входного воздействия.

initial Определение собственного движения системы при произвольных начальных условиях.

lsim Определение реакции системы на входное воздействие произвольной формы, задаваемое в виде вектора его значений во времени.

Группа процедур для представления реакции системы на гармонические воздействия в частотной области:

bode Строит график АЧХ и ФЧХ (диаграмму Боде) указанной системы.

nyquist Строит в комплексной плоскости график АФХ разомкнутой системы в полярных декартовых координатах.

nichols Строит карту Николса системы, т.е. график АФХ разомкнутой системы в декартовых координатах.

sigma Строит график зависимости от частоты сингулярных значений системы; обычно совпадает с АЧХ системы.

margin Строит диаграмму Боде с указанием запасов по амплитуде и по фазе.

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

pole Расчет полюсов системы.

zpkdata Расчет полюсов, нулей и коэффициента передачи системы.

pzmap Построение на комплексной плоскости карты расположения нулей и полюсов системы.

Примеры анализа во временной области

1. Применяя процедуру step к созданной выше модели,

>> step(sys)

можно получить график

 

2. Аналогично, использование процедуры impulse

>> impulse(sys)

приведет к появлению в графическом окне графика, приведенного ниже:

3. При применении процедуры initial необходимо в число входных параметров включить, во-первых, полный вектор всех начальных условий по переменным состояния, а, во-вторых, момент времени окончания процесса интегрирования.

>> sssys=ss(sys)

>> initial(sssys,[0 0 0 1],20)

Получим

4. Для применения процедуры lsim необходимо предварительно задать вектор t значений времени, в которых будут заданы значения входного воздействия, а затем задать вектор u значений входной величины в указанные моменты времени

>> t=0:0.01:40; u=sin(t); lsim(sssys,u,t);grid

Результат представлен на следующей фигуре:

 

Примеры анализа в частотной области

1. >> bode(sys)

 

2. >> nyquist(sys)

3. >> nichols(sys)

4. >> sigma(sys)

5. >> margin(sys);grid

Примеры применения процедур для вычисления полюсов и нулей системы.

1. >> pole(sys)

ans =

-4.8653 + 8.5924i

-4.8653 - 8.5924i

-0.3847 + 0.6040i

-0.3847 - 0.6040i

2. >> sysz=zpk(sys)

Zero/pole/gain from input "Момент сил" to output "Угол рыскания":

0.25 (s^2 + 10s + 100)

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

(s^2 + 0.7693s + 0.5128) (s^2 + 9.731s + 97.5)

3. >> [z,p,k]=zpkdata(sysz,'v')

z =

-5.0000 + 8.6603i

-5.0000 - 8.6603i

p =

-4.8653 + 8.5924i

-4.8653 - 8.5924i

-0.3847 + 0.6040i

-0.3847 - 0.6040i

k =

0.2500

4. >> pzmap(sys); grid

Результат представлен на рисунке ниже





Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 805 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2189 - | 2073 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.