Простейшее управление Часть 3 ПИ - регулятор — АСУ ТП: сообщество инженеров

Простейшее управление Часть 3 ПИ — регулятор

О чём видео

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

Что разбирается
  1. 00:09 Моделирование объекта управления первого порядка
  2. 06:02 Пропорциональный регулятор и статическая ошибка
  3. 08:12 Добавление интегратора в регулятор
  4. 12:26 Влияние интегратора на перерегулирование при управлении квадрокоптером
  5. 14:47 Ограничение оборотов двигателей и отключение интегрирования
  6. 19:42 Сравнение знаков ошибки и управляющего воздействия

Кому полезно: Инженерам АСУ ТП, изучающим теорию автоматического управления и ПИД-регулирование.

Описание составлено автоматически по расшифровке речи в ролике.

Расшифровка видео

0:05 Двигаемся дальше. До этого мы рассматривали объект управления, который был у нас довольно своеобразный, это был вот резервуар, который мы наполняли водой. Но в нашей с вами жизни, а вид управления ведет себя по другому. В частности, генератор, в котором мы, допустим, собираемся регулировать. Этого возбуждения и строить автоматический регулятор возбуждения регулятор скорости. Вот они ведут себя по другому, возьмем, например, регулятор возбуждения, если мы регулируем. Напряжение шиногенератора оно пропорционально эдс генератора генератора пропорционально только возбуждение от возбуждения. Вот устанавливается таким, каким его вынуждает напряжение. Кто мы прикладываем к лодке возбуждения, при этом есть напряжение, значит, возбуждение 0, то итог возбуждения 0 и ДС будет машины. 0 Если она не включена в сети и напряжение будет. Равномерно, теперь если мы напряжение увеличиваем и, например, мы увеличили до некоторые номинальные величины ток возбуждения. Вырастет, и он станет равен так такому номинальному току.

1:04 Д возбуждения машины из за этого там соответственно увеличится и, соответственно, увеличится напряжение шинных машин. Видите, теперь мы не можем как чтобы подали время на напряжение, когда ток возбуждения вырос до своего. Нормального значения мы не можем теперь взять и снять напряжение возбуждения, а только типа вот остался вот так не происходит. Если мы уберем напряжение возбуждения, итог возбуждения за ним тоже сойдет практически то.

1:29 То есть, по сути говоря, в данном случае история чуть сложнее, нам нужно подавать напряжение. Такое, чтобы напряжение возбуждения, чтобы опосредованно через систему возбуждения тока возбуждения Эдс, машины и наконец напряжение на шинах генератора. Было равное или близкое к напряжению вставки. Здесь мы воспользуемся из теорий автоматического регулирования, так с заветным звеном 1 порядка.

2:06 Ну, 1 порядка, чтобы нам дальше с ним работать, давать небольшой эксперимент проведем. Ну вот, в простейшем случае, когда вот так выглядит, вот что. же что же он из себя представляет для изучения чего бы то ни было? Обычно делают в начале самый простой опыт, на вход подают какую то единичку. Ну, относительно допустим, каких то единицах, ну давайте и смотришь, что, может, вот давайте сделаем. Но опять же мы подадим не сразу единичку, не с 1 не с нулевой секунды, а там с 1 секунды у нас по умолчанию, так и есть степ тайм 1.

2:40 Посмотрим, чем на выходе. На выходе поставим наш стальной стетоскоп. А вот. А вот так это человек, то есть пока у нас на входе был. 0 Значит, и наша функция тоже, когда у нас ставка изменилась до единицы. Наша прозрачная функция при экспоненте увеличила свой выходной параметр до этой же единицы. За какое то время и опять же? Чтобы было понятно, что происходит вот этот вот входной сигнал, который передаем к нашему объекту моделирования, тоже выведем, только выведем на сервис несколько по другому. Здесь вот этот асограф можно модифицировать, смотрите вот в Ю здесь выбрать.

3:32 Конфигурацию свойств, и вот здесь есть количество входных портов. Это Порц во 2 поставить 2 во 2 вариант выбрать их расположение, например, 1 под другим. Вот так вот применим, вот теперь 1 на массограф. На самом деле дает байкан Верхний Нижний вот на верхней. Пусть отображается выход нашего объекта управления, а на нижней вот самоводство 42. Порт подадим входной сигнал, ну прочитайм процесс.

4:04 Вот теперь вот видно, что вот у нас сигнал выпадали и по экспоненте, значит, у нас объект управления. На выходе установил этот сигнал, теперь сигнал сняли, и теперь опять же по Испания идет, сигнал убывает, так ведет себя вот это вот звено, по сути говоря, с помощью. него мы можем моделировать какие то процесс, который мы в математике описываем дифференциальным уравнением 1 порядка. Это же и обмотка возбуждения так себя ведет. Если вы вспомните уравнение либо это электромеханический такой переходный процесс, значит, реакция, по сути говоря, генератора на изменение мощности турбины, изменение. Скорости вращения генераторов, ну или его частоты значит на выходе. Ну, мы говорим сейчас о генераторе, который пока не включим в сеть, в этом мы поговорим отдельно.

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

5:28 Для этого случая я собрал такую модельку. Она немного отличается от того, что мы выделяем, что только вот есть объект управления с моделированным дифференцированным. Правопорядка на выходе чистота на входе как раз обороты значит пропеллеров. Ну и за счет того, что 1000 оборотов в минуту, если они будут вращаться, то. Машина поднимется на 100 м, реализован регулятор профессионального действия. Вот он измеряет высоту, здесь вычисляется ошибка согласования, вот 100 м это вот. Уставка и на, считай, согласование подается на коэффициент вселения и дальше. Вот эти пока зрение просто пропускают через себя дальше, эти ворота попадают на вход.

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

6:22 Расчет нашей модели, и вот он получим результат. Смотрите, мы сами поднялись только на 9 м. То есть вот из этих вот 100 м, о которых шла речь, мы смогли подняться только на 9 м. Давайте посмотрим, что нам дает графики. Вот вы смотрите, высота, вот она была 0 вообще. Говоря согласование, было 100 м теперь, значит, высота стала увеличиваться на согласование, стало вроде бы уменьшаться, но до 0 совершенно. Не дошло обороты, при этом пропорционально стали падать прям 1 в 1 пропорционально, а значит, уменьшению согласования по высоте.

6:55 И мы больше не взлетели, ну ладно, что же делать? Тут можно сказать, что, конечно, вот этим 100 м должны соответствовать 1000 оборотов. А я тут вот вот эти 100 сказать привод ошибки в 100 м. Я эти 100 на вход и передаю тысяч, хорошо очевидно. Это, к сожалению, должен на что то умножить, на 10, когда 10 умножено, стоит уже будет. 1000 Посмотрим, как высоко мы взлетим, но вот только на 50 м опять таки в чем же дело. Почему же именно так давайте еще увеличим коэффициент деления?

7:28 Как то нам повезет больше, мы существенно выше примирительно. Мы поднялись только 90 м, опять же, на 100 м не понять вообще. Так дальше можно увеличивать коэффициент. Вселения увеличивать довольно сильно, и тем не менее никогда мы не достигнем 100 м. Просто именно потому, что так устроен регулятор, потому что когда, если мы поднимемся. Прямо на 100 м то у нас вот эта ошибка согласование пропадает, а значит, становится равным 0 напряжение на двигателях, которые вращают пропеллер и квадрокоптер должен. Начинать спускаться соответственно падать вниз, поэтому где то вот эта стабилизация происходит, но она никогда не может происходить на вот той искомой нами высоте.

8:09 Что же делать, ну? Предыдущий объект управления, который мы рассматривали, вот он вел себя по другому. Там мы могли добиться того вот уровня воды выходного параметра, который мы хотели. Добиться, ну а что там было, там был интегратор? Так вот, давайте иди сюда, вы именно в регулятор ставим, интегратор сделаем вот еще 1 канал, интегрирующий, по сути. Говоря накапливающий как бы ошибку со временем, что это будет, давайте посмотрим. Библиотека библиотека закрылась, она вот интегратор сюда вставим, на что это канал тоже. Будет какой то красным селением, который вот будет давать больше или меньше участия и выходной сигнал с нашего регулятора. Теперь вот он будет складывать и 1, и 2.

