Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2158

.pdf
Скачиваний:
11
Добавлен:
07.01.2021
Размер:
3.53 Mб
Скачать

 

 

Содержание отчета

1.

Название лабораторной работы и ее цель.

2.

Назначение пакета Stateflow.

3.

Блок-схема алгоритма Евклида.

4.Stateflow–модель алгоритма Евклида.

5.

Окно настроек Stateflow–модели.

6.

труктурная схема модели алгоритма Евклида.

 

 

Контрольные вопросы и задания

назначение

С1. Каково

пакета Stateflow?

2.

Глоссар й пакета Stateflow.

3.

Алгор тм Евкл да.

4.

бА

Stateflow–модель алгоритма Евклида.

Ла ораторная работа №3

Моделирование механических систем при помощи пакета Stateflow

Рассмотрим поведение руска, скользящего под влиянием некоторой силы по твердой поверхности и сжимающего пружину. В отсутствии трения эта механическаяДсистема ведет себя подобно классической одномассовой системе, положение бруска в установившемся состоянии при этом пропорционально прикладываемой силе. Когда трением пренебречь нельзя, модель становится значительно более сложной. Трение между бруском и поверхностью препятствует движению; кроме того, сила трения зависит от скоростиИи максимальна в стационарном режиме. В результате брусок приходит в движение, поочередно "покоясь" и "скользя", как того требует баланс сил. Это явление имеет место во многих механических системах. В данной модели Stateflow можно использовать для описания некоторых из физических состояний системы. Сила трения между двумя поверхностями пропорциональна их мгновенной относительной скорости. Скорость и положение подвержены изменениям в моменты, соответствующие переходам между дискретными состояниями "покой" и "скольжение". Simulink представляет инструмент для моделирования непрерывной динамики, а Stateflow – среда моделирования дискретных физических состояний. Механическая система представлена на рис. 7 [1, 3].

11

 

 

 

 

x

 

 

 

Fвн

 

m

k

 

 

 

 

 

 

 

. 7. Механическая система

 

 

СЗап шем уравнен е движения бруска [1]

 

(5)

 

 

 

FУПР FТР,

 

 

mx FВН

 

где m – масса

 

 

 

 

 

 

; x – ускорение; FВН – внешние силы, действую-

Рис

 

 

 

FТР

сила трения

щие на брусок;

FУПР – сила упругости пружины;

бруска об опорную поверхность.

 

 

 

 

Для линейной пружины (или в случае небольшой массы) будет

справедливо отношение

 

 

 

 

 

бруска

 

 

 

 

 

FУПР kx,

 

 

(6)

где k – коэффициент упругости пружины; x – удлинение пружины,

 

А

 

равное перемещению бруска.

 

 

 

 

 

Сила трения описывается зависимостью [1]

 

 

 

 

 

 

FМ μFН

;

 

 

