Упрощение процесса настройки ПИД-регулятора

Опубликовано в номере:
PDF версия
В статье описывается метод, который упрощает и улучшает процесс проектирования ПИД-регуляторов. В качестве примера используется четырехзвенный шарнирный механизм. Этот метод основан на использовании блоков PID-Controller в Simulink и на алгоритме настройки ПИД в интерфейсе Simulink Control Design.

Настройка ПИД-регулятора на первый взгляд кажется простой операцией, ведь требуется определить значения всего трех коэффициентов усиления: пропорциональной, интегральной и дифференциальной составляющих. Но на практике определение набора коэффициентов усиления, обеспечивающих наилучшую работу замкнутой системы, представляет собой сложную задачу. Традиционно ПИД-регуляторы настраивают вручную или с помощью формализованных итеративных процедур. Ручные методы отнимают много времени, а если они применяются к реальному оборудованию, то возможно его повреждение. Формализованные итеративные процедуры не всегда совместимы с неустойчивыми объектами, объектами высокого порядка, а также с объектами с малой постоянной времени. При работе с ПИД-регулятором также необходимо решать такие задачи проектирования, как дискретизация по времени и масштабирование для арифметики с фиксированной точкой.

 

Четырехзвенный шарнирный механизм: синтез системы управления

Четырехзвенный шарнирный механизм (рис. 1) имеет широкий спектр применения. Например, он используется в подвеске автомобилей, исполнительных механизмах роботов и шасси самолетов.
Система управления состоит из двух контуров: контура прямой связи и ПИД-регулятора в контуре управления обратной связи. Регулятор управления прямой связи инвертирует динамику объекта — он обрабатывает основное движение механизма, учитывая нелинейные характеристики. ПИД-регулятор в контуре обратной связи минимизирует ошибки позиционирования с учетом погрешностей моделирования и внешних возмущений. В этой статье основное внимание уделяется разработке ПИД-регулятора в контуре управления с обратной связью.

Четырехзвенный шарнирный механизм (неподвижный нижний рычаг выделен синим цветом)

Рис. 1. Четырехзвенный шарнирный механизм (неподвижный нижний рычаг выделен синим цветом)

При наличии расхождения между желаемым и фактическим углом поворота одного из рычагов ПИД-регулятор получает сигнал ошибки и формирует корректирующее управление крутящим моментом (рис. 2). Это корректирующее управление суммируется с заданием по крутящему моменту, формируемым регулятором прямой связи, и суммарный сигнал используется для управления электродвигателем постоянного тока, который вращает шарнир, соединяющий рычаги. Регулятор должен стабилизировать работу объекта. Он также должен обеспечить малое время отклика и небольшое перерегулирование. Поскольку регулятор будет реализован в 16-разрядном процессоре для обработки данных в арифметике с фиксированной точкой, необходимо применять дискретизацию по времени, а коэффициенты усиления и рассчитываемые сигналы должны иметь соответствующие диапазоны значений.

Архитектура регулятора четырехзвенного шарнирного механизма

Рис. 2. Архитектура регулятора четырехзвенного шарнирного механизма

 

Синтез замкнутой системы и настройка регулятора

Состоящая из четырех рычагов модель механизма моделируется в SimMechanics, а двигатель постоянного тока моделируется в SimElectronics. Для создания архитектуры регулятора, показанной на рис. 2, следует добавить блок ПИД-регулятора с дискретизацией по времени из библиотеки Simulink Discrete. Теперь, когда система управления с обратной связью создана, можно перейти к настройке регулятора.

Для этого требуется открыть диалоговое окно блока PID Controller («ПИД-регулятор»), указать период дискретизации и нажать кнопку Tune («Настройка»). Откроется окно PID Tuner (рис. 3).

Окно настройки PID Tuner, открытое с помощью диалогового окна блока

Рис. 3. Окно настройки PID Tuner, открытое с помощью диалогового окна блока

Интерфейс настройки Simulink Control Design линеаризует объект в текущей рабочей точке и строит линейную модель объекта с постоянными параметрами (LTI), с которой взаимодействует блок ПИД-регулятора в замкнутом контуре управления. Вычислительная задержка, связанная с дискретизацией сигнала, учитывается автоматически. Используя метод автоматической настройки, интерфейс Simulink Control Design вычисляет первоначальные коэффициенты усиления ПИД-регулятора. Этот метод не накладывает никаких ограничений на порядок объекта или постоянную времени, причем он работает в областях как непрерывного, так и дискретного времени.

Первоначальные параметры, рассчитанные PID Tuner

Рис. 4. Первоначальные параметры, рассчитанные PID Tuner

На рис. 4 показана реакция на ступенчатое воздействие в рабочей точке замкнутой системы с первоначальными коэффициентами ПИД-регулятора. Если регулятор работает удовлетворительно, следует нажать кнопку Apply («Применить»), чтобы обновить значения коэффициентов усиления P, I, D и N в диалоговом окне блока PID Controller («ПИД-регулятор»). Затем можно проверить работу системы, моделируя нелинейности и контролируя результаты (рис. 5). Также можно произвести настройку в интерактивном режиме с помощью ползунка, увеличивая или понижая быстродействие регулятора (рис. 4).

Результаты моделирования модели четырехзвенного шарнирного механизма

Рис. 5. Результаты моделирования модели четырехзвенного шарнирного механизма

 

Подготовка к реализации

Для подготовки к реализации в 16-разрядном микропроцессоре регулятор масштабируют для расчета в арифметике с фиксированной точкой, которая поддерживается процессором.

Используя вкладку Data Types («Типы данных») в диалоговом окне блока, следует выбрать параметры, необходимые для расчетов в арифметике с фиксированной точкой (рис. 6). Можно получить эти параметры автоматически с помощью инструмента Fixed-Point Tool в Simulink. Затем следует выполнить моделирование с использованием типов данных в арифметике с фиксированной точкой и убедиться, что результаты расчетов в фиксированной точке близки к результатам, полученным для модели регулятора в плавающей точке.

Настройки типов данных для реализации ПИД-регулятора в 16-разрядном процессоре в арифметике с фиксированной точкой

Рис. 6. Настройки типов данных для реализации ПИД-регулятора в 16-разрядном процессоре в арифметике с фиксированной точкой

 

Генерация выполняемого кода

Когда ПИД-регулятор готов к реализации, последним шагом становится использование расширения Embedded Coder для автоматической генерации кода на языке Cи (рис. 7). Для проверки этого кода мы заменили блок ПИД-регулятора сгенерированным кодом на языке Си и запустили этот код в модели с обратной связью. Для этого можно использовать расширение Embedded Coder и автоматически создать блок Simulink, который исполняет сгенерированный код на Cи.

Код на языке Cи для реализации 16-разрядного ПИД-регулятора, поддерживающего арифметику с фиксированной точкой. Этот код сгенерирован из блока PID Controller («ПИД-регулятор»)

Рис. 7. Код на языке Cи для реализации 16-разрядного ПИД-регулятора, поддерживающего арифметику с фиксированной точкой. Этот код сгенерирован из блока PID Controller («ПИД-регулятор»)

Теперь можно запустить моделирование, используя автоматически сгенерированный код на Си. Этот же код будет работать и на реальном процессоре. Моделирование показывает, что сгенерированный код дает результаты, точно соответствующие результатам, полученным при использовании блока ПИД-регулятора в плавающей точке (рис. 8). Теперь можно реализовать этот код на процессоре и начать контролировать наш четырехзвенный шарнирный механизм в режиме реального времени.

Результаты моделирования, сравнение работы сгенерированного кода на языке Си в фиксированной точке с работой блока ПИД-регулятора в плавающей точке

Рис. 8. Результаты моделирования, сравнение работы сгенерированного кода на языке Си в фиксированной точке с работой блока ПИД-регулятора в плавающей точке

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *