В этом примере показано, как использовать подсистемы If/Else для создания модели сцепления. Подсистема 'If' моделирует динамику сцепления в заблокированном положении, в то время как подсистема 'Else' моделирует положение разблокировки. Одно или другое включено с помощью блока 'If'. Пунктирные линии из блока 'If' обозначают управляющие сигналы, которые используются для включения подсистем If/Else (или других условных). Установка любого из полей в графическом интерфейсе пользователя создает график для любой из выбранных переменных (в зависимости от времени).
Система сцепления в этом примере состоит из двух пластин, которые передают крутящий момент между двигателем и коробкой передач. Существует два различных режима работы:
1) скольжение - две пластины имеют различные скорости вращения
2) блокировка - две пластины вращаются вместе.
Обработка перехода между этими двумя режимами представляет проблему моделирования. Когда система теряет степень свободы при блокировке, переданный крутящий момент проходит через разрыв шага. Величина крутящего момента падает с максимального значения, поддерживаемого емкостью трения, до значения, которое необходимо, чтобы сохранить вращение двух половин системы на одной скорости. Противоположный переход, разрушающийся, также является сложным, так как крутящий момент, передаваемый пластинами сцепления, превышает трение.
Примечание: Вы можете найти детальный анализ этой системы, включая уравнения и схемы, в примере для модели сцепления с включенными подсистемами.
Для решения этой задачи можно использовать два следующих метода:
1) Вычислите крутящий момент муфты, передаваемый в любое время, и используйте это значение непосредственно в модели.
2) Используйте две различные динамические модели и переключаться между ними в соответствующее время.
Simulink ® может смоделировать любой из методов. В этом примере мы описываем симуляцию для второго метода. Переключение между двумя динамическими моделями должно выполняться с осторожностью, чтобы гарантировать, что инициализированные состояния новой модели совпадают со значениями состояния непосредственно перед переключением. В любом подходе Simulink облегчает точную симуляцию из-за своей способности распознавать точные моменты, в которых происходят переходы между блокировкой и скольжением.
Когда модель будет открыта, чтобы запустить симуляцию, нажмите запуск.
Фигура 1: Схема верхнего уровня для модели муфты
Примечание. Модель регистрирует соответствующие данные в рабочем пространстве MATLAB в структуре под названием sldemo_clutch_if_output
. Зарегистрированные сигналы имеют синий индикатор. Для получения информации о логгировании сигналов смотрите Configure a Signal for Logging.
Блок 'If' использует LockedFlag
сигнал переключения между подсистемами 'Locked' и 'Unlocked'. Дважды кликните на блок 'If' в модели, чтобы задать его параметры (см. Фигуру 2). LockedFlag
представляет состояние муфты. LockedFlag = 1
если муфта заблокирована и LockedFlag = 0
если муфта разблокирована.
Фигура 2: Установка параметров блоков 'If'
Входы для этой модели те же, что и для модели, которая использует включенные подсистемы (sldemo_clutch
). Скорости работы системы показаны на фигуре 3 ниже. Как ожидалось, результаты, полученные от sldemo_clutch
и sldemo_clutch_if
идентичны.
Фигура 3: Скорости вращения двигателя, транспортного средства и вала для входов по умолчанию
Закройте модель. Очистить сгенерированные данные.
Этот пример показывает, как использовать блоки 'If' в Simulink для моделирования системы с топологическими разрывами. Это альтернатива использованию включенных подсистем.