Загрузил Alexey Kondratenko

Лабораторная работа 1 ТАУ ЛЭТИ

реклама
Лабораторная 1
Исследование колебательных контуров
Цель работы: построение математической модели для RLC-цепи и
исследование характеристик данной модели.
Теоретические сведения
Математические модели объектов управления и других функциональных
элементов, а также систем автоматического управления в целом часто
представляются совокупностью тем или иным образом связанных между
собой простейших, типовых звеньев. Передаточная функция (ПФ) любой
линейной системы может быть разложена на ПФ ограниченного числа таких
звеньев.
Любой объект взаимодействует с внешней средой с помощью входов и
выходов. Входы – это возможные воздействия на объект, выходы – это те
сигналы, которые можно измерить. Построить математическую модель – это
значит описать зависимость выходной реакции объекта на входное
воздействие
при
помощи
математических
операторов.
С
помощью
математической модели появляется возможность предсказать реакцию
объекта на любой входной сигнал.
Построение математической модели
Метод построения математической модели зависит от природы объекта.
Некоторые ММ объектов могут быть получены из законов физики, химии,
биологии и т.д. Как правило, модели, полученные таким способом, описывают
внутренние связи в объекте.
Рассмотрим последовательно соединённую RLC-цепь, схема которой
приведена на рис. 1
Рис. 1
В качестве входного воздействия принимается напряжение на концах
цепи 𝑢(𝑡). Под реакцией объекта принимается напряжение на конденсаторе
𝑢𝑐 (𝑡).
Так как элементы соединены последовательно, то разность потенциалов
на входе цепи равна сумме напряжений на каждом элементе и может быть
описана следующим дифференциальным уравнением:
𝑢(𝑡) = 𝑢𝑐 (𝑡) + 𝐿
𝑑𝑖(𝑡)
+ 𝑅𝑖(𝑡),
𝑑𝑡
где 𝐿 – индуктивность, [Гн]; 𝑖(𝑡) – сила тока в цепи, [А]; 𝑅 – сопротивление на
резисторе, [Ом].
Связь между напряжением и током на конденсаторе описывается
следующим дифференциальным уравнением:
𝑖(𝑡) = 𝐶
𝑑𝑢𝑐 (𝑡)
𝑑𝑡
.
Таким образом, получена система дифференциальных уравнений,
описывающая процессы, протекающие в электрической цепи на рис. 1.
𝑑𝑖(𝑡)
𝑢(𝑡) = 𝑢𝑐 (𝑡) + 𝐿
+ 𝑅𝑖(𝑡)
𝑑𝑡
{
𝑑𝑢𝑐 (𝑡)
𝑖(𝑡) = 𝐶
𝑑𝑡
На следующем этапе необходимо систему уравнений привести к виду, в
котором останутся только переменные входа (𝑢(𝑡)) и выхода (𝑢𝑐 (𝑡)) и свести
данную систему к одному уравнению:
𝑑 2 𝑢𝑐 (𝑡)
𝑑𝑢𝑐 (𝑡)
𝑢(𝑡) = 𝐶𝐿
+
𝑅𝐶
+ 𝑢𝑐 (𝑡) →
𝑑𝑡 2
𝑑𝑡
𝑑 2 𝑢𝑐 (𝑡)
𝑈 𝑅 𝑑𝑢𝑐 (𝑡) 𝑢𝑐 (𝑡)
=
−
−
.
(1)
𝑑𝑡 2
𝐶𝐿 𝐿 𝑑𝑡
𝐶𝐿
Таким образом получена модель в дифференциальных уравнениях,
описывающая процесс в электрической цепи.
Переход от дифференциального уравнения к передаточной функции
Для перехода от ДУ к ПФ на первом этапе необходимо воспользоваться
оператором дифференцирования:
𝑝 = 𝑑/𝑑𝑡 → 𝑝𝑘 = 𝑑 𝑘 / 𝑑𝑡𝑘
Тогда, применив оператор дифференцирования, уравнение (1) примет
следующий вид:
𝑢(𝑡) = 𝐶𝐿𝑝2 𝑢𝑐 (𝑡) + 𝑅𝐶𝑝𝑢𝑐 (𝑡) + 𝑢𝑐 (𝑡)
Затем к полученном уравнению применяется прямое преобразование
Лапласа, считая, что все начальные условия нулевые:
𝑈(𝑠) = 𝐶𝐿𝑠 2 𝑈𝑐 (𝑠) + 𝑅𝐶𝑝𝑈𝑐 (𝑠) + 𝑈𝑐 (𝑠)
Тогда по определению передаточная функция примет следующий вид:
𝑈𝑐 (𝑠)
1
=
= 𝑊(𝑠)
𝑈(𝑠) 𝐶𝐿𝑠 2 + 𝑅𝐶𝑠 + 1
Моделирование в среде MATLAB/Simulink
Промоделировать
ПФ
при
помощи
программных
средств
MATLAB/Simulink возможно тремя способами:
1. С помощью команды в окне Command Window (Окно команд);
2. Написание m-файла с набором команд;
3. Построение функциональных блоков в окне Simulink.
Command Window является одной из наиболее используемой панелью. С
ее помощью набираются команды, которые немедленно выполняются. И после
выполнения команды (нажатие кнопки ENTER) исправление предыдущей
команды невозможно. Если необходимо исправить предыдущую команду, то
достаточно заново ввести ее в правильной форме.
Одной из особенностей работы в Command Window является то, что
результат операции (выполнения команды) будет выведен на экран, если после
команды не поставлена точка с запятой, предотвращающая вывод результата.
Для того, чтобы передаточную функцию перевести на язык MATLAB в
окне Command Window необходимо прописать название передаточной
функции W (рис. 2), ее числитель и знаменатель. Числитель и знаменатель
записываются как векторы в квадратных скобках и прописываются только их
коэффициенты при степенях (слева – коэф. при высшей степени и затем по
убыванию).
Рис.2
Допускается также запись ПФ в соответствии с рис. 3.
Рис. 3
В случае, если в полиноме отсутствует одна из степеней, т.е. полином
следующего вида:
D(s)  s 3  s  1,
то форма записи полинома в MATLAB будет следующей
>>den=[1 0 1 1].
В отличи от Command Window m-файл можно редактировать в любой
момент. Он создается как отдельная текстовая программа, в которой
прописывабтся функции, команды и последовательность их выполнения.
Для создания m-файла необходимо на панели управления выбрать New
Script (название файла необходимо прописывать на латинице) рис. 4. Команды
и их порядок соотвтетствуют расмотренным ранее в Command Window.
Рис. 4
Моделирование в среде Simulink
Программа Simulink является приложением к пакету MATLAB. При
моделировании с использованием Simulink реализуется принцип визуального
программирования, в соответствии с которым, пользователь на экране из
библиотеки стандартных блоков создает модель устройства и осуществляет
расчеты.
Для того, чтобы создать Simulink model необходимо на панели
управления открыть вкладку New и выбрать Simulink model.
Библиотека Simulink
Для создания блоков в рабочем окне Simulink необходимо открыть
библиотеку (Library Browser). Библиотеку можно открыть с помощью
соответствующей кнопки на панели управления (рис. 5) или ввести команду
simulink3 (без пробела) в окне Command Window, тогда появится окно в
соответствии с рис. 6.
Рис. 5
Рис. 6
Команда simulink3 выдает укороченный список блоков из библиотеки.
Все блоки разделены по своему функциональному назначению:
1. Sources – источники постоянных сигналов
1.1 Constant - Задает постоянный по уровню сигнал.
Параметры:
Constant value - Постоянная величина.
1.2 Step – формирует ступенчатый сигнал
Параметры:
Step time - Время наступления перепада сигнала (с).
Initial value - Начальное значение сигнала.
Final value - Конечное значение сигнала.
1.3 Генератор сигналов Signal Generator
Назначение:
Формирует один из четырех видов периодических сигналов:
sine — Синусоидальный сигнал.
square — Прямоугольный сигнал.
sawtooth — Пилообразный сигнал.
random — Случайный сигнал.
Параметры:
Wave form – Вид сигнала.
Amplitude – Амплитуда сигнала.
Frequency - Частота (рад/с).
Units – Единицы измерения частоты. Может принимать два значения:
- Hertz - Гц.
- rad/sec – рад/с.
1.4 Clock – источник временного сигнала. Формирует сигнал, величина
которого на каждом шаге расчета равна текущему времени моделирования.
Параметры:
Decimation - Шаг, с которым обновляются показания времени на
изображении
источника
(в
том
случае,
если
установлен
флажок
параметра Display time). Параметр задается как количество шагов расчета.
Например, если шаг расчета модели в окне диалога Simulation parameters
установлен равным 0.01 с, а параметр Decimation блока Clock задан
равным 1000, то обновление показаний времени будет производиться
каждые 10 с модельного времени.
Display time - Отображение значения времени в блоке источника.
Sinks – приемники сигналов
2
2.1 Scope – осциллограф. Строит графики исследуемых сигналов в
функции времени. Позволяет наблюдать за изменением сигналов во времени.
Для того, чтобы открыть окно просмотра сигналов необходимо
выполнить двойной щелчок левой клавишей “мыши” на изображении блока.
2.2 To workspace – блок сохранения данных в рабочей области.
Блок записывает данные, поступающие на его вход, в рабочую
область MATLAB.
Параметры:

Variable name – имя переменной, содержащей записываемые данные.

Limit data points to last – максимальное количество сохраняемых
расчетных точек по времени (отсчет ведется от момента завершения
моделирования). В том случае, если значение параметра Limit data points to
last задано как inf, то в рабочей области будут сохранены все данные.

Decimation – кратность записи данных в рабочую область.

Sample time – шаг модельного времени. Определяет дискретность записи
данных.

Save format – формат сохранения данных. Может принимать значения:
1.Matrix – матрица. Данные сохраняются как массив, в котором число
строк определяется числом расчетных точек по времени, а число столбцов –
размерностью вектора подаваемого на вход блока. Если на вход подается
скалярный сигнал, то матрица будет содержать лишь один столбец.
2.Structure – структура. Данные сохраняются в виде структуры,
имеющей три поля: time – время, signals – сохраняемые значения
сигналов, blockName – имя модели и блока To Workspace. Поле time для
данного формата остается не заполненным.
3
Continuous – аналоговые блоки
3.1 Transfer Fcn – блок передаточной функции. Задает передаточную
функцию в виде отношения полиномов:
,
где nn и nd – порядок числителя и знаменателя передаточной функции,
num – вектор или матрица коэффициентов числителя,
den – вектор коэффициентов знаменателя.
Параметры:
1. Numerator —
вектор
или
матрица
коэффициентов
полинома
числителя
2. Denominator -вектор коэффициентов полинома знаменателя
3. Absolute tolerance — Абсолютная погрешность.
Входной сигнал блока должен быть скалярным. В том случае, если
коэффициенты числителя заданы вектором, то выходной сигнал блока будет
также скалярным (как и входной сигнал).
3.2 lntegrator – интегрирующий блок. Выполняет интегрирование
входного сигнала.
Параметры:
• External reset – Внешний сброс. Тип внешнего управляющего сигнала,
обес-печивающего сброс интегратора к начальному состоянию. Выбирается из
списка:
1. none – нет (сброс не выполняется),
2. rising - нарастающий сигнал (передний фронт сигнала),
3. falling - спадающий сигнал (задний фронт сигнала),
4. either – нарастающий либо спадающий сигнал,
5. level – не нулевой сигнал (сброс выполняется если сигнал на
управляющем входе становится не равным нулю);
В том случае, если выбран какой-либо (но не none), тип управляющего
сигнала, то на изображении блока появляется дополнительный управляющий
вход. Рядом с дополнительным входом будет показано условное обозначение
управляющего сигнала.
• Initial condition source — Источник начального значения выходного
сигнала. Выбирается из списка:
1. internal – внутренний
2. external – внешний. В этом случае на изображении блока появляется
дополнительный вход, обозначенный x0, на который необходимо подать
сигнал, задающий начальное значение выходного сигнала интегратора.
• Initial condition — Начальное условие. Установка начального значения
вы-ходного сигнала интегратора. Параметр доступен, если выбран внутренний
источ-ник начального значения выходного сигнала.
• Limit output (флажок) — Использование ограничения выходного
сигнала.
• Upper saturation limit — Верхний уровень ограничения выходного
сигнала.
Может
быть
задан
как
числом,
так
и
символьной
последовательностью inf, то есть + .
• Lower saturation limit — Нижний уровень ограничения выходного
сигнала.
• Show saturation port — управляет отображением порта, выводящего
сигнал, свидетельствующий о выходе интегратора на ограничение. Выходной
сигнал данного порта может принимать следующие значения:
1. Ноль, если интегратор не находится на ограничении.
2. +1, если выходной сигнал интегратора достиг верхнего ограничивающего предела.
3. -1, если выходной сигнал интегратора достиг нижнего ограничивающего предела.
• Show state port (флажок) — Отобразить/скрыть порт состояния блока.
Дан-ный порт используется в том случае, если выходной сигнал интегратора
требуется подать в качестве сигнала обратной связи этого же интегратора.
• Absolute tolerance — Абсолютная погрешность.
- Блок вычисления суммы Sum. Выполняет вычисление суммы текущих
значений сигналов.
Параметры:
1. Icon shape – Форма блока. Выбирается из списка.
- round – окружность;
- rectangular – прямоугольник.
2. List of sign – Список знаков. В списке можно использовать следующие
знаки:
+ (плюс), - (минус) и | (разделитель знаков).
3. Saturate on integer overflow (флажок) – Подавлять переполнение
целого. При установленном флажке ограничение сигналов целого типа
выполняется кор-ректно.
Количество входов и операция (сложение или вычитание) определяется
списком знаков параметра List of sign, при этом метки входов обозначаются
соответствующими знаками. В параметре List of sign можно также указать
число входов блока. В этом случае все входы будут суммирующими.
Если количество входов блока превышает 3, то удобнее использовать
блок Sum прямоугольной формы.
Блок может использоваться для суммирования скалярных, векторных или
матричных сигналов. Типы суммируемых сигналов должны совпадать.
Нельзя, например, подать на один и тот же суммирующий блок сигналы целого
и действительного типов.
Если количество входов блока больше, чем один, то блок выполняет
поэлементные операции над векторными и матричными сигналами. При этом
количество элементов в матрице или векторе должно быть одинаковым.
Если в качестве списка знаков указать цифру 1 (один вход), то блок можно
использовать для определения суммы элементов вектора.
4. Math – блоки математический операций
4.1 Усилители Gain и Matrix Gain. Выполняют умножение входного
сигнала на постоянный коэффициент.
Параметры:
1. Gain – Коэффициент усиления.
2. Multiplication – Способ выполнения операции. Может принимать
значения (из списка):
- Element-wise K*u– Поэлементный.
- Matrix K*u – Матричный. Коэффициент усиления - левосторонний
операнд.
- Matrix u*K – Матричный. Коэффициент усиления - правосторонний
операнд.
3. Saturate on integer overflow (флажок) – Подавлять переполнение
целого. При установленном флажке ограничение сигналов целого типа
выполняется корректно.
Блоки усилителей Gain и Matrix Gain - это один и тот же блок, но с
разными начальными установками параметра Multiplication.
Параметр блока Gain может быть положительным или отрицательным
числом, как больше, так и меньше 1. Коэффициент усиления можно задавать
в виде скаляра, матрицы или вектора, а также в виде вычисляемого выражения.
В том случае, если параметр Multiplication задан как Element-wise K*u, то
блок выполняет операцию умножения на заданный коэффициент скалярного
сигнала или каждого элемента векторного сигнала. В противном случае блок
выполняет операцию матричного умножения сигнала на коэффициент
заданный матрицей.
По умолчанию коэффициент усиления является действительным числом
типа double.
Для операции поэлементного усиления входной сигнал может быть
скалярным, векторным или матричным любого типа, за исключением
логического (boolean). Выходной сигнал блока будет иметь тот же самый тип,
что и входной сигнал.
На рис. 7 показан пример моделирования колебательного звена с
помощью блока Transfer Fcn.
Рис. 7
Также среда MATLAB/Simulink позволяет промоделировать модель,
представленную через систему дифференциальных уравнения.
Рис. 8
В качестве элемента, который отображает выходной сигнал использован
блок Display, который отображает значение сигнала. Данный блок можно
заменить на Scope и получить переходную характеристику.
Снятие характеристик с моделей в MATLAB
Для построения ЛАЧХ и ЛФЧХ передаточной функции используется
функция bode (Наименование передаточной функции), например:
>>bode(W)
Результат выполнения функции bode приведен на рисунке 9.
Рис. 9
Чтобы выставить сетку на графике необходимо правой кнопкой мыши
щелкнуть по графику и выставить галочку около поля Grid.
Если необходимо построить на графике ЛАЧХ и ЛФЧХ двух и более
различных ПФ, то это возможно при помощи функции hold on, которая
прописывается перед выполнением команд. Также, для удобства иногда
требуется графики различных передаточных функций выделять разными
цветами, это возможно следующим образом bode(W,'желаемый цвет').
Построим ЛЧХ двух ПФ на одном графике (рис. 10).
W1 ( s ) 
s 1
s 1
и W2 ( s)  3
s  2 1
s  s 1
2
Текс программы будет выглядеть следующим образом:
>> W1=tf([1 1],[1 2 1]);
>> W2=tf([1 1],[1 0 1 1]);
>> figure (1)
>> hold on
>> bode(W1,'g')
>> bode(W2,'r')
g,r – обозначение зеленого и красного цвета. Для записи цвета можно
также использовать полное его название на английском языком.
Рис. 10
При построении графиков также доступна функция Insert Legend, которая
отображает название функции и линию, которой она обозначена.
Для построения АФХ необходимо использовать следующую функцию
nyquist(Наименование передаточной функции). Часто для анализа необходимо
и удобно, чтобы сразу несколько различных графиков были открыты. При
вызове функций построения графиков Matlab автоматически записывает их в
график Figure 1 для предотвращения потери графиков или их возможного
«слипания», необходимо перед командой построения графика указать номер
рисунка, на котором она будет построена (рис. 11).
>>figure (2); //следующий график будет построен на рисунке Figure 2
>>nyquist(W)
Рис. 11
При построении АФХ Matlab автоматически строит положительные и
отрицательные частоы, для того, чтобы скрыть на графики отрицательные
частоты необходимо щелкнуть на поле графика правой кнопки мыши навести
в выпавшем окне на строку Show и убрать галочку рядом с Negative
Frequencies.
Список функция, которые также потребуются при выполнении
лабораторных работ:
step(W) –реакция ПФ W на единичное ступенчатое воздействие;
impulse(W) – реакция ПФ W на импульсное воздействие;
pole(W) – полюса и нули ПФ W;
pzmap(W) – расположение корней ПФ W на корневой плоскости.
rlocus(W) – годограф корней для замкнутой системы, где W задается, как
незамкнутая ПФ.
Снятие характеристик с модели Simulink
В случае, если на вход системы подается единичное ступенчатое
воздействие (или константа), то осциллограф будет отображать переходную
характеристику (рис. 12).
Рис. 12
Для
определения
ЧХ
системы/ОУ
необходимо
воспользоваться
функциями Control Systems/Model Linearizer (рис. 13).
Рис. 13
Назначаем новые входы и выходы системы. Выделяем только ту часть
системы, характеристику, которой мы хотим получить (рис. 14).
После этого необходимо нажать кнопку на главной панели
.
В появившемся окне необходимо, в MATLAB Workspace необходимо
выбрать свою Simulink модель (в данном случае out) и выбрать на панели
графиков интересующую характеристику (рис. 15).
Рис. 14
Рис. 15
Задача 1
1. Составить математическую модель в дифференциальных уравнениях
для RLC-цепи, в соответствии с вариантом задания.
2. Перейти от математической модели в дифференциальных уравнениях
к передаточной функции.
3. Построить компьютерные модели в среде MATLAB/Simulink. (на
основе ДУ и ПФ). Использовать в качестве входного источника сигнала:
3.1Ступенчатый импульс (Step) со значением final value = 𝑈𝑛 (𝐼𝑛 ), где n –
номер варианта.
3.2Прямоугольный импульс (Pulse Generator) с амплитудным значением
final value = 𝑈𝑛 (𝐼𝑛 ), где n – номер варианта. (не менее 3 прямоугольных
импульсов за все время симуляции.)
4.
Получить переходные характеристики для каждой из построенных
моделей при различных входных сигналах. Выполнить сравнительный анализ.
5.
Построить ПФ объекта в MATLAB (Command Window) и получить
следующие характеристики:
- Переходная характеристика;
- Логарифмические частотные характеристики;
- Амплитудно-фазовая характеристика;
- Расположение корней объекта на корневой плоскости.
Проанализировать полученные характеристики.
Задача 2.
Для звена вида:
T2
d 2 y (t )
dt 2
 2T
dy(t )
 y (t )  kf (t )
dt
определить переходную и частотные характеристики (АФХ и ЛЧХ) при
выбранных значениях (см. варианты задания) параметров T ,  , привести
графики.
Провести исследование характеристик звена, состоящее в следующем.
1. Проанализировать движение корней (траекторий корней) ХП на
комплексной плоскости при изменении параметра  , привести графики.
2. Построить
график
зависимости
резонансного
пика
АЧХ
от
р
от
коэффициента демпфирования в пределах 0    1.
3. Построить график зависимости резонансной частоты
постоянной времени T при выбранном значении  .
4. Определить экспериментально оптимальное значение коэффициента
демпфирования    опт из условия минимума времени t р затухания
процесса (принять за tр время, начиная с которого переходная характеристика
остается в пределах  5% от установившегося значения). Как располагаются на
комплексной плоскости корни ХП при    опт ? Чему равна высота пика
ЛАЧХ?
5. Определить переходную и частотные характеристики (АФХ и ЛЧХ)
при изменении знака коэффициента демпфирования  на   , привести
графики.
Варианты заданий
№
варианта
1
Значения для заданий 1-6
Значения
𝑘, 𝑇 𝜉
𝑅1 = 10 Ом; С1 = 0.001 мФ;
𝑈1 = 100 В;
Определить: 𝑢𝑐 (𝑡)
𝑘 = 2;
𝑇 = 4;
𝜉 = 0.1
2
𝑅2 = 15 Ом;
С2 = 0.015 мФ; 𝑈2 = 50 В;
Определить: 𝑢𝑐 (𝑡)
𝑘 = 4;
𝑇 = 2;
𝜉 = 0.2
3
𝐿3 = 0.0015 мГн;
С3 = 0.015 мФ; 𝑈3 = 100 В;
Определить: 𝑢𝑐 (𝑡)
𝑘 = 6;
𝑇 = 3;
𝜉 = 0.3
4
𝐿4 = 0.00125 мГн;
С4 = 0.015 мФ; 𝑈4 = 50 В;
Определить: 𝑢𝑐 (𝑡)
𝑘 = 8;
𝑇 = 4;
𝜉 = 0.5
5
𝑅5 = 10 Ом; 𝐿5 = 0.00125 мГн;
𝑈5 = 10 В;
Определить: 𝑖𝑙 (𝑡)
𝑘 = 10;
𝑇 = 5;
𝜉 = 0.4
6
𝑅6 = 15 Ом; 𝐿6 = 0.0015 мГн;
𝑈6 = 100 В;
Определить: 𝑖𝑙 (𝑡)
𝑅7 = 5 Ом; 𝐿7 = 0.001 мГн;
С7 = 0.015 мФ; 𝐼7 = 5 В;
Определить: 𝑖𝑙 (𝑡)
𝑘 = 12;
𝑇 = 2;
𝜉 = 0.6
𝑘 = 5;
𝑇 = 3;
𝜉 = 0.7
𝑅8 = 10 Ом; 𝐿8 = 0.00125 мГн;
С8 = 0.001 мФ; 𝐼8 = 10 А;
Определить: 𝑖𝑙 (𝑡)
𝑘 = 7;
𝑇 = 2;
𝜉 = 0.8
7
8
Схема
Скачать