курсовая работа / Курсовая_ТАУ / ТАУ_Курс_04
.pdfПередаточную функцию управляющего устройства (42) представим в следующем виде
Wyϕ ( p) = |
U |
3W |
( p) |
= |
Kϕ (1 +Tϕ p) |
= K y + |
K |
И |
(43) |
|
eϕ ( p) |
p |
p |
||||||||
|
|
|
|
K y = Kϕ Tϕ
K И = Kϕ
Устройства, реализующие передаточную функцию (43) получили название пропорционально – интегральных регуляторов (ПИ - регуляторов). Схема принципиальная электрическая ПИ – регулятора
Рисунок 9. Схема ПИ – регулятора
ПараметрыПИ– регулятораопределяются черезпараметры передаточнойфунк-
ции.
7 Моделирование динамики САУ на ЭВМ
Для моделирования динамики САУ на ЭВМ воспользуемся системой MATLAB. Система MATLAB (сокращение от MATrix LABoratory — матричная лаборатория) появилась в 1984 г. и за прошедшие более чем пятнадцать лет стала мировым стандартом в области научных и технических расчетов. Основная причина этой популярности, вероятно, кроется в том, что MATLAB дал инженерам и ученым именно то, что им было нужно, — возможность с непревзойденной легкостью применять к произвольным данным, представленным в виде векторов и матриц, разнообразнейшие численные алгоритмы. Удобный язык программирования, в котором
благодаря матричной ориентации системы значительно уменьшилась необходимость в циклах, еще больше расширил сферу применения MATLAB.
MATLAB — сложная система, и она постоянно развивается, приобретая все новые возможности. Главная сила MATLAB — это многочисленные пакеты расширения, ориентированные на решение задач в различных предметных областях.
MATLAB и его пакеты расширения ориентированы прежде всего на цифровую обработку сигналов, поэтому функции, связанные с расчетом аналоговых цепей, рассматриваются как вспомогательные. В основном они предназначены для вызова из других функций, использующих аналоговые прототипы при синтезе цифровых фильтров. Однако и сами по себе эти функции могут быть весьма полезны. Большая часть рассматриваемых функций относится к пакетам Signal Processing и Simulink.
С технической точки зрения Simulink® является расширением MATLAB, однако он предоставляет столько новых возможностей, что его следует рассматривать как отдельный программный продукт. Simulink — это графическая среда моделирования аналоговых и дискретных систем. Моделирование производится путем перетаскивания блоков из окон библиотек в окно создаваемой модели и настройки связей между ними. Большое число имеющихся библиотек позволяет моделировать самые разнообразные электрические, механические, гидравлические и другие системы. После создания модели можно запустить процесс моделирования. Simulink создаст систему дифференциальных уравнений, описывающих модель, и начнет выполнять ее решение численным методом. Благодаря тесной интеграции с MATLAB, Simulink имеет непосредственный доступ к широкому диапазону средств проектирования и анализа. Традиционный подход к проектированию систем обычно заключается в создании прототипа, за которым следует всестороннее тестирование и внесение соответствующих изменений. Этот подход требует больших временных и финансовых затрат. Эффективной и общепринятой альтернативой является имитационное моделирование. Simulink - мощный инструмент для моделирования, обеспечивающий быстрое построение и тестирование виртуальных прототипов и дающий доступ к любому уровню детализации проекта с минимальными усилиями. Используя Simulink для итеративного исправления проекта до построения прототипа, инженер разработает
проект быстрее и эффективнее. На рисунках 11 и 12 представлены примеры модели-
рования в Simulink.
Рисунок 11. Simulink-модель и окна графиков, динамически обновляемых в процессе моделирования
Рисунок 12. Моделирование ЛАЧХ с помощью Simulink
6.7.1 Расчёт частотных характеристик
Для расчета комплексного коэффициента передачи необходимо подставить в функцию передачи мнимый аргумент: s = jω. Соответствующие расчеты выполняются с помощью функции freqs. B простейшем виде она имеет следующий синтаксис:
freqs (b,a):
Здесь b и а — векторы коэффициентов полиномов, соответственно числителя и знаменателя функции передачи. Коэффициенты следуют в порядке убывания степеней, заканчивая постоянным слагаемым.
Для расчета характеристики по умолчанию выбирается 200 частот, логарифмически равномерно распределенных в диапазоне от 0,1 до 10.
При отсутствии выходных параметров функция freqs строит графики АЧХ и ФЧХ. АЧХ выводится в логарифмическом масштабе (но без пересчета в децибелы), ФЧХ
— в градусах.
Пусть анализируемая цепь имеет функцию передачи
H (s) = |
|
s3 + 3s 2 + 3s +1 |
|
s 4 |
−3s 2 + 4s 2 − 2s +1 |
||
|
Строим ее АЧХ и ФЧХ (рисунок 11):
>>b = [1 3 3 1];
>>a = [1 -3 4 -2 1];
>>freqs (b, a)
Чтобы вместо построения графика получить вектор рассчитанных значений комплексного коэффициента передачи, нужно присвоить результат, возвращаемый функцией freqs, какой-либо переменной:
h = freqs (b, a);
При этом не стоит забывать про точку с запятой в конце строки, которая позволит подавить вывод рассчитанного вектора на экран.
Если использовать второй выходной параметр, то в нем функция возвратит вектор частот, для которых рассчитаны значения импульсной характеристики:
[h, w] = freqs (b, a);
Рисунок 13. Частотные характеристики, построенные функцией freqs
Рассчитаем вектор значений частотной характеристики цепи из нашего примера и построим график ее АЧХ в линейном, а не логарифмическом масштабе (рисунок 14):
>>[h, w] = freqs (b, a);
>>plot (w, abs (h))
>>grid on
Рисунок 14. AЧX цепи в линейном масштабе
Можно принудительно задать количество частотных точек для анализа, используя третий входной параметр n (при этом частоты по-прежнему логарифмически распределены от 0,1 до 10):
[h, w] = freqs (b, а, n);
Наконец, можно принудительно задать частоты для анализа — также с помощью третьего входного параметра, которым в данном случае является вектор круговых частот w. Признаком, отличающим данную ситуацию от предыдущей, является векторный характер третьего выходного параметра. Возвращать значения частот в данном случае не имеет смысла:
h = freqs (b, a, w);
Для дискретных линейных систем, функция передачи которых задана в виде отношения полиномов в г-области, аналогичные расчеты и построения выполняются функцией freqz.
6.7.2 Построение графиков ФЧХ
Как видно из рисунка 13, ФЧХ цепи содержит большое количество разрывов (скачков). Те из них, величины которых равны 180°, действительно являются скачками ФЧХ, а остальные, величина которых составляет 360°, являются «фиктивными». Они возникают только из-за того, что результаты вычисления фазы комплексного числа всегда лежат в диапазоне ±180°. Наличие этих многочисленных скачков затрудняет восприятие истинной формы ФЧХ и маскирует скачки «настоящие».
Избавиться от лишних разрывов позволяет функция unwrap, которая ищет в переданном ей векторе скачки между соседними элементами, превышающие заданную пороговую величину (по умолчанию равную π), и сдвигает соответствующие фрагменты вектора на ±2 π нужное число раз.
Продемонстрируем действие функции unwrap, построив график ФЧХ для цепи из предыдущего примера (рисунок 15):
>>[h, w] = freqs (b, a ) ;
>>% ФЧХ
>>phi = angle (h);
>>% устранение скачков
>>phi = unwrap (phi);
>>% отображаем в градусах
>>plot (w, phi*180/pi)
>>grid on
Сравнение графиков ФЧХ на рисунке 14, 15 наглядно демонстрирует сущность функции unwrap.
При необходимости можно задать порог обнаружения скачков, указав его в качестве второго аргумента функции unwrap:
у = unwrap (x, threshold);
Рисунок 15. ФЧХ цепи с устраненными скачками на 360°
В пакете Signal Processing имеется ряд функций, предназначенных для преобразования описаний из однойформы в другую. Имена этих функций имеют вид хх2уу, где хх
— обозначение исходной формы описания, а уу — обозначение целевой формы описания цепи.
Формы описания цепей в именах функций обозначаются следующим образом:
•tf — коэффициенты полиномов числителя и знаменателя функции переда-
чи (transfer function);
•zp — нули и полюсы (zeros and poles);
•ss — описание в пространстве состояний (state-space).
Необходимость в преобразовании описаний часто возникает из-за того, что функции расчета цепей дают результат в одной форме, а функция, например, построения частотной характеристики требует задания входных параметров в другой форме.
Далее кратко рассматриваются конкретные функции преобразования описаний цепей. Для входных и выходных параметров используются следующие обозначения:
• функция передачи:
9b - вектор-строка коэффициентов (в порядке убывания степеней) числителя функции передачи;
9а - вектор-строка коэффициентов (в порядке убывания степеней) знаменателя функции передачи;
•нули и полюсы:
9 z - вектор нулей (столбец);
9p - вектор полюсов (столбец);
9k - коэффициент усиления (скаляр);
Размерности параметров указаны для случая цепи с одним входом и одним выходом. Функции преобразования могут обрабатывать описания цепей с несколькими выходными сигналами (с векторным выходом). В этом случае размерности параметров соответствующим образом изменяются.
Функция tf2zp
Функция tf2zp преобразует наборы коэффициентов полиномов числителя и знаменателя функции передачи в векторы нулей и полюсов, рассчитывая также значение общего коэффициента усиления:
[z, р, k] - tf2zp (b, a ) ;
Преобразование производится путем вычисления корней полиномов числителя и знаменателя функции передачи с помощью функции roots. Коэффициент усиления k рассчитывается как отношение b(1) / a(1).
Функция zp2tf
Функция zp2tf является обратной по отношению к функции tf2zp: она осуществляет преобразование коэффициента усиления, а также векторов нулей и полюсов функции передачи в коэффициенты полиномов ее числителя и знаменателя:
[b, а] = zp2tf (z, p, k ) ;
Преобразование производится с помощью функции poly, предназначенной для вычисления коэффициентов полинома по заданным его корням. В завершение вектор коэффициентов числителя умножается на k.
Функция residue
Идентификатор последней функции, позволяющей преобразовывать описания линейных цепей, выпадает из общего ряда. Это связано с тем, что данное преобразование не является специфическим для обработки сигналов — оно сводится к разложению дробно-рациональной функции на простейшие дроби и часто при-
меняется в математике. По этой же причине данная функция относится не к пакету
Signal Processing, а к базовой библиотеке MATLAB.
Преобразование функции передачи, заданной в виде коэффициентов полиномов числителя и знаменателя, в сумму простых дробей производится с помощью функции residue. Она же осуществляет и обратное преобразование; нужное направление преобразования выбирается в зависимости от числа входных параметров.
При двух входных параметрах производится разложение функции передачи на простые дроби:
[r, p, k, ] = residue (b, a)
Здесь b и а — коэффициенты полиномов числителя и знаменателя функции передачи соответственно. Выходные параметры — векторы-столбцы полюсов (р) и соответствующих им вычетов (г), а также строка коэффициентов целой части k.
При использовании трех входных параметров функция residue производит преобразование вычетов, полюсов и коэффициентов целой части в коэффициенты числителя и знаменателя функции передачи, то есть осуществляет суммирование простых дробей:
[b, а] = residue (r, р, k)
H (s) = s 2 − 2s + 2
s 4 + 4s3 + 7s 2 + 6s + 2
>>b = [1 -2 2];
>>a = [1 4 7 6 2];
>>[r, p, k] = reside (b, a)
r = |
|
p = |
|
|
|
k = |
2.000 |
+ |
2.000i |
-1.000 |
+ |
1.000i |
[] |
2.000 |
+ |
2.000i |
-1.000 |
- |
1.000i |
|
- 4.000 |
|
|
-1.000 |
|
|
|
5.000 |
|
|
-1.000 |
|
|
|
Результаты преобразования показывают, что данная система имеет двукратный полюс, равный -1, и пару комплексно-сопряженных полюсов, равных -1 ±j. Поскольку степень полинома числителя меньше, чем степень полинома знаменателя, целая часть их отношения равна нулю, и в параметре k функция возвращает пустую матрицу. Рассчитанные значения вычетов позволяют записать представление функции передачи в виде суммы простых дробей (с учетом наличия кратного полюса):
H (s) = |
2 + j2 |
|
2 − j2 |
4 |
|
5 |
|
|
+ |
|
− |
|
+ |
|
|
s +1 − j |
s +1 + j |
s +1 |
(s +1)2 |
Произведем с помощью функции residue обратное преобразование вычетов и полюсов в коэффициенты полиномов числителя и знаменателя функции передачи: