Меню

Нечеткий пид регулятор matlab



Simulink

Работы-участники конкурса Simulink-моделей.

Исследование систем автоматического управления, классическую — одноконтурную, а также интеллектуальную с fuzzy-регулятором.

Котляров Роман Витальевич студент 5-го курса КемТИПП

Ямпольский Андрей Александрович программист каф. АПП и АСУ КемТИПП

В последние годы в системы автоматизации технологических процессов и производств начали активно внедряться модели, методы и технические средства, основанные на теории нечетких множеств. Широкому распространению fuzzy -систем управления в немалой степени способствует програм­мная система MATLAB, в составе которой имеется пакет программ по fuzzy -логике. Fuzzy Logic Toolbox позволяет создавать и редактировать fuzzy -системы управления с нечеткой логикой, называемые в терминах програм­мной системы MATLAB — Fuzzy Inference System или FIS. Эти системы можно создавать, используя как графические инструменты, так и команды рабочего окна MATLAB.

Кроме того, система MATLAB включает в себя пакет моделирования динамических систем Simulink, который в свою очередь позволяет при помощи стандартных блоков, входящих в его библиотеку, сформировать одноконтурную или многоконтурную систему автоматики с аналоговым или fuzzy-регулятором.

Смоделируем схему одноконтурной системы автоматического регулирования с аналоговым ПИД-регулятором в обратной связи (рисунок 1). Заметим, что все исследования проводятся при единичном ступенчатом воздействии.

Рисунок 1. Модель одноконтурной системы автоматического регулирования.

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

Передаточная функция ПИД-регулятора имеет вид:

Значения параметров настройки ПИ-регулятора для данного объекта следующие: P=0.388, I=1/TИ=0.323. Значения параметров настройки ПИД-регулятора для данного объекта следующие: P=1.093, I=1/TИ =0.86, D=TД=0.209. Параметры рассчитаны с помощью метода расширенных частотных характеристик. Блок PID-controller представляет собой подсистему, то есть он образован при помощи более простых блоков системы. Внутренняя структура данного блока представлена на рисунке 2.

Читайте также:  Реле регулятор муравей переделка схема

Рисунок 2. Внутренняя структура блока PID-controller.

Библиотека системы Simulink содержит блок fuzzy-регулятора. Сформируем модель одноконтурной системы автоматического регулирования с использованием данного блока, причём реализуем ПИ-закон регулирования. Для формирования входных сигналов по аналогии с блоком аналогового регулятора используем блок Integral (рисунок 3). Для каждой составляющей сигнала ПИ-регулятора заданы соответствующие коэффициенты. Таким же способом можно задать коэффициенты для входов fuzzy-регулятора, используя блок Gain (усилитель). Причём значения параметра Gain блоков Gain в линиях пропорциональной и интегральной составляющих сигнала соответствуют P и I настройкам аналогового ПИ-регулятора (т. е. 0.388 и 0.323). Однако количественное задание составляющих сигнала при помощи блоков Gain не рекомендуется использовать, поскольку это загромождает схему. Поэтому задают диапазоны изменения переменных непосредственно при синтезе нечёткой системы.

Рисунок 3. Модель одноконтурной системы автоматического регулирования с ПИ-подобным fuzzy-регулятором.

Теперь при помощи инструментов графического интерфейса пользователя (GUI) пакета «Fuzzy Logic Toolbox» создадим нечёткую систему, реализующую типовой аналоговый ПИ-регулятор. Заметим, что с помощью пакета «Fuzzy Logic Toolbox» можно строить нечеткие системы двух типов — Мамдани и Сугэно. Остановимся на системе типа Мамдани. Командой fuzzy в окне MATLAB вызываем окно Редактора фази-инференционной системы (Fuzzy Inference System Editor), выбираем тип системы — Мамдани, задаём два входа — для пропорциональной и интегральной составляющих и называем входные переменные, например, x1 и x2, а выходную — y.

Из данного окна вызываем окно Редактора функций принадлежности (Membership Function Editor) двойным щелчком мыши по изображению переменной x1 или при помощи меню Edit. Здесь для лингвистического описания каждой переменной выберем семь треугольных термов (NB,NM,NS,ZE,PS,PM,PB). Термы выходной переменной лучше выбирать непересекающимися. Это повысит чёткость регулирования. В этом же окне зададим диапазоны изменения переменных:

Читайте также:  Регулятор наклона сидения приора

Для входных переменных регулятора рекомендуются симметричные диапазоны изменения, при этом и , то есть и ;

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

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

можно заменить близким по стратегии и логике управления fuzzy-регулятором, если в качестве его выходной переменной рассматривать приращение управляющего воздействия Δy. Тогда закон регулирования (*) можно представить в следующей дифференциальной форме:

или в разностной форме:

Таким образом, для входных переменных ε(k) и Δε(k) и выходной Δy(k) может быть синтезирован fuzzy-регулятор, реализующий нелинейный закон

и эквивалентный в определённом смысле ПИ-регулятору.

Для нашего случая x1 соответствует сигналу рассогласования ε(k), x2 соответствует приращению сигнала рассогласования Δε(k), а y соответствует Δy(k). Лингвистические правила для такого ПИ-подобного fuzzy-регулятора приведены в таблице 1.

Таблица 1. Лингвистические правила для такого ПИ fuzzy-регулятора

Источник

Нечеткий ПИД-регулятор

Пытаюсь реализовать фаззи-ПИД-контроллер под FuzzyLogicToolbox .
Собрал САР температуры воздуха в сушильной камере,включающую в себя датчик температуры и возмущающее воздействие — наружную температуру.
При применении ПИД-регулятора — система работает, но когда заменяю его на фаззи-регулятор (ПИД-типа: пытался как адаптивный фаззи-ПИД сделать и отдельно фаззи-ПИД) брал пример правил и образца тут — http://matlab.exponenta.ru/simulink/book3/6.php и тут http://file.scirp.org/pdf/JSBS. 351922.pdf ) система не работает.

Читайте также:  Регуляторы среды при флотации

Не могли бы, пожалуйста, подсказать из-за чего не получается реализовать данный фаззи-ПИД?
Кто может помочь разобраться отдельно с фаззи за небольшое вознаграждение, так же прошу, пожалуйста, написать в ЛС.
Файлы прилагаю.

Спасибо за участие.

Вложения

model.rar (12.6 Кб, 20 просмотров)

Нечеткий регулятор
Всем привет. Столкнулся с проблемой создания нечеткого ПД-регулятора. С П-регулятором все ясно.

Нечеткий регулятор
Всем привет! Прошу не судить строго я студент и столкнулся с такой проблемой в матлабе. Мне нужно.

ПИД-регулятор
Само задание: В Simulink построить передаточную функцию в соответствии с вариантом и настроить.

Правильно ли собран ПИД-регулятор
Доброго времени суток, собирал схему в Simulink и возникла потребность в собранную схему поставить.

Источник