В этом примере показано, как смоделировать автомобильную ходовую часть с Simulink ®. Stateflow ® улучшает модель Simulink с помощью представления логики управления передачей. Simulink обеспечивает мощное окружение для моделирования и симуляции динамических систем и процессов. Однако во многих системах диспетчерские функции, такие как изменение режимов или вызов новых графиков усиления, должны реагировать на события, которые могут произойти, и условия, которые развиваются со временем. В результате окружение требует языка, способного управлять этими несколькими режимами и разрабатывать условия. В следующем примере Stateflow показывает свою силу в этой мощности, выполняя функцию выбора передачи в автоматической коробке передач. Эта функция комбинируется с динамикой ходовой части естественным и интуитивно понятным образом путем включения блока Stateflow в Диаграмму Simulink.
Рисунок ниже показывает поток степени в типичной автомобильной ходовой части. Нелинейные обыкновенные дифференциальные уравнения моделируют двигатель, четырехступенчатую автоматическую коробку передач и транспортное средство. Модель, обсуждаемая в этом примере, непосредственно реализует блоки из этого рисунка как модульные подсистемы Simulink. С другой стороны, логика и решения, принятые в модуле управления передачей (TCU), не поддаются хорошо сформулированным уравнениям. TCU лучше подходит для представления Stateflow. Stateflow контролирует события, которые соответствуют важным отношениям в системе, и принимает соответствующие действия по мере их возникновения.
Открытие дросселя является одним из входов в двигатель. Двигатель соединяется с рабочим колесом гидротрансформатора, который соединяет его с трансмиссией (см. Уравнение 1).
Уравнение 1
Входно-выходные характеристики гидротрансформатора могут быть выражены как функции скорости вращения двигателя и скорости турбины. В этом примере направление потока степени всегда принимается от рабочего колеса до турбины (см. Уравнение 2).
Уравнение 2
Модель трансмиссии реализована через статические передаточные числа, принимая маленькое время сдвига (см. Уравнение 3).
Уравнение 3
Конечный привод, инерция и динамически изменяющаяся нагрузка составляют динамику аппарата (см. Уравнение 4).
Уравнение 4
Крутящий момент нагрузки включает в себя и дорожную нагрузку, и момент привода. Дорожная нагрузка является суммой фрикционных и аэродинамических потерь (см. Уравнение 5).
Уравнение 5
Модель программирует точки сдвига для передачи в соответствии с расписанием, показанным на рисунке ниже. Для заданного дросселя на заданной передаче существует уникальная скорость транспортного средства, при которой происходит переключение вверх. Симуляция работает аналогично для понижающей передачи.
Когда вы открываете модель, Начальные условия устанавливаются в Рабочем пространстве Модели.
Схема верхнего уровня модели показана на рисунке ниже. Чтобы запустить симуляцию, на вкладке Simulation, нажмите запуск. Обратите внимание, что модель регистрирует соответствующие данные в Рабочее Пространство MATLAB в структуре данных sldemo_autotrans_output
. Зарегистрированные сигналы имеют синий индикатор. После запуска симуляции можно просмотреть компоненты структуры данных путем ввода sldemo_autotrans_output
в Командном Окне MATLAB. Также обратите внимание, что модули появляются на значках подсистемы и сигнальных линиях.
Модель Simulink, показанная выше, состоит из модулей, которые представляют двигатель, коробку передач и транспортное средство с дополнительным логическим блоком сдвига для управления передаточным отношением. Входы модели имеют форму дросселя (заданные в процентах) и момента привода (заданные в ft-lb). Пользователь вводит дроссельные и тормозные крутящие моменты с помощью интерфейса ManeuversGUI.
Подсистемы двигателей состоят из двумерной таблицы, которая интерполирует крутящий момент двигателя в зависимости от дросселя и скорости вращения двигателя. Рисунок ниже показывает составные подсистемы двигателей. Дважды кликните эту подсистему в модели, чтобы просмотреть ее структуру.
Блоки TorqueConverter и TransmissionRatio составляют подсистему Transmission, как показано на рисунке ниже. Дважды кликните Подсистему трансмиссии в окне модели, чтобы просмотреть ее компоненты.
TorqueConverter является маскированной подсистемой, которая реализует Уравнение 2. Чтобы открыть эту подсистему, щелкните на ней правой нажатие кнопки и выберите в раскрывающемся меню «Маска» > «Посмотреть под маской». Маска требует вектор коэффициентов скорости (Nin/Ne
) и векторы K-фактора (f2
) и коэффициент крутящего момента (f3
). Этот рисунок показывает реализацию подсистемы TorqueConverter.
Блок передаточного отношения определяет отношение, показанное в таблице 1, и вычисляет крутящий момент и входную скорость передачи, как показано в уравнении 3. Следующий рисунок показывает блок для подсистемы, которая реализует это отношение крутящего момента и скорости.
Таблица 1: Передаточные отношения
gear Rtr = Nin/Ne 1 2.393 2 1.450 3 1.000 4 0.677
Блок Stateflow, помеченный как ShiftLogic, реализует выбор передачи для трансмиссии. Дважды кликните ShiftLogic в окне модели, чтобы открыть схему Stateflow. Model Explorer используется, чтобы задать входы как скорость дросселя и транспортного средства, а выход как желаемое число передач. Два штриховых состояния AND отслеживают состояние передачи и состояние процесса выбора передачи. Полный график выполняется как система дискретного времени, дискретная каждые 40 миллисекунд. Схема Stateflow, показанная ниже, иллюстрирует функциональность блока.
Логическое поведение сдвига может наблюдаться во время симуляции путем включения анимации в отладчике Stateflow. The selection_state
(всегда активен) начинается с выполнения вычислений, указанных в его during
функция. Модель вычисляет пороги скорости повышения и понижающей передачи как функцию от мгновенных значений передачи и дросселя. В то время как в steady_state, модель сравнивает эти значения с текущей скоростью транспортного средства, чтобы определить, требуется ли сдвиг. Если это так, он входит в одно из подтверждающих состояний (upshifting
или downshifting
), который регистрирует время входа.
Если скорость транспортного средства больше не удовлетворяет условию сдвига, в то время как в состоянии подтверждения модель игнорирует сдвиг, и она переходит назад к steady_state
. Это предотвращает посторонние сдвиги из-за шумовых условий. Если условие сдвига остается действительным в течение длительности TWAIT
такты, модель переходит через нижний узел соединения и, в зависимости от текущей передачи, она транслирует одно из событий сдвига. Впоследствии модель снова активируется steady_state
после перехода через одно из центральных соединений. Событие сдвига, которое транслируется на gear_selection
активирует переход на соответствующую новую передачу.
Например, если транспортное средство двигается вдоль второй передачи с 25% дросселем, состояние second
активно в gear_state
, и steady_state
активно в selection_state
. The during
функция последнего находит, что повышение скорости должно происходить, когда транспортное средство превышает 30 миль/ч. На данный момент это становится правдой, модель входит в upshifting
состояние. Находясь в этом состоянии, если скорость транспортного средства остается выше 30 миль/ч для TWAIT
такты, модель удовлетворяет условию перехода, ведущему вниз к нижнему правому соединению. Это также удовлетворяет условию [|gear = = 2|] на переходе, ведущем отсюда к steady_state
, поэтому модель теперь принимает общий переход от upshifting
на steady_state
и транслирует событие UP
как переходное действие. Следовательно, переход от второго к третьему принимается в gear_state
который завершает логику сдвига.
Подсистема Транспортного средства использует крутящий момент привода, чтобы вычислить ускорение и интегрировать его, чтобы вычислить скорость транспортного средства по уравнениям 4 и 5. Подсистема Транспортного средства замаскирована. Чтобы увидеть структуру блока « Транспортного средства», щелкните на нем правой нажатие кнопки и выберите в раскрывающемся меню «Маска» > «Смотреть под маской». Параметрами, введенными в меню маски, являются итоговое отношение привода, полиномиальные коэффициенты для трения при перетаскивании и аэродинамическое сопротивление, радиус колеса, инерция транспортного средства и начальная выходная скорость трансмиссии.
Карта крутящего момента двигателя и характеристики гидротрансформатора, используемые в симуляциях, показаны ниже.
Получите FactorK (вторая строка) и TorqueRatio (третья строка) по сравнению со SpeedRatio (первая строка)
В первой симуляции (проходном маневре) используется расписание дросселей, приведенное в Таблице 2 (эти данные интерполированы линейно).
Таблица 2: Расписание дросселей для первой симуляции (проходной маневр)
Time (sec) Throttle (%) 0 60 14.9 40 15 100 100 0 200 0
Первый столбец соответствует времени; второй столбец соответствует открытию дросселя в процентах. В этом случае тормоз не прикладывается (крутящий момент привода равен нулю). Скорость транспортного средства начинается с нуля, а двигатель - с 1000 об/мин. Следующий рисунок показывает график для результатов базовой линии с использованием параметров по умолчанию. Когда драйвер переходит к 60% дросселю при t=0
, двигатель немедленно реагирует более чем удвоением своей скорости. Это приводит к низкому отношению скорости через гидротрансформатор и, следовательно, к большому отношению крутящего момента. Скорость транспортного средства быстро ускоряется (скольжение шин не моделируется), и двигатель и скорость усиления транспортного средства примерно до t = 2 sec
, в это время происходит 1-2 переключения вверх. Скорость вращения двигателя характерно резко падает, затем возобновляет его ускорение. Апшифты 2-3 и 3-4 происходят примерно на четырех и восьми секундах соответственно. Заметьте, что скорость транспортного средства остается намного плавнее из-за большой инерции.
В t=15sec
, драйвер шагает дроссель до 100%, как это может быть типично для проходного маневра. Коробка передач переходит на третью передачу, и двигатель скачет с примерно 2600 об/мин до примерно 3700 об/мин. Таким образом, крутящий момент двигателя несколько увеличивается, а также механическое преимущество трансмиссии. С непрерывным тяжелым дросселем транспортное средство разгоняется примерно до 100 миль в час, а затем переключается в перегрузку примерно на t = 21 sec
. На оставшейся части симуляции транспортного средства совершает круизы на четвертой передаче. Дважды кликните блок ManeuversGUI и используйте графический интерфейс, чтобы изменить историю дросселей и тормозов.
Закройте модель, очистите сгенерированные данные.
Можно улучшить эту базовую систему модульным способом, например, путем замены двигателя или трансмиссии на более сложную модель. Вы можете создавать большие системы в этой структуре с помощью постепенного уточнения. Бесшовное интегрирование логики управления Stateflow с обработкой сигнала Simulink позволяет построить модель, которая является эффективной и визуально интуитивно понятной.