9:00 Вот уже приду, вот так вот, ну давайте посмотрим. То есть до этого мы поднялись только на 90 она9 м. Давайте посмотрим, что каждый сейчас, ну вот уже лучше на 91 и 76. В остальном ничего не поменялось, но давайте здесь увеличим количество селений вот так существенно. Вот ровно стоп ровно снова добились того, что хотели. Практически график какой то идеальный, вот он за доли секунды взмыл вверх. Можно сказать, да и на той высоте остался хорошо, но дальше такой вопрос, а можно еще. Увеличивать контент в среднем давайте, например, сделаем, 500 вот что будет при этом. Смотрите, результат в общем то тут же, то есть практически вот это. Вот интегрирующее звено приводит к тому, что мы точно в итоге добиваемся.

9:53 Соответствия регулируемой величины величины той вставки, которую задали, но действительно ничего не поменялось. То есть действительно просто увеличилась скорость регулирования, как происходило в случае, когда мы увеличивали? Коэффициент усиления этого канала, который регулировал пропорциональное отклонение. А вот не совсем смотрите, какая интересная штука. Дело в том, что вот в какой то момент у нас здесь появляется вот такой процесс.

10:17 Вот у нас уставка 100 м, но где то, в течение какого то времени у нас происходит, перерегулирование у нас просто больше становится высота, чем нужно, как бы взлетел. Чуть выше, а потом снизится, ну и дальше. Так можно понимать, что чем больше мы вот будем делать при собеседовании, тем больше вот это при регулирование будет возникать. Вот смотрите, что я здесь делал, я немножко модифицировал модель. Ну, во 1 тут коэффициент сильно пропорциональное звено осталось тем же. Значит, интегратор надо, что я? Поставил чуть меньше, как сам селение, чтобы было какое то приличное. Я суммирую сигнал и сейчас пока что вот ухожу на нашу модель объекта управления, значит, вот как.

11:03 Ну, примерно как было раньше, вот хороший результат. То есть мы получаем мы таким образом реализовали регулятор, который достигает нашу цель, да, пожалуйста, мы. Поднимаемся на высоту 100 м отлично, хорошо? При этом если посмотреть регулирование особого, значит, нигде нету, то есть процессы какие то вполне себе приличным. Но что, если в течение вот значит процессор этого управления, что то еще воздействует на нашу модель, но, в частности, вот можно себе вполне представить такой. Простой пример, когда на включение квадрокоптера, чтобы он полетел, ему сказали там 100 м. Но какое то время, вот мы еще его держим в руках, не знаю, там подержали. Несколько секунд отпустили, и он полетел после этого. Что же в этом случае происходит, но в принципе такой ничего криминального, такой нормальный случай, что. же будет теперь, давайте мы сделаем вот как нашу систему управления включим на такой. Вот помните автоматический переключатель то, что мы делали в предыдущих? Уроках там и у него, что он передает сигнал на выход. Вот этот нулевой у нас пока время, которое на 2 значит ножку меньше 5 секунд, допустим, когда время станет. Больше 5 секунд, значит, вот уже сигнал будет поступать на объект управления от нашего регулятора. Вот всего лишь то есть регулятор как бы включен, но значит.

12:26 Сам ответ управления остается на месте, скажем так. И вот если мы так выполним, то видите уже вот по этой диаграмме. Видно, что и вот, значит, по листу я видно, что у нас уже высота стала больше, почему же? Она стала больше, когда мы ничего другого не меняли, просто его несколько попридержали. Наоборот, мы попридержали, а высота стала больше. Давайте посмотрим на графике, вот они выглядят таким образом вот. Мы 5 секунд стояли на месте, ничего не делали, значит, там отпустили высота. Вот он взмыл вверх аж до 300 м, а потом стал снижаться. Ну и вот за заданное какое то время тут он не успел до 100 м снизиться. Конечно, тебе бы время дали больше, что он бы пришел к цели управления. Раз согласование при этом на самом деле тоже какой то было 100 м и потом, правда, согласование. Вот оно сошло к 0, а потом оно.

