- •Последовательность выполнения работы
 - •Методический пример
 - •Контрольные вопросы
 - •Задания на лабораторную работу
 - •Лабораторная работа № 2 Модели в переменных состояния
 - •Задания
 - •Лабораторная работа №3 Соединение звеньев lti-объекта
 - •Рассмотрим многоконтурную систему управления
 - •Задание
 - •Лабораторная работа №4 Решение обыкновенных дифференциальных уравнений и соду в среде simulink
 - •1. Решение оду первого порядка.
 - •2. Решение систем оду первого порядка.
 - •Задание
 - •Библиографический список
 - •Содержание
 - •394026 Воронеж, Московский просп., 14
 
Лабораторная работа № 2 Модели в переменных состояния
	В 
		SISO
		Design
		Tools
		– проектирование систем регулирования
		с использованием графического интерфейса
		анализа одномерных линейных
		(линеаризованных) систем управления 
		 
		(Single
		Input/Single Output). 
		LTI –
		непрерывная
		система
		
		 
		(Linear
		Time Invariation) 
		MIMO –
		Multiplay
		Input/Multiplay Output
1. Наибольшее распространение получил первый способ, который дает наилучшую точность при вычислениях и в большей степени удобен при теоретических исследованиях и практической реализации алгоритмов управления с применением вычислительных машин и т. д.
При применении этого способа дифференциальные уравнения, описывающие динамику системы, имеют вид:
	
Ax+Bu
					(2.1)
где х — n-мерный вектор состояния системы (вектор фазовых координат), u — р-мерный вектор внешних воздействий, состоящий из заданных величин, возмущений, управлений, формируемых регулятором, А и В — переходная матрица системы и матрица управлений соответствующих размеров. Предполагается, что измерению доступна только часть состояний системы или их линейных комбинаций, такие переменные у называются выходами системы:
у = Сх + Du (2.2)
где у — m-мерный выходной вектор, C, D — матрицы соответствующих размеров. Для большинства реальных объектов управления D = 0.
В рассматриваемых пакетах расширения имеется возможность манипулировать с системой, описываемой уравнениями как с одним объектом МАТLАВ. Для этого нужно матрицы А, В, С, B трансформировать в систему, используя команды ss.
2. Передаточная функция (tf) имеет вид
	
				(2.3)
3. ZPK модель имеет вид
	
(2.4)		Далее
	в качестве примера с использованием
	метода переменных состояния рассмотрим
	RCL
	цепь.
Дана цепь (см. рис. 2.1) Состояние системы характеризуется двумя переменными (x1,x2), где x1 — есть напряжение на конденсаторе uc(t), и х2 — ток через индуктивность iL(t).
	
Рис. 2.1
Используя закон Кирхгофа для токов, запишем дифференциальное уравнение, для токов определяющее скорость изменения напряжения на конденсаторе
	
		(2.5)
	Следовательно,
		
		
,
	где iL(t)
	– x2
	,
	звездочка знак производной. Закон
	Кирхгофа для напряжений, примененный
	к правому контуру, дает уравнение,
	определяющее
	скорость изменения тока через
	индуктивность:
	
-
,
				(2.6)
	Следовательно,
	
	
,
	где 
	
-
	x1
Выход системы определяется линейным алгебраическим уравнением
	
						(2.7)
Уравнения 5 и 6 можно переписать в виде двух дифференциальных уравнений относительно двух переменных состояния x1 и х2.
	
=
	-
			(2.8)
	
-
		
			(2.9)
Тогда выходной сигнал будет равен
	
			(2.10)
Используя уравнения 8 и 9, а так же начальные условия мы можем определить будущее поведение системы и ее выходную величину.
Воспользовавшись уравнениями 8 и 9 запишем уравнение состояния RCL-цепи
	
		(2.11)
Уравнение выхода будет иметь вид:
	
			(2.12)
Если R=3, L=1, C=1/2, то
	
	и 
	
Теперь создадим систему с использованием команды ss. Создадим m – файл. В командном окне MATLAB последовательно откроем окна File, New, M-file (Script в версии R2010b) и введем текст (комментарии можно не вводить, комментарии начинаются со знака %):* ^
сlear % очистка рабочей области памяти
clc % очистка командного окна
R=3.0 % Ohms
L=1.0 % Henry
C=1/2 % Farad
Далее создадим матрицу A
A = [0 -1/C; 1/L –R/L ]% создание матрицы А
B = [1/C; 0]%создание матрицы B
C = [0 R] % создание матрицы C;
D = [0]
sys_1=ss(A, B, C, D)
	
Рис. 2.2
Отметите внимание на следующее: Матрицы можно вводить как одну текстовую строку, причем строки матрицы отделяются друг от друга точкой с запятой, а отдельные элементы строки матрицы разделяются пробелами. Если требуемая длина текстовой строки превышает ширину страницы, то можно переносить ее на следующую строку, причем в месте разрыва должны
быть поставлены точки, не менее трех. Если после команды имеется точка с запятой, то результаты выполнения команды в командном окне не появляются. Если выполнить эту программу (в окне редактора выполнить Debug и Run или Save and Run), то результат запоминается в рабочей области Workplace). Если теперь открыть ее (в окне МАТLАВ выполнить Desktop затем Workplace), то появится содержание рабочей области с одним среди прочих объектом sys. Рекомендуем сохранять М-файл:С:\Documents and Setting.
	
Рис. 2.3
	
Рис. 2.4
Итак, посмотрим результат работы нашего примера, а именно расчет элементов матриц A, B, C и D и с использованием созданного нами М-файла. Закроем и вновь откроем Matlab. Получим такую картину
Для закрытия Editor:
File-Close Editor.
Напомним, как вводится традиционная передаточная функция в виде отношения полиномов.
Задана передаточная функция САУ:
.
	
Рис. 2.5
Создадим LTI-объект с именем w, для этого выполним:
Выполним конвертацию LTI- объекта заданного в переменных состояния с использованием команды
>>sys_tf=tf(sys)
Так же выполним конвертацию ZPK- функции из моделей в переменных состояния >>sys_zpk=zpk(sys).
На рис. 2.6 показана схема преобразования двух видов: функция ss позволяет перейти к передаточной к представлению в пространстве состояний, функция tf выполняет обратную задачу. Смысл этих функций представлен на рис. 2.6.
Рассмотрим альтернативные варианты задания и преобразований передаточной функции в переменные состояния.
Например, имеется система третьего порядка
	
	
Рис. 2.6
На рис. 2.7 показано, как с помощью функции ss происходит переход от передаточной функции к описанию системы управления Ax+Bu и у = Сх + Du, где
	А=
,
	B=
	 , C=[1
	 0,5  0,375]     D=[0]
	. 
	
Обратите внимание на альтернативное задание числителя (num) и знаменателя (den).
На основе функций представленных в таблице:
Постройте графики данного примера (например, step(sys))
Постарайтесь сделать тоже самое с использованием LTI-viewer
	
Рис. 2.7
Синтаксис  | 
			Описание  | 
		
pole(<LTI-объект>)  | 
			Вычисление полюсов передаточной функции  | 
		
zero(<LTI-объект>)  | 
			Вычисление нулей передаточной функции  | 
		
step(<LTI-объект>)  | 
			Построение графика переходного процесса  | 
		
impulse(<LTI-объект>)  | 
			Построение графика импульсной переходной функции  | 
		
bode(<LTI-объект>)  | 
			Построение логарифмических частотных характеристик диаграммы Боде  | 
		
nyquist(<LTI-объект>)  | 
			Построение частотного годографа Найквиста  | 
		
