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

Этот пример показывает, как смоделировать простую модель для Антиблокировочной тормозной системы (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 workspace в структуре, названной sldemo_absbrake_output. Регистрируемые сигналы имеют синий индикатор. В этом случае ваш и 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 путем взаимодействия через интерфейс с ним к аппаратным средствам в реальном времени, которые запускают сгенерированный код. В этом сценарии модель реального времени отправила бы скорость колеса в контроллер, и контроллер отправит торможение в модель.

Была ли эта тема полезной?