Тип звена регулятора при нулевой ошибке управления

В данном разделе приведены описания алгоритмов работы и законы регулирования непрерывных П-, ПИ-, ПД-, ПИД-регуляторов с различными структурами выходного сигнала — аналоговым выходом, дискретным (импульсным) выходом или ШИМ-выходом (широтно импульсным модулированным сигналом).

Классификация систем автоматического регулирования (САР) приведена в таблице 1 в «Классификация систем автоматического регулирования».

Типовые регуляторы и регулировочные характеристики

Для регулирования объектами управления, как правило, используют типовые регуляторы, названия которых соответствуют названиям типовых звеньев (описание типовых звеньев представлено в разделе 2.4):

    1. П-регулятор, пропорциональный регулятор
      Передаточная функция П-регулятора: Wп(s) = K1. Принцип действия заключается в том, что регулятор вырабатывает управляющее воздействие на объект пропорционально величине ошибки (чем больше ошибка Е, тем больше управляющее воздействие Y).
    2. И-регулятор, интегрирующий регулятор
      Передаточная функция И-регулятора: Wи(s) = К0/s. Управляющее воздействие пропорционально интегралу от ошибки.
    3. Д-регулятор, дифференцирующий регулятор
      ПередаточнаяфункцияД-регулятора: Wд(s) = К2*s. Д-регуляторгенерирует управляющее воздействие только при изменении регулируемой веричины: Y= K2 * dE/dt.

      На практике данные простейшие П, И, Д регуляторы комбинируются в регуляторы вида ПИ, ПД, ПИД (см. рис.1):

Рисунок 1 — Виды непрерывных регуляторов

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

  1. ПИ-регулятор, пропорционально-интегральный регулятор (см. рис.3.18.а)
    ПИ-регулятор представляет собой сочетание П- и И-регуляторов. Передаточная функция ПИ-регулятора: Wпи(s) = K1 + K0/s.
  2. ПД-регулятор, пропорционально-дифференциальный регулятор (см. рис.3.18.б)
    ПД-регулятор представляет собой сочетание П- и Д-регуляторов. Передаточная функция ПД-регулятора: Wпд(s) = K1 + K2 s.
  3. ПИД-регулятор, пропорционально-интегрально-дифференциальный регулятор (см. рис.3.18.в)

ПИД-регулятор представляет собой сочетание П-, И- и Д-регуляторов. Передаточная функция ПИД-регулятора: Wпид(s) = K1 + K0 / s + K2 s.

Наиболее часто используется ПИД-регулятор, поскольку он сочетает в себе достоинства всех трех типовых регуляторов.

Структурные схемы непрерывных регуляторов

В данном разделе приведены структурные схемы непрерывных регуляторов с аналоговым выходом -рис.2, с импульсным выходом — рис.3 и с ШИМ (широтно импульсным модулированным) выходом -рис.4.

В процессе работы система автоматического регулирования АР (регулятор) сравнивает текущее значение измеряемого параметра Х, полученного от датчика Д, с заданным значением (заданием SP) и устраняет рассогласование регулирования E (B=SP-PV). Внешние возмущающие воздействия Z также устраняются регулятором. Работа приведенных структурных схем отличается методом формирования выходного управляющего сигнала регулятора.

Непрерывный регулятор с аналоговым выходом

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

Выход Y регулятора АР (например, сигнал 0-20мА, 4-20мА, 0-5мА или 0-10В) воздействует через электропневматический преобразователь Е/Р сигналов (например, с выходным сигналом 20-100кПа) или электропневматический позиционный регулятор на исполнительный элемент К (регулирующий орган).

Рисунок 2 — Структурная схема регулятора с аналоговым выходом

где:
АР — непрерывный ПИД-регулятор с аналоговым выходом,
SP — узел формирования заданной точки,
PV=X- регулируемый технологический параметр,
Е — рассогласование регулятора,
Д — датчик,
НП — нормирующий преобразователь (в современных регуляторах является входным устройством)
Y — выходной аналоговый управляющий сигнал Е/Р — электропневматический преобразователь,
К — клапан регулирующий (регулирующий орган).

Непрерывный регулятор с импульсным выходом

Структурная схема непрерывного регулятора с импульсным выходом приведена на рис.3.

Выходные управляющие сигналы регулятора — сигналы Больше и Меньше (транзистор, реле, симистор) через контактные или бесконтактные управляющие устройства (П) воздействуют на исполнительный элемент К (регулирующий орган).

Рисунок 3 — Структурная схема регулятора с импульсным выходом

где:
АР — непрерывный ПИД-регулятор с импульсным выходом,
SP — узел формирования заданной точки,
PV=X- регулируемый технологический параметр,
Е — рассогласование регулятора,
Д — датчик,
НП — нормирующий преобразователь (в современных регуляторах является входным устройством) ИМП — импульсный ШИМ модулятор, преобразующий выходной сигнал Y в последовательность импульсов со скважностью, пропорциональной выходному сигналу: Q=Y/100. Сигналы Больше и Меньше — управляющие воздействия,
П — пускатель контактный или бесконтактный,
К — клапан регулирующий (регулирующий орган).

Непрерывный регулятор с ШИМ (широтно импульсным модулированным) выходом

Структурная схема непрерывного регулятора с ШИМ (широтно импульсным модулированным) выходом приведена на рис.4.

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

Непрерывные регуляторы с ШИМ выходом широко применяются в системах регулирования температуры, где выходной управляющий симисторный элемент (или твердотельное реле, пускатель) воздействуют на термоэлектрический нагреватель ТЭН, или вентилятор.

Рисунок 4 — Структурная схема регулятора с ШИМ выходом

АР — непрерывный ПИД-регулятор с импульсным ШИМ выходом,
SP — узел формирования заданной точки,
PV=X- регулируемый технологический параметр,
Е — рассогласование регулятора,
Д — датчик,
НП — нормирующий преобразователь (в современных регуляторах является входным устройством) ШИМ — импульсный ШИМ модулятор, преобразующий выходной сигнал Y в последовательность импульсов со скважностью, пропорциональной выходному сигналу: Q=Y/100.
П — пускатель контактный или бесконтактный,
К — клапан регулирующий (регулирующий орган).

Согласование выходных устройств непрерывных регуляторов

Выходной сигнал регулятора должен быть согласован с исполнительным механизмом и исполнительным устройством.

В соответствии с видом привода и исполнительным механизмом необходимо использовать выходное устройство непрерывного регулятора соответствующего типа, см. таблицу 1.

Таблица 1 — Согласование выходных устройств непрерывных регуляторов

Выходное устройство непрерывного регулятора Тип выходного устройства Закон регулирования Исполнительный механизм или устройство Вид привода Регулирующий орган
Аналоговый выход ЦАП с выходом 0-5мА, 0-20мА, 4-20мА, 0-10В П-, ПИ-,ПД-, ПИД-закон Преобразователи и позиционные регуляторы электро-пневматические и гидравлические Пневматические исполнительные приводы (с сжатым воздухом в качестве вспомогательной энергии) и электропневматические преобразователи сигналов или электропневматические позиционные регуляторы, электрические (частотные привода)  
Импульсный выход Транзистор, реле, симистор П-, ПИ-, ПД-, ПИД-закон Контактные (реле) и бесконтактные (симисторные) пускатели Электрические приводы (с редуктором), в т. ч. реверсивные  
ШИМ выход Транзистор, реле, симистор П-, ПИ-, ПД-, ПИД-закон Контактные (реле) и бесконтактные (симисторные) пускатели   Термоэлектрический нагреватель(ТЭН) и др.

Реакция регулятора на единичное ступенчатое воздействие

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

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

Если на вход регулятора подается скачкообразная функция изменения заданной точки — см. рис. 5, то на выходе регулятора возникает реакция на единичное ступенчатое воздействие в соответствии с характеристикой регулятора в функции времени.

Рисунок 5 — Единичное ступенчатое воздействие скачкообразная функция изменения заданной точки регулятора

П-регулятор, реакция на единичное ступенчатое воздействие

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

Рисунок 6 — П-регулятор. Реакция на единичное ступенчатое воздействие

ПИ-регулятор, реакция на единичное ступенчатое воздействие

В отличие от П-регулятора у ПИ-регулятора, благодаря интегральной составляющей, исключается отклонение регулирования.

Параметром интегральной составляющей является время интегрирования Ти.

Рисунок 7 — ПИ-регулятор. Реакция на единичное ступенчатое воздействие

ПД-регулятор, реакция на единичное ступенчатое воздействие

У ПД-регуляторов пропорциональная составляющая накладывается на затухающую дифференциальную составляющую.

Д-составляющая определяется через усиление упреждения Уд и время дифференцирования Тд.

Рисунок 8 — ПД-регулятор. Реакция на единичное ступенчатое воздействие

ПИД-регулятор, реакция на единичное ступенчатое воздействие

Б лагодаря дополнительному подключению Д-составляющей ПИД-регулятор достигает улучшения динамического качества регулирования.

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

Рисунок 9 — ПИД-регулятор. Реакция на единичное ступенчатое воздействие

Регуляторы простым языком

Введение

Кому рекомендовано: всем, кто изучает робототехнику от полугода и испытывает трудности с применением регуляторов, а также для тех, кто хочет разобраться глубже с данным вопросом.

Рекомендуемый возраст: от 11 до 99 лет.

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

Нашим подопытным будет робот, собранный из набора Lego Mindstorms EV3. Будем учить его ездить по линии, вдоль стен, а как же выполнять другие задачи, где применяются регуляторы. Нам помогут среды программирования TrikStudio и RobotC. 

Градус сложности в данной статье от начала к концу возрастает в несколько раз, поэтому рекомендуется изучить всё постепенно, лучше даже с перерывами, а не съедать материал целиком.

Определение

Регулятор – это устройство, выполняющее задачу поддержания объекта управления в определённом состоянии. Регулятор получает информацию о состоянии объекта управления с помощью датчиков и вырабатывает управляющее воздействие для того, чтобы его корректировать.

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

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

Есть и более сложные устройства, например, в ракеты, которые регулируют направление движения с помощью множества датчиков. Гироскутеры удерживают равновесие тоже с помощью регуляторов, которые ориентируются на гироскоп и акселерометр.

Но есть и совсем простой бытовой пример – регулятор уровня воды в бачке унитаза. Принцип прост: если в бачке уровень воды ниже определённой планки — клапан открывается, если наоборот, выше – клапан закрывается. Это пример релейного двухпозиционного регулятора. С него и начнём…
 

Релейный регулятор

