В данной статье рассмотрим процесс настройки регулятора нелинейной модели электропривода с помощью инструмента Response Optimizer.


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


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


Сегодня рассмотрим систему, где вместо идеального датчика скорости используется инкрементальный энкодер. Он формирует три цифровых сигнала A, B и Z, на основе которых определяются угловое положение и скорость объекта управления.


Настройка регулятора системы, включающей как цифровую, так и непрерывную часть, не может осуществляться с помощью инструментов, работающих с линеаризуемыми моделями (PID Tuner). В таком случае на помощь приходят численные методы.


Модель системы


Ниже показана модель рассматриваемой системы.



Помимо уже знакомых подсистем электропривода, нагрузки и регулятора скорости, она включает в себя:


  • датчик скорости (подсистема Sensor),



  • функцию обработки сигналов от энкодера, реализуемая в цифровом вычислителе (подсистема Incremental shaft decoder)




Все параметры системы приведены в первой части. Разрешение энкодера составляет 256 имп/об.


Результаты моделирования до настройки регулятора ($W_{р}(s) = 1$) приведены ниже.





Пусть реакция системы на единичный импульс должна соответствовать следующим требованиям:


  • перерегулирование (Overshoot) не более 8%,
  • время нарастания (Rise time) менее чем 0.3 с,
  • время переходного процесса (Settling time) менее чем 0.85 с.

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


Настраиваем контроллер


Приложение Response Optimizer располагается во вкладке APPS окна модели Simulink, в разделе CONTROL SYSTEMS.


Поскольку инструмент использует численные методы оптимизации, во время процесса расчет модели будет выполняться многократно. Поэтому перед настройкой в блоке SIMULATE окна модели активируем опцию Fast Restart для уменьшения времени, затрачиваемого на эти действия.


Настройка регуляторов осуществляется в соответствии со следующим алгоритмом:


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


    В качестве начальных приближений в нашем случае можно взять настроенные значения регулятора из первой части.



  2. Записываем переменные в соответствующие поля в окне параметров блока PID Controller.



  3. Открываем инструмент Response Optimizer. Слева в разделе Model Workspace на панели Data Browser показаны созданные ранее переменные.


  4. Определяем список оптимизируемых параметров. Для этого нажимаем на кнопку None редактируемого поля Design Variables Set.



    В выпадающем меню нажимаем New.... В правом списке открывшегося окна Create Design Variables Set расположены переменные модели, а в левом — параметры для оптимизации. Выделяем переменные и нажимаем на кнопку со стрелкой, расположенной между двумя списками, для переноса их в левый список.


    Опционально можно указать границы диапазоны оптимизируемых параметров в столбцах Minimum и Maximum.



  5. Выбираем задачу оптимизации. В блоке REQUIREMENTS нажимаем на кнопку New и в выпадающем меню в разделе TIME-DOMAIN REQUIREMENTS выбираем опцию Step Response Envelope.



  6. Задаем характеристики требуемого переходного процесса в появившемся окне в разделе Specify Step Response Characteristics.



  7. Задаем сигнал, к которому предъявляются требования по переходному процессу. В разделе Select Signals to Bound нажимаем на кнопку с плюсом рядом со списком. Переходим в модель и выбираем необходимый сигнал. В нашем случае сигнал Speed. Возвращаемся в окно инструмента. В левом списке открывшегося окна Create Signal Set выбираем сигнал и нажимаем на кнопку со стрелкой. Завершаем выбор сигналов нажатием ОК.



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


    В разделе Data на панели Data Browser расположены три переменные: DesignVars содержит информацию о списке оптимизированных параметров, Sig — свойства выбранного сигнала и StepRespEnvelope — информацию о требованиях к переходному процессу.


    Построим переходный процесс до настройки регулятора. Для этого выбираем переменную Sig и нажимаем на кнопку Plot Model Response, расположенную в блоке PLOTS.



    Видно, что переходный процесс не удовлетворяет поставленным требованиях.


  8. Оптимизируем параметры регулятора. Выбираем переменную DesignVars и нажимаем на кнопку с зеленым треугольником в блоке OPTIMIZE.


    Результаты процесса оптимизации отображаются в окне прогресса.



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




Результаты моделирования системы с настроенным регулятором показаны ниже.