|
|
Содержание отчета |
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(x)μFН ,при |
(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