Моделирование антиблокировочной тормозной системы

Этот пример показывает, как смоделировать простую модель для Антиблокировочной тормозной системы (ABS). Это моделирует динамическое поведение автомобиля при условиях резкого торможения. Модель представляет одно колесо, которое может быть реплицировано неоднократно, чтобы создать модель для автомобиля мультиколеса.

Эта модель использует функцию журналирования сигнала в Simulink®. Образцовые логарифмические сигналы к рабочей области MATLAB®, где можно анализировать и просмотреть их. Можно просмотреть код в sldemo_absbrakeplots.m, чтобы видеть, как это сделано.

В этой модели скорость колеса вычисляется в отдельной модели под названием sldemo_wheelspeed_absbrake. На этот компонент затем ссылаются с помощью блока 'Model'. Обратите внимание на то, что и топ-модель и модель, на которую ссылаются, используют переменный решатель шага, таким образом, Simulink отследит нулевые пересечения в модели, на которую ссылаются.

Анализ и физика

Колесо вращается с начальной угловой скоростью, которая соответствует скорости автомобиля, прежде чем тормоза будут применены. Мы использовали отдельные интеграторы, чтобы вычислить колесо угловая скорость и скорость автомобиля. Мы используем две скорости, чтобы вычислить промах, который определяется уравнением 1. Обратите внимание на то, что мы вводим скорость автомобиля, выраженную как угловая скорость (см. ниже).

Уравнение 1

От этих выражений мы видим, что промах является нулем, когда скорость колеса и скорость автомобиля равны, и промах равняется тому, когда колесо заблокировано. Желательным значением промаха является 0.2, что означает, что количество оборотов колеса равняется временам 0.8 количество оборотов при нетормозящих условиях с той же скоростью автомобиля. Это максимизирует адгезию между шиной и дорогой и минимизирует тормозной путь с доступным трением.

Моделирование

Коэффициент трения между шиной и дорожным покрытием, mu, является эмпирической функцией промаха, известного как кривую mu-промаха. Мы создали кривые mu-промаха путем передачи переменных MATLAB в блок-схему с помощью интерполяционной таблицы Simulink. Модель умножает коэффициент трения, mu, весом на колесе, W, чтобы привести к фрикционной силе, Ff, действующему на окружность шины. Ff разделен на массу автомобиля, чтобы произвести замедление автомобиля, которое модель интегрирует, чтобы получить скорость автомобиля.

В этой модели мы использовали идеальный антиблокировочный тормозной контроллер, который использует управление 'скорострельного оружия', основанное на ошибке между фактическим промахом и желаемым промахом. Мы устанавливаем желаемый промах на значение промаха, в котором кривая mu-промаха достигает пикового значения, этот являющийся оптимальным значением для минимального тормозного пути (см. примечание ниже.).

  • Примечание: В фактическом автомобиле, промах не может быть измерен непосредственно, таким образом, этот алгоритм управления не практичен. Это используется в этом примере, чтобы проиллюстрировать концептуальную конструкцию такой имитационной модели. Действительное техническое значение симуляции как это должно показать потенциал концепции управления до решения конкретных проблем реализации.

Создание временной директории для примера

Во время этого примера Simulink генерирует файлы в текущей рабочей директории. Если вы не хотите генерировать файлы в этой директории, изменять рабочую директорию на подходящую директорию:

origdir = cd(tempdir);

Открытие модели

Открыть этот тип модели sldemo_absbrake в терминале MATLAB (или нажать на гиперссылку, если вы используете Справку MATLAB).

Рисунок 1: антиблокировочная система, тормозящая (ABS) модель

Дважды щелкните по 'подсистеме' Скорости Колеса в окне модели, чтобы открыть его. Учитывая промах колеса, желаемый промах колеса и крутящий момент шины, эта подсистема вычисляет колесо угловая скорость.

Рисунок 2: подсистема Скорости Колеса

Чтобы управлять скоростью изменения тормозного давления, модель вычитает фактический промах из желаемого промаха и подает этот сигнал в управление скорострельного оружия (+1 или -1, в зависимости от знака ошибки, см. рисунок 2). Этот уровень включения - выключения проходит через задержку первого порядка, которая представляет задержку, сопоставленную с гидравлическими строками тормозной системы. Модель затем интегрирует отфильтрованный уровень, чтобы привести к фактическому тормозному давлению. Получившийся сигнал, умноженный на поршневую область и радиус относительно колеса (Kf), является крутящим моментом тормоза, применился к колесу.