sgn(xFН ,при

(7)

 

FТР

 

 

 

 

 

 

FД,при x 0,

 

 

М

 

 

 

где μ – коэффициент трения; FН – нормальная сила; FМ – мгновенная

сила.

 

 

 

 

 

 

Во многих прикладных программах коэффициент трения описан

его статическим и кинетическим коэффициентамиИ. Этот подход ис-

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

ная сила постоянна.

 

 

 

 

 

 

μ

 

F

F

 

 

 

при x 0;

(8)

μFН

 

М

Н

М

 

μК FН

FСК

при x 0,

 

12

где μК – коэффициент кинетического трения; μМ – коэффициент мгновенного трения; FСК – сила скольжения.

Когда скорость не равна 0, мгновенная сила является необходимой, чтобы сделать скорость нулевой. Когда скорость равна нулю, мгновенная сила поддерживает это условие, обеспечивая нулевое ускорение.

ила трения может быть записана как [1, 3]

 

 

 

 

 

 

sgn(x)FСК

при x 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поведение

при x 0,

FСУМ

FМ ;

(9)

FТР

FСУМ

 

 

 

 

 

 

 

,

Сsgn(FСУМ )FСК при x 0,

FСУМ

FМ

 

где F УМ – суммарная с ла, действующая на брусок.

 

бА

 

На р с. 8 представлена

лок-схема математической модели, де-

монстр рующей

руска [1].

 

 

 

 

 

 

 

 

Д

 

 

 

 

 

И

Рис. 8. Блок-схема математической модели

 

механической системы

Внешняя сила входа линейно сжимает пружину, но трение сопротивляется этому движению. Величина трения зависит от состояния движения.

Блок Mechanical Motion (Механическое Движение) составлен из иерархических Simulink-подсистем, а блок State logic (логика состояний) – в Stateflow. Stateflow способен распознавать в системе события, которые требуют изменений в режиме работы этой системы [1].

Блок Mechanical Motion осуществляет моделирование движения в соответствии с уравнением (5). Содержание подсистемы этого блока

13

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

ускорение дважды интегрируется. Для нахождения скорости необхо-

димо в настройках первого интегратора выбрать пункт «Show state

port» и установить параметр «External reset: rising» [1].

С

 

трения

Р с. 9. Блок-схема Mechanical Motion

бА

Подс стема с лы

, представленная на рис. 10, выполняет

ряд нел нейных операц й над сигналами, моделируя уравнение (9).

 

Д

 

И

 

Рис. 10. Блок-схема Friction

Стандартные Simulink-блоки реализуют функции взятия модуля (Abs), вычисления знака, минимума (MinMax) и произведения. Блок переключателя выбирает требуемое значение силы трения в зависимости от сигнала "upr". Сигнал "upr" – выходной сигнал Stateflowблока State logic. Этот же сигнал используется в блоке Mechanical Motion для сброса первого интегратора. Это гарантирует нулевое значение скорости для состояния покоя.

Stateflow-диаграмма на рис. 11 описывает поведение системы.

14

СРис

бА. 11. Stateflow-диаграмма

Входные с гналы – Fsum и novelocity. Fsum – суммарная сила, действующая на русок, а novelocity – двоичный сигнал, который принимает значен е "1" в момент перехода скорости через нуль. Выход Stateflow-диаграммы – сигнал управления «upr». Параметры Fm и Fsk поступают из ра очего пространства Matlab.

Два взаимно исключающих друг друга (или) состояния используются, чтобы представить состояния покоя и скольжения. Предполагается, что система первоначальноДпребывает в покое. Поэтому вначале активизируется состояние покоя через заданный по умолчанию переход. Переход из состояния покоя в состояние скольжения (верхняя дуга слева направо) происходит, когда внешние силы превышают статическое трение (условие [fabs(Fsum) >Fm]). Состояние скольжения остается активным, пока блок перемещаетсяИ, т. е. его скорость отлична от нуля. Когда скорость достигает нуля, направление перемещения изменяется на противоположное, если внешняя сила по абсолютной величине превысит силу статического трения. Следовательно, переход из состояния скольжения в состояние покоя произойдет, когда выполнено логическое условие [novelocity & (fabs(Fsum)<= Fm)], т. е. скорость нулевая и внешняя сила меньше, чем сила статического трения. Выходной сигнал «upr» является двоичным представлением состояния. При входе в состояние покоя этот сигнал устанавливается равным единице, а при входе в состояние скольжения – равным нулю. Это позволяет использовать сигнал «upr»как сигнал управления другими Simulink-блоками. Таким образом, Stateflow-

15

диаграмма должна моделировать переход системы из одного состояния в другое [1].

Заданные по умолчанию параметры, используемые в этой модели: m=0,001 кг; k=1 Н/м; Fm=1 H; Fск=1 Н. Внешняя сила меняется линейно от нуля до 5 Н и обратно до нуля с периодом 5 с.

На рис.12 представлены результаты моделирования с установленными по умолчанию параметрами [1].

Здесь про сход т изменение во времени внешней силы Fвн и положен я бруска s. Входная сила должна превысить силу статического трения, чтобы брусок начал движение. Это происходит в момент вре-

мени t=1

. В нтервале 1<t<5 положение бруска меняется таким об-

С

разом, что

ла пруж ны меньше внешней силы на кинетическую си-

дитсялу трен я. При этом возникают небольшие колебания с собственной частотой ω,бАотражающ е изменения скорости. Затем внешняя сила начинает уменьшаться. Брусок немедленно останавливается и нахо- в этом состоян до момента времени t=7 c, когда внешняя сила снова превышает стат ческую силу трения. Когда внешняя сила

уменьшается до нуля, ц кл повторяется [1].

Д И Рис. 12. Результаты моделирования колебательной системы

Следует отметить, что потенциальная энергия пружины пропорциональна квадрату растяжения, т.е. положению бруска, а кинетическая энергия бруска пропорциональна квадрату его скорости. Эти ве-

16

личины не могут изменяться мгновенно, так как мощность не может быть бесконечно большой величиной.

Поведение системы зависит не только от упругости пружины, но и от положения, и от скорости бруска в момент перехода из одного состояния в другое. При переходе в состояние покоя положение оста- Снется неизменным и равным тому, что было в точке входа в это состояние. В состоянии скольжения положение зависит от характеристик пруж ны, направления скорости и положения бруска в момент начала скольжен я. Это поведение зафиксировано естественным и

интуитвно понятным способом в Stateflow-модели [1]. Измен м параметры: m=0,1 кг; Fск=0,1 Н.

бА

Рис. 13. Результаты моделированияДколебательнойИсистемы при m=0,1 кг и Fск=0,1 Н

Если статическое трение превосходит по величине кинетическое трение, ускорение меняется скачком при переходах из состояния скольжения в состояние покоя и наоборот. Когда скорость достигает нуля, ускорение часто отлично от нуля. Если система попадает в состояние покоя, ускорение немедленно становится нулевым. Это нелинейное поведение типично для многих систем, затрудняя точное управление положением. Рис. 13 демонстрирует движение системы при таком наборе коэффициентов.

17

 

 

 

 

Порядок моделирования

1.

Ознакомиться с математической моделью механической

системы.

 

 

 

 

2.

Реализовать

рассматриваемую

механическую систему

в Simulink.

 

 

 

3.

 

нять при помощи виртуального осциллографа графики за-

висимостей внешней силы, действующей на брусок, и положения

бруска от времени при заданных по умолчанию параметрах системы.

4.

 

нять при помощи виртуального осциллографа графики за-

времени

 

висимостей внешней силы, действующей на брусок, и положения

Сбруска от

при m=0,1 кг и Fск=0,1 Н.

 

 

 

 

Содержание отчета

1.

 

работы

 

Цель

.

 

 

2.

Оп сан е рассматриваемой механической системы.

3.

Зав с мости,

описывающие

поведение механической

системы.

 

А

 

 

 

 

4.

Блок – схема математической модели механической системы.

5.

Блок-схема Mechanical Motion.

 

6.Блок-схема Friction.

7.Stateflow-диаграмма.

8.Результаты моделирования колебательной системы при различных ее параметрах.

КонтрольныеДвопросы и задания

1.Каково назначение пакета Stateflow?

2.Перечислите глоссарий пакета Stateflow.

3.Изобразите уравнение движения бруска.

4.От каких параметров зависит поведение рассматриваемой механической системы? И

18

Лабораторная работа №4

Моделирование системы автоматического управления температурой при помощи пакета Stateflow

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

индицм гающ й красный (RED) – нагреватель выключен;зеленый (GREEN) – нагреватель включен.

Контроллер пер одически сравнивает фактическую температуру кипятильн ка (temp) c заданной температурой (reference). Если она не дост гнутабА, то на определенное время управляющим сигналом boiler нагреватель к пятильника включается. Состояние устройства руется двумя цветными светоиндикаторами. Диаграмма моде-

лирован я к пят льн ка в среде Simulink показана на рис. 14 [1, 6]. Д

Controller – диаграмма stateflow, котораяИимитирует работу контроллера, управляющего кипятильником;

Temperature set point – блок задания температуры нагрева;

Boiler Plant Model – имитатор кипятильника;

timer – таймер, задающий события, заставляющие контроллер срабатывать;

трехлучевой осциллографдлявизуализациивременных диаграмм.

19

Блок Controller является диаграммой Stateflow и моделирует работу бойлера. Структура этой диаграммы представлена на рис. 15 и содержит вложенные Stateflow-диаграммы:

Heater – управление бойлером;

 

Turn_boiler(mode) – функция переключения бойлера в задан-

С

ный режим;

 

Flash LED() – функция управления включением цветных ин-

дикаторов;

b=cold() – функция проверки нагрева, возвращает логическое

значенеслие b=True, заданная температура не достигнута.

бАРис. 15. Stateflow-диаграмма блока Controller

Диаграмма Heater включаетДдва состояния:

1) Off – выключен. В это состояние модель входит по умолчанию и выполняет функцию turn_boiler(OFF). Затем каждые 5 с в этом состоянии выполняется функция flash LED(). По истечении 40 с при

условии истинности функции cold() происходит переход в состояние On. И

Рис. 16. Stateflow-диаграмма On (слева) и Stateflow-диаграмма функции turn_boiler(mode) (справа)

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]