• Регистрация
andrewrays
andrewrays+12.77
н/д
  • Написать
  • Подписаться

Настройка ПИД-регуляторов: так ли страшен черт, как его малюют? Часть 3. Response Optimizer

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

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

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

Сегодня рассмотрим систему, где вместо идеального датчика скорости используется инкрементальный энкодер. Он формирует три цифровых сигнала 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.

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

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

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

Примечание. В некоторых случаях оптимизация не выполняется. Тогда следует изменить метод расчета параметров. Для этого нажимаем нажимаем на кнопку Options → Optimization Options и в выпадающем списке Method выбираем другой метод, отличный от метода градиентного спуска.

Теги

    07.08.2020

    Комментарии