Модель умножает фрикционную силу на колесе радиусом колеса (Rr), чтобы дать ускоряющийся крутящий момент дорожного покрытия на колесе. Крутящий момент тормоза вычтен, чтобы дать сетевой крутящий момент на колесе. Деля сетевой крутящий момент на колесо, вращательная инерция, I, приводит к ускорению колеса, которое затем интегрировано, чтобы дать скорость колеса. В порядке сохранить скорость колеса и скорость автомобиля положительные, ограниченные интеграторы используются в этой модели.

Выполнение симуляции в режиме ABS

Нажмите кнопку "Play" на образцовой панели инструментов, чтобы запустить симуляцию. Можно также запустить симуляцию путем выполнения команды sim('sldemo_absbrake') в MATLAB. ABS включен во время этой симуляции.

Рисунок 3: базовые результаты симуляции

  • Примечание: модель регистрирует соответствующие данные к рабочему пространству MATLAB в структуре под названием sldemo_absbrake_output. Регистрируемые сигналы имеют синий индикатор. В этом случае регистрируются yout и slp (см. модель). Читайте больше о Сигнале, Входящем в систему Справка Simulink.

Рисунок 3 визуализирует результаты симуляции ABS (для параметров по умолчанию). Первый график в рисунке 3 показывает колесу угловую скорость и соответствующий автомобиль угловая скорость. Этот график показывает, что скорость колеса остается ниже скорости автомобиля без запирания со скоростью автомобиля, собирающейся обнулить меньше чем за 15 секунд.

Выполнение симуляции без ABS

Для большего количества значимых результатов рассмотрите поведение автомобиля без ABS. В командной строке MATLAB, набор образцовая переменная ctrl = 0. Это отключает обратную связь промаха от диспетчера (см. рисунок 1), приводя к максимальному торможению. Результаты показывают в рисунке 4.

ctrl = 0;

Теперь запустите симуляцию снова. Это смоделирует торможение без ABS.

Рисунок 4: Максимальные результаты симуляции торможения (тормозящий без ABS)

Торможение с ABS по сравнению с торможением без ABS

В верхнем графике рисунка 4 заметьте, что колесо запирается приблизительно за семь секунд. Торможение, от той точки на, применяется в меньше оптимальной части кривой промаха. Таким образом, когда slip = 1, как замечено в более низком графике рисунка 4, шина скользит так на тротуаре, что сила трения понизилась.

Это, возможно, более значимо с точки зрения сравнения, показанного в рисунке 5. Расстояние, путешествовавшее автомобилем, построено для этих двух случаев. Без ABS автомобиль скользит о дополнительных 100 футах, занимая приблизительно три секунды дольше, чтобы остановиться.

Рисунок 5: Тормозной путь для резкого торможения с и без ABS

Закрытие модели

Закройте модель. Закройте 'подсистему' Скорости Колеса. Очистите записанные данные. Возвратитесь к исходной директории.

cd(origdir);

Заключения

Эта модель показывает, как можно использовать Simulink, чтобы моделировать тормозную систему при действии контроллера ABS. Контроллер в этом примере идеализирован, но можно использовать любой предложенный алгоритм управления в его месте, чтобы оценить производительность системы. Можно также использовать Simulink® Coder™ с Simulink как ценный инструмент для быстрого прототипирования предложенного алгоритма. Код С сгенерирован и скомпилирован для оборудования контроллеров, чтобы протестировать концепцию в автомобиле. Это значительно уменьшает время, должен был доказать новые идеи путем включения фактического тестирования рано в цикле разработки.

Для оборудования в симуляции тормозной системы цикла можно удалить контроллер 'скорострельного оружия' и запустить уравнения движения на оборудовании в реальном времени, чтобы эмулировать колесо и динамику аппарата. Можно сделать это путем генерации кода С в реальном времени для этой модели с помощью Simulink Coder. Можно затем протестировать фактический контроллер ABS путем взаимодействия через интерфейс с ним к оборудованию в реальном времени, которое запускает сгенерированный код. В этом сценарии модель реального времени отправила бы скорость колеса контроллеру, и контроллер отправит торможение в модель.