Настройте ПИД-регулятор в режиме реального времени Используя блок автотюнера ПИДа разомкнутого контура

В этом примере показано, как использовать блок Open-Loop PID Autotuner, чтобы настроить ПИ-контроллер для системы управления скорости вращения двигателя и во времени симуляции и в реальное время.

Блок автотюнера ПИДа разомкнутого контура

Блок Open-Loop PID Autotuner позволяет вам настраивать одноконтурный ПИД-регулятор в режиме реального времени. Это проводит эксперимент разомкнутого контура, который вводит сигналы возмущения к объекту и вычисляет коэффициенты ПИД на основе частотных характеристик объекта, оцененных около желаемой полосы пропускания.

Блок Open-Loop PID Autotuner поддерживает два типичных настраивающих сценария ПИДа в режиме реального времени приложения.

  1. Разверните блок на оборудовании и используйте его в автономном приложении реального времени без присутствия Simulink®.

  2. Разверните блок на оборудовании, но контролируйте и справьтесь с настраивающим процессом в реальном времени в Simulink, с помощью режима external mode. Режим external mode позволяет связь между Диаграммой Simulink, работающей на хосте - компьютере и сгенерированным кодом, работающим на оборудовании.

Этот пример фокусируется на втором сценарии, где блок Open-Loop PID Autotuner используется, чтобы настроить систему управления скорости вращения двигателя в режиме реального времени с помощью режима external mode.

Модель скорости вращения двигателя

Модель Simulink содержит блок PID, блок Open-Loop PID Autotuner и модель механизма.

mdl = 'scdspeedctrlOnlinePIDTuning';
open_system(mdl)

ПИ-контроллер имеет начальные усиления P = 0.01 и я = 0.01, предоставленный внешне блоку PID через импорт "P" и "I". При наличии внешнего P и я получаю, позволяет вам изменять их после того, как новые усиления вычисляются блоком Open-Loop PID Autotuner.

Блок Open-Loop PID Autotuner вставляется между блоком PID и моделью механизма. Запустить/остановить сигнал используется, чтобы запустить и остановить эксперимент разомкнутого контура. Когда никакой эксперимент не запускается, блок Open-Loop PID Autotuner ведет себя как блок усиления единицы, куда сигнал "u" непосредственно передает "u +Δu". Когда эксперимент заканчивает, коэффициенты ПИД мелодий блока и выводит их в "изодромных с предварением усилениях" порт.

Существует несколько важных соображений при использовании блока Open-Loop PID Autotuner с физическим объектом в режиме реального времени.

  • Объект должен быть асимптотически устойчивым, потому что эксперимент разомкнутого контура проводится во время настраивающего процесса. Если ваш объект имеет один интегратор, можно все еще использовать блок путем выбора not to estimate the plant DC gain. Однако в обоих случаях необходимо тесно контролировать поведение объекта во время настраивающего процесса и вмешаться быстро, если объект становится слишком близким к нежелательным условиям работы.

  • Чтобы помочь оценить частотные характеристики объекта более точно в режиме реального времени, должно быть воздействие минимальной нагрузки, происходящее во время настраивающего процесса. Блок ожидает объект, о котором выход, чтобы быть ответом на введенное возмущение сигнализирует только, и воздействие загрузки искажает этот выход.

  • "Режим отслеживания" (импорт TR) в блоке PID включен, который позволяет блоку PID отследить действительный вход объекта "u +Δu" во время настраивающего процесса. Эта функция должна всегда использоваться, чтобы обеспечить передачу bumpless, когда круг замкнут и управление резюме блока PID после того, как настраивающий процесс завершается.

Сконфигурируйте блок автотюнера ПИДа разомкнутого контура

После соответствующего соединения блока Open-Loop PID Autotuner с моделью объекта управления и блока PID, откройте диалоговое окно блока и задайте настройки настройки и эксперимента.

На вкладке Tuning существует две основных настраивающих настройки.

  • Целевая полоса пропускания: Определяет, как быстро вы хотите, чтобы контроллер ответил. В этом примере выберите 2 рад/секунда, потому что желаемое время нарастания составляет 1 секунду.

  • Целевой запас по фазе: Определяет, как устойчивый вы хотите, чтобы контроллер был. В этом примере выберите значение по умолчанию 60 градусов, которое приводит приблизительно к 5%-му перерегулированию в целом.

На вкладке Experiment существует две основных настройки эксперимента.

  • Амплитуды синуса: Задает амплитуды введенных синусоид. В этом примере выберите 0.1 для всех четырех синусоид, части номинального входа объекта 9. Во время настраивающего процесса объект вывел, варьируется между 1900 и 2 100 об/мин, который является о +/-5% номинального объекта выход 2 000. Цель состоит в том, чтобы сохранить работу объекта около номинальной рабочей точки, чтобы избежать захватывающего нелинейного поведения объекта.

  • Амплитуда шага: Задает амплитуду введенного сигнала шага. В этом примере выберите 0.1 также. Если объект имеет один интегратор, вы не должны оценивать усиление DC. В этом случае очистите Оценочное усиление DC параметром сигнала шага. В результате никакой сигнал шага не введен к объекту.

Симулируйте блок автотюнера ПИДа разомкнутого контура в режиме normal mode

Если вам создали модель объекта управления в Simulink, рекомендуется симулировать блок Open-Loop PID Autotuner против модели объекта управления в режиме normal mode перед использованием блока в режиме external mode для настройки в реальном времени. Симуляция помогает вам идентифицировать проблемы в связи сигнала и настройках блока так, чтобы можно было настроить их прежде, чем сгенерировать код.

sim(mdl);

В этом примере опорный сигнал скорости вращения двигателя идет от 2 000 до 3 000 об/мин и затем обратно к 2 000 об/мин за первые 20 секунд. Исходные усиления P = 0.01 и я = 0.01 вызываю сильное колебание в переходном процессе и должен быть повторно настроен.

В 20 секунд объект запускается в номинальной рабочей точке 2 000 об/мин, и онлайновая настройка ПИДа запускается. Длительность эксперимента составляет 50 секунд, потому что консервативная инструкция предполагает, что требуется приблизительно 100/полос пропускания секунд для онлайновой оценки частотной характеристики, чтобы сходиться.

Когда настройка ПИДа останавливается в 70 секунд, новые усиления P = 0.0026, и я = 0.0065 сразу доступен в "изодромных с предварением усилениях" выходной порт и отправленный во внешний P, и я портирую блока PID, перезаписывая исходные усиления. Нет почти никакого удара в переходном процессе, когда круг замкнут и управление резюме блока PID.

Опорный сигнал скорости вращения двигателя идет от 2 000 до 3 000 об/мин и затем обратно к 2 000 об/мин снова между 80 и 100 секундами. Новые усиления PI обеспечивают намного лучший ответ с обратной связью.

Используя блок автотюнера ПИДа разомкнутого контура в режиме external mode

Чтобы настроить ПИ-контроллер против физического механизма в режиме external mode, вы заменяете раздел Engine Model в модели Simulink с блоками аппаратного интерфейса, которые обеспечивают измерение об/мин как "y" и отправляют угол дросселя в привод как "u".

Как пример, следующая схема Simulink сконфигурирована, чтобы настроить режим external mode, приняв, что ваш ПИ-контроллер работает на плате Arduino® DUE и связывается с вашим физическим механизмом через последовательные порты.

Чтобы сделать исходную работу модели в режиме external mode, следующие изменения были внесены (в порядке) к исходной модели Simulink.

  1. Имейте хост - компьютер, который запускает Simulink и связывается с платой DUE Arduino через USB-соединение.

  2. Установите Пакет поддержки Simulink для программного обеспечения Arduino Hardware. Необходимо установить различный пакет аппаратной поддержки, если оборудование отличается.

  3. В диалоговом окне Параметров конфигурации, в панели Решателя, выбирают тип решателя "Fixed-Step". В панели Аппаратной реализации выберите аппаратную плату "Arduino DUE".

  4. Замените раздел модели механизма в исходной модели с двумя блоками последовательного интерфейса. В режиме реального времени блок Open-Loop PID Autotuner, работающий на плате Arduino, собирает объект выход из блока Serial Receive (от датчика) и отправляет сигналы эксперимента в механизм с помощью блока Serial Transmit (на привод).

  5. Для большей гибкости в режиме реального времени операция, запустите и остановите настраивающий процесс путем зеркального отражения руководства, "Настраивающего Переключатель" вместо на основе часов симуляции. Точно так же обновите коэффициенты усиления PI путем зеркального отражения "Переключателя Усиления" и измените опорный сигнал путем зеркального отражения "Касательно Переключателя".

  6. Выберите "External Mode" в модели Simulink и времени симуляции набора к "бесконечному".

Запустите симуляцию. Во-первых, Simulink генерирует код для целой модели и загружает его на плату DUE Arduino. После того, как программа начинает работать на плате, можно контролировать ввод и вывод объекта от осциллографа в режиме реального времени. Когда объект достигнет номинальной рабочей точки 2 000 об/мин, используйте три ручных переключателя, чтобы настроить, обновить, и подтвердить контроллер.

Уменьшайте память и избегайте задачи, превышенной в режиме external mode

На вкладке Block, Уменьшать памяти и избегают превышенной задачи (только режим external mode), опция может помочь развернуть сгенерированный код на оборудовании с ресурсами ограниченной памяти или очень быстрым шагом расчета.

Если ваше оборудование имеет низкую память на борту, используйте эту опцию при настраивании режима external mode. При использовании этой опции Simulink только генерирует код для онлайновой функциональности оценки частотной характеристики. Поскольку никакой код не развертывается для функциональности проекта ПИДа, результатом является уменьшаемое использование памяти на оборудовании. В этом случае, после того, как оценка сделана, коэффициенты ПИД вычислены в Simulink на хосте - компьютере и затем переданы обратно в блок автотюнера.

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

bdclose(mdl)

Смотрите также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте