Этот пример показывает, как смоделировать автомобильную ходовую часть с 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 включает конструкцию модели, которая и эффективна и визуально интуитивна.