Этот пример показывает, как смоделировать автомобильную трансмиссию с 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 workspace в структуре данных под названием sldemo_autotrans_output
. Регистрируемые сигналы имеют синий индикатор (см. рисунок 3). После того, как вы запустите моделирование, можно просмотреть компоненты структуры данных путем ввода sldemo_autotrans_output
в Окне Команды MATLAB. Также обратите внимание, что модули появляются на значках подсистемы и сигнальных линиях. Чтобы узнать больше о модулях в Simulink, см. Модули Simulink.
Рисунок 3: Образцовая схема и демонстрационные результаты симуляции (передающий маневр)
Модель Simulink, показанная в рисунке 3, состоит из модулей, которые представляют механизм, передачу и механизм, с дополнительным логическим блоком сдвига, чтобы управлять коэффициентом передачи. Вводы данных пользователем к модели в форме дросселя (даны в проценте) и крутящий момент тормоза (данный в ft-lb). Дроссель вводов данных пользователем и крутящие моменты тормоза с помощью интерфейса ManeuversGUI.
Подсистема Engine состоит из двумерной таблицы, которая интерполирует крутящий момент механизма по сравнению с дросселем и скоростью вращения двигателя. Рисунок 4 показывает составную подсистему Engine. Дважды щелкните по этой подсистеме в модели, чтобы просмотреть ее структуру.
Рисунок 4: подсистема Engine
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. Образцовый Проводник используется, чтобы задать входные параметры как дроссель и скорость механизма и вывод как желаемый номер механизма. Два пунктирных состояния 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 включает конструкцию модели, которая и эффективна и визуально интуитивна.