В этом примере вы изучаете, как использовать приложение Control System Tuner, чтобы спроектировать контроллер для нелинейного объекта, смоделированного в Simulink. Вы выполняете следующие задачи:
Сконфигурируйте модель и приложение для настройки компенсатора
Настройте компенсатор первого порядка с помощью основанного на пассивности проекта
Симулируйте нелинейный ответ с обратной связью.
watertank_comp_design модель, показанная на рисунке ниже, моделирует обратную связь для регулирования уровня воды в баке с водой. Блок Controller содержит компенсатор первого порядка, который будет настроен.
mdl = 'cst_watertank_comp_design';
open_system(mdl)
Подсистема Бака с водой моделирует динамику бака с водой. Вода вводит бак от верхней части на уровне, пропорциональном напряжению, V, применился к насосу. Вода уезжает посредством открытия в основе бака на уровне, который пропорционален квадратному корню из уровня воды, H, в баке. Присутствие квадратного корня в уровне потока воды делает объект нелинейным.
Нелинейная модель для потока воды
где
обозначает высоту воды в баке
обозначает, что напряжение применилось к насосу
обозначает площадь поперечного сечения бака
и константы, связанные со скоростью потока жидкости в и из бака
Эта система является пассивным элементом с функцией хранения с тех пор
Теоремой Пассивности, соединением отрицательной обратной связи двух строго пассивных систем и всегда устойчиво.
Поскольку система бака с водой является пассивным элементом, она целесообразна требовать, что контроллер быть строго пассивным, чтобы гарантировать устойчивость с обратной связью, даже когда модель объекта управления неточна.
Можно использовать приложение Control System Tuner, чтобы настроить блок Controller.
Шаг 1: Откройте приложение Control System Tuner. В окне модели Simulink, на вкладке Apps, в галерее Apps, нажимают Control System Tuner.
Шаг 2: Запустите настроенный селектор блока от кнопки Select Blocks во вкладке Tuning
Шаг 3: Выберите блок Controller и Нажмите ОК. Этот блок теперь появляется в Настроенном списке Блоков.
Шаг 4: Задайте настраивающиеся цели. Здесь, существует две главных цели:
Отследите ступенчатые изменения в уровне воды
Сделайте пассивный элемент контроллера
Кликните по Новому Целевому выпадающему списку, и сначала забейте гол Пассивности.
Сконфигурируйте эту цель примениться к блоку Controller только. Это сделано, установив входной сигнал быть "Желаемым Уровнем воды", выходным сигналом, чтобы быть выходом блока Controller и циклом, открывающимся, чтобы быть в блоке Controller выходом. Также задайте минимальные индексы пассивности 0,01 при вводах и выводах, чтобы осуществить строгую пассивность.
Затем забейте гол Отслеживания уставки из Нового Целевого выпадающего списка. Сконфигурируйте эту цель в течение 1 второго времени отклика.
Наконец, нажмите на кнопку Manage Goals от вкладки Tuning и отметьте цель Пассивности как трудное настраивающее ограничение.
Шаг 5: Вы готовы настроить блок Controller. Нажмите кнопку Tune. Можно просмотреть настраивающиеся результаты рядом друг с другом путем выбора Left/Right во вкладке View.
Можно далее анализировать эти результаты путем генерации скрипта MATLAB, который воспроизводит этот настраивающий процесс.
Можно просмотреть Диаграмму Боде настроенного контроллера. Нажмите на кнопку New Plot от вкладки Control System. Выберите New Bode из выпадающего списка.
Ответ контроллера может быть задан можно следующим образом.
Нажмите на кнопку Plot. Диаграмму Боде показывают в следующем рисунке.
Можно также симулировать нелинейный ответ с обратной связью с настроенным контроллером. Во-первых, обновите блок Controller путем нажатия на Update Blocks во вкладке Control System.
В модели Simulink, дважды щелкают по блоку Scope, чтобы открыть окно Scope, затем симулируют модель.
Нелинейный ответ настроенной системы управления появляется в окне Scope. Эта симуляция показывает, что производительность отслеживания является удовлетворительной.