Программы на языке Matlab в виде М-файлов для исследования одноконтурных систем с типовыми регуляторами. Управление выполнением программ. Преобразование моделей к каноническим формам. Формирование устойчивых контуров корректирующих обратных связей по ЛАХ.
При низкой оригинальности работы "Компьютерное проектирование систем автоматического управления", Вы можете повысить уникальность этой работы до 80-100%
В процессе сеанса работы можно вывести на терминал или внести изменения в список путей доступа, используя следующие функции: Addpath d:\work - добавляет новый каталог d:\work в список путей доступа, который будет первым в списке, и поиск М-файлов будет начинаться с него; Файл-функции имеют первую строку вида: function [имена вых. величин] = имя функции (имена вход. величин). Вместо традиционных систем с непосредственным управлением объектом через регулятор находят применение более сложные и интеллектуальные системы с управлением объектом через модель. Т.е. модель используется не только при проектировании в качестве эквивалента объекта, но и при формировании сигнала управления в микроконтроллере. Параллельно с управлением моделью внутри контроллера, производится управление объектом через устройства интерфейса, с дополнительным контролем соответствия модели - объекту, используя сигналы датчиков на объекте.Существуют два типа М-файлов: М-сценарии и М-функции. Сценарий может иметь заголовок script (не обязательно) и содержит последовательность команд, операторов и функций Matlab. М-функция обязательно имеет заголовок function, после которого указываются выходные переменные и порядок их следования (в квадратных скобках), имя функции, входные аргументы и порядок их следования (в круглых скобках). Например, функция fun3 с тремя входными и двумя выходными переменными может иметь заголовок function [a,c1]=fun3(arg1,arg2,T) Управление последовательностью выполнения инструкций в Matlab осуществляется операторами for, while организации циклов, операторами условия if, else, elseif и операторами переключения switch, case, otherwise.Уменьшение порядка передаточной функции при сокращении нуля с полюсом соответствует отбрасыванию ненаблюдаемой части объекта. Рассмотрим математическую модель объекта управления в виде уравнения состояния Объект называется полностью наблюдаемым, если возможно определение его состояния x(t0) по данным наблюдения y(t) на конечном интервале [t0, tk] при u(t) = 0. Стабилизируемость и детектируемость объекта управления означают принципиальную возможность сделать объект устойчивым с помощью системы управления. Управляемость и наблюдаемость дискретного объекта Управляемость и наблюдаемость дискретного объекта определяется его матрицами Ad, Bd, Cd и рангами матриц управляемости Qy. и наблюдаемости Qн, вычисленных аналогично непрерывному объекту.Поэтому обычно стремятся преобразовать данную модель к некоторым каноническим формам с определенной структурой матрицы А, с которыми проще и удобней работать. Модель с произвольной матрицей А всегда может быть преобразована последовательностью ортогональных преобразований Хаусхольдера к форме Хесенберга, с нулями в матрице А ниже-1-ой диагонали. Каждую каноническую форму можно охарактеризовать: 1. указанием вида матриц Модальная форма легко выявляет ряд свойств модели объекта: неустойчивость - положительным диагональным элементом матрицы А, неуправляемость - нулевой строкой в матрице В, ненаблюдаемость - нулевым столбцом в матрице С. Для объекта в форме ss функция canon возвращает матрицу Т преобразования к соответствующей канонической формеДля удобства зрительного восприятия наклонов ЛАХ обычно масштаб оси коэффициента передачи делают в два раза меньше масштаба оси частот. Вычисление значения коэффициента передачи на произвольной частоте производится последовательным переходом по точкам изломов ЛАХ от точки с известным коэффициентом передачи, например от частоты среза, где коэффициент передачи равен единице. Переход по линии ЛАХ с наклоном n от частоты w1 с коэффициентом передачи к1 к частоте w2 соответствует изменению коэффициента передачи в (w2/w1)^n раз. Пример: Пусть ЛАХ имеет наклоны 0,-1,-3,-4, с изломами на частотах 0.5, 2, 15 и частоту среза wc = 5. Излому вниз на частоте wr соответствует множитель wr / (s wr) излому вверх на той же частоте wr соответствует обратный множительЗадача размещения корней решается в рамках теории модального управления [6]. Таким образом матрица P регулятора (9) представляет собой матрицу коэффициентов безинерционных обратных связей, физическая реализация которых не вызывает сомнения. Если количество обратных связей не меньше числа корней, задача имеет решение, например, при индексе v наблюдаемости объекта управления равном единице. Однако при индексе v наблюдаемости модели объекта больше единицы, когда суммарное количество входов m и выходов r не будет превышать на единицу порядок n модели объекта m r <n 1, обратных связей не хватит для решения задачи модального управления в вышеизложенной постановке. Рассмотрим варианты расположения корней, характеризуемых геометрическим расположением (I и II), интегральным критерием по переходному процессу (III), минимальной длительностью переходного процесса без перерегулирования (IV).Для управления объектами в реальном времени наблюдатель реализует свойство восстанавливаемости для несвободного объекта. Такой наблюдатель позволяет реализовать любой линейный закон управления наблюдае
Введение
Программные средства для расчетов систем управления
Система Matlab
Система Matlab является интерактивной системой для выполнения инженерных и научных расчетов, которая ориентирована на работу с массивами данных. Matlab - это одновременно и операционная среда, и язык программирования. Пользователь может сам написать специализированные функции и программы, которые оформляются в виде М-файлов. Накопление родственных функций приводит к концепции пакетов прикладных программ, каждый из которых решает определенную задачу или проблему.
Операционная среда Matlab
Операционная среда Matlab - это множество интерфейсов, которые поддерживают связь этой системы с внешним миром через командное окно, инструментальную панель, подсистемы просмотра рабочей области и путей доступа, редактор / отладчик М-файлов, специальные меню.
Командное окно позволяет использовать Matlab как мощный научный калькулятор, который отображает символы набранных с клавиатуры команд, результаты их выполнения, текст исполняемой программы, а также информацию об ошибках выполнения программы.
В командной строке после знака приглашения (>>) можно выполнять любые операции с действительными или комплексными числами (простейшие арифметические действия, элементарные и специальные математические функции). Результат вычислений будет представлен в предварительно установленном формате.
Рабочая область Matlab
Рабочая область Matlab - это область ппамяти, в которой размещены переменные. Содержимое этой области можно просмотреть с помощью команд who и whos. Команда save позволяет сохранить содержимое рабочей области в двоичном МАТ-файле, который можно вызвать командой load.
При исполнении программы любое имя Matlab последовательно пытается связать: с именем переменной из рабочей области;
с именем встроенной функции;
с именем М-файла в текущем каталоге;
с именем М-файла во всех каталогах списка путей доступа.
При совпадении имен переменная заслоняет собой функцию и, тем более, М-файл. Большинство команд Matlab представляют собой М-файлы. Модифицированные пользователем команды Matlab, размещенные в текущем каталоге, заслонят штатные команды. Каких либо других механизмов для модификации Matlab не требуется.
Управление путями доступа
Управление путями доступа обычно представляет собой включение рабочего каталога work в список путей доступа Matlab. Для поиска М-файлов Matlab использует механизм путей доступа. В процессе сеанса работы можно вывести на терминал или внести изменения в список путей доступа, используя следующие функции: Addpath d:\work - добавляет новый каталог d:\work в список путей доступа, который будет первым в списке, и поиск М-файлов будет начинаться с него;
Path - выводит на экран список путей доступа.
В среде Matlab имеется раздел для обучения и демонстрации возможностей, обращение к которому производится командой demo. Список каталогов выводит на экран команда help без аргументов. Список команд каталога выводится на экран командой help . Основной и наиболее быстрый способ выяснить синтаксис и особенности применения М-функции - это использовать команду help .
Система Matlab требует для хранения каждой матрицы непрерывной области памяти. При отсутствии непрерывного фрагмента памяти, достаточного для размещения матрицы, возникает ошибка out of memory, связанная с фрагментацией памяти. Для ликвидации фрагментации используют команду pack. Командой clear удаляют все переменные и функции из рабочей области памяти или переменные указанного типа или имени.
М-файлы
М-файлы - текстовые файлы с расширением *.m, содержащие программу, исполняемую в среде Matlab. В языке Matlab имеются программы двух типов: · Script-файлы( файлы-сценарии или управляющие программы)
· Файл-функции (процедуры)
При помощи Script-файлов оформляются основные программы, управляющие от начала до конца организацией всего вычислительного процесса. Script-файл запускается на выполнение указанием его имени (без расширения) в командной строке или программе.
Как файл-функции оформляются отдельные процедуры и функции, т.е. такие части программы, которые рассчитаны на неоднократное использование Script-файлами или другими процедурами при изменяемых значениях входных параметров. Файл-функции не могут быть выполнены без предварительного задания значений переменных, которые называют входными.
Файл-функции имеют первую строку вида: function [имена вых. величин] = имя функции (имена вход. величин).
В файлах-функциях все имена переменных внутри файла и в заголовке воспринимаются как локальные, а переменные Script-файлов образуют так называемое рабочее пространство и сохраняют свой смысл и значения в течение всего сеанса работы с системой.
Некоторые особенности записи текста программы на языке Matlab
· Имена переменных могут содержать лишь буквы латинского алфавита или цифры и должны начинаться с буквы. Общее число символов - не более 19. В именах переменных могут использоваться как прописные, так и строчные буквы с учетом того, что система Matlab их различает.
· Переменные не описываются и не объявляются. Любое новое имя воспринимается системой как имя матрицы, размер которой устанавливается при предварительном вводе значений ее элементов.
· В отдельной строке записывается один или несколько операторов, которые разделяются символами “ ; ” или “ , ”. Пробел не является разделителем операторов. Пробел разделяет элементы массива внутри квадратных скобок. Длинный оператор можно записать в несколько строк, используя знак переноса - три точки (…).
· Если оператор не заканчивается символом “ ; ”, то результат его действия при выполнении программы будет выведен в командное окно.
· Строка программы или ее часть, начинающаяся с символа “ % ” не выполняется, она воспринимается системой как комментарий.
· Строки комментария, предшествующие первому выполняемому оператору, воспринимаются как описание программы и выводятся в командное окно по команде help.
· Операторы начала и окончания текста программы отсутствуют, т.е. начало и конец программы никак не маркируются.
1. модели и концепция управления
В теории и практике управления математические модели всегда играли важную роль, в первую очередь на этапе проектирования регуляторов в качестве эквивалента управляемого объекта. Широкое применение микроконтроллеров в практике управления и их возросшие возможности существенно изменили концепцию построения систем управления. Вместо традиционных систем с непосредственным управлением объектом через регулятор находят применение более сложные и интеллектуальные системы с управлением объектом через модель. Т.е. модель используется не только при проектировании в качестве эквивалента объекта, но и при формировании сигнала управления в микроконтроллере.
Очевидно, что моделью внутри контроллера управлять легче, чем объектом через устройства интерфейса. Возможность сложного управления моделью высока за счет простого доступа к любым внутренним параметрам модели, обычно не доступных для измерений у объекта. В частности, в модель могут быть введены средства для оценивания не измеряемых внешних возмущений объекта с последующей их компенсацией при управлении.
Параллельно с управлением моделью внутри контроллера, производится управление объектом через устройства интерфейса, с дополнительным контролем соответствия модели - объекту, используя сигналы датчиков на объекте. Т.е. сигналам датчиков вместо главенствующей роли в формировании закона управления объектом отводится вспомогательная роль контроля, для приведения модели в соответствие управляемому объекту. Приведения модели в соответствие, как правило, может осуществляться изменением ее состояния, т.е. ее сигналов. А также, при необходимости может достигаться изменением параметров модели, т.е. ее настройкой. Вспомогательная задача контроля и подстройки может решаться более медленно и менее точно, чем главная задача управления. Поэтому вместо решения задачи управления конкретным объектом следует решать задачу управления его моделью, как более продуктивную по возможностям и качеству управления.
Как правило, внутри контроллера используется модель в пространстве состояний, как более удобная для реализации в микроконтроллере и имеющая большие возможности для управления за счет своей внутренней структуры.
Разделение общей задачи управления на две: управления моделью со стороны входа и подстройки модели по выходным сигналам датчиков, обеспечивается за счет собственных регуляторов, рассчитываемых независимо друг от друга. Такое разделение весьма продуктивно, например, для управления по косвенным измерениям переменных электроприводов координатами груза, перемещаемого краном, т.е. не измеряемой непосредственно выходной величиной.
· Первый этап составления математической модели объекта управления состоит в выделении объекта из окружающей среды. Что отнести к объекту, а что к окружающей среде, зависит не только от свойств объекта, но и от целей моделирования. Для более точного и тонкого моделирования модель расширяют за счет окружающей среды, учитывают большое число связей и внешних факторов. Для придания модели математической формы реальные процессы представляются однонаправленными, функциональными преобразователями входных переменных в выходные. Двунаправленные процессы моделируются за счет усложнения структуры.
Модели динамических систем могут быть эмпирическими, связывающие непосредственно выходные и входные переменные, и в пространстве состояний, использующих переменные состояния как промежуточные между входом и выходом. Переменные состояния обычно отражают внутренние процессы, для описания которых применяются законы физики, механики и других естественных наук.
При математическом описании систем методами пространства состояния все переменные, характеризующие систему, можно разделить на три группы: 1) входные ui(t), i=1,…,m управляемые и wi(t), i=1,2,...,l неуправляемые, генерируемые устройствами или системами, внешними по отношению к данной;
2) выходные переменные yj(t), j = 1,…,r, характеризующие реакцию системы и воздействие измерительных шумов vj(t), j = 1,…,r ;
3) переменные состояния математической модели xk(t), k=1,n, характеризующие динамическое поведение системы.
Для удобства оперирования с многомерными величинами эти переменные записываются в виде векторов;
IMG_1b2f2587-71ec-45fe-8721-4853d4062ad9 - вектор шумов измерений, у - значок транспонирования.
Для многосвязного объекта управления могут возникнуть сложности в записи уравнения состояния, даже если есть уравнения его отдельных частей. Для решения задачи целесообразно составить схему аналогового моделирования отдельных частей и всего объекта в целом. В качестве переменных x(t) состояния взять выходные сигналы интеграторов. Тогда правым частям дифференциальных уравнений будут соответствовать сигналы на входах интеграторов, формирование которых легко прослеживается по схеме.
Системы уравнения в общем случае описываются нелинейными дифференциальными уравнениями. Однако решать задачи анализа и синтеза для таких систем довольно сложно, и поэтому стараются записывать уравнения в переменных состояния в линейном или линеаризованном виде:
IMG_50609cb2-57c9-4f3e-a750-12f272fa1d63
где - A - (nґn) матрица состояния, B - (nґm) - матрица входа, C - (nґr) -матрица выхода, G - (nґl) - матрица возмущающих воздействий, D (mxr) - матрица непосредственной связи входов и выходов, обычно нулевая.
Для удобства описания модели вектора u(t) и w(t) могут быть объединены в один, тогда матрица G войдет в матрицу B.
Формы представления математических моделей систем управления
Непрерывные LTI-объекты
В ППП Control System Toolbox для описания моделей динамических систем введен новый класс объектов - LTI-объекты, т.е. линейные, с постоянными параметрами. Control System Toolbox обеспечивает создание структур данных для каждой из моделей, называемых соответственно tf-, zpk- или ss- подклассами класса LTI-объектов. Эти три подкласса могут быть описаны одним типом данных - массивом ячеек, что позволяет манипулировать линейными системами как единым объектом, а не наборами данных в виде векторов или матриц.
Для пользователя zpk-объекты наиболее удобны и наглядны, но ЭВМ ss-объекты считает точнее. Физически нереализуемые модели объектов следует представлять как tf-объекты. Они непредставимы как ss-объекты и ограничены в манипуляциях ( feedback ) как zpk-объекты. В Matlab принята иерархия объектов LTI-класса ss zpk tf.. Операции, в которых в качестве операндов используются объекты двух или более подклассов, будут иметь результатом более высокий подкласс, например ss. Т.е. для получения результата в подклассе tf все операнды следует предварительно перевести в этот подкласс.
Tf-объект
Одномерная передаточная функция sys(s) = num(s)/den(s) задается многочленом числителя num и многочленом знаменателя den. В системе Matlab многочлены представляются как векторы-строки, составленные из коэффициентов многочлена в порядке убывания степеней переменной. Если заданы векторы num и den num = [20 5], den = [1 3 6], соответствующие многочленам числителя (20s 5) и знаменателя (s^2 3s 6), то функция tf sys = tf(num, den) создает LTI-модель одномерной системы в виде передаточной функции sys (s) = n(s)/d(s). Именем sys обозначен объект подкласса tf, содержащим данные о числителе и знаменателе передаточной функции
Zpk-объект
Модели одномерных систем подкласса zpk задаются выражением
IMG_45a26564-f9de-4b7e-b4fe-edbba567823d - полюсы системы; К - обобщенный коэффициент передачи. Для предыдущего примера: z = -0,25, p=[-2,-3], K=20.
Функция zpk, предназначенная для формирования таких моделей, создает объект подкласса zpk и имеет вид sys=zpk(z,р,К), где z и р - векторы из нулей и полюсов, а К - обобщенный коэффициент передачи.
Ss-объект
Для описания динамических систем в пространстве состояний применяются модели подкласса ss, которые основаны на линейных дифференциальных или разностных уравнениях.
Модель непрерывной системы в подклассе ss имеет вид: dx/dt = Ax Bu;
y = Cx Du, где: х - вектор состояния; u- вектор входа; у - вектор выхода.
Для формирования моделей в подклассе ss предназначена функция ss sys = ss(A, В, С, D).
В результате под именем sys получаем ss-объект с числовыми характеристиками в виде четверки матриц {А, В, С, D}, которые должны иметь согласованные размеры. Для предыдущего примера матрицы имеют вид
А=[-3,-6;1,0], В=[1;0], С=[20,5], D=[0].
Дискретные LTI-объекты.
Дискретные LTI-объекты могут создаваться непосредственно командами tf,zpk,ss с указанием дополнительного аргумента Ts - периода дискретизации. При этом обязателен пересчет остальных аргументов в дискретный вариант. Чтобы избежать ошибок, дискретные LTI-объекты обычно создают на базе аналогичного непрерывного объекта.Для перехода от непрерывной модели Sn к дискретной Sd необходимо выбрать один из методов экстрополяции: ‘zoh’ - фиксатор нулевого порядка, ’foh’ - фиксатор первого порядка, ’tustin’ - билинейная аппроксимация Тастина, ’prewarp’ - аппроксимация Тастина с коррекцией, ’matched’ - метод соответствия нулей и полюсов.
Переход, от непрерывной модели Sn к дискретной Sd и обратно с периодом дискретизации Ts и указанием одного из методов экстрополяции производится операторами c2d и d2c: Sd = c2d(Sn, Ts, ‘метод’)
Sn = d2c(Sd, Ts, ‘метод’)
Если метод не указывать, по умолчанию используется метод экстрополяции zoh - фиксатор нулевого порядка.
Команда sysd=c2d(zpk(sys),0.1,"tustin") создаст дискретный объект sysd
Zero/pole/gain from input "tok" to output: 0.8691 (z-0.9753) (z 1)
-----------------------
(z^2 - 1.691z 0.7425)
Sampling time: 0.1.
Если изменить метод экстрополяции на самый простой sysd2=c2d(zpk(sys),0.1,"zoh") получим дискретный объект sysd2
Zero/pole/gain: 1.7784 (z-0.9275)
-----------------------
(z^2 - 1.689z 0.7408)
Sampling time: 0.1
Извлечение числовых параметров LTI моделей
Описанные выше функции tf, zpk и ss формируют информацию об используемой модели и периоде дискретности в единый LTI-объект. Извлечь эти данные из описания существующего Iti-объекта позволяют следующие команды: [num, den, Ts] = tfdata(sys,’v’)
[z, p, k, Ts] = zpkdata(sys,’v’)
[a, b, c, d, Ts] = ssdata(sys)
Для непрерывных объектов указывать Ts не требуется.
LTI-объекты включают данные о модели, периоде дискретности, а также могут содержать дополнительную информацию, такую как имена входов и выходов, примечания об истории модели. Различают родовые свойства, которые являются общими для всех трех подклассов объектов (INPUTNAME - имена входов, Notes, OUTPUTNAME - имена выходов, Ts - период дискретизации, Td - чистое запаздывание, USERDATA) и специфические свойства, которые относятся только к одному подклассу моделей.
Замечание: Свойство Td - чистое запаздывание в Matlab 5 и 6 декоративно. При соединении объектов оно отбрасывается даже без предупреждения, хотя должно сохраняться. В Matlab 7 свойство Td - чистое запаздывание работает в замкнутом контуре только для ss-объекта с запаздыванием по выходу. В ос тальных случаях остается использовать pade-аппроксимацию запаздывания линейной моделью.
Каждое свойство задается парой аргументов: свойство (Property Name), значение (Property Value). Значения свойств системы можно определить с помощью команды get. get(sys)
Существует три способа установки значений свойств объекта: при создании LTI-объектов с помощью команд tf, zpk, ss;
· изменение значений свойств существующей LTI-модели командой set;
· set(sys,’ Property Name’,’ Property Value’);
· присваивание значений элементам структуры
· sys.INPUTNAME = ‘tok’
· Анализ линейных моделей автоматических систем
Динамические объекты и их свойства обычно характеризуют различными частотными, переходными характеристиками, значениями нулей и полюсов передаточной функции. В ППП Control System Toolbox вычисление различных частотных характеристик производится функциями: bode, nyquist, margin, norm, nichols, evalfr, freqrest, sigma.
Частотные характеристики обычно расчитываются для разомкнутых контуров управления и для их отдельных элементов. Наиболее важные из них: bode - логарифмические амплитудо- и фазочастотные (ЛАХ);
margin - определение запасов устойчивости по фазе и модулю;
[M,wm]=norm(sys,inf) - вычисляет max модуля частотной характеристики (показатель колебательности M) и соответствующую частоту wm. nichols - годограф Никольса, связывающий частотные свойства разомкнутой и замкнутой системы по диаграме замыкания Никольса ngrid. evalfr - вычисляет частотные характеристики на заданной частоте. freqrest - вычисляет частотные характеристики на заданном диапазоне частот. sigma - расчитывает и строит частотные характеристики сингулярных чисел передаточной функции.
Широко представлены в ППП Control System Toolbox функции для вычисления нулей и полюсов: pole, eig, damp, tzero, dcgain, pzmap, esort, dsort.
Функции можно разделить на вычисляющие: pole, eig - полюса , tzero - нули, dcgain - коэффициент передачи, damp - собственные частоты и коэффициенты демпфирования, сортирующие нули и полюса: esort - непрерывных объектов по убыванию их действительных частей, dsort - дискретных объектов по убыванию их модулей, и pzmap - отображающие нули и полюса с нанесением сетки линий коэффициента демпфирования и частоты: sgrid - на плоскости s для непрерывных объектов, zgrid - на плоскости z для дискретных объектов.
Исследование переходных процессов в ППП Control System Toolbox производится функциями: step, impulse, initial, lsim, covar, gensig. Функции вычисляют реакцию объекта: step - на ступенчатое воздействие, impulse - на импульсный (в виде дельта-функции) входной сигнал, initial - на ненулевые начальные условия, lsim, - на произвольный входной сигнал, для формирования которого может быть использована функция gensig генератора входного сигнала, covar - на “белый” шум вычисляет ковариационную матрицу выходов.
Пример. Для непрерывного sys и дискретных sysd, sysd2 объектов построим переходные и частотнае характеристики командами step(sys,sysd,sysd2) и bode(sys,sysd,sysd2)
IMG_2ec3e9fe-d7b4-490c-8ed9-4b2eed33b0fd
IMG_8cbf1774-09ec-4f0e-a3d6-696302413141
IMG_6c582784-ca44-4ee5-ab5c-bcff7cee15c4
IMG_212969ab-ecbf-4b94-9321-053b1e58112f
IMG_e18edd75-a410-4608-8612-a02c7b74eadf
IMG_b7f70fa3-febe-4d6e-8b16-6a3f074330ea
Как видно из графиков ЛАХ дискретного объекта обрезается согласно теореме Котельникова на частоте pi/Ts. На частоте в три раза меньше различие ЛАХ непрерывного и дискретного объектов уже незначительно. При неудачном выборе метода преобразования в дискретный объект фазовые характеристики могут существенно различаться от непрерывного объекта и привести к неустойчивости замкнутой системы.
Соединение моделей
Объединенная модель может быть составлена из отдельных частей средствами Matlab. Этой цели непосредственно служат функции append, connect, feedback, parallel, series, а также символы арифметических операций (*, /, , -) и символы объединения матриц в строку ([ , ]) или в столбец ([ ; ]).
При представлении и соединении объектов в Matlab используются правила вычисления матричного выражения, например матричное выражение вычисления y от u y = A*B*u полностью соответствует преобразованию сигнала u(t) в сигнал y(t) последовательным прохождением сигнала u(t) через объект B(s) затем через объект A(s) т.е. y(t) = A(s)*(B(s)*u(t)).
Отсюда правила: 1. Индексация объектов. Первый индекс (номер строки матрицы) - номер выхода объекта, второй индекс (номер столбца матрицы) - номер входа объекта.
2. Перемножение объектов производится против направления прохождения сигналов. Для перемножения матриц A*B необходимо совпадение числа столбцов A (числа входов объекта A(s)) с числом строк B (числом выходов объекта B(s)). Т.е. сигнал проходит через объект B(s), затем A(s).
3. Объединение выходов объектов (суммирование выходных сигналов) сответствует записи матриц в строку внутри квадратных скобок [A, B]. Входы объедененного объекта пронумеруются последовательно, вначале A, затем B.
4. Объединение входов объектов (разветвление входных сигналов) сответствует записи матриц в столбец внутри квадратных скобок [A; B]. Выходы объедененного объекта пронумеруются последовательно, вначале A, затем B.
. Т.е. результат объединения с помощью символов арифметических операций соответствует операциям с матричными передаточными функциями, независимо от формы представления объектов. Объединяя объекты sys1 и sys2 как матрицы в строку [sys1, sys2], мы соединяем их выходы, не соединяя входов. Объединяя объекты sys1 и sys2 как матрицы в столбец [sys1; sys2], мы соединяем их входы, не соединяя выходов.
Два объекта sys1 и sys2 можно соеденить последовательно командой series в объект sys3 sys3=series(sys1,sys2) или sys3=series(sys1,sys2,outs1,ins2) с указанием соединяемых номеров выходов sys1 и входов sys2. Объект sys3 имеет только все входы sys1 и выходы sys2, не сохраняет незадейсвованые промежуточные выходы outs1 и входы ins2.
Те же можно соеденить в замкнутый контур sys4 командой feedback sys4= feedback (sys1,sys2) где sys1находится в прямой цепи, а sys2 - в цепи обратной связи. По умолчанию, знак обратной связи отрицательный. При охвате обратной связью многомерного объекта sys1 можно указать его входы ins1 и выходы outs1 ,задействованые в соединении sys4= feedback (sys1,sys2,ins1,outs1).
Пара функций append и connect позволяют соединить объекты по любой структурной схеме.
Пусть структурная схема представляет собой три одномерных (с одним входом и одним выходом) объекта s1, s2, s3, соединенные в кольцо с отрицательной обратной связью. Извне сигналы поступают на входы объектов s1, s2, вовне сигналы уходят с выходов объектов s2, s3.
Функция append объединяет объекты s1, s2, s3 под общим именем so so= append(s1, s2, s3) и составляет общий список входов и общий список выходов, не соединяя их.
Схема соединений входов и выходов объекта so задается q - матрицей соединений. Первый элемент каждой строки - номер входа объекта so из общего списка. Остальные элементы этой строки - номера входов объекта so из общего списка, соединяемые с данным входом. Знак минус перед номером выхода указывает на знак соединения. Для вышеизложенного примера матрица соединений имеет вид q =[1 -3;2 1;3 2]
Функция connect соединяет входы и выходы объекта so по схеме, заданной q, указывает номера входов in и выходов out in = [1 2], out=[2 3] nicaaaaaiiai iauaeoa sos sos= connect (so, q, in, out)
Функция parallel объеденяет входы и выходы объектов sys1 и sys2 sys3=parallel(sys1,sys2).
Для многомерных объектов sys1,sys2 можно соеденить только часть входов ins1, ins2 и выходов outs1, outs2 объектов sys3=parallel(sys1,sys2, ins1, ins2 outs1,outs2).
Пример составления математических моделей.
Составить модель электродвигателя по управляющему и возмущающему воздействию с контролем тока и скорости вращения. Записать уравнения состояния и передаточные функции для двигателя постоянного тока, учитывающие: напряжения U якоря, ток I якоря, частоту j вращения вала и момент МН нагрузки на валу. Управляющей величиной является напряжение U. Измеряются частота вращения с помощью тахогенератора и ток I якоря в виде падения напряжения UШ на шунте. Коэффициент передачи КТГ тахогенератора и сопротивление RШ шунта заданы так же, как и сопротивление R и индуктивность L якоря цепи, суммарный момент инерции J двигателя и нагрузки, момент инерции j двигателя, коэффициенты
Составим схему замещения электрических процессов для записи закона Ома. По закону Ома для якорной цепи можно записать уравнение
IMG_cc8d30ae-a6ed-48b8-a772-faf8a000fe58
IMG_173f7bcb-f21f-49e9-b221-a7a01bf7347e
Составим схему замещения механических процессов для записи закона Ньютона. По закону Ньютона для вращательного движения уравнение будет иметь вид
IMG_b7be346c-00e8-4682-8e9d-e7db08e7de44 .
Изобразим оба уравнения в виде схемы моделирования.
IMG_7defe52d-9486-4038-a34f-4c604b01b1bb
Рис.1
Составим модель в пространстве состояний. Для записи уравнения состояния обозначим
IMG_6a9bc92f-2833-4bb7-97b1-c1b8cc93653b
IMG_08829bd1-6ad2-44fa-8979-8db2779feaf3
Тогда уравнения состояния будут иметь вид
IMG_364ba75d-c8d9-44b7-baae-2627dbb2b1ae
Следовательно, матрицы A, B, C, D, G можно записать как
IMG_6d996a4e-ab50-4800-bcac-413c6a3878aa ,
IMG_45b33dd9-375c-4b07-8dc6-c45ca68309a3 ,
IMG_70505a3f-868b-49ab-aa4e-128492d94752 ,
IMG_4ac7f3f4-162a-4298-acd1-8f75219cffba .
Запишем передаточные функции по структурной схеме
Двум видам воздействия и двум выходам соответствуют четыре передаточные функции. Для записи передаточной функции многоконтурной структуры рекомендуют пользоваться формулой Мезона. Формула Мезона позволяет решить задачу в общем случае, но пользоваться ей сложно и не очень удобно.
Пусть, как в данном примере, структурную схему удалось преобразовать к виду без перекрещивающихся контуров. Т.е. структурная схема представляет собой несколько вложенных друг в друга контуров.
Обычную формулу соединения Wc(s) с обратной связью для охваченной части контура Wox (s) и обратной связи Woc(s) представляем в удобном для записи виде
Wc(s) = 1/((1/Wox(s)*1/Woc(s) 1)*Woc(s)).
Запись передаточной функции начинаем с внутреннего вложенного контура. В соответствии с формулой, в числитель передаточной функции записываем единицу. Алгоритм записи знаменателя следующий: 1. Открываем скобку и записываем обратные передаточные функции всех элементов первого контура.
2. добавляем 1 (- 1 для положительной ОС) для замыкания первого контура и закрываем скобку.
3. Домножаем на Woc1(s), чтобы по структурной схеме выйти на выход первого конура. Первый контур полностью учтен передаточной функцией.
4. Повторяем вышеизложенную процедуру для следующего контура. Знаменатель домножаем на обратные передаточные функции всех элементов второго контура
5. добавляем 1 (- 1 для положительной ОС) для замыкания второго контура и закрываем скобку.
6. Домножаем на Woc2(s), чтобы по структурной схеме выйти на выход второго конура. Второй контур полностью учтен передаточной функцией.
Продолжением вышеописанной процедуры можно учесть третий и четвертый контура, если таковые имеются.
· Для двухконтурной структурной схемы, изображенной на рис.1, вышеизложенный алгоритм позволяет сразу записать передаточную функцию без каких либо алгебраических операций сокращения и приведения подобных. К датчику скорости от управляющего напряжения передаточная функция Wcu(s) имеет вид
·
· Wcu(s) = 1/(L/R*s 1)*R/Cm*J/Ce*s 1)*Ce/Ktg
·
· Записав передаточную функция для одной пары вход-выход, легко записать передаточную функцию для остальных пар, заменив в числителе обратную величину обратной связи на соответствующую новой паре вход-выход. Знаменатель передаточной функции, отражающий структуру замкнутых контуров, остается неизменным. К датчику тока от возмушающего момента нагрузки передаточная функция Wtm(s) имеет вид
Wtm(s) = 1/(L/R*s 1)*R/Cm*J/Ce*s 1)*Cm/Rsh
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы