В этом примере показано, как смоделировать автомобильную ходовую часть с Simulink®. Stateflow® улучшает модель Simulink со своим представлением управляющей логики передачи. Simulink обеспечивает мощную среду для моделирования и симуляции динамических систем и процессов. Во многих системах, тем не менее, контрольные функции как изменяющиеся режимы или вызов новых расписаний усиления должны ответить на события, которые могут произойти и условия, которые разрабатывают в зависимости от времени. В результате среда требует языка, способного к управлению эти несколько режимов и условий разработки. В следующем примере Stateflow проявляет свою силу в этой способности путем выполнения функции выбора механизма в автоматической коробке передач. Эта функция объединена с динамикой ходовой части естественным и интуитивным способом путем слияния блока Stateflow в Диаграмме Simulink.
Рисунок 1 показывает поток энергии в типичной автомобильной ходовой части. Нелинейные обыкновенные дифференциальные уравнения моделируют механизм, автоматическую коробку передач с четырьмя скоростями и транспортное средство. Модель, обсужденная в этом примере непосредственно, реализует блоки из рисунка 1 как модульные Подсистемы Simulink. С другой стороны, логика и решения, принятые в Блоке управления передачи (TCU), не предоставляют себя хорошо сформулированным уравнениям. TCU лучше подходит для представления Stateflow. Stateflow следит за развитием событий, которые соответствуют важным отношениям в системе, и принимает соответствующие меры, как они происходят.
Рисунок 1: Типовая блок-схема для системы ходовой части
Открытие дросселя является одними из входных параметров к механизму. Механизм соединяется с рабочим колесом гидротрансформатора, который связывает его с передачей (см. уравнение 1).
Уравнение 1
Характеристики ввода - вывода гидротрансформатора могут быть выражены как функции скорости вращения двигателя и турбинной скорости. В этом примере направление потока энергии всегда принимается, чтобы быть с рабочего колеса на турбину (см. уравнение 2).
Уравнение 2
Модель передачи реализована через статические передаточные отношения, приняв маленькие времена сдвига (см. уравнение 3).
Уравнение 3
Итоговый диск, инерция и динамически различная загрузка составляют динамику аппарата (см. уравнение 4).
Уравнение 4
Крутящий момент загрузки включает и дорожную загрузку и момент привода. Дорожная загрузка является суммой фрикционных и аэродинамических потерь (см. уравнение 5).
Уравнение 5
Программы модели сдвиг указывают для передачи согласно расписанию, показанному в рисунке 2. Для данного дросселя в данном механизме существует уникальная скорость транспортного средства, на которой происходит upshift. Симуляция действует так же для включения понижающей передачи.
Рисунок 2: Переключите расписание
Открыть этот тип модели sldemo_autotrans
в терминале MATLAB®. Начальные условия установлены в Рабочем пространстве модели.
Схему верхнего уровня модели показывают в рисунке 3. Чтобы запустить симуляцию, нажмите кнопку воспроизведения на панели инструментов на окне модели. Обратите внимание на то, что модель регистрирует соответствующие данные к рабочему пространству MATLAB в структуре данных под названием sldemo_autotrans_output
. Регистрируемые сигналы имеют синий индикатор (см. рисунок 3). После того, как вы запустите симуляцию, можно просмотреть компоненты структуры данных путем ввода sldemo_autotrans_output
в Окне Команды MATLAB. Также обратите внимание, что модули появляются на значках подсистемы и сигнальных линиях. Чтобы узнать больше о модулях в Simulink, смотрите Модули Simulink.
Рисунок 3: Диаграмма модели и демонстрационные результаты симуляции (передающий маневр)
Модель Simulink, показанная в рисунке 3, состоит из модулей, которые представляют механизм, передачу и транспортное средство, с дополнительным логическим блоком сдвига, чтобы управлять коэффициентом передачи. Вводы данных пользователем к модели в форме дросселя (даны в проценте) и момент привода (данный в ft-lb). Дроссель вводов данных пользователем и моменты привода с помощью интерфейса ManeuversGUI.
Подсистемы двигателей состоят из двумерной таблицы, которая интерполирует крутящий момент механизма по сравнению с дросселем и скоростью вращения двигателя. Рисунок 4 показывает составные Подсистемы двигателей. Дважды щелкните по этой подсистеме в модели, чтобы просмотреть ее структуру.
Рисунок 4: Подсистемы двигателей
TorqueConverter и блоки TransmissionRatio составляют подсистему Передачи, как показано в рисунке 5. Дважды щелкните по подсистеме Передачи в окне модели, чтобы просмотреть его компоненты.
Рисунок 5: подсистема Передачи
TorqueConverter является подсистемой маскированной, которая реализует уравнение 2. Чтобы открыть эту подсистему, щелкните правой кнопкой мыши по нему и выберите Mask> Look Under Mask в выпадающем меню. Маска требует вектора отношений скорости (Nin/Ne
) и векторы K-фактора (f2
) и закрутите отношение (f3
). Рисунок 6 показывает реализацию подсистемы TorqueConverter.
Рисунок 6: подсистема Гидротрансформатора
Блок коэффициента передачи определяет отношение, показанное в Таблице 1, и вычисляет передачу выходной крутящий момент и входная скорость, как обозначено в уравнении 3. Рисунок 7 показывает блок-схему для подсистемы, которая понимает это отношение в крутящем моменте и скорости.
Таблица 1: передаточные отношения Передачи
gear Rtr = Nin/Ne 1 2.393 2 1.450 3 1.000 4 0.677
Рисунок 7: подсистема передаточного отношения Передачи
Блок Stateflow пометил выбор механизма реализаций ShiftLogic для передачи. Дважды щелкните по ShiftLogic в окне модели, чтобы открыть схему Stateflow. Model Explorer используется, чтобы задать входные параметры как дроссель и скорость транспортного средства и выход как желаемый номер механизма. Два пунктирных состояния AND отслеживают состояние механизма и состояние процесса выбора механизма. Полный график выполняется как система дискретного времени, произвел каждые 40 миллисекунд. Схема Stateflow, показанная в рисунке 8, иллюстрирует функциональность блока.
Рисунок 8: схема Stateflow передачи переключает логику
Поведение логики сдвига может наблюдаться в процессе моделирования путем включения анимации в отладчике Stateflow. selection_state
(всегда активный), начинается путем выполнения расчетов, обозначенных в его during
функция. Модель вычисляет upshift и пороги скорости включения понижающей передачи как функция мгновенных значений механизма и дросселя. В то время как в steady_state, модель сравнивает эти значения с существующей скоростью транспортного средства, чтобы определить, требуется ли сдвиг. Если так, это вводит одно из подтвердить состояний (upshifting
или downshifting
), который записывает время записи.
Если скорость транспортного средства больше не удовлетворяет условию сдвига, в то время как в подтвердить состоянии, модель игнорирует сдвиг, и это переходит назад к steady_state
. Это предотвращает посторонние сдвиги из-за шумовых условий. Если условие сдвига остается допустимым на срок TWAIT
метки деления, переходы модели посредством более низкого соединения и, в зависимости от текущего механизма, это широковещательно передает одно из событий сдвига. Впоследствии, модель снова активирует steady_state
после перехода посредством одного из центральных соединений. Событие сдвига, которое широковещательно передается к gear_selection
утвердите, активирует переход к соответствующему новому механизму.
Например, если транспортное средство проходит на второй передаче с 25%-м дросселем, second
состояния активно в
gear_state
, и steady_state
активно в selection_state
. during
функция последнего, находит, что upshift должен произойти, когда транспортное средство превышает 30 миль в час. В данный момент это становится верным, модель вводит upshifting
состояние. В то время как в этом состоянии, если скорость транспортного средства остается выше 30 миль в час для TWAIT
метки деления, модель удовлетворяет условию перехода, ведущему вниз к нижнему правому соединению. Это также удовлетворяет условию [|gear == 2 |] на продвижении перехода отсюда до steady_state
, таким образом, модель теперь берет полный переход от upshifting
к steady_state
и широковещательные сообщения событие UP
как действие перехода. Следовательно, переход от второго до трети взят в gear_state
который завершает логику сдвига.
Подсистема Транспортного средства (рисунок 9) использует крутящий момент привода, чтобы вычислить ускорение и интегрировать его, чтобы вычислить скорость транспортного средства на уравнение 4 и уравнение 5. Подсистема Транспортного средства маскируется. Чтобы видеть структуру блока Vehicle, щелкните правой кнопкой мыши по нему и выберите Mask> Look Under Mask в выпадающем меню. Параметры, вводимые в меню маски, являются итоговым отношением диска, полиномиальными коэффициентами для трения перетаскивания и аэродинамического перетаскивания, радиуса колеса, инерции транспортного средства и начальной передачи выходная скорость.
Рисунок 9: подсистема Транспортного средства (замаскирована)
Карту крутящего момента механизма и характеристики гидротрансформатора, используемые в симуляциях, показывают в рисунке 10 и рисунке 11.
Рисунок 10: карта крутящего момента Engine
Рисунок 11: характеристики Гидротрансформатора (см. рисунок 5 и уравнение 2),
Первая симуляция (передающий маневр) использует расписание дросселя, данное в Таблице 2 (эти данные интерполированы линейно).
Таблица 2: Отрегулируйте расписание для первой симуляции (передающий маневр)
Time (sec) Throttle (%) 0 60 14.9 40 15 100 100 0 200 0
Первый столбец соответствует времени; второй столбец соответствует дросселю, открывающемуся в проценте. В этом случае никакой тормоз не применяется (момент привода является нулем). Скорость транспортного средства запускается в нуле и механизме на уровне 1 000 об/мин. Рисунок 12 показывает график для базовых результатов, с помощью параметров по умолчанию. Когда драйвер продвигается в 60%-й дроссель в t=0
, механизм сразу отвечает путем более чем удваивания его скорости. Это вызывает низкоскоростное отношение через гидротрансформатор и, следовательно, большое отношение крутящего момента (см. рисунок 6 и рисунок 11. Транспортное средство ускоряется быстро (никакой промах шины не моделируется), и и механизм и скорость усиления транспортного средства до приблизительно t = 2 sec
, в котором происходит время 1-2 upshift. Скорость вращения двигателя характерно понижается резко, затем возобновляет свое ускорение. 2-3 и 3-4 upshifts происходят приблизительно в четыре и восемь секунд, соответственно. Заметьте, что скорость транспортного средства остается намного более сглаженной из-за ее большой инерции.
Рисунок 12: Передача истории времени симуляции маневра
В t=15sec
, драйвер продвигается дроссель в 100%, как может быть типично для передающего маневра. Включения понижающей передачи передачи к третьему механизму и механизму спрыгивают приблизительно с 2 600 об/мин приблизительно к 3 700 об/мин. Крутящий момент механизма таким образом увеличивается несколько, а также механическое преимущество передачи. С продолжительным тяжелым дросселем транспортное средство ускоряется приблизительно к 100 милям в час и затем переключает в перегрузку приблизительно в t = 21 sec
. Круизы на транспортном средстве вперед на четвертой передаче для остатка от симуляции. Дважды щелкните по блоку ManeuversGUI и используйте графический интерфейс, чтобы варьироваться история тормоза и дроссель.
Закройте модель, очистите сгенерированные данные.
Можно легко улучшить эту базовую систему модульным способом, например, заменив механизм или передачу с более сложной моделью. Мы можем таким образом создать большие системы в этой структуре через пошаговое улучшение. Бесшовная интеграция управляющей логики Stateflow с обработкой Сигнала Simulink включает конструкцию модели, которая и эффективна и визуально интуитивна.