Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы_в матлабе_1.doc
Скачиваний:
55
Добавлен:
06.07.2017
Размер:
494.59 Кб
Скачать

Введение

Настоящее учебное пособие содержит описание семи лабораторных работ для исследования линейных, нелинейных и дискретных систем автоматического управления.

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

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

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

Лабораторные работы выполняются методом математического моделирования с использованием прикладного пакета программ MATLAB (MATrix LABoratory), позволяющего процесс моделирования максимально приблизить к эксперименту, осуществить необходимые исследования динамических систем автоматического управления с получением качественных и количественных результатов.

Однако для грамотного исследования динамических систем автоматического управления недостаточно научиться правильно пользоваться прикладным пакетом, необходимо ещё хорошо знать физику работы отдельных звеньев САУ, понимать их взаимосвязь и взаимозависимость, что требует должного уровня теоретической подготовки по курсу «Теория автоматического управления», его постоянного повышения.

1. Математическое моделирование в среде matlab

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

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

Развитие вычислительной техники, и частности ПЭВМ, повлекло за собой создание разнообразного программного обеспечения. Начиная от современных операционных систем, упрощающих работу с компьютером, до узкоспециализированных высокотехнических приложений, в том числе разнообразных систем компьютерной математики и приложений, ориентированных на математическое моделирование. Благодаря таким программам исследователю совершенно не нужно становиться программистом, чтобы создать компьютерную математическую модель изучаемой системы или процесса. Программа MATLAB (MATrix LABoratory)обладает огромными возможностями для компьютерного математического моделирования и, в то же время, простым и удобным интерфейсом. Прилагающаяся к ней библиотекаSimulinkпозволяют создавать и исследовать модели систем способами, описанными в теории автоматического управления (типовые звенья и воздействия). Программа моделирует статические и динамические процессы в системе практически любой сложности. Она позволяет получить конечный результат не только в числовой, но и в графической форме. Все выше перечисленное делаетMATLABчрезвычайно удобным приложением для изучения теории автоматического управления.

MATLAB – это высокопроизводительный язык для технических расчетов. Он включает в себя вычисления, визуализацию и программирование в удобной среде, где задачи и решения выражаются в форме, близкой к математической. Типичное использование MATLAB – это:

  • математические вычисления;

  • создание алгоритмов;

  • моделирование;

  • анализ данных, исследования и визуализация;

  • научная и инженерная графика;

  • разработка приложений, включая создание графического интерфейса.

MATLAB – это интерактивная система, в которой основным элементом данных является массив. Это позволяет решать различные задачи, связанные с техническими вычислениями, особенно такие, в которых используются матрицы и вектора, в несколько раз быстрее, чем при написании программ с использованием «скалярных» языков программирования, таких как Си или Фортран. Таким образом, MATLAB – это система с матрично-ориентированной компьютерной математикой.

В MATLAB важная роль отводится специализированным группам программ, называемых toolboxes. Toolboxes - это всесторонняя коллекция функций MATLAB (М-файлов), которые позволяют решать конкретные виды задач.

Система MATLAB состоит из пяти основных частей.

Язык MATLAB. Это язык матриц и массивов высокого уровня с управлением потоками, функциями, структурами данных, вводом-выводом и особенностями объектно-ориентированного программирования.

Среда MATLAB. Это набор инструментов и приспособлений, с которыми работает пользователь или программист MATLAB. Она включает в себя средства для управления переменными в рабочем пространстве MATLAB, вводом и выводом данных, а также создания, контроля и отладки М-файлов и приложений MATLAB.

Управляемая графика. Это графическая система MATLAB, которая включает в себя команды высокого уровня для визуализации двух- и трехмерных данных, обработки изображений, анимации и иллюстрированной графики. Она также включает в себя команды низкого уровня, позволяющие полностью редактировать внешний вид графики, также как при создании Графического Пользовательского Интерфейса (GUI) для MATLAB приложений.

Библиотека математических функций. Это обширная коллекция вычислительных алгоритмов от элементарных функций, таких как сумма, синус, косинус, комплексная арифметика, до более сложных, таких как обращение матриц, нахождение собственных значений, функции Бесселя, быстрое преобразование Фурье.

Программный интерфейс. Это библиотека, которая позволяет писать программы на Си и Фортране, которые взаимодействуют с MATLAB. Она включает средства для вызова программ из MATLAB (динамическая связь), вызывая MATLAB как вычислительный инструмент и для чтения-записи М-файлов.

Система MATLAB имеет собственный язык программирования, напоминающий Basic. Запись программ в системе является традиционной и поэтому привычной для большинства пользователей персональных компьютеров. К тому же система дает возможность редактировать программы при помощи любого привычного для пользователя текстового редактора. Новые программы, функции и процедуры в системе MATLAB сохраняются в виде файлов, имеющих расширение .m. Это делает набор операторов и функций практически неограниченным.

С системой MATLAB поставляются сотни М-файлов, которые содержат демонстрационные примеры и определения новых операторов и функций. Все файлы подробно прокомментированы.

Работа в среде MATLAB может осуществляться в следующих режимах:

  1. в режиме калькулятора, когда вычисления производится непосредственно после набора очередного оператора или команды MATLAB;

  2. путем вызова программы, составленной и записанной на диске на языке MATLAB. Программы оформляются в виде М-файлов. Упрощенный вид М-файла называется «скрипт»;

  3. путем создания математической модели при использовании приложения – пакета Simulink, который позволяет осуществлять исследование поведения динамических нелинейных систем.

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

    1. Создание упрощенных М-файлов «скриптов»

MATLAB позволяет исследовать системы или звенья, описываемые передаточными функциями. Для образования передаточных функций в системе используется оператор tf. Полиномы числителя и знаменателя передаточной функции задаются в виде векторов-строк, состоящих из коэффициентов в убывающем порядке степени полинома. Если коэффициент при какой-то степени равен нулю, он все равно включается в представление полинома. При исследовании реакции звена или системы на действие единичного ступенчатого воздействия применяется функция step. Для построения семейства кривых необходимо указать все аргументы, после чего вывод графиков осуществляется с помощью функции plot.

Процесс создания скрипта для построения переходной характеристики показан на примере колебательного звена. Коэффициент демпфирования задан тремя значениями: f1 = 1; f2 = 0,5; f3 = 0,7. Коэффициент усиления К равен 1.

% Передаточная функция звена

%

% Задание коэффициента демпфирования

f1=1

f2=0.5

f3=0.7

% Задание передаточных функций

sys1 =tf([1], [1 2*f1 1])

sys2 =tf([1], [1 2*f2 1])

sys3 =tf([1], [1 2*f31])

% Расчет и построение переходных характеристик

t = [0:0.005:15]

[y1, t] = step(sys1, t)

[y2, t] = step(sys2, t)

[y3, t] = step(sys3, t)

plot(t,y1,’-k’,t,y2,’--k’t,y3,’:k’), grid

а) б)

Рис. 1.1 Модель колебательного звена

а) скрипт; б) семейство переходных характеристик

Логарифмические частотные характеристики наиболее просто строятся с помощью функции bode. Если при вызове функции bode не указываются ее аргументы, то графики характеристик строятся автоматически. В противном случае необходимо задавать переменные mag (амплитуда), phase (фаза). Интервал частот  определяется с помощью функции logspace (например, =logspace(-1, 1, 100)). На рис.1.2, б показаны логарифмические частотные характеристики колебательного звена, построенные с помощью скрипта, приведенного на рис.1.2, а. Диапазон частот выбран функцией bode автоматически.

% Скрипт для построения частотных характеристик

% Передаточная функция звена

%

% Заданы полиномы числителя и знаменателя (num,den)

num = [10]; den = [1 0.4 1]

sys= tf(num,den)

% Расчет и построение характеристик

bode(sys),grid

а) б)

Рис. 1.2 Модель колебательного звена

а) скрипт; б) логарифмические частотные характеристики

    1. Создание математических моделей при использовании приложения – пакета Simulink

Simulink, один из toolbox, ориентированный на моделирование динамических систем. Он представляет собой среду, управляемую мышью, которая позволяет моделировать систему при помощи графических отображений функций или объектов – так называемых блоков. Simulink работает с линейными, нелинейными, непрерывными, дискретными, многомерными системами.

Simulink поступает к пользователям с более 100 встроенными блоками, в состав которых входят наиболее необходимые функции моделирования. Блоки сгруппированы в библиотеки в соответствии с их назначением: источники сигнала, приемники, дискретные, непрерывные, нелинейные, математика, функции и таблицы, сигналы и системы. Большинство блоков поддерживает работу с матричными сигналами, в том числе матричные операции на матричных сигналах. В дополнение к обширному набору встроенных блоков Simulink имеет расширяемую библиотеку блоков благодаря функции создания пользовательских блоков и библиотек. Однажды созданные пользовательские блоки могут быть сохранены в библиотеке блоков для использования в будущем. Любые пользовательские блоки или библиотеки блоков могут быть легально распространены в рабочих группах, переданы поставщикам и заказчикам, как с исходным кодом, так и без него.

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

    1. Моделирование в системе Simulink