Релейный регулятор – это тип регуляторов, который может вырабатывать ограниченное количество вариантов (положений регулятора) движения, обычно от 2 до 4. Говоря проще – он не умеет работать плавно. Если, например, количество положений в регуляторе 2, то такой регулятор называют двухпозиционный, если 3, то трёхпозиционный и т.д.

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

image.png

Конструкция робота: тележка с танковым управлением, спереди которой есть датчик освещенности. Желательно, чтобы ведущие колёса и датчик, образовывали собой равносторонний треугольник, тогда движение будет наиболее стабильным.

image.png

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

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

Для этого мы использовали блок «если». Данный блок направляет программу по двум возможным путям. Куда пойдёт программа, вверх или вниз, зависит от того, является ли условие в блоке «если» истиной. 

Sensor1 > 50. Почему 50? Разберёмся откуда взялось это число, и почему для разных роботов оно может быть разным. 50 – это желаемое состояние, то пороговое значение, которое видит датчик, когда находится ровно между белым и черным. Давайте называть его «серым». Переход от белого к черному и наоборот, для датчика освещенности происходит не мгновенно, а по мере того, насколько много в его области действия черного или белого.  Для отладчика TrikStudio это значение всегда 50, а для реального робота оно зависит от показания датчика на белом и на чёрном, и будет являться их средним арифметическим. Например, робот видит на белом 46, а на чёрном 12. Тогда значение серого на реальном роботе будет (46+12)/2 = 29. 

image.png

Таким образом, всё что меньше серого – это черное, а всё что больше – белое. Если робот на белом, то есть условие

 «Sensor1 > 50» — истина, то следует повернуть направо, запустив левый мотор вперёд, а правый остановив. Если робот на чёрном, то есть условие ложно, то необходимо поворачивать в другом направлении. 

image.png

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

В итоге мы получаем робота, который умеет поворачивать направо и налево. Это как водитель, который выкручивает руль всегда до упора, и не может ехать прямо. 

 Усложним нашу программу, добавив третье действие – движение вперёд, и определим для него условие. Пусть робот едет вперёд, если отклонение от значения серого не превысило 5 пунктов. Предположим, что значение серого – 29. Это значит, что если значение датчика больше чем 29-5, и меньше, чем 29+5, то необходимо двигаться вперёд. Получился классический трёхпозиционный релейный регулятор. Движение вперёд позволяет быстрее преодолевать прямые участки, поскольку поворот – это остановка одно из моторов, а значит движение на повороте замедлено.

image.png

И, наконец, попробуем сделать четырёхпозиционный регулятор для робота с двумя датчиками освещенности. Для этого необходимо определить значения серого для обоих датчиков. Пусть оно будет 40 и 34.  

На картинке представлены 4 возможных положения робота относительно линии и, соответственно, в программе есть 4 варианта поведения робота. Сперва программа проверяет первый датчик, и если он на белом, то проверяется второй датчик, и если он тоже на белом, то робот едет прямо, а если второй на чёрном – поворачивает направо. Если первый датчик показал черное, то так же проверяется второй, и если второй датчик показал белое – то необходимо повернуть влево, а если второй тоже на чёрном, то пусть робот поедет прямо, сбавив скорость.

image.png

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

image.png

А вот пример применения релейного регулятора для движения вдоль стены. Для этого определим, на каком расстоянии необходимо двигаться. Пусть оно будет равно 30 сантиметрам. Отдаляясь от стены более чем на 30 см, робот будет пытаться приблизиться к ней, выполняя поворот направо, и наоборот, двигаться влево, если оказался ближе. Эта программа удивительным образом похожа на движение по линии. Это демонстрация того, что одни и те же алгоритмы могут быть применены к разным задачам. 

image.png

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

Пропорциональный регулятор (П-регулятор)

Пропорциональный регулятор – это регулятор, в котором управляющее воздействие пропорционально отклонению. Говоря проще – чем сильнее робот (наш объект управления), отклонился от желаемого значения, тем сильнее он будет поворачивать, чтобы скорректировать своё отклонение. 

Чтобы понять работу данного регулятора, раскроем некоторые термины.

ПропорциональностьПропорциональными называются две взаимно зависимые величины, если отношение их значений остаётся неизменным. Например: x = y * 2. y всегда больше чем в 2 раза, значит эти числа пропорциональны.

Отклонение – величина, характеризующая насколько сильно отличается текущее значение датчика(ов) от желаемого состояния. 

Управляющее воздействие – сила с которой объект корректирует отклонение.

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

Зададим желаемый угол, пусть он будет 45 градусов.

Переменные

alpha – значение желаемого положения мотора.

k – усиливающий коэффициент 

err – отклонение(ошибка)

u – управляющее воздействие

image.png

image.png

Переменная err находит угол, на который мотор отклоняется от желаемого значения. Предположим сейчас энкодер показывает 33 градуса. Тогда ошибка будет равна 45 – 33 = 12. Следовательно, управляющее воздействие будет 12 * 4 = 48. Это заставит мотор двигаться вперёд, что будет приближать его к отметке 45 градусов. Если энкодер превысил значение 45, то ошибка станет отрицательной, что приведёт к его вращению в противоположную сторону. 

Таким образом мотор будет сопротивляться внешнему воздействию. Чем сильнее отклонился мотор и чем больше величина коэффициента k, тем сильнее сопротивление. Высокий коэффициент приведёт к дрожанию мотора, поскольку он будет вновь и вновь проскакивать желаемое значение. Это состояние называется перерегулирование

Изменяя угол alpha можно заставить мотор совершать точные движения и фиксироваться заданном положении. Это позволяет искусно решать задачи с захватом объектов, манипуляторами, поворотными башнями и т.д.

Применим пропорциональный регулятор для движения по линии. Начнём с того, как робот будет управляться. В командах запуска моторов мы используем две переменные: v – базовая скорость моторов, u – управляющее воздействие. Чтобы понять, как влияют на движение эти переменные, поэкспериментируйте с их различными значениями. 

image.png

Переменная определяет, с какой скоростью робот поедет вперёд или назад в зависимости от знака. При положительной скорости – вперёд, назад при отрицательной. Переменная задаёт резкость поворота, а от её знака зависит его направление. При положительном управляющем воздействии ускоряется мотор В и замедляется мотор С – поворот вправо, при отрицательном u соответственно наоборот робот поворачивает влево. Вот так выглядит релейный двухпозиционный регулятор, если управлять роботом с помощью переменных v и u:

image.png

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

image.png

image.png

Переменные:

grey – значение серого для датчика освещенности.

k – усиливающий коэффициент

v – базовая скорость

err – отклонение(ошибка)

u – управляющее воздействие

Что делают переменные v и мы разобрали ранее, а в переменную grey запишем значение серого. 

Переменная err – это отклонение(ошибка) от желаемого значения. Когда текущее значение датчика (sensor1) превышает значение grey, ошибка становится положительной, когда они равны, то ошибка равна нулю, а когда sensor1 меньше grey, ошибка — отрицательная.

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

image.png

Допустим, что значение серого (grey) – 35. Рассмотрим примеры расположения робота на линии и его реакцию на отклонение:

Датчик света слегка сместился влево, и его значение выросло до 42. Это значит, что ошибка (err) будет равна 42 – 35 = 7. При коэффициенте (k) равном 2, управляющее воздействие (u) будет равно 7 * 2 = 14. При базовой скорости (v) 50, на мотор В будет подана скорость 50 + 14 = 64, а на мотор С 50 – 14 = 36. То есть робот плавно поворачивает направо, поскольку не сильно отклонился влево. 

Во втором примере робот сильно заехал датчиком на чёрное. Его значение стало равно 18. Теперь ошибка равна 18 – 35 = -17. При отрицательной ошибке управляющее воздействие тоже будет отрицательным и станет равным -17 * 2 = -34. При данном управляющем воздействии моторы получат значения В: 50 + (-34) = 16 и С: 50 – (-34) = 84, что заставит робота резко повернуть влево.

Вывод: чем сильнее отклонился робот, тем сильнее его реакция.

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

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

image.png

Ошибка вычисляется с помощью нахождения разности показания датчиков: err = Sensor1 – Sensor2. Желаемое значение разности между датчиками – ноль. Отличие в написании программы заключается лишь в том, как находится ошибка. Теперь нам не обязательно знать значение серого.

image.png

image.png

image.png

Однако далеко не всегда оба датчика будут показывать одинаковые значения на белом поле. Чаще всего значение имеют небольшие различия, а иногда и значительные. Робот с такими датчиками, например, не сможет ехать прямо, находясь на белом поле. А при движении по лини можно заметить, что один из датчиков (тот, который ярче) частично наезжает на черную линию.

Чтобы этого избежать, необходимо найти так называемую статическую ошибку. Она находится один раз при запуске робота на белом полигоне и вычитается из динамической ошибки (err)

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

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

Для закрепления, еще раз пройдём по порядку все действия программы в цикле:

  • Вычислениеошибки (err = sensor1 – grey или err = sensor1 – sensor2).
  • Вычисление управляющего воздействия (u = err * 2).
  • Подача управляющего воздействия на моторы (B: v + u, C: v – u).
  • Не забываем про маленькую задержку по времени (1 миллисекунда).

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

image.png

Пропорционально-дифференциальный регулятор (ПД-регулятор)

Вовсе не обязательно обладать знаниями в области высшей математики, чтобы применять дифференциальный или интегральный регуляторы. Достаточно понимать его принцип работы и предназначение. Учащиеся 7-х классов (а некоторые гораздо раньше) осознанно и с успехом применяют их в своих роботах, особенно там, где необходима высокая скорость и стабильность работы. 

Зачем нужна Д-составляющая в регуляторе? Ответ – препятствовать перерегулированию. Как мы узнали ранее, существует проблема раскачивания при применении

image.png

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

Взглянем на маятник. Он тоже раскачивается. Ему, как и скоростному роботу, нужно время, чтобы стабилизироваться. Для маятника в качестве П-регулятора выступает земная гравитация. Действительно, чем сильнее он отклонился от вертикального (желаемого) положения, тем сильнее гравитация пытается его вернуть. Но ничего не получается, он вновь и вновь проскакивает середину… Что, если погрузить его в воду? Сопротивление воды даст нужный эффект, ведь оно замедляет его движение. Маятник опускается на середину и фиксируется в этом положении. Давайте попробуем применить это на роботе, который движется по линии.

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

image.png

image.png

Посчитать скорость изменения ошибки можно, найдя разность текущей ошибки (err) и той ошибки, которая была в предыдущем цикле (errOld), а значит время известно – это задержка (1 миллисекунда). Чтобы запомнить предыдущую ошибку, присвоим её значение переменной errOld после всех вычислений. Таким образом, после обновления err, мы сможем знать и новую и старую ошибку. Так как скорость изменения отклонения (err – errOld) расчитывается в миллисекундах, то соответственно, значения получаются очень маленькие. Будьте внимательны выставляя задержку в цикле, так как её величина напрямую влияет на силу Д-регулятора. Действительно, значения датчиков вряд ли могли сильно измениться спустя всего 1 миллисекунду. А значит необходим усиливающий коэффициент (k2) достаточный, чтобы оказать влияние на управляющее воздействие. Полученное значение складывается вместе с управляющим воздействием пропорционального регулятора err * k1. Эти два регулятора работают бок о бок, но вовсе не обязательно, что их знаки будут совпадать.

image.png

Рассмотрим примеры действия ПД-регулятора при коэффициентах k1 = 2, k2 = 20. 

Пример 1: Робот правым датчиком заехал на черную линию и продолжает двигаться влево, а это значит, что ошибка увеличивается. Значение текущей ошибки равно 15, а предыдущей равно 13. П-регулятор заставляет робота поворачивать вправо с силой 15 * 2 = 30, а Д-регулятор с силой (15 – 13) * 20 = 40. Их сила складывается, значит общее управляющее воздействие равно 70. Робот будет поворачивать вправо.

Пример 2: Робот всё еще слева от линии, значит ошибка положительная, однако направление его движения изменилось – он движется вправо. Ошибка уменьшается, а значит дифференциальный регулятор должен заставлять робота поворачивать влево. Пусть ошибка равна 12, а предыдущая равна 15. В этом случае сила П-регулятора равна 12 * 2 = 24, а Д-регулятора (12-15) * 20 = -60. Суммарное управляющее воздействие 24 + (-60) = -36. Робот будет поворачивать влево.

Чтобы глубже понять поведение ПД-регулятора, можно представить ошибку на графике. Везде, где график находится над нулевой отметкой – ошибка положительная, а значит действие П-регулятора будет иметь положительный знак. Знак Д-регулятора зависит от того, движется ли график вверх или идёт на спад. Его сила зависит от того, насколько резко происходит подъём или спад.

image.png

На отрезках ab и fg, в те моменты, когда график идёт «в гору» знак Д-регулятора положительный.

На отрезках bc и df при «скатывании» вниз знак Д-регулятора отрицательный.

На ровном отрезке cd, и в пиковых точках b и f значение Д-регулятора нулевое, поскольку в эти моменты не происходит изменений ошибки.

Интегральный регулятор. ПИД-регулятор

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

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

image.png

Рассмотрим простой пример: робот движется по круговой линии. На П или ПД-регуляторе он не может поддерживать ошибку в состоянии близкой к 0, поскольку при нулевой ошибке он движется прямо. При движении правый датчик частично заезжает на черную линию и создаёт ошибку, необходимую для обеспечения поворота. Попробуем сделать так, чтобы робот стабилизировался на нулевом положении.

Принцип работы И-регулятора заключается в постоянном накапливании значений ошибки. Этот процесс так и называется – интегрирование. Создадим переменную I, в которую будем суммировать настоящую ошибку в каждом цикле: Ireg = Ireg + err. Коэффициент для И-составляющей будет очень мал, поскольку суммирование происходит каждую миллисекунду, и, скажем, если робот будет в течение секунды получать ощибку равную 10, то при коэффициенте 1 мы получим гигантское управляющее воздействие 10*1000 = 10000. Пусть коэффициент будет 0,02. Может возникнуть вопрос: а не будет ли переменная Ireg со временем разрастаться до огромных значений, ведь мы

image.png

 постоянно прибавляем? Ответ: переменная Ireg увеличивается только при положительной ошибке, при отрицательной ошибке происходит её уменьшение. Значит она может разрастись в обе стороны, но только в случае, если робот застрял в состоянии ошибки надолго.

Для удобства восприятия, давайте разложим ПИД-регулятор на 3 отдельные его составляющие. Подпишем коэффициенты (kP, kD, kI).

Preg = err * kP

Ireg = I + err * kI

Dreg = (err – errOld) * kD

u = Preg + Ireg + Dreg

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

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

 работы программы. 

image.png

Рассмотрим график ошибки и значения И-составляющей для каждой выделенной точки на этом графике.

image.png

В точке значение И-составляющей равно нулю. 

В точке b оно положительное, поскольку при положительной ошибке оно накапливалось за промежуток времени от a до b.

В точке c оно так же положительное.

В точке d – всё еще положительное, поскольку площадь S1 больше чем кусок площади S2 до точки d. 

Предположим, что площади S1 и S2 равны, хоть в реальной жизни, это маловероятно. Тогда в точке e значение вновь возвратится в ноль.

И далее в точках f и g снова положительное.

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

Известно, что в TrikStudio и RobotC время исчисляется в миллисекундах. В физике больше любят секунды, так что давайте переведём всё в них.

Тогда dT будет равна 0.001 сек. Тогда задержку по времени, будем выполнять так: sleep(dT * 1000), то есть получим значение 1 при dT равной 0.001.

Значение П-составляющей от времени не зависит, а значит ничего не изменится: err * kP

Значение Д-составляющей получится следующее: kD * (err-errOld) / dT. Всё как учили по физике: скорость равна частному от изменения на время. Помним, что теперь измерение ведётся в секундах, так что стоит изменить kD, уменьшив его в 1000 раз.

Значение И-составляющей: Ireg + err * dT * kI. Увеличиаем kI в 1000 раз.

Итог: изменяя задержку в цикле, теперь мы не создадим помех в работе ПИД-регулятора.

Кубический регулятор

Достаточно простой регулятор, в котором управляющее воздействие пропорционально ошибке, возведённой в куб. 

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

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

Минимальная ошибка — это разность минимального значения правого датчика и максимального значения левого. Максимальная ошибка – соответственно будет равна разности белого для первого датчика и черного для второго.

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

Посчитаем, чему будет равно управляющее воздействие при коэффициенте 1 и ошибке 40. 40*40*40 = 64000. Многовато! Узнаем, во сколько раз это больше чем 100 и разделим на это число наш коэффициент.

64000 / 100 = 640, значит нам необходим коэффициент  или около 0.00156.

image.png

image.png

Управляющее воздействие при ошибке менее 10 не превысит даже единицы! При ошибке, равной 20 – около 12, при 30 – около 42, при 40 – 100.

Кубический регулятор практически никак не будет реагировать на малые отклонения. Эффективнее всего использовать кубический регулятор в паре с П-регулятором или ПД-регулятором. Они отлично дополняют друг друга! 

1.Последовательность открытия критериев устойчивости:

2.Результирующая ЛАЧХ замкнутой системы при встречно-параллельном соединении звеньев проводится:

3. Звенья, имеющие положительный сдвиг по фазе:

4.Соответствие типа входного воздействия 1 и графика реакции 2 в устойчивой системе:

5.Входные переменные объекта управления:

6.Частотные оценки качества разомкнутой системы:

7.Совокупность обратных связей по всем переменным в одном корректирующем устройстве:

8.Продолжите формулировку: Чем меньше…

9.Последовательность настройки многоконтурной системы:

10.Постоянные времени двигателя постоянного тока:

Выберите один или несколько ответов: Тм Тя Тд Кя

11.Частотные критерии устойчивости:

12.Рабочие операции: 13.Соответствие структурной схемы фундаментальному принципу управления:

14.Схема подчиненного регулирования имеет регуляторы:

15.Сформулируйте логическое утверждение для изодромного звена:

16.Система автоматического управления, имеющая нулевую ошибку в статике:

17.Прямые показатели качества монотонного процесса:

18.Входной сигнал для получения весовой характеристики системы:

19.К неустойчивой системе относятся:

20.Время достижения кривой переходного процесса установившегося значения первый раз:

21.Обратная связь, работающая только в динамическом режиме (переходном процессе):

22.Алгебраические критерии устойчивости:

23.Соответствие звена и его ЛАЧХ:

24.Система автоматического управления, имеющая нулевую ошибку в статике: 25.Входной сигнал для получения частотных характеристик системы:

26.Частота среза замкнутого контура с последовательным корректирующим устройством при полученных частотных характеристиках равна:

27.Показатели качества апериодического процесса:

28.Рекомендация для предварительного выбора параметров регулятора в САУ с инерционными звеньями называется правилом … оптимума

29.Последовательность обеспечения заданных показателей качества переходных процессов замкнутой системы:

30.Редуктор можно идентифицировать звеном:

31.Входной сигнал для получения переходной характеристики системы:

32.Преимущества замкнутой системы автоматического управления: ь

33.Продолжите формулировку следствия из критерия устойчивости Найквиста: «Чем меньше…»

34.Операции управления:

35.Рекомендация для предварительного выбора параметров регулятора в САУ с интегрирующим и инерционными звеньями называется правилом … оптимума

36.Последовательность получения частотных характеристик системы:

37.Соответствие элемента структурной схемы и его условного обозначения:

38.Правило оценки устойчивости без решения характеристического уравнения системы:

39.Соответствие звена и его передаточной функции:

40.Соответствие типа переходного процесса в устойчивой системе и его графика:

41.Граничное значение фазы на частоте среза устойчивой системы (в градусах):

42.Экспонента — это … тип (вид кривой) переходного процесса.

43.Последовательность построения ЛАЧХ встречно-параллельного соединения звеньев замкнутой системы:

44.ЛАЧХ и ЛФЧХ изодромного звена:

45.Основными элементами структурной схемы являются:

46.Последовательность построения ЛАЧХ согласно-параллельного соединения звеньев замкнутой системы:

47.Соответствие наклона ЛАЧХ и асимптоты ЛФЧХ:

48.Порядок синтеза последовательного корректирующего устройства в виде изодромного звена:

49.Последовательность настройки схемы подчиненного регулирования электропривода постоянного тока:

50.Масштаб, используемый для построения частотных характеристик (ЛАЧХ и ЛФЧХ).

51.Фундаментальные принципы управления:

52.Автор алгебраического критерия устойчивости с вычислениями всех специальных определителей n-го порядка:

53.Типовые входные воздействия: a. импульсное b. ступенчатое c. треугольное d. гармоническое e. хаотическое

54.Регулируемые переменные объекта управления: a. управляющие воздействия b. выходные координаты c. входные переменные d. возмущения e. внутренние координаты

55.Кривая, используемая в критерии устойчивости Михайлова —

56.Определитель Гурвица второго порядка для системы с характеристическим оператором равен:

57.Соответствие типа переходного процесса и запаса по фазе: колебательный апериодический монотонный

58.Соответствие звена и его уравнения:

59.Если Кя=10, то скорость двигателя при номинальном моменте нагрузки равна (в о.е.):

60.Тип звена регулятора при нулевой ошибке управления:

© К.Ю. Поляков, 2008

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

C(s) =

a

s2 +a s + a

0

C(s) = K +

K

I +

K

D

s

.

2

1

s

T s +

1

s(b s +b )

1 0

D

7.3. Метод размещения полюсов

Один из простых методов синтеза регулятора – размещение полюсов передаточной функции замкнутой системы, которые во многом определяют ее динамику, например, быстродействие и степень затухания колебаний (см. разд. 6.8). Смысл в том, чтобы разместить эти полюса в заданных точках комплексной плоскости с помощью специально выбранного регулятора. Эта задача сводится к решению системы линейных уравнений.

Пусть передаточная функция объекта задана в виде отношения полиномов

P(s) =

n(s)

=

n1s +n0

.

d(s)

s2 +d s +n

Выберем регулятор вида

1

0

nC (s)

= a1s +a0

C(s)

=

,

d

C

(s)

b s +b

1

0

где a0 , a1,b0 и b1 – неизвестные коэффициенты, которые нужно определить. Характеристиче-

ский полином замкнутой системы равен

(s) = n(s) nC (s) +d(s) dC (s) = (n1s + n0 )(a1s +a0 ) +(s2 +d1s + d0 )(b1s +b0 ) . = b1s3 +(n1a1 +d1b1 +b0 )s2 +(n0a1 + n1a0 + d0b1 + d1b0 )s +n0a0 +d0b0

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

(s) = s3 +δ2 s2 +δ1s +δ0 ,

где δi (i = 0,…,2) – заданные числа. Приравнивая коэффициенты при одинаковых степенях s в последних двух равенствах, получаем

s3 : b =1

1

s2 : n a + d b +b = δ

2

1

1

1

1

0

s1 : n a +n a

0

+ d

0

b + d b = δ

1

0

1

1

1

1

0

s0 :

n a

+d

b

= δ

0

или в матричном виде

0

0

0

0

0 0 1 0 a

1

1

n1

0 d1

1

a0

=

δ2

.

n1

d0

d1

n0

b1

δ1

0 n0

0 d0 b0 δ0

Решение уравнения имеет вид

0 0 1 0 1

a

1

1

a0

= n1

0

d1

1

δ

2 .

n1

d0

b1

n0

d1

δ1

b0

0 n0

0 d0

δ0

Конечно, квадратная матрица в этом выражении (она называется матрицей Сильвестра) должна быть обратима. Можно доказать, что она действительно обратима тогда и только тогда, когда полиномы n(s) и d(s) не имеют общих корней, то есть передаточная функция объекта

71

© К.Ю. Поляков, 2008

P(s) несократима. В противном случае общий корень этих полиномов неизбежно будет корнем характеристического полинома (s) .

Кроме того, для того, чтобы количество неизвестных коэффициентов было равно числу уравнений, порядок регулятора нужно выбирать не меньше, чем N 1, где N – порядок модели объекта управления:

N = max{deg n(s), deg d(s)},

где deg обозначает степень полинома. Иначе полученное уравнение будет разрешимо только при специально выбранном полиноме (s) .

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

7.4. Коррекция ЛАФЧХ

На протяжении многих лет самым популярным инженерным методом синтеза регуляторов был метод, основанный на использовании логарифмических частотных характеристик (ЛАФЧХ). Он основан на двух свойствах ЛАФЧХ:

1)логарифмические амплитудные и фазовые частотные характеристики для последовательного соединения двух блоков (например, регулятора и объекта управления) равны сумме ЛАЧХ и ЛФЧХ этих блоков;

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

Пусть G(s) = P(s) R(s) – передаточная функция объекта вместе с приводом, причем будет предполагать, что она не имеет неустойчивых нулей и полюсов (то есть, является минимально-

фазовой). ЛАЧХ такого расширенного объекта обозначим как L0 (ω) = 20lg

G( jω)

. Если мы

сможем каким-то образом найти желаемую ЛАЧХ LЖ (ω) , то разница между этими двумя ха-

рактеристиками – это и есть ЛАЧХ необходимого последовательного регулятора:

LC (ω) = LЖ (ω) L0 (ω) .

(51)

Таким образом, для решения задачи требуется ответить на два вопроса:

1)как выбрать желаемую ЛАЧХ LЖ ( jω) так, чтобы обеспечить устойчивость и требуемое качество замкнутой системы?

2)как получить передаточную функцию регулятора C(s) по его ЛАЧХ (51)?

Чтобы ответить на первый вопрос, вспомним типичные требования к системе управления:

устойчивость;

нулевая ошибка в установившемся режиме;

быстрый и плавный (в идеале – монотонный) переходный процесс;

подавление шумов;

робастность (нечувствительность к ошибкам модели). Эти требования нужно связать с формой ЛАЧХ.

Постоянный сигнал можно рассматривать как предельный случай гармонического (синуса), только с нулевой частотой. Поэтому для обеспечения нулевой установившейся ошибки цепочка «регулятор-объект» должна иметь бесконечное усиление на нулевой частоте, то есть передаточная функция G(s) C(s) должна содержать интегратор (вспомните принцип внутренней

модели).

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

72

© К.Ю. Поляков, 2008

1

1

Ts

Ts +1

Таким образом, для получения монотонного переходного процесса ЛАЧХ разомкнутой системы

должна быть похожа на ЛАЧХ интегратора – это прямая линия с наклоном –20 дБ/дек, которая

пересекает ось абсцисс на частоте ωc =1/T . Эта частота называется частотой среза. Заметим,

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

равно 3T. Таким образом, частота среза определяет время переходного процесса. Вспомним,

что устойчивость системы также определяется поведением ЛАЧХ в районе частоты среза. В ре-

зультате имеем:

устойчивость и качество переходного процесса (время, перерегулирование) определяют-

ся формой ЛАЧХ в районе частоты среза, где она пересекает ось Lm = 0 ; эта область на-

зывается областью средних частот;

для получения качественного переходного процесса желательно, чтобы наклон ЛАЧХ

около частоты среза был равен –20 дБ/дек;

если задано время переходного процесса tп , нужно выбиратьωc = 3 .

tп

Теперь разберемся с шумами и робастностью. Как мы знаем,

шумы – это высокочастот-

ные сигналы. Кроме того, обычно именно в области высоких частот характеристики объекта и

модели могут сильно расходиться. Поэтому для подавления помех и уменьшения влияния оши-

бок модели нужно по возможности уменьшать усиление системы в области высоких частот, то

есть ЛАЧХ должна резко идти вниз.

На рисунке показана типовая желаемая ЛАЧХ.

L

Это асимптотическая ЛАЧХ, состоящая из отрез-

m

–20 дБ/дек

высокие

ков. В выделенных точках стыкуются два отрезка

частоты

(подавление

разного наклона. На низких частотах она имеет на-

–20 дБ/дек

помех)

клон –20 дБ/дек, то есть система содержит интегра-

12-16 дБ

ωc

ω

тор, который обеспечивает нулевую ошибку в уста-

0

12-16 дБ

новившемся режиме.

низкие

средние частоты

ЛАЧХ пересекает ось абсцисс под наклоном

частоты

(устойчивость,

–20 дБ/дек. Для обеспечения устойчивости и при-

(точность)

переходный процесс)

емлемого показателя колебательности ( M <1,2 ) точки излома ЛАЧХ должны находиться на

расстоянии 12-16 дБ от оси абсцисс (см. рисунок).

Продемонстрируем метод коррекции ЛАЧХ на простом примере. Пусть объект управле-

ния – апериодическое звено с передаточной функцией

G(s) =

1

, где T = 5 с. Передаточная

T0 s +1

0

функция замкнутой системы без коррекции (то есть, с регулятором C0 (s) =1) равна:

W (s) =

1

=

0,5

.

T s +2

0,5T s +

1

0

0

Видим, что статический коэффициент усиления W (0) = 0,5

(а не 1), так что точного отслежива-

ния входного сигнала не получается. Время переходного процесса можно приближенно подсчи-

тать как tп = 3 0,5 T0 = 7,5 c .

Поставим задачу следующим образом: выбрать регулятор C(s) , который обеспечивает

нулевую ошибку в установившемся режиме;

время переходного процесса около 1,5 с;

73

© К.Ю. Поляков, 2008

наклон ЛАЧХ –40 дБ/дек на высоких частотах для подавления помех.

Для решения используем метод коррекции

ЛАЧХ. Синяя линия на рисунке обозначает нескор-

L

ректированную ЛАЧХ, совпадающую с ЛАЧХ апе-

m

–20 дБ/дек

риодического звена G(s) .

L0

Lж ωc

ω1

ω

Желаемая ЛАЧХ (зеленая линия) должна иметь

0

1

наклон –20 дБ/дек на низких частотах, чтобы обеспе-

15 дБ

T0 –20 дБ/дек

чить нулевую статическую ошибку. Частота среза ωc

Lm

определяется

требуемым

быстродействием:

LC

ωc

= 3/ tп = 2 рад/с. Таким образом, начальный

уча-

ω

сток желаемой ЛАЧХ совпадает с ЛАЧХ интегри-

ωc

рующего звена с передаточной функцией

ω

c

, то есть

0

(ω) = 20lg ωc

s

L

(на низких частотах).

ж

ω

На высоких частотах нужно изменить наклон ЛАЧХ с –20 до -40 дБ/дек на частоте ω1 , где

Lm (ω) = −15 дБ. Из этого условия находим

20lg ωc

= −15

ωc =1015 / 20

ω =103 / 4 ω

c

= 5,62 2 =11,24 рад/с.

ω1

ω1

1

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

Остается перейти от ЛАЧХ регулятора к его передаточной функции. На низких частотах (ω <1/T0 ) ЛАЧХ регулятора имеет наклон –20 дБ/дек и проходит через точку (ωc ;0) , то есть

C(s) = ωsc C1 (s) ,

где C1 (s) не изменяет асимптотическую ЛАЧХ на частотах, меньших 1/T0 . На частоте ω0 =1/ T0 ЛАЧХ регулятора меняет наклон с –20 дБ/дек до нуля, то есть в числитель добавляется множитель T0s +1:

C(s) = ωc (T0ss +1) C2 (s) .

Здесь C2 (s) – регулятор, не влияющий на ЛАЧХ для частот, меньших ω1 . Наконец, на частоте ω1 наклон увеличивается с нуля до –20 дБ/дек. Для того, чтобы на этой частоте «загнуть» вниз

ЛАЧХ,

нужно добавить в регулятор

апериодическое звено с постоянной времени

T =

1

= 0,09 c . Таким образом, окончательно

ω

y

1

1

ωc (T0s +1)

C(s) =

.

1

s(T1s +1)

На рисунке показаны переходные процессы при единичном ступенчатом входном сигнале в нескорректированной системе (синяя линия) 0,5 и в системе с полученным регулятором C(s)

(зеленая линия). Графики показывают, что

найденный

регулятор

значительно

ускорил

переходный

процесс

и обеспечил

нулевую 0

5

10

статическую ошибку (установившееся значе-

74

© К.Ю. Поляков, 2008

ние выхода равно 1).

Нужно отметить, что алгоритм коррекции ЛАЧХ существенно усложняется, если объект содержит неустойчивые или неминимально-фазовые звенья.

7.5. Комбинированное управление

Один из способов улучшить качество управление – изменить структуру системы, добавив в нее второй регулятор C2 (s) на входе:

x

привод

g объект

+

e

u

δ

y

C2(s)

C(s)

R (s)

P(s)

Теперь

W (s) = C2 (s)C(s)R(s)P(s) . 1+C(s)R(s)P(s)

Регулятор C2 (s) не влияет на свойства контура управления (запасы устойчивости, подавление

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

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

друга, такая схема называется комбинированным управлением (или управлением с двумя степенями свободы).

В идеале мы хотим,

чтобы система точно воспроизводила сигнал x(t) на выходе

y(t) , то

есть, нужно обеспечить W (s) 1 . Для этого требуется, чтобы

C2 (s) = 1+C(s)R(s)P(s) =

1

,

(52)

W1 (s)

C(s)R(s)P(s)

C(s)R(s)P(s)

где W (s) =

– передаточная функция замкнутой системы с одной степенью сво-

1

1+C(s)R(s)P(s)

боды.

следует, что регулятор C2 (s) должен быть обратной системой (инверсией) для

Из (52)

W1 (s) . Частотная характеристика W1 ( jω) в реальных системах близка к нулю на высоких частотах, следовательно, регулятор C2 (s) должен иметь в этом частотном диапазоне огромное уси-

ление. Например, для W1 (s) = Ts1+1 получим C2 (s) = Ts +1, то есть регулятор содержит физиче-

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

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

7.6. Инвариантность

Если возмущение g можно как-то измерить, для улучшения качества системы иногда вводится третий регулятор (третья степень свободы):

75

© К.Ю. Поляков, 2008

g

C3(s)

x

u3

привод

объект

+

e

u1

u

δ

y

C2(s)

C(s)

R (s)

P(s)

Теперь передаточная функция по возмущению равна

Wg (s) =

[1 C3

(s)R(s)]P(s)

.

1

+C(s)R(s)P(s)

В этом случае теоретически есть возможность обеспечить полную компенсацию возмущения g , выбрав

C (s) =

1

,

(53)

3

R(s)

так что Wg (s) = 0 . Это условие называется условием инвариантности (неизменности), поскольку в этом случае система абсолютно подавляет любые возмущения по входу g . Заметим, что

мы снова пришли к идее инверсии (построения обратной системы), как и в (52).

К сожалению, на практике условие инвариантности чаще всего невыполнимо, потому что регулятор C3 (s) должен быть предсказывающим, так как нужно подать компенсирующий сиг-

нал на привод раньше, чем внешнее возмущение успеет повлиять на объект.

Чаще всего получается, что числитель передаточной функции C3 (s) (53) должен иметь

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

выполнялось в наиболее важном диапазоне частот.

7.7. Множество стабилизирующих регуляторов

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

Рассмотрим простейшую замкнутую систему:

x +

e

регулятор

u

объект

y

C(s)

P(s)

Ее передаточная функция равна

C(s)P(s)

W (s) =

.

(54)

1

+C(s)P(s)

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

W (s) = Q(s)P(s) , где

Q(s) =

C(s)

(55)

1+C(s)P(s)

76

© К.Ю. Поляков, 2008

Выражение (55) внешне выглядит как передаточная функция последовательного соединения объекта P(s) и «регулятора» Q(s) , причем оно линейно зависит от Q(s) . Поэтому естественно

возникает вопрос: нельзя ли сначала выбрать нужным образом Q(s) , а затем найти соответст-

вующий ей регулятор, выразив его передаточную функцию из (55):

C(s) =

Q(s)

.

(56)

1Q(s)P(s)

Очевидно, что функция Q(s) должна быть устойчивой, иначе передаточная функция замкнутой системы W (s) (55) также окажется неустойчивой. Оказывается, если объект P(s) устойчив, то

регулятор, полученный из (56), всегда будет стабилизирующим. Более того, форма (56) охватывает все возможные стабилизирующие регуляторы. Поэтому (56) – это параметризация множества стабилизирующих регуляторов для устойчивого объекта, она называется параметризаци-

ей Юла (D.C. Youla).

Параметром в (56) является устойчивая функция Q(s) , которая может выбираться произ-

вольно. На практике регулятор (56) должен быть физически реализуемым. Это значит, что передаточная функция C(s) должна быть правильной (степень ее числителя не больше степени зна-

менателя). Для этого функция Q(s) также должна быть правильной.

Теоретически для оптимального слежения нужно выбрать Q(s) =1/ P(s) , что дает W (s) =1 , однако чаще всего это невозможно. Дело в том, что передаточная функция объекта в

практических задачах – строго правильная (степень числителя меньше степени знаменателя), и Q(s) получается неправильной. Поэтому используют компромиссные решения, обеспечивая

приближенную инверсию только для наиболее важной полосы частот.

Существует множество методов синтеза, в которых устойчивая и правильная функция Q(s) выбирается в результате численной оптимизации по какому-либо критерию. Затем переда-

точная функция регулятора рассчитывается по формуле (56).

Посмотрим, что получится, если попробовать применить такой подход для неустойчивого

объекта с передаточной функцией P(s) = s 11 . Выбрав Q(s) =1, из (56) получаем

C(s) = ss12 .

При этом в произведении C(s)P(s) = ss12 s 11 неустойчивый полюс модели объекта сокраща-

ется (компенсируется) неустойчивым нулем регулятора. Характеристический полином

(s) = s 1+(s 2)(s 1) = (s 1)2

будет неустойчивым, как и вся замкнутая система. Следовательно, параметризацию (56) в этом случае использовать нельзя.

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

P(s) = dn((ss)) , где n(s) и d(s) – полиномы. Выберем произвольный устойчивый полином f (s) ,

степень которого равна наибольшей из степеней n(s) и d(s) . Представим функцию P(s) в виде отношения рациональных функций

P(s) = UV ((ss)) , где U (s) = nf ((ss)) и V (s) = df ((ss)) .

Можно показать, что существуют такие правильные устойчивые функции X (s) и Y (s) , для которых выполняется равенство

U (s)X (s) +V (s)Y (s) =1.

(57)

Тогда множество всех стабилизирующих регуляторов описывается формулой

77

© К.Ю. Поляков, 2008

C(s) =

X (s) +V (s)Q(s)

,

(58)

Y (s) U (s)Q(s)

где Q(s) – произвольная правильная устойчивая функция. Выражение (58) определяет пара-

метризацию множества стабилизирующих регуляторов (параметризацию Юла) в общем слу-

чае, даже для неустойчивых объектов. Подставив (58) в формулу (54), получаем, учитывая (57),

W (s) = [X (s) +V (s)Q(s)]U (s) .

При синтезе можно выбирать устойчивую правильную функцию Q(s) , при которой пере-

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

Для

примера рассмотрим

снова неустойчивый

объект с передаточной функцией

P(s) =

1

, которую можно записать в виде

s 1

U (s)

1

s 1

P(s) =

, где

U (s) =

,

V (s) =

.

s

+1

V (s)

s +1

Решением уравнения (57) может быть, например, такая пара устойчивых функций

X (s) =

4

, Y (s) =

s +3

.

s

+1

s +1

При выборе Q(s) =1 по формуле (58) получаем

C(s) =

s +3

.

Теперь в произведении C(s)P(s)

s + 2

нет никаких сокращений, система устойчива.

78

© К.Ю. Поляков, 2008

Заключение

Шаг за шагом, мы рассмотрели основные понятия классической теории автоматического управления. Нужно понимать, что вы прочитали не учебник, а небольшое введение, призванное познакомить с основными понятиями и дать общее представление о предмете. Тот, кто серьезно собирается изучать методы теории управления и использовать их в своей работе, должен продолжить изучение, взяв «нормальные» учебники (см. список литературы), в которых эти и другие вопросы изложены значительно более строго и научно.

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

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

Автор будет считать свою задачу выполненной, если читатель почувствует в себе силы не остановиться на достигнутом и продолжить самообразование.

79

© К.Ю. Поляков, 2008

Литература для последующего чтения

(в порядке увеличения количества страниц)

1.Попов Е.П. Теория линейных систем автоматического регулирования и управления. М.:

Наука, 1989.

2.Мирошник И.В. Теория автоматического управления. Линейные системы. СПб.: Питер, 2005.

3.Первозванский А.А. Курс теории автоматического управления – М.: Наука, 1986.

4.Бесекерский В.А., Попов Е.П. Теория систем автоматического управления – 4-е изд. СПб.: Профессия, 2003.

5.Дорф Р., Бишоп Р. Современные системы управления – М.: Бином, Лаборатория базовых знаний, 2004.

6.Гудвин Г.К., Гребе С.Ф., Сальгадо М.Э. Проектирование систем управления. М.: Бином, Лаборатория базовых знаний, 2004.

80

Глава 8. Типовые законы регулирования. Одноконтурные САР

8.1. Основные типы автоматических регуляторов

Регулятор на основе усилительного звена называется П-регулятором (пропорциональный). Его положительной характеристикой является высокое быстродействие: при отклонении регулируемой величины от заданного значения регулятор выдает регулирующее воздействие, пропорциональное величине отклонения x, что обеспечивает быструю компенсацию возмущения. Существенным недостатком П-регулятора является наличие статической ошибки в переходном процессе АСР с П-регулятором (рис. 37). Статическая ошибка возникает потому, что у П-регулятора между регулируемой величиной x и регулирующим воздействием существует зависимость, однозначно определяемая коэффициентом K. Поэтому генерировать регулирующее воздействие для компенсации возмущения П-регулятор может только путем изменения регулируемой величины x, что и создает статическую ошибку.
Регулятор на основе интегрирующего звена (48) называется И‑регулятором:

Если xвых усилительного звена (П-регулятор) однозначно определяется величиной правой части уравнения, что является причиной возникновения статической погрешности в АСР с П-регулятором, то правая часть уравнения (48) интегрирующего звена (И-регулятор) определяет не величину, а скорость изменения xвых. Величина xвых будет изменяться до тех пор, пока правая часть уравнения (48) не станет равна нулю, т. е. пока регулируемая величина x при наличии возмущения не вернется к заданному значению. Следовательно, в АСР с И-регулятором не возникает статическая погрешность.
Однако у И-регулятора имеется свой недостаток сравнительно с П-регулятором: в случае возникновения возмущения регулирующее воздействие П-регулятора меняется быстрее, чем у И-регулятора с его конечной скоростью, что замедляет процесс компенсации возмущения и ухудшает критерии качества регулирования (рис. 40).

Рис. 40. Переходные процессы в АСР с П- и И-регуляторами

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

Рис. 41. Принципиальная схема АСР с ПИ-регулятором

Действительно, быстродействие ПИ-регулятора обеспечивает усилительное звено, а статическую ошибку снимает интегрирующее звено. Для управления производственными процессами чаще всего используются ПИ-регуляторы.
Кривая разгона идеального ПИ-регулятора показана на рис. 42 .
Уравнение ПИ-регулятора при нулевых начальных условиях имеет вид:

Отношение коэффициентов Kp1/Kp определяет степень влияния интегрирующей части, и его обратная величина называется временем изодрома Tи.

Время изодрома – это время, в течение которого интегрирующее звено изменяет регулирующее воздействие ПИ-регулятора на величину D, равную предварительному изменению D усилительного звена (рис. 42). Поэтому иногда время изодрома называют временем удвоения.

Рис. 42. График кривой разгона идеального ПИ-регулятора:

а – скачкообразное изменение входного воздействия x;

б – реакция (кривая разгона) ПИ-регулятора 

Уравнение ПИ-регулятора можно записать как

откуда передаточная функция

Амплитудно-фазовая характеристика:

В том случае, если рассмотренные регуляторы не обеспечивают требуемое качество регулирования, необходимо увеличить интенсивность процесса компенсации возмущения. Этого можно достигнуть увеличением регулирующего воздействия, которое в свою очередь определяется коэффициентом усиления автоматического регулятора Kp
. Однако ниже будет показано, что увеличение коэффициента усиления регулятора в АСР приводит к тому, что в системе начинают генерироваться незатухающие колебания.
В связи с этим представляет интерес рассмотреть алгоритм, который реализует дифференцирующее звено.
Входной величиной любого регулятора является кривая разгона регулируемой величины (рис. 27), которая определяется величиной возмущения и передаточной функцией объекта регулирования (9). В свою очередь, регулирующее воздействие xp (рис. 27) определяется кривой разгона x и передаточной функцией регулятора.
На рис. 43 показана реакция дифференцирующего звена (Д‑регулятора) на входное воздействие в виде кривой разгона в соответствии с уравнением (51).

Рис. 43. Реакция дифференцирующего звена на кривую разгона

а –изменение входного воздействия x в виде кривой разгона;

б – реакция   дифференцирующего звена

Из рис. 43,а следует, что дифференцирующее звено обеспечивает большее регулирующее воздействие в начале переходного процесса. Это означает, что дифференцирующий регулятор активно компенсирует возмущение и исключает возникновение незатухающих колебаний.
Если включить дифференцирующее звено параллельно ПИ‑регулятору (рис. 44), то получим ПИД-регулятор, обеспечивающий интенсивную компенсацию возмущений. При этом недостаток дифференцирующего звена (при Хвх = const, Хвых = 0 ) компенсируется усилительным и интегрирующим звеньями.

Рис. 44. Принципиальная схема АСР с ПИД-регулятором

На рис. 45 показана кривая разгона ПИД-регулятора.

Рис. 45. Кривая разгона ПИД-регулятора


На рис. 46 показаны переходные процессы на с различными регуляторами. ПИД-регулятор уменьшает динамическую ошибку сравнительно с ПИ-регулятором на 25–30%. Также можно объединить дифференцирующее звено с усилительным звеном и улучшить показатели П-регулятора, получив ПД-регулятор.

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

8.2. Критерии качества регулирования

Качество процесса регулирования в АСР характеризуют следующие показатели (критерии) (рис. 16):

Рис. 16. Показатели качества регулирования:

1 – переходной процесс без статической ошибки;

2 – переходной процесс со статической ошибкой

1. Максимальное отклонение в процессе регулирования от заданного значения (динамическая ошибка) ΔХдин.
2. Статическая ошибка ΔХст — возможные отклонения от заданного значения по окончании переходного процесса при использовании некоторых типов регуляторов (подробнее такие АСР рассмотрены ниже).
3. Длительность переходного процесса Тр – период времени с момента начала отклонения регулируемого параметра от задания до возвращения его к заданному значению с определенной степенью точности регулирования ±Δ.
Например, если ±Δ=±25%, это означает, что для заданного значения температуры в 100 °С процесс регулирования будет завершен при достижении диапазона (100 ± 2,5) °С.
4. Степень затухания показывает характер затухания переходного процесса регулирования:

Для того, чтобы переходный процесс затухал за 2 ¸ 3 периода колебаний, степень затухания должна быть равна

5. Степень колебательности процесса m определяет характер колебательности процесса и равна отношению действительной части корня характеристического уравнения к коэффициенту при его мнимой части. Степень колебательности связана со степенью затухания следующим соотношением:

6. Интегральный квадратичный критерий – критерий, определяющий площадь под кривой переходного процесса, возведенной в квадрат (рис. 17):

Уменьшение интегрального критерия соответствует ускорению процесса регулирования.

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

Однако все приведенные шесть критериев качества не определяют величину потерь производства при отклонениях регулируемой величины от оптимального значения в переходных процессах регулирования. Для определения таких потерь можно использовать экономический критерий.
7. Экономический критерий рассмотрим на примере, регулирования температуры химического реактора θ, когда степень превращения Q в реакторе определяется температурой (рис. 18а).
Разделим переходной процесс на равные интервалы времени Δt и запишем значения θ
в этих точках по графику (18, б). На графике (18, а) для этих температур определим уменьшение степени превращения вследствие отклонения от оптимального режима, а затем сделаем расчет потерь исходных продуктов для каждого интервала Δθ, суммируем эти потери для всего переходного процесса и представим потери в денежном выражении.

Рис. 18. Экономический критерий качества регулирования:

а – зависимость степени превращения Q от температуры θ;

б – переходный процесс регулирования температуры

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

8.3. Выбор закона регулирования

При выборе регулятора следует определиться с группой регулирующих устройств – непрерывного, релейного или импульсного действия. Такой выбор ориентировочно может быть сделан по величине отношения запаздывания к постоянной времени объекта τ/Tоб:
· при отношении τ/Tоб меньше 0.2 целесообразно использовать регулятор релейного действия;
· если отношение τ/Tоб от 0.2 до 1.0, то нужно использовать регулятор непрерывного действия;
· при отношении τ/Tоб больше единицы можно использовать регулятор импульсного действия, или специальные регуляторы, например, регулятор («предиктор») Смита.
Затем необходимо определиться с типом регулятора, т.е. выбрать определенный закон регулирования: П-, И-, ПИ-, ПД- или ПИД-закон

8.4. Методы расчета одноконтурных САР


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

8.4.1. Расчет по «приближенным» формулам

Приближенные формулы для расчета параметров настройки автоматических регуляторов (Kр – коэффициент усиления; Tи – время изодрома; Тд – время дифференцирования) сведены в следующую таблицу:

Таблица 8.1. Формулы для приближенного расчета

параметров настройки регуляторов

Формулы сгруппированы в столбцы в зависимости от характера переходного процесса, который желательно получить, используя рассчитанный таким образом регулятор: апериодический или с перерегулированием в 20 %. В формулы входят следующие свойства объекта регулирования: Коб – коэффициент усиления; Тоб – постоянная времени; τоб – время запаздывания (полного).

Рис. 53. Кривые разгона:

1 – фактическая кривая разгона промышленного объекта;

2 – аппроксимированная (приближенная) кривая разгона

Необходимо отметить, что для пневматических регуляторов требуется определять не Kp, а диапазон дросселирования:

Рассмотрим методику более точного определения параметров настройки на примере расчета наиболее «популярного» регулятора – ПИ-регулятора.

8.4.2. Метод незатухающих колебаний

(метод Циглера-Никольса)

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

Рис. 54. К поиску параметров настройки методом Циглера-Никольса

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

Метод незатухающих колебаний не требует сложных вычислений, но имеет свои характерные недостатки:
· получить Кркр и Т можно только на действующем объекте, оснащенном АСР с П-регулятором;
· не все объекты химической технологии допускают режим автоколебаний;
· практически трудно уловить момент начала автоколебаний.
Данные недостатки имеют место лишь при настройке регулятора методом Циглера-Никольса непосредственно на действующем объекте. Если заменить реальный объект его математической моделью, данный метод лишается указанных недостатков, кроме того, моделирование позволяет на порядок ускорить процесс поиска параметров настройки. Но для выполнения моделирования требуется достаточно точное математическое описание объекта регулирования, а получить его удается не всегда.

8.4.3. Метод расширенных частотных характеристик

Уравнение ПИ-регулятора (65) или (66):

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

Знак «минус» указывает, что действие регулятора направлено против возмущения.
Из передаточной функции получаем амплитудно-фазовую характеристику ПИ-регулятора путем замены p на iw:

Так как по формуле Эйлера

с затуханием за три периода

Заменив iw на комплексную переменную (-mw+iw), получаем расширенную амплитудно-фазовую характеристику (РАФХ)Ю

Расширенными такие характеристики называются потому, что они как бы «расширены» по отношению к обычной АФХ (рис. 56).
Предположим, что объект регулирования имеет передаточную функцию второго порядка следующего вида:

Для дальнейшего математического моделирования АСР передаточную функцию необходимо преобразовать:

Рис. 56. АФХ объекта регулирования с самовыравниванием:

1 – обычная; 2 – расширенная

Расширенная амплитудно-фазовая характеристика объекта регулирования при замене p на (-mw+iw) будет иметь вид:

Где Rоб(m,w) -расширенная амплитудно-частотная характеристика объекта; Fоб(m,w) -расширенная фазочастотная харктеристика объекта. Величина 40w в выражении для Fоб (m,w) опеделяет угол в радианах и для пересчета в градусы неоходимо 40w умножить на 57,3

Условием нахождения замкнутой АСР на границе устойчивости является уравнение:

Аналогично, исходным уравнением для получения заданной степени колебательности m, а следовательно, определенной степени затухания y, является соотношение:

Это соотношение двух комплексных чисел возможно в том случае, если произведение модулей РАФХ равно единице, а аргументы (фазы) равны между собой, т. е.

Решая эти уравнения относительно S0 и Kp, получаем:

Обычно принимают степень колебательности m = 0,221, что соответствует степени затухания ψ=0,75 и обеспечивает затухание процесса регулирования примерно за три периода. Тогда

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

Подставляя в приведенные уравнения численные значения частоты w от 0 до значения, когда S0 становится отрицательной величиной, строим на плоскости параметров настройки кривую равной степени колебательности

Пример кривых равной степени колебательности в плоскости параметров настройки ПИ-регулятора показан на рис. 57. Графики процессов регулирования с различными параметрами настройки ПИ-регулятора при m = 0,221 показаны на рис. 58. Все процессы регулирования, показанные на рис. 58, реализованы ПИ-регулятором с параметрами настройки, полученными по кривой равной степени колебательности в точках 1, 2, 3, 4 (рис. 57), и все имеют m = 0,221, т. е. затухают примерно за три периода, но обладают существенно различным характером.
В связи с этим возникает задача определения оптимальных параметров настройки на кривой равной степени колебательности.

Рис. 57. Кривые равной степени колебательности

В качестве критерия оптимальности выбираем продолжительность переходного процесса – время регулирования (т. е. быстродействие АСР) и отсутствие постоянной или врéменной статической ошибки. Это исключает из рассмотрения параметры настройки в точке 4 (параметры настройки П-регулятора) и в точке 3 (врéменная статическая ошибка) (рис. 58).

Рис. 58. Графики процессов регулирования для ПИ-регулятора

с различными параметрами настройки в точках 1, 2, 3 и 4

при степени колебательности m =0,221

Быстродействие автоматического регулятора прежде всего зависит от величины регулирующего воздействия, которое для ПИ-регулятора, как следует из уравнения (65), прямо пропорционально величине коэффициента усиления Kp и обратно пропорционально времени изодрома Tи. Расчеты показывают, что если двигаться по кривой равной степени колебательности вправо, то величина регулирующего воздействия при прочих равных условиях сначала возрастает и достигает максимального значения на кривой равной степени колебательности вблизи ее вершины, когда

а затем начинает уменьшаться в связи с резким увеличением  (рис. 57).

Рис. 59. Выбор оптимальных параметров настройки

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

Источник
Плютто В. П., Дубровский И. И. Элементы теории управления химико-технологическими процессами и системами. Конспект лекций: Учеб. пособие – М.: РХТУ им. Д. И. Менделеева, 2003. – 127 с.

Регуляторы простым языком

Введение

Кому рекомендовано: всем, кто изучает робототехнику от полугода и испытывает трудности с применением регуляторов, а также для тех, кто хочет разобраться глубже с данным вопросом.

Рекомендуемый возраст: от 11 до 99 лет.

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

Нашим подопытным будет робот, собранный из набора Lego Mindstorms EV3. Будем учить его ездить по линии, вдоль стен, а как же выполнять другие задачи, где применяются регуляторы. Нам помогут среды программирования TrikStudio и RobotC. 

Градус сложности в данной статье от начала к концу возрастает в несколько раз, поэтому рекомендуется изучить всё постепенно, лучше даже с перерывами, а не съедать материал целиком.

Определение

Регулятор – это устройство, выполняющее задачу поддержания объекта управления в определённом состоянии. Регулятор получает информацию о состоянии объекта управления с помощью датчиков и вырабатывает управляющее воздействие для того, чтобы его корректировать.

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

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

Есть и более сложные устройства, например, в ракеты, которые регулируют направление движения с помощью множества датчиков. Гироскутеры удерживают равновесие тоже с помощью регуляторов, которые ориентируются на гироскоп и акселерометр.

Но есть и совсем простой бытовой пример – регулятор уровня воды в бачке унитаза. Принцип прост: если в бачке уровень воды ниже определённой планки — клапан открывается, если наоборот, выше – клапан закрывается. Это пример релейного двухпозиционного регулятора. С него и начнём…
 

Релейный регулятор

Релейный регулятор – это тип регуляторов, который может вырабатывать ограниченное количество вариантов (положений регулятора) движения, обычно от 2 до 4. Говоря проще – он не умеет работать плавно. Если, например, количество положений в регуляторе 2, то такой регулятор называют двухпозиционный, если 3, то трёхпозиционный и т.д.

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

image.png

Конструкция робота: тележка с танковым управлением, спереди которой есть датчик освещенности. Желательно, чтобы ведущие колёса и датчик, образовывали собой равносторонний треугольник, тогда движение будет наиболее стабильным.

image.png

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

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

Для этого мы использовали блок «если». Данный блок направляет программу по двум возможным путям. Куда пойдёт программа, вверх или вниз, зависит от того, является ли условие в блоке «если» истиной. 

Sensor1 > 50. Почему 50? Разберёмся откуда взялось это число, и почему для разных роботов оно может быть разным. 50 – это желаемое состояние, то пороговое значение, которое видит датчик, когда находится ровно между белым и черным. Давайте называть его «серым». Переход от белого к черному и наоборот, для датчика освещенности происходит не мгновенно, а по мере того, насколько много в его области действия черного или белого.  Для отладчика TrikStudio это значение всегда 50, а для реального робота оно зависит от показания датчика на белом и на чёрном, и будет являться их средним арифметическим. Например, робот видит на белом 46, а на чёрном 12. Тогда значение серого на реальном роботе будет (46+12)/2 = 29. 

image.png

Таким образом, всё что меньше серого – это черное, а всё что больше – белое. Если робот на белом, то есть условие

 «Sensor1 > 50» — истина, то следует повернуть направо, запустив левый мотор вперёд, а правый остановив. Если робот на чёрном, то есть условие ложно, то необходимо поворачивать в другом направлении. 

image.png

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

В итоге мы получаем робота, который умеет поворачивать направо и налево. Это как водитель, который выкручивает руль всегда до упора, и не может ехать прямо. 

 Усложним нашу программу, добавив третье действие – движение вперёд, и определим для него условие. Пусть робот едет вперёд, если отклонение от значения серого не превысило 5 пунктов. Предположим, что значение серого – 29. Это значит, что если значение датчика больше чем 29-5, и меньше, чем 29+5, то необходимо двигаться вперёд. Получился классический трёхпозиционный релейный регулятор. Движение вперёд позволяет быстрее преодолевать прямые участки, поскольку поворот – это остановка одно из моторов, а значит движение на повороте замедлено.

image.png

И, наконец, попробуем сделать четырёхпозиционный регулятор для робота с двумя датчиками освещенности. Для этого необходимо определить значения серого для обоих датчиков. Пусть оно будет 40 и 34.  

На картинке представлены 4 возможных положения робота относительно линии и, соответственно, в программе есть 4 варианта поведения робота. Сперва программа проверяет первый датчик, и если он на белом, то проверяется второй датчик, и если он тоже на белом, то робот едет прямо, а если второй на чёрном – поворачивает направо. Если первый датчик показал черное, то так же проверяется второй, и если второй датчик показал белое – то необходимо повернуть влево, а если второй тоже на чёрном, то пусть робот поедет прямо, сбавив скорость.

image.png

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

image.png

А вот пример применения релейного регулятора для движения вдоль стены. Для этого определим, на каком расстоянии необходимо двигаться. Пусть оно будет равно 30 сантиметрам. Отдаляясь от стены более чем на 30 см, робот будет пытаться приблизиться к ней, выполняя поворот направо, и наоборот, двигаться влево, если оказался ближе. Эта программа удивительным образом похожа на движение по линии. Это демонстрация того, что одни и те же алгоритмы могут быть применены к разным задачам. 

image.png

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

Пропорциональный регулятор (П-регулятор)

Пропорциональный регулятор – это регулятор, в котором управляющее воздействие пропорционально отклонению. Говоря проще – чем сильнее робот (наш объект управления), отклонился от желаемого значения, тем сильнее он будет поворачивать, чтобы скорректировать своё отклонение. 

Чтобы понять работу данного регулятора, раскроем некоторые термины.

ПропорциональностьПропорциональными называются две взаимно зависимые величины, если отношение их значений остаётся неизменным. Например: x = y * 2. y всегда больше чем в 2 раза, значит эти числа пропорциональны.

Отклонение – величина, характеризующая насколько сильно отличается текущее значение датчика(ов) от желаемого состояния. 

Управляющее воздействие – сила с которой объект корректирует отклонение.

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

Зададим желаемый угол, пусть он будет 45 градусов.

Переменные

alpha – значение желаемого положения мотора.

k – усиливающий коэффициент 

err – отклонение(ошибка)

u – управляющее воздействие

image.png

image.png

Переменная err находит угол, на который мотор отклоняется от желаемого значения. Предположим сейчас энкодер показывает 33 градуса. Тогда ошибка будет равна 45 – 33 = 12. Следовательно, управляющее воздействие будет 12 * 4 = 48. Это заставит мотор двигаться вперёд, что будет приближать его к отметке 45 градусов. Если энкодер превысил значение 45, то ошибка станет отрицательной, что приведёт к его вращению в противоположную сторону. 

Таким образом мотор будет сопротивляться внешнему воздействию. Чем сильнее отклонился мотор и чем больше величина коэффициента k, тем сильнее сопротивление. Высокий коэффициент приведёт к дрожанию мотора, поскольку он будет вновь и вновь проскакивать желаемое значение. Это состояние называется перерегулирование

Изменяя угол alpha можно заставить мотор совершать точные движения и фиксироваться заданном положении. Это позволяет искусно решать задачи с захватом объектов, манипуляторами, поворотными башнями и т.д.

Применим пропорциональный регулятор для движения по линии. Начнём с того, как робот будет управляться. В командах запуска моторов мы используем две переменные: v – базовая скорость моторов, u – управляющее воздействие. Чтобы понять, как влияют на движение эти переменные, поэкспериментируйте с их различными значениями. 

image.png

Переменная определяет, с какой скоростью робот поедет вперёд или назад в зависимости от знака. При положительной скорости – вперёд, назад при отрицательной. Переменная задаёт резкость поворота, а от её знака зависит его направление. При положительном управляющем воздействии ускоряется мотор В и замедляется мотор С – поворот вправо, при отрицательном u соответственно наоборот робот поворачивает влево. Вот так выглядит релейный двухпозиционный регулятор, если управлять роботом с помощью переменных v и u:

image.png

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

image.png

image.png

Переменные:

grey – значение серого для датчика освещенности.

k – усиливающий коэффициент

v – базовая скорость

err – отклонение(ошибка)

u – управляющее воздействие

Что делают переменные v и мы разобрали ранее, а в переменную grey запишем значение серого. 

Переменная err – это отклонение(ошибка) от желаемого значения. Когда текущее значение датчика (sensor1) превышает значение grey, ошибка становится положительной, когда они равны, то ошибка равна нулю, а когда sensor1 меньше grey, ошибка — отрицательная.

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

image.png

Допустим, что значение серого (grey) – 35. Рассмотрим примеры расположения робота на линии и его реакцию на отклонение:

Датчик света слегка сместился влево, и его значение выросло до 42. Это значит, что ошибка (err) будет равна 42 – 35 = 7. При коэффициенте (k) равном 2, управляющее воздействие (u) будет равно 7 * 2 = 14. При базовой скорости (v) 50, на мотор В будет подана скорость 50 + 14 = 64, а на мотор С 50 – 14 = 36. То есть робот плавно поворачивает направо, поскольку не сильно отклонился влево. 

Во втором примере робот сильно заехал датчиком на чёрное. Его значение стало равно 18. Теперь ошибка равна 18 – 35 = -17. При отрицательной ошибке управляющее воздействие тоже будет отрицательным и станет равным -17 * 2 = -34. При данном управляющем воздействии моторы получат значения В: 50 + (-34) = 16 и С: 50 – (-34) = 84, что заставит робота резко повернуть влево.

Вывод: чем сильнее отклонился робот, тем сильнее его реакция.

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

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

image.png

Ошибка вычисляется с помощью нахождения разности показания датчиков: err = Sensor1 – Sensor2. Желаемое значение разности между датчиками – ноль. Отличие в написании программы заключается лишь в том, как находится ошибка. Теперь нам не обязательно знать значение серого.

image.png

image.png

image.png

Однако далеко не всегда оба датчика будут показывать одинаковые значения на белом поле. Чаще всего значение имеют небольшие различия, а иногда и значительные. Робот с такими датчиками, например, не сможет ехать прямо, находясь на белом поле. А при движении по лини можно заметить, что один из датчиков (тот, который ярче) частично наезжает на черную линию.

Чтобы этого избежать, необходимо найти так называемую статическую ошибку. Она находится один раз при запуске робота на белом полигоне и вычитается из динамической ошибки (err)

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

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

Для закрепления, еще раз пройдём по порядку все действия программы в цикле:

  • Вычислениеошибки (err = sensor1 – grey или err = sensor1 – sensor2).
  • Вычисление управляющего воздействия (u = err * 2).
  • Подача управляющего воздействия на моторы (B: v + u, C: v – u).
  • Не забываем про маленькую задержку по времени (1 миллисекунда).

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

image.png

Пропорционально-дифференциальный регулятор (ПД-регулятор)

Вовсе не обязательно обладать знаниями в области высшей математики, чтобы применять дифференциальный или интегральный регуляторы. Достаточно понимать его принцип работы и предназначение. Учащиеся 7-х классов (а некоторые гораздо раньше) осознанно и с успехом применяют их в своих роботах, особенно там, где необходима высокая скорость и стабильность работы. 

Зачем нужна Д-составляющая в регуляторе? Ответ – препятствовать перерегулированию. Как мы узнали ранее, существует проблема раскачивания при применении

image.png

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

Взглянем на маятник. Он тоже раскачивается. Ему, как и скоростному роботу, нужно время, чтобы стабилизироваться. Для маятника в качестве П-регулятора выступает земная гравитация. Действительно, чем сильнее он отклонился от вертикального (желаемого) положения, тем сильнее гравитация пытается его вернуть. Но ничего не получается, он вновь и вновь проскакивает середину… Что, если погрузить его в воду? Сопротивление воды даст нужный эффект, ведь оно замедляет его движение. Маятник опускается на середину и фиксируется в этом положении. Давайте попробуем применить это на роботе, который движется по линии.

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

image.png

image.png

Посчитать скорость изменения ошибки можно, найдя разность текущей ошибки (err) и той ошибки, которая была в предыдущем цикле (errOld), а значит время известно – это задержка (1 миллисекунда). Чтобы запомнить предыдущую ошибку, присвоим её значение переменной errOld после всех вычислений. Таким образом, после обновления err, мы сможем знать и новую и старую ошибку. Так как скорость изменения отклонения (err – errOld) расчитывается в миллисекундах, то соответственно, значения получаются очень маленькие. Будьте внимательны выставляя задержку в цикле, так как её величина напрямую влияет на силу Д-регулятора. Действительно, значения датчиков вряд ли могли сильно измениться спустя всего 1 миллисекунду. А значит необходим усиливающий коэффициент (k2) достаточный, чтобы оказать влияние на управляющее воздействие. Полученное значение складывается вместе с управляющим воздействием пропорционального регулятора err * k1. Эти два регулятора работают бок о бок, но вовсе не обязательно, что их знаки будут совпадать.

image.png

Рассмотрим примеры действия ПД-регулятора при коэффициентах k1 = 2, k2 = 20. 

Пример 1: Робот правым датчиком заехал на черную линию и продолжает двигаться влево, а это значит, что ошибка увеличивается. Значение текущей ошибки равно 15, а предыдущей равно 13. П-регулятор заставляет робота поворачивать вправо с силой 15 * 2 = 30, а Д-регулятор с силой (15 – 13) * 20 = 40. Их сила складывается, значит общее управляющее воздействие равно 70. Робот будет поворачивать вправо.

Пример 2: Робот всё еще слева от линии, значит ошибка положительная, однако направление его движения изменилось – он движется вправо. Ошибка уменьшается, а значит дифференциальный регулятор должен заставлять робота поворачивать влево. Пусть ошибка равна 12, а предыдущая равна 15. В этом случае сила П-регулятора равна 12 * 2 = 24, а Д-регулятора (12-15) * 20 = -60. Суммарное управляющее воздействие 24 + (-60) = -36. Робот будет поворачивать влево.

Чтобы глубже понять поведение ПД-регулятора, можно представить ошибку на графике. Везде, где график находится над нулевой отметкой – ошибка положительная, а значит действие П-регулятора будет иметь положительный знак. Знак Д-регулятора зависит от того, движется ли график вверх или идёт на спад. Его сила зависит от того, насколько резко происходит подъём или спад.

image.png

На отрезках ab и fg, в те моменты, когда график идёт «в гору» знак Д-регулятора положительный.

На отрезках bc и df при «скатывании» вниз знак Д-регулятора отрицательный.

На ровном отрезке cd, и в пиковых точках b и f значение Д-регулятора нулевое, поскольку в эти моменты не происходит изменений ошибки.

Интегральный регулятор. ПИД-регулятор

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

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

image.png

Рассмотрим простой пример: робот движется по круговой линии. На П или ПД-регуляторе он не может поддерживать ошибку в состоянии близкой к 0, поскольку при нулевой ошибке он движется прямо. При движении правый датчик частично заезжает на черную линию и создаёт ошибку, необходимую для обеспечения поворота. Попробуем сделать так, чтобы робот стабилизировался на нулевом положении.

Принцип работы И-регулятора заключается в постоянном накапливании значений ошибки. Этот процесс так и называется – интегрирование. Создадим переменную I, в которую будем суммировать настоящую ошибку в каждом цикле: Ireg = Ireg + err. Коэффициент для И-составляющей будет очень мал, поскольку суммирование происходит каждую миллисекунду, и, скажем, если робот будет в течение секунды получать ощибку равную 10, то при коэффициенте 1 мы получим гигантское управляющее воздействие 10*1000 = 10000. Пусть коэффициент будет 0,02. Может возникнуть вопрос: а не будет ли переменная Ireg со временем разрастаться до огромных значений, ведь мы

image.png

 постоянно прибавляем? Ответ: переменная Ireg увеличивается только при положительной ошибке, при отрицательной ошибке происходит её уменьшение. Значит она может разрастись в обе стороны, но только в случае, если робот застрял в состоянии ошибки надолго.

Для удобства восприятия, давайте разложим ПИД-регулятор на 3 отдельные его составляющие. Подпишем коэффициенты (kP, kD, kI).

Preg = err * kP

Ireg = I + err * kI

Dreg = (err – errOld) * kD

u = Preg + Ireg + Dreg

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

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

 работы программы. 

image.png

Рассмотрим график ошибки и значения И-составляющей для каждой выделенной точки на этом графике.

image.png

В точке значение И-составляющей равно нулю. 

В точке b оно положительное, поскольку при положительной ошибке оно накапливалось за промежуток времени от a до b.

В точке c оно так же положительное.

В точке d – всё еще положительное, поскольку площадь S1 больше чем кусок площади S2 до точки d. 

Предположим, что площади S1 и S2 равны, хоть в реальной жизни, это маловероятно. Тогда в точке e значение вновь возвратится в ноль.

И далее в точках f и g снова положительное.

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

Известно, что в TrikStudio и RobotC время исчисляется в миллисекундах. В физике больше любят секунды, так что давайте переведём всё в них.

Тогда dT будет равна 0.001 сек. Тогда задержку по времени, будем выполнять так: sleep(dT * 1000), то есть получим значение 1 при dT равной 0.001.

Значение П-составляющей от времени не зависит, а значит ничего не изменится: err * kP

Значение Д-составляющей получится следующее: kD * (err-errOld) / dT. Всё как учили по физике: скорость равна частному от изменения на время. Помним, что теперь измерение ведётся в секундах, так что стоит изменить kD, уменьшив его в 1000 раз.

Значение И-составляющей: Ireg + err * dT * kI. Увеличиаем kI в 1000 раз.

Итог: изменяя задержку в цикле, теперь мы не создадим помех в работе ПИД-регулятора.

Кубический регулятор

Достаточно простой регулятор, в котором управляющее воздействие пропорционально ошибке, возведённой в куб. 

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

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

Минимальная ошибка — это разность минимального значения правого датчика и максимального значения левого. Максимальная ошибка – соответственно будет равна разности белого для первого датчика и черного для второго.

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

Посчитаем, чему будет равно управляющее воздействие при коэффициенте 1 и ошибке 40. 40*40*40 = 64000. Многовато! Узнаем, во сколько раз это больше чем 100 и разделим на это число наш коэффициент.

64000 / 100 = 640, значит нам необходим коэффициент  или около 0.00156.

image.png

image.png

Управляющее воздействие при ошибке менее 10 не превысит даже единицы! При ошибке, равной 20 – около 12, при 30 – около 42, при 40 – 100.

Кубический регулятор практически никак не будет реагировать на малые отклонения. Эффективнее всего использовать кубический регулятор в паре с П-регулятором или ПД-регулятором. Они отлично дополняют друг друга! 

  • Типичная ошибка процесса общения ты начальник я дурак
  • Тип ван динамический айпи неизвестная ошибка
  • Типичная ошибка процесса общения он не понял то что я сказал
  • Тип wan динамический ip неизвестная ошибка dir 615
  • Типичная ошибка при формулировании цели проекта