2158
.pdfВкачестве примера примем k=1 Н/м, m=1 кг и запишем матрицы
всвойства блока State-Space (рис. 42).
Вкачестве входного сигнала используем единичное ступенчатое
воздействие 1(t). Так как блок State-Space принимает на вход вектор и выдает также вектор, то для подключения в модели необходимо ис- Спользовать элементы Mux и Demux для входа и выхода соответствен-
но (рис. 43) [1].
иР с. 43. Структурная схема колебательной системы
Из р бАс. 44 в дно, что после подачи единичного импульса на вход в с стеме нач наются незатухающие колебания. Это согласуется с физическ м смыслом подвижного груза на пружине без учета сил трения и рассеивания энергии. Можно сделать вывод, что система неустойчива [1].
Д И
Рис. 44. Сигналы на входе (u) и выходе (y) колебательной системы
41
Для синтеза оптимального параметра регуляторов линейных стационарных систем в Control System Toolbox имеются функции решений уравнений Беллмана (табл. 2).
|
|
|
Таблица 2 |
|
|
Функции ControlSystemToolbox |
|
|
|
|
|
|
нтакс с |
|
Описание |
|
[K P e] = lqr(A, B, Q, S) |
Синтез непрерывного регулятора |
|
|
[K P e] = lqr(A, B, Q, S, N) |
Синтез непрерывного регулятора |
|
|
[K P e] = dlqr(A, B, Q, R) |
Синтез дискретного регулятора |
|
|
[K P e] = dlqr(A, B, Q, R, N) |
Синтез дискретного регулятора |
|
С |
|
|
|
|
[K P e] = lqrd(A, B, Q, R, Ts) |
Синтез дискретного регулятора |
|
|
[K P e] = lqrd(A, B, Q, R, N, Ts) |
Синтез дискретного регулятора |
иФункц я lqr выч сляет матрицу коэффициентов регулирования K со среднеквадрат чным функционалом качества без терминального члена. Функц я dlqr вычисляет матрицу коэффициентов регулирования по всем переменным состояния K для дискретной системы со среднеквадратичным функционалом качества без терминального члена. Функция lqrd предназначена для синтеза оптимального дискретного регулятора непрерывной системы со среднеквадратичным функ-
ционалом качества [1, 2]. |
Д |
|
|||||
Осуществим автоматизированный синтез регулятора с помощью |
|||||||
функции lqrбАв пакете Control System Toolbox. |
|
||||||
Во-первых, для управления системой необходимо, чтобы все со- |
|||||||
стояния были наблюдаемы. Для этого выведем вторым выходом пе- |
|||||||
ременную состояния z, и тогда новая матрица C запишется в виде |
|||||||
единичной диагональной матрицы [1, 2] |
|
||||||
|
C |
|
1 |
0 |
|
. |
|
|
|
|
|
||||
|
|
0 |
1 |
|
(29) |
||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Функция lqr синтезирует с использованиемИчисленной оптими- |
|||||||
зации стабилизирующий регулятор таким образом, чтобы минимизи- |
|||||||
ровать квадратичную целевую функцию [1, 2] |
|
||||||
|
|
|
|
|
|
|
|
J xT (t)Qx(t) uT (t)Ru(t)dt min. |
(30) |
||||||
0 |
|
|
|
|
|
|
42
Матрицы Q и R предназначены для выбора весов (важности) минимизации одного критерия перед другим. Для примера можно выбрать единичные диагональные матрицы Q = R = C = 1.
ледующий код на языке MATLAB запускает функцию lqr:
ввод модели системы в виде пространства состояний
n = 2;%число состояний
A = [0 1; -1 0];
|
B = [0 0; 1 0]; |
|
||
|
C = [1 0; 0 1]; |
|
||
|
D = [0 0; 0 0]; |
|
||
Сс нтез регулятора |
|
|||
|
Q = diag(ones(1,n)); |
%веса выходов |
||
|
R = diag(ones(1,n)); |
%веса входов |
||
|
|
бА |
||
|
K = lqr(A,B,Q,R) %синтез регулятора |
|||
|
и |
|||
|
После выполнен я последней строчки кода получаем в консоли |
|||
|
MATLAB: |
|
|
|
|
K = |
|
|
|
|
0.4142 |
1.3522 |
|
|
|
|
0 |
0 |
|
Промоделируем систему с отрицательной обратной связью. Для
этого добавим в систему блок Gain со свойствами: Д И
Рис. 45. Свойства блока Gain
43
Си бА Д Рис. 47. Сигнал на выходе колебательнойИсистемы
Р с. 46. Структурная схема колебательной системы с регулятором
с регулятором
Рис. 48. Структурная схема колебательной системы с регулятором и усилителем
44
Из рис. 47 видно, что установившееся значение выходного сигнала системы не равно входному. Эта ошибка означает, что коэффициент усиления системы с отрицательной обратной связью отличается от 1. Включив в систему усилитель с коэффициентом 1,412, полу-
чаем в результате систему с единичным коэффициентом усиления [1]: Си бА
Рис. 49. Сигнал на выходе колебательнойДсистемы сИрегулятором и усилителем при подаче на вход единичного ступенчатого воздействия
Для рассматриваемой механической колебательной системы построим модель в SimMechanics.
Построение модели
Построение модели начинаем с размещения в модели блоков
Ground и Machine Environment из библиотеки Simscape / SimMechanics / Bodies. В параметрах Ground устанавливаем Show Machine Environmentport и подключаем к появившемуся порту модуль Machine Environment. Блок Ground моделирует неподвижную систему отсчета [1, 2].
45
Введем в рассмотрение платформу, к которой прикладывается сила и на которой размещен подвижный груз. Для этого добавим в модель компонент Body из библиотеки Simscape / SimMechanics / Bodies. Установим массу (Mass) платформы 100 кг.
Между неподвижной системой отсчета и платформой возможно |
|
С |
|
поступательное движение. Для моделирования этого движения доба- |
|
вим в модель блок Prismatic из библиотеки Simscape / SimMechanics / |
|
Joints [1, 2]. |
|
и |
|
обеспеч |
|
|
Р с. 50. Структурная схема поступательного |
|
движения платформы |
Чтобы |
ть движение по оси OX необходимо в парамет- |
рах Axis of Action [x; y; z] компонента Prismatic задать вектор [1; 0; 0], |
|
|
А |
что разрешает движение по OX (по умолчанию [0; 0; 1]).
Необходимое число дополнительных портов можно задать в свойствах блока в поле Number of sensor / actuator ports. Эти порты являются двунаправленными и позволяют выводить состояние соединения – силу, действующую поДоси соединения, или перемещение, скорость, ускорение одного тела относительно другого – и изменять состояние соединения с помощью приложения силы или задания движения (необходимо задать перемещение, скоростьи ускорение)[1, 2].
Для приведения в поступательное движение платформы с помощью блока Prismatic поместим в модель компонентИJoint Actuator из библиотеки Simscape / SimMechanics /Sensors & Actuators. Этот ком-
понент преобразует информационные сигналы Simulink в механический сигнал SimMechanics. Возможно два варианта управления актуатором: с помощью обобщенной силы и векторного сигнала с компонентами: перемещение, скорость и ускорение. Выберем второй вариант управления, задав при этом в свойствах объекта Joint Actuator параметр Actuate with: Motion. Теперь для приведения в движение тел через компонент Joint Actuator необходимо на его вход подать вектор из ускорения, скорости и перемещения, создав его с помощью блока Mux и последовательного интегрирования сигнала ускорения.
46
Источником сигнала ускорения является блок Signal Builder. Для того чтобы переместить платформу на некоторое расстояние, необходимо приложить к ней положительное ускорение (разгон), а потом отрицательное (торможение) [1, 2]:
СиР бАс. 51. Структурная схема поступательного движения платформы с заданным ускорением
Д
Рис. 52. Задатчик ускорения перемещенияИплатформы
Теперь рассмотрим моделирование подвижного груза на пружине. Поместим в модель блоки Prismatic и Body – для представления подвижного груза и пружины, которая обеспечивает еще одну поступательную степень свободы. В соответствии с законом Гука, сила противодействия пружины пропорциональна расстоянию между ее концами. Для моделирования пружины может быть использован блок
47
Prismatic вместе с блоком Joint Spring & Damper из библиотеки Simscape / SimMechanics / ForceElements. Поскольку каждый инфор-
мационный выход Prismatic также является и входом, то с помощью одного соединения между Prismatic и Joint Spring & Damper можно промоделировать пружину: на вход Joint Spring & Damper поступает перемещение, с выхода – сила противодействия на Prismatic. Для задания жесткости пружины установим Spring Constant k в 1 в парамет-
рах блока Joint Spring & Damper [1, 2].
ледует замет ть важное правило при построении модели: нель- |
|
зя подключать одно тело к другому телу (осуществлять прямую связ- |
|
ку между двумя блоками Body); связь между двумя телами может |
|
С |
|
быть выполнена только через блоки соединений из библиотеки |
|
Simscape / SimMechanics / Joints. Аналогично нельзя подключать ме- |
|
жду собой два соед |
(связывать два блока типа Joint). |
Положен е конца пружины и скорость его перемещения могут |
|
быть получены з |
лока Prismatic с помощью подключения его до- |
нения |
|
бА |
полнительного выхода к локу Joint Sensor из библиотеки Simscape / SimMechanics / Sensors & Actuators. Добавив блок Joint Sensor в мо-
дель, выберем в свойствах Position и Velocity. В результате на его выходе будет вектор из двух компонентов с текущим положением и скоростью тела на конце пружины. Это сигнал Simulink, и он может быть подключен к осциллографу Scope [1, 2].
В результате получаем окончательнуюДмодель системы.
вобозначениях SimMechanicsИ
Врезультате моделирования (рис. 54) получаем следующие переходные процессы, которые согласуются с физическим смыслом данной системы – тело на пружине без учета трения переходит в гармонические колебания при возмущении [1, 2].
48
С
Р с. 54. Граф ки изменения положения (s) и скорости (v) |
|
перемещения колеблющегося тела |
|
Можно получ ть анимацию этой модели. Рассмотрим, как сде- |
|
лать это самыми тривиальным |
. Для этого необходимо в ме- |
способом
ню Simulink вызватьАокно настройки параметров модели пункт
Simulation / Configuration Parameters..., далее в левой части окна в дереве выбрать Simscape \ SimMechanics и установить Visualization \ Show animation during simulation.ДПосле проделанных действий при запуске моделирования автоматически откроется окно Machine for model с анимацией положения всех тел модели. Чтобы представить подвижные тела модели в виде сфер (эллипсоидов – в зависимости от их тензора инерции), необходимо выбрать в меню окна анимации пункт Model / Body Geometries / Ellipsoids. ля замедления анимации можно вызвать окно параметров через меню Simulation / ControlAnimationSpeed и установить там задержку Delayperframe (ms).
Обратите внимание, что картинку анимации можно приближать или отдалять мышкой при выборе пункта меню View / Zoom или можно
воспользоваться View / Fittoview [1]. |
И |
|
Порядок моделирования
1.Ознакомиться с понятием «Колебательная система».
2.Собрать математическую модель колебательной системы (рис. 53) при помощи пакета Simulink, получить графики выходных
49
значений при подаче на вход ступенчатых воздействий разных амплитуд.
3. |
интезировать регулятор и собрать математическую модель |
колебательной системы, получить графики выходных значений при |
|
подаче на вход ступенчатых воздействий разных амплитуд. Получить |
|
С |
|
графики выходных значений без ошибки регулирования, если она бу- |
|
дет. |
|
4. |
обрать математическую модель колебательной системы при |
помощи пакета SimMechanics, получить графики изменения положе- |
||
ния |
|
|
и скорости перемещения колеблющегося тела при различных па- |
||
раметрах модели. |
|
|
|
Содержание отчета |
|
1. |
колебательной |
|
Назван е ла ораторной работы и ее цель. |
||
2. |
Определен е коле ательных систем и их классификации. |
|
3. |
Схема механ ческой |
системы. |
4. |
Зав с мости, описывающие поведение колебательной сис- |
|
темы. |
А |
|
|
|
|
5. |
Структурная схема модели механической колебательной сис- |
|
темы в виде вход – состояние – выход. |
|
6.Структурная схема коле ательной системы.
7.Сигналы на входе (u) и выходе (y) колебательной системы.
8.Анимация модели.
КонтрольныеДвопросы и задания
1.Что такое колебательная система?
2.Как классифицируются колебательные системы с точки зрения энергетических потерь?
3.Изобразите уравнение динамики колебательной системы в матричном виде.
4.Каково назначение функций lqr и lqrd?И
50