Смоделируйте контроллер окна со стеклоподъемником

В этом примере показано, как смоделировать автомобильную систему окна со стеклоподъемником с помощью Модельно-ориентированного проектирования с Simulink®, Stateflow®, Fixed-Point Designer™ и DSP System Toolbox™. Системные модели окна со стеклоподъемником ответ пассажирского окна к драйверу или пассажирских средств управления окном. К более низкой цене система использует входные параметры от датчиков тока вместо датчиков положения.

Системные требования

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

  1. Окно должно открыться или закрыться полностью в течение 5 секунд.

  2. Двигатель должен выключиться после 5 секунд непрерывного перемещения в любом направлении. Это требование обеспечивает отказоустойчивую защиту для механизма окна, двигателя и диска.

  3. Окно должно начать перемещаться не позднее, чем 0,2 секунды после того, как команда будет дана.

  4. Окно должно остановиться, когда оно достигает полностью открытый или положение полностью закрытого отверстия.

  5. Если или вниз команда дается на срок 0,2 секунд к 1 секунде, окно должно быть полностью открыто или закрыться, если не прервано новой командой окна или препятствием. Это требование представляет автоматическую и автоматическую вниз возможность окна со стеклоподъемником.

  6. Окно должно смочь обнаружить препятствие с силой меньше чем 100 Н.

  7. Окно должно быть понижено приблизительно на 10 см, если препятствие обнаруживается.

  8. Обнаружение препятствия имеет приоритет и над водительской стороной и над средствами управления пассажирской стороны.

  9. Средства управления водительской стороны имеют приоритет над средствами управления пассажирской стороны.

Проект системы управления

Следующие разделы предоставляют описание событийно-управляемого контроллера, реализованного в Stateflow. Следующий рисунок показывает полную высокоуровневую диаграмму Stateflow.

Вход контроллера

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

Вход 1: переключатель окна водительской стороны нажимается

Вход 2: переключатель окна водительской стороны придавлен

Вход 3: переключатель окна пассажирской стороны нажимается

Вход 4: переключатель окна пассажирской стороны придавлен

Вход 5: Моторная текущая арматура (вход датчика)

Четыре кнопки управления окна представлены булевыми значениями true и false выражение на и прочь. Моторная текущая арматура представлена значением данных фиксированной точки. С этими входными значениями контроллер определяет, перемещается ли окно вверх, вниз, или нисколько.

Обнаружение препятствия

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

Состояния контроллера и События

График имеет два родительских элемента, параллельные состояния, названные Switch и Logic. Параллельные состояния активны одновременно. Logic содержит четыре исключительных состояния: Stopперемещение, EmergencyDown, и EndStop. Как имена предполагают, эти состояния обрабатывают управляющую логику для окна, чтобы остановиться, переместиться, спуститься в чрезвычайной ситуации или обнаружить endstops. События на основе времени или вводов данных пользователем вызывают изменения в состоянии. Основанные на времени события, названные временными логическими событиями, вызывают критические по отношению к безопасности функции обнаружения препятствия и аппаратной защиты. Управляемые пользователями события следующие.

  1. UP: Окно событие

  2. DOWN: Окно вниз событие

  3. NEUTRAL: Окно проводит мероприятие

  4. ENDSTOP: Конец области значений обнаружил событие, когда окно полностью открыто или закрыто

  5. OBSTACLE: событие препятствия Окна

Широковещательная передача события - таблица истинности и графические функции

События в этом контроллере широковещательно передаются из таблицы истинности switches и графическая функция obstacles (соответственно в состояниях Switch и Move). Цель switches должен широковещательно передать UP, DOWN, и NEUTRAL события, основанные на кнопке или комбинации нажатых кнопок. Цель obstacles функция должна решить, присутствует ли препятствие или если окно полностью открыто или полностью закрыто. Это решение основано на величине и скорости изменения текущей арматуры. Если препятствие присутствует, OBSTACLE событие широковещательно передается, и если окно достигает полностью открытого или полностью закрытого положения клапанов, ENDSTOP событие широковещательно передается. Схема таблицы истинности показана на рисунке ниже. Как вы видите, входные параметры от драйвера более приоритетны по сравнению с теми от пассажира. Если драйвер и пассажир оба нажмут их кнопки окна, пассажирский вход будет проигнорирован.

Итоговая графическая функция go не широковещательно передает событий к диаграмме Stateflow. Цель go должен установить выходные значения графика, которые соответствуют направлению движения окна. Например, если диспетчер решает, что окно должно переместиться вверх, оно передает значение true к первому выходному порту. Аналогично, значение true отправляется во второй выходной порт, если диспетчер решает, что окно должно спуститься.

Остановите состояние

Stop состояние активно каждый раз, когда окно не перемещается. Stop первое состояние, которое активируется, когда симуляция начинается, поскольку по умолчанию окно не перемещается в начале симуляции. Переход от Stop к Move происходит если подтвержденный UP или DOWN событие широковещательно передается. UP событие недопустимо, если происходит, когда окно уже полностью закрывается. Аналогично, DOWN событие недопустимо, если происходит, когда окно полностью открыто.

Состояние перемещения

Move состояние активно каждый раз, когда окно находится в движении. Это состояние реализует несколько из требований окна со стеклоподъемником, связанных с обнаружением объектов и автоматизированным перемещением окна. На каждом временном шаге, Move проверки, столкнулось ли окно с препятствием или достигло полностью открытого или полностью закрытого положения клапанов. Если объект обнаруживается, OBSTACLE событие широковещательно передается и изменение состояния от Move к EmergencyDown происходит. Если конечное положение обнаруживается, ENDSTOP событие широковещательно передается и изменение состояния от Move к EndStop происходит.

Move имеет два параллельных состояния, названные Direction и Mode. Direction утвердите проверки, находится ли окно в движении и перемещающийся или вниз. Mode утвердите реализует авто и автовниз возможность окна. Если кнопка окна удерживается на время от 0,2 до 1 секунды или в направлении, окно должно автоматически открыться или закрыться полностью, если не прервано новой командой окна или препятствием. Если пользователь нажимает кнопку окна, в течение какого-то времени заданную выше, Auto состояние вводится. Если у кнопки требуют длительности, которая не приземляется в этой области значений, Manual состояние вводится. Если Manual состояние активно, переход от Move к Stop выполняется, когда пользователь отпускает кнопку.

Состояние EmergencyDown

В EmergencyDown состояние, окно спускает приблизительно 10 см, если препятствие обнаруживается. Когда это состояние активируется, go функция вызвана, чтобы переместить окно вниз.

Состояние EndStop

EndStop сначала определяет, открывается ли окно полностью или закрывается, затем управляет, чтобы окно переместилось в противоположное направление для части секунды, чтобы уменьшить силу на окне. Если окно переместило необходимое количество, изменение состояния от EndStop к Stop происходит.

Похожие темы