Пид регулятор программная реализация. Дополнительная информация

Пид регулятор программная реализация. Дополнительная информация

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

ПИД-регулирование

Значительно улучшить точность регулирования можно применением ПИД-закона (Пропорционально-Интегрально-Дифференциальный закон регулирования).
Для реализации ПИД-закона используются три основные переменные:
P – зона пропорциональности, %;
I – время интегрирования, с;
D – время дифференцирования, с.
Ручная настройка ПИД-регулятора (определение значений параметров Р, I, D), обеспечивающая требуемое качество регулирования, достаточно сложна и на практике редко используется. ПИД-регуляторы серии UT/UP обеспечивают автоматическую настройку ПИД-параметров под конкретный процесс регулирования, сохраняя при этом возможность их ручной корректировки.

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

сигнал управления = 100/P E,

где E – рассогласование.
Коэффициент пропорциональности (усиления) К является величиной обратнопропорциональной Р:

Зона пропорциональности определяется относительно заданной уставки регулирования, и внутри этой зоны сигнал регулирования изменяется от 0 до 100%, т. е. при равенстве действительного значения и уставки выходной сигнал будет иметь значение 50%.

где Р – зона пропорциональности;
ST – уставка регулирования.
Например:
диапазон измерения 0…1000 °С;
уставка регулирования ST = 500 °С;
зона пропорциональности P = 5%, что составляет 50 °С (5% от 1000 °С);
при значении температуры 475 °С и ниже управляющий сигнал будет иметь величину 100%; при 525 °С и выше – 0%. В диапазоне 475…525 °С (в зоне пропорциональности) управляющий сигнал будет изменяться пропорционально величине рассогласования с коэффициентом усиления К = 100/Р = 20.
Уменьшение значения зоны пропорциональности Р увеличивает реакцию регулятора на рассогласование, т. е. малому рассогласованию будет соответствовать большее значение управляющего сигнала. Но при этом, из-за большого усиления, процесс принимает колебательный характер около значения уставки, и точного регулирования добиться не удастся. При излишнем увеличении зоны пропорциональности регулятор будет слишком медленно реагировать на образующееся рассогла­сование и не сможет успевать отслеживать динамику процесса. Для того, чтобы компенсировать эти недостатки пропорционального регулирования, вводится дополнительная временная характеристика – интегральная составляющая.

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

сигнал управления = 100/P E + 1/I ∫ E dt.

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

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

сигнал управ. = 100/P E + 1/I ∫ E dt + D d/dt E.

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

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

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

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


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


ПИД-регулятор - пропорционально-интергально-дифференциальный регулятор. ПИД-регулятор состоит соответственно из пропорционального (К п ), интегрального (К и / s ) и дифференциального (К д s ) звена, у каждого из них свой коэффициент усиления (рис. 1).

Рис. 1. Структурная схема системы управления с ПИД-регулятором.

Здесь: s - оператор Лапласа (иногда его обозначают, как p ). Если абстрагироваться от преобразований Лапласа, то записи К п, К и / s и К д s следует воспринимать лишь как обозначения соответствующего звена, а не как к математическое выражение. И уж точно не стоит искать значение s , потому что, как уже было сказано, это оператор, а не переменная.


В системе с ПИД-регулятором реальная скорость V(t) двигателя измеряется с помощью датчика .

На вход системы поступает заданное значение скорости V зад (t) в тех же единицах, что и реальная скорость.

Сумматор обратной связи вычитает из сигнала задания на скорость V зад (t) сигнал реальной скорости V(t) и формирует на выходе сигнал ошибки e (t):

Сигнал ошибки поступает на пропорциональное , интегральное и дифференциальное звенья ПИД-регулятора.

Пропорциональное звено производит умножение сигнала ошибки e на коэффициент K п и формирует выходной сигнал y п .

Интегральное звено производит интегрирование сигнала e (t) по времени, умножает на коэффициент K и и формирует выходной сигнал y и .

Дифференциальное звено производит дифференцирование сигнала ошибки по времени e (t) , умножения результата на число K д и формирование выходного сигнала y д .


Сумматор ПИД-регулятора суммирует сигналы y п (t) , y и (t) и y д (t) и формирует выходной сигнал y(t) :

ШИМ и силовой ключ предназначены для передачи на двигатель рассчитанного выходного сигнала y(t) .

Расчет коэффициентов ПИД-регулятора

Не сложно заметить, что ПИД-регулятор характеризуется тремя коэффициентами K п , K и и К д . Для расчета этих коэффициентов необходимо знать параметры объекта управления, в данном случае двигателя.


Структура и параметры объекта управления

С точки зрения теории автоматического управления двигатель постоянного тока приближенно описывается: двумя апериодическими звеньями с электрической постоянной времени T э и механической постоянной времени Т м . Общий коэффициент усиления двигателя K дв (рис. 2). На самом деле, структурная схема двигателя намного сложнее, но нам это в данном случае не так важно.





Рис. 2. Структурная схема двигателя с точки зрения теории автоматического управления.

Передаточная функция двигателя , записанная через оператор Лапласа s , следующая:

Коэффициент усиления двигателя K дв определяет пропорциональность между скоростью вращения вала двигателя на холостых оборотах и поданным на вход напряжением. Проще говоря, коэффициент равен отношению скорости холостого хода V хх и номинального напряжения двигателя U н .

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

Если для формирования напряжения на двигателе используется 7-битный ШИМ (см. ниже), то для расчета K дв величина номинального напряжения равна 128 условных единиц напряжения.

Скорость холостого хода w хх , заданную в паспортных данных двигателя, следует перечитать в условные единицы скорости V хх , определяемые способом реализации датчика скорости.


Например, пусть для измерения скорости используется инкрементный датчик, расположенный на валу двигателя, и имеющий 512 меток на оборот. Пусть скорость в условных единицах измеряется как количество меток за такт расчета D t . Пусть такт расчета, полученный путем оценки производительности алгоритма будет равен 0.001 сек. Пусть скорость холостого хода двигателя w хх =5000 об/ мин.

Переведем обороты двигателя в метки датчика, получаем: 5000x512 = 2560000 меток/ мин. Переведем минуты в такты расчета:

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


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

Для этого на двигатель при его номинальной нагрузки скачком подают максимальное напряжение и снимают переходной процесс изменения скорости V(t) .


Скорость снимается с датчика скорости в дискретные моменты времени, записывается в ОЗУ микропроцессора, после чего передается на персональный компьютер. Персональный компьютер восстанавливает график изменения скорости V(t) (рис. 3).




Рис. 3. Переходный процесс в двигателе постоянного тока.

По графику переходного процесса можно определить, во-первых, скорость холостого хода V хх , а во-вторых, время регулирования t р . Время регулирования определяется временем окончания переходного процесса (время, когда кривая переходного процесса отличается меньше чем на 1% от установившегося значения).


Если пренебречь небольшим влиянием электрической постоянной времени T э , обычно на порядок меньшей, чем механическая постоянная времени T м , то переходной процесс в двигателе постоянного тока можно считать апериодическим с постоянной T м .


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

Отсюда для нашего случая получаем:

В нашем случае время регулирования t р , судя по графику, равно 1.5 сек. Тогда механическая постоянная времени T м = 1.5/5 = 0.3 сек.

Таким образом, построив график переходного процесса, мы находим механическую постоянную времени T м.


Электрическая постоянная времени T э определяет инерционность намагничивания якоря двигателя и равняется отношению индуктивности якоря двигателя к сопротивлению его обмотки:

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

Для большинства двигателей это справедливо.

Расчет коэффициентов ПИД-регулятора.

Чтобы рассчитать коэффициенты ПИД-регулятора следует решить обратную задачу динамики. Для этого абстрагируемся от ПИД-регулятора. Будем полагать, что структура регулятора, т.е. его передаточная функция W р (s) , нам неизвестна. За то известна передаточная функция объекта управления W дв (s) (рис. 4).


Рис. 4. Исходная схема для расчета регулятора для двигателя постоянного тока.

Запишем передаточную функцию замкнутой системы W з (s) :


Определим, какой переходной процесс в системе нас бы устроил? Нас вполне устраивает апериодический переходный процесс в системе. Именно так система должна реагировать на изменение скорости и нагрузки.

Пусть желаемая постоянная времени переходного процесса T ж будет примерно равна T м . Т.е. передаточная функция желаемой системы W ж (s ) равна:

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

Путем простых математических преобразований, выразим отсюда выражение для передаточной функции регулятора W р (s) :

Подставим значение W дв (s):




Введем коэффициенты:

Получаем:

Не сложно заметить, что мы получили просто коэффициент C 1 , коэффициент перед интегральным звеном С 2 и коэффициент перед дифференцирующим звеном C 3 . Т.е. мы получили классическую структуру ПИД-регулятора с параметрами K п =С 1 , К и =C 2 и K д =C 3 :

Реализация ПИД-регулятора на цифровом микропроцессоре

Системы с ПИД-регуляторами в настоящее время реализуются только цифровыми, а расчет законов управления выполняется дешевыми микропроцессорами серии AVR или MCS -51. Заметим, что микропроцессоры целочисленные и не поддерживают операций с плавающей запятой. Это требует от программиста соответствующей адаптации алгоритмов.


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


Скорость может измеряться следующими датчиками:

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


Сумматор обратной связи вычитает из заданной скорости V зад реальную скорость V и получает, так называемый, сигнал ошибки e :

Учитывая, что скорость V зад и V являются целыми числами в пределах -127 до 127, на целочисленном микропроцессоре эта операция реализуется достаточно просто. Следует следить за тем, чтобы результат. Если e <-127 , то e =127, а если e >12 7, то e =127.


Сигнал ошибки e поступает на вход ПИД-регулятора, т.е. на пропорциональное звено, интегральное и дифференциальное.


Пропорциональное звено формирует выходной сигнал y п путем умножения мгновенного сигнала ошибки на коэффициент K п .

Коэффициент K п обычно представляет нецелое значение в диапазоне от 0.5 до 2. Поэтому для умножения целого однобайтного числа e на этот коэффициент используют таблицу K П, i , которую заранее рассчитывают:

для i =-127...127

Причем, числа в таблице учитывают ограничение на результат, который также должен получиться однобайтовым, не превышающим значение 127. Т.е., если результат умножения больше 127, то принять его равным 127, а если меньше -127, то принять его равным -127.

Программистам следует понимать, что процессор рассматривает знакового число i как беззнаковый индекс таблицы, поэтому элементы таблицы с индексами от -128 до -1 реально будут находиться в диапазоне индексов от 128 от 255.

Тогда, умножение на коэффициент K п заменяется выбором элемента таблицы K П, i с индексом e :

Таблица обычно рассчитывается на персональном компьютере и прошивается в память микропроцессора.


Интегральное звено формирует выходной сигнал y и путем интегрирования сигнала ошибки e по времени и умножения на коэффициент K и .

Здесь: T - время от начала работы.

Цифровой микропроцессор вычисляет интеграл путем пошагового интегрирования с шагом, равному такту работы таймера D t . Таким образом, для дискретного случая формула заменяется на:

Здесь k - количество тактов вычисления, прошедших от начала работы.

Рассмотрим сумму всех e k . По сути, это просто сумма всех значений e , получаемых на каждом такте. Эту сумму называют интегральной суммой S (не путать с s - оператором Лапласа). Интегральную сумму реализуют в виде глобальной переменной и на каждом такте увеличивают на текущее значение сигнала ошибки e :

При расчете ПИД-регулятора коэффициент K и обычно составляет от 0.05 до 2. Такт расчета D t составляет от 0.0001 до 0.002 сек. Таким образом, коэффициент K и D t составляет от 5·10 -6 до 4·10 - 3 . Т.к. этот коэффициент на много меньше 1, то возникает проблема целочисленного умножения на него, т.к. после умножения всегда будет получаться ноль.

Для решения этой проблемы попробуем умножить коэффициент K и D t на какое-нибудь большое число A , а интегральную сумму поделим на это же число:

Обозначим произведение K и D t · A через коэффициент B :

Выберем такое число A , кратное 256 x , чтобы коэффициент B был в диапазоне от 0.05 до 5.


Для того чтобы вычислить отношение S/A , расширим знак числа S :

    реализуем 16-битный расчет S , если A =256;

    реализуем 24-битный расчет S , если A =256 2 ;

    реализуем 32-битный расчет S , если A =256 3 .

Не сложно реализовать добавление к 16, 24 или 32-битному знаковому числу S знаковое 8-битное число e . Не забывайте, что, если e положительное, то при расширении знака старшие биты заполняются нулями, а если отрицательное, то старшие биты заполняются единицами. Для ограничения накопления интегральной суммы, реализуем верхний и нижний предел. Обычно это делается следующим образом: если старший (знаковый) бит не равен предпоследнему биту, то рост интегральной суммы следует приостановить.


Вспомним, что деление любого числа на число 256 x эквивалентно правому сдвигу на x байт вправо. Воспользуемся этим правилом. Возьмем только старший байт интегральной суммы S : в случае 16-битного счета это эквивалентно сдвигу на один байт, в случае 24-битного счета - на два байта, в случае 32-битного счета - на три байта.

Таким образом:

Где: S старший - старший байт числа S .

Умножение на коэффициент B реализуем в виде таблицы B i , аналогично расчету коэффициента пропорционального звена:


Дифференциальное звено

Дифференциальное звено производит расчет выходного сигнала y д - e 0 реализуем в виде таблицы C i , как при расчете пропорционального звена:

Сумматор ПИД-регулятора

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

При суммировании следует следить за тем, чтобы результат оказался в диапазон от -127 до +127, реализовав, например, 16-битное суммирование. Если результат больше 127, его нужно принять равным 127, а если меньше -127, то равным -127.

Сигнал ШИМ формируется микропроцессорами AVR автоматически. Один микропроцессор способен формировать до 3 аппаратных сигналов ШИМ. Кроме того, сигнал ШИМ можно формировать программно по таймеру.

Удобно формировать 7-битный ШИМ. В этом случае управляющий силовой ключ можно подключить по схеме, изображенной на рис. 4.




Рис. 4. Способ подключения силового ключа к выходу ШИМ.

Старший (знаковый) бит результата y выводится через любой I/O пин на один из входов силового ключа, а оставшиеся 7 бит (последний бит зануляется) безо всякого преобразования можно загружать в регистр формирования отсечки для ШИМ.

Докажем это.

Что и требовалось доказать.

Значительно улучшить точность регулирования можно применением ПИД-закона (Пропорционально-Интегрально-Дифференциальный закон регулирования).
Для реализации ПИД-закона используются три основные переменные:
P – зона пропорциональности, %;
I – время интегрирования, с;
D – время дифференцирования, с.
Ручная настройка ПИД-регулятора (определение значений параметров Р, I, D), обеспечивающая требуемое качество регулирования, достаточно сложна и на практике редко используется. ПИД-регуляторы серии UT/UP обеспечивают автоматическую настройку ПИД-параметров под конкретный процесс регулирования, сохраняя при этом возможность их ручной корректировки.

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

сигнал управления = 100/P E,

где E – рассогласование.
Коэффициент пропорциональности (усиления) К является величиной обратнопропорциональной Р:

Зона пропорциональности определяется относительно заданной уставки регулирования, и внутри этой зоны сигнал регулирования изменяется от 0 до 100%, т. е. при равенстве действительного значения и уставки выходной сигнал будет иметь значение 50%.

где Р – зона пропорциональности;
ST – уставка регулирования.
Например:
диапазон измерения 0…1000 °С;
уставка регулирования ST = 500 °С;
зона пропорциональности P = 5%, что составляет 50 °С (5% от 1000 °С);
при значении температуры 475 °С и ниже управляющий сигнал будет иметь величину 100%; при 525 °С и выше – 0%. В диапазоне 475…525 °С (в зоне пропорциональности) управляющий сигнал будет изменяться пропорционально величине рассогласования с коэффициентом усиления К = 100/Р = 20.
Уменьшение значения зоны пропорциональности Р увеличивает реакцию регулятора на рассогласование, т. е. малому рассогласованию будет соответствовать большее значение управляющего сигнала. Но при этом, из-за большого усиления, процесс принимает колебательный характер около значения уставки, и точного регулирования добиться не удастся. При излишнем увеличении зоны пропорциональности регулятор будет слишком медленно реагировать на образующееся рассогла­сование и не сможет успевать отслеживать динамику процесса. Для того, чтобы компенсировать эти недостатки пропорционального регулирования, вводится дополнительная временная характеристика – интегральная составляющая.

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


сигнал управления = 100/P E + 1/I ∫ E dt.

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

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

сигнал управ. = 100/P E + 1/I ∫ E dt + D d/dt E.

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

5. Передаточная функция какого звена представлена: К(р) = К/Тр



top