13:10 Оказалась инвертирована, потому что он выше взлетел, чем он. Значит, был внизу, но при голосовании пришлось отрабатывать обратную сторону, то есть такое большое. Перерегулирование, а вот что с оборотами обороты нашей системы регулирования. В момент все таки включения, когда мы опускаем наш квадрокоптер, требует от него аж там 3 онас5. На 10 4 то есть это что? Это уже даже не 3000, а что 35000 что ли? Вот каких то больших оборотов, конечно, двигатели не могут такое выдавать. Тут есть ограничения, мы с ним сейчас посмотрим, но, во всяком случае, почему так. Происходит, а вот давайте посмотрим, что дает наша система управления. Вот пока мы держим квадрокоптер в руках, а согласование у нас остается там тоже самое. Вот оно вот эти, вот самые 100 м звено пропорционального пропорциональное звено в регуляторе. И вот она нам дает строго, вот это согласование умноженное. На 100 вот такой сигнал продолжает давать, сколько бы мы не держали ровная. Такое же согласование будет давать вам такой же сигнал, а ушел с интегратором. Момент того, как мы включили нашу систему управления, и появилась появилась эта ошибка. Интегратор начинает ее суметь, начинает ее накапливать, накапливать. Накапливать и к тому моменту просто, когда мы отпустили наш квадрокоптер, интегратор накопил большой сигнал, и вот этот сигнал как раз вот он и есть вот. Настолько здоровый, что в целом вот у нас управляющее воздействие, которое тут внизу показано, вот оно оказалось 3 3. Квадрокопчик стал отрабатывать, но он разогнал свой пропеллер настолько, что вот он, как пуля, выстрелил вверх слишком высоко, и потом ему пришлось снижаться.

14:47 Что же фактически делать в этом случае на ум приходит 1 замечание, которое мы как бы не очень? Вот очевидно, что скорость оборотов двигателей она не может расти сколь угодно бесконечным, и сверху надо ограничить сверху, вроде бы это должно. Помочь, чтобы пропеллер не разменялся там до 1000 10000 оборотов, а все таки, допустим, допустим, 2000 оборотов. Это раз во 2 когда квадрокоптер сильно наверх взлетел. Вот это перерегулирование, когда он компенсирует на самом деле ни 1. Из них никакой вертолет не может начать вращать пропеллер в обратную сторону. То есть либо проворачивает отеля на обратную сторону, либо настолько разворачивать, лопать, чтобы вместо того, чтобы сдать подъемную силу, наоборот, начинает. Разгонять машину к земле, в общем, давайте попробуем очистить ограничения. Посмотрим, что будет, ну вот во 1 поставим из ограничения 2000 оборотов в обратную сторону или создавать движение вниз принудительное не дадим, посмотрим, что будет.

15:48 И перерегулирование вышло хуже, то есть на самом деле. Оказалось, что за это время мы не смогли вернуться не то, чтобы желаемой высоте мы там почти в 2 раза выше оказались. Ну, давайте просто увеличим время. Ну вот, с увеличением времени вы что то, но, во всяком случае, как видно, мы там затянули процесс. При этом, понятное дело, значит, вот поведение интегратора здесь не изменилось. Он интегрирует все то время пока. Наш объект управления еще не способен двигаться таким образом. Мы должны сделать своего рода для того, чтобы выйти из положения, сделать своего рода такое условное интегрирование. В общем, отключать канал интернирования на то время, пока вот работа интегратора.

16:38 К правильной динамики объекта управления не приводит. Как это можно сделать? Вот 1 из вариантов такой модифицированной схемы вы сейчас видите на экране и после вычленя оказывается, что мы за те же время полета. 5 Секунд стоим и 5 секунд летим, вот за все это время вполне приближаемся к нашей цели и даже. Посмотрев на эти графики, можно сделать вывод, что вообще говоря, располагая вот теми самыми 2000 оборотов. Мы буквально за 1 секунду, но у нас такой очень легкий. Мы добираемся до нужной высоты, вот мы его держали, вот мы его отпустили.

