В данной статье рассмотрим процесс настройки регулятора нелинейной модели электропривода с помощью инструмента Response Optimizer.
До сих пор мы рассматривали только линейные системы (часть 1 и часть 2). Они нужны для понимания принципа работы настоящей (нелинейной) системы и грубого определения ее характеристик. Однако на практике приходится иметь дело именно с нелинейной моделью.
В современных системах управления применяются цифровые вычислители (микроконтроллеры, ПЛИС), в которых реализуются алгоритмы управления, корректирующие устройства и производится обработка данных с датчиков. И работу таких вычислителей (или их отдельных функций) также требуется моделировать.
Сегодня рассмотрим систему, где вместо идеального датчика скорости используется инкрементальный энкодер. Он формирует три цифровых сигнала A, B и Z, на основе которых определяются угловое положение и скорость объекта управления.
Настройка регулятора системы, включающей как цифровую, так и непрерывную часть, не может осуществляться с помощью инструментов, работающих с линеаризуемыми моделями (PID Tuner). В таком случае на помощь приходят численные методы.
Модель системы
Ниже показана модель рассматриваемой системы.
Помимо уже знакомых подсистем электропривода, нагрузки и регулятора скорости, она включает в себя:
датчик скорости (подсистема Sensor),
функцию обработки сигналов от энкодера, реализуемая в цифровом вычислителе (подсистема Incremental shaft decoder)
Все параметры системы приведены в первой части. Разрешение энкодера составляет 256 имп/об.
Результаты моделирования до настройки регулятора () приведены ниже.
Пусть реакция системы на единичный импульс должна соответствовать следующим требованиям:
- перерегулирование (Overshoot) не более 8%,
- время нарастания (Rise time) менее чем 0.3 с,
- время переходного процесса (Settling time) менее чем 0.85 с.
Кроме того, регулятор должен ограничивать напряжение, подаваемое на обмотку двигателя, до значения напряжения питания. Это означает, в регуляторе необходимо применить метод для борьбы с интегральным насыщением.
Настраиваем контроллер
Приложение Response Optimizer располагается во вкладке APPS окна модели Simulink, в разделе CONTROL SYSTEMS.
Поскольку инструмент использует численные методы оптимизации, во время процесса расчет модели будет выполняться многократно. Поэтому перед настройкой в блоке SIMULATE окна модели активируем опцию Fast Restart для уменьшения времени, затрачиваемого на эти действия.
Настройка регуляторов осуществляется в соответствии со следующим алгоритмом:
Создаем MATLAB переменные, соответствующие параметрам регулятора, в окне Model Explorer и присваиваем их значениям начальные приближения.
В качестве начальных приближений в нашем случае можно взять настроенные значения регулятора из первой части.
Записываем переменные в соответствующие поля в окне параметров блока PID Controller.
Открываем инструмент Response Optimizer. Слева в разделе Model Workspace на панели Data Browser показаны созданные ранее переменные.
Определяем список оптимизируемых параметров. Для этого нажимаем на кнопку None редактируемого поля Design Variables Set.
В выпадающем меню нажимаем New.... В правом списке открывшегося окна Create Design Variables Set расположены переменные модели, а в левом — параметры для оптимизации. Выделяем переменные и нажимаем на кнопку со стрелкой, расположенной между двумя списками, для переноса их в левый список.
Опционально можно указать границы диапазоны оптимизируемых параметров в столбцах Minimum и Maximum.
Выбираем задачу оптимизации. В блоке REQUIREMENTS нажимаем на кнопку New и в выпадающем меню в разделе TIME-DOMAIN REQUIREMENTS выбираем опцию Step Response Envelope.
Задаем характеристики требуемого переходного процесса в появившемся окне в разделе Specify Step Response Characteristics.
Задаем сигнал, к которому предъявляются требования по переходному процессу. В разделе Select Signals to Bound нажимаем на кнопку с плюсом рядом со списком. Переходим в модель и выбираем необходимый сигнал. В нашем случае сигнал Speed. Возвращаемся в окно инструмента. В левом списке открывшегося окна Create Signal Set выбираем сигнал и нажимаем на кнопку со стрелкой. Завершаем выбор сигналов нажатием ОК.
В графической области окна инструмента появилась координатная плоскость с границами, за которые не может выходить график переходного процесса.
В разделе Data на панели Data Browser расположены три переменные: DesignVars содержит информацию о списке оптимизированных параметров, Sig — свойства выбранного сигнала и StepRespEnvelope — информацию о требованиях к переходному процессу.
Построим переходный процесс до настройки регулятора. Для этого выбираем переменную Sig и нажимаем на кнопку Plot Model Response, расположенную в блоке PLOTS.
Видно, что переходный процесс не удовлетворяет поставленным требованиях.
Оптимизируем параметры регулятора. Выбираем переменную DesignVars и нажимаем на кнопку с зеленым треугольником в блоке OPTIMIZE.
Результаты процесса оптимизации отображаются в окне прогресса.
В графическом окне можно видеть новый переходный процесс с оптимизированными параметрами регулятора (толстая линия), а также переходные процессы, построенные на предыдущих итерациях (тонкие линии).
Результаты моделирования системы с настроенным регулятором показаны ниже.
Int_13h
Еще с первой статьи вопрос возник, поясните такой момент, непонятный для меня. Вот двигатель с номинальным напряжением 24В, а при пуске без регулятора у Вас напряжение на якоре раз! и 150 В. Откуда они берутся?