17:19 И вот за буквально за эту секунду он взлетел чуть выше, да тут на высоту практически 100 м, и там остался. Что же происходит для того, чтобы понять, что происходит, возможно, мы? Сделаем дополнительные несколько это слогов. Помимо вот этого физического ограничения на количество оборотов мы поставили еще 1, но такой, но уже программный ограничитель все.

17:48 Сигналов, которые вот ну задали то же самое, что стоит на физическом. Мы говорим, что значит вот разгоняться 2000 можем больше больше. Уже будет нельзя, просто двигатель не справится и значит минимальное значение. Это 0 и значит, 1 такое замечание смотрите вот если я. У нас. Выходной сигнал от системы регулирования больше, чем может в принципе. Позволить себе объект управления, то вот в таком случае мы отключаем, отключаем наше вот это интегрирование, чтобы не продолжать накапливать эту ошибку, то есть. Таким образом, как только интегратор даст сигнал выше, чем это может можно реализовать, вот он будет отключен. Как вот мы делаем, замер до это вот сигнал от. Нашего регулятора после и сравнивать, если они не равны, то тогда здесь будет 0 этот 0 идет. Вот сюда и здесь сигнал, который поступает на вход и когда то работе. Нужен, на 0 то есть, на входе интернета будет. Ну и еще, значит, 1 есть условие, которое чуть труднее на самом то деле понять, фактически мы начинаем сравнивать. Знак знак сигнала, который не дает нашим всем управления и знак ошибки, чтобы не вдаваться в подробности. Не рисовать какие то графики, можно сказать, действительно. Мы всегда считаем, что если у нас вот эта ошибка положительная, то эта ошибка требует того, чтобы мы увеличивали управляющее воздействие, то есть если. Вот у нас было, например, напряжение у ставки там, 10, допустим, киловольт мы намерили, допустим, 9% ты5, 10, от 9%, это, допустим, полкиловольта, это положительная. Положительная, и в этом случае нам нужно что сделать. Нам нужно увеличить ток возбуждения машины, увеличить, то есть положительная ошибка, требует увеличения.

19:42 возбуждения возбуждения только возбуждения увеличение, стало быть, и наоборот, отрицательная ошибка требует уменьшения или там отрицательного управляющего воздействия, так вот чтобы. Учесть и это этот фактор здесь тоже, значит, на тот вычисляются вот этими блоками. Шляется знак с этой стороны знак ошибки с этой стороны знак управляющего действия и сравниваются. Пока знаки одинаковые, значит, у нас регулятор делает верный выбор. Скажем так, когда они разные, значит, тут на выходе тоже появится 0 здесь. Вот сравниваются эти знаки на выходе. Появляется 0 и, значит, тоже 0 проходит сюда на вход интегратора, интегратор перестает работать. Ну, ну вот и давайте посмотрим, настолько ли это, как это теперь все таки выглядит.

20:36 Ну и вот. Смотрите, вот раз согласование, какое оно было. Пока мы не даем, куда купюры влететь, она такой и остается значит. Значит, При этом выход нашего регулятора вот увеличился до 1000 момент включения. Но вот эти вот 2 сигнала, которые позволяют интегратору работать, вот они выглядят вот так, 1 из них вот это вот. Появляется, включая наш оператор именно в тот момент, когда у нас нет такого насыщения, когда мы ушли за пределы. Это в течение этого времени, а другой разрешает нам работать. Пока у нас одинаковые знаки, в общем, почему вот эта 1000 появилась эту? 1000 Дал нам явно уже не интегратор. На самом деле эту 1000 сейчас на самом еще дадим, вот еще 5 сделаем.

21:35 Вот так вот вот так. И значит. Я подозреваю, что эту 1000 нам дал уже канал пропорционального. Пропорциональный канал, ну и действительно вот это. Вот это выход с коэффициента усиления по каналу. Пропорциональные ошибки, и вот он дает это. 1000 Это уже не в результате того, что дает нам интегратор просто в результате того, что дало пропорциональное звено, ну. А общий результат вы видите, то есть мы взлетели на высоту, на ней остались, нету и там взлетов нет и так далее. То есть таким образом нам удалось ограничить звено?

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

Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

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

Прокрутить вверх