Jump to content
    

Интегральная часть ПИД регулятора

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

Ищется по фразе anti windup for PID control.

Share this post


Link to post
Share on other sites

2 минуты назад, AndreyVN сказал:

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

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

Share this post


Link to post
Share on other sites

Quote

 этой проблемы не существует. От слова "совсем".

Не очень убедительно.

Системы регулирования могут быть самыми разными. Например, при управлении температурой, мне anti widup действительно не требовался. А в системе регулирования высокого напряжения очень даже помог, особенно, когда возникали нештатные ситуации типа пробоев. Разница между требуемой и измеренной величиной вдруг оказывается несколько порядков! Иногда такое возможно.

Share this post


Link to post
Share on other sites

5 минут назад, AndreyVN сказал:

Иногда такое возможно.

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

Share this post


Link to post
Share on other sites

19 часов назад, AndreyVN сказал:

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

Ищется по фразе anti windup for PID control.

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

18 часов назад, AndreyVN сказал:

Системы регулирования могут быть самыми разными. Например, при управлении температурой, мне anti widup действительно не требовался. А в системе регулирования высокого напряжения очень даже помог, особенно, когда возникали нештатные ситуации типа пробоев. Разница между требуемой и измеренной величиной вдруг оказывается несколько порядков! Иногда такое возможно.

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

Share this post


Link to post
Share on other sites

1 час назад, quark сказал:

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

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

20 часов назад, quark сказал:

На практике, при правильной реализации регулятора, этой проблемы не существует. От слова "совсем".

Извиняюсь - а какой у вас опыт в разработке систем управления двигателями с использованием ПИД-регуляторов?  :smile:

Или расскажите нам, что следует делать в случае, если "максимально допустимое напряжение" двигателю не было превышено, а интегральная составляющая всё равно накопилась и продолжает тащить двигатель вперёд, в то время как педаль газа давно отпущена?

 

PS: Судя по вашим высказываниям - вы даже не понимаете о чём речь.

Share this post


Link to post
Share on other sites

3 minutes ago, jcxz said:

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

Как это не связанна?  Если управляющее воздействие с выхода PID не может изменить состояние управляемой системы (из за ограничений) для устранения ошибки на входе PID то что это? 
Это только в идеальном мире PID и управляемая система линейны -∞ до +∞. 

18 minutes ago, jcxz said:

Или расскажите нам, что следует делать в случае, если "максимально допустимое напряжение" двигателю не было превышено, а интегральная составляющая всё равно накопилась и продолжает тащить двигатель вперёд, в то время как педаль газа давно отпущена?

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

Share this post


Link to post
Share on other sites

6 минут назад, RobFPGA сказал:

(раз вы говорите что управление не ограничивается).  ...

А где я такое говорил?  :shok:

Share this post


Link to post
Share on other sites

46 minutes ago, jcxz said:

А где я такое говорил?  :shok:

1 hour ago, jcxz said:

ли расскажите нам, что следует делать в случае, если "максимально допустимое напряжение" двигателю не было превышено, а интегральная составляющая всё равно накопилась и продолжает тащить двигатель вперёд, в то время как педаль газа давно отпущена?

Выделено.  Раз управляющее  воздействие не превысило максимальное значит можно сказать что система управления работает в линейном режиме. И если в таком режиме  у вас существуют значительное (и недопустимое) перерегулирование управляемой характеристики  "педаль газа давно отпущена а движок тащит вперед" значит система была спроектирована и настроена неправильно. 

Share this post


Link to post
Share on other sites

1 час назад, jcxz сказал:

Извиняюсь - а какой у вас опыт в разработке систем управления двигателями с использованием ПИД-регуляторов?  :smile:

Многолетний. :smile:

Вот этот опыт, на мой взгляд, наиболее коммерчески удачный:
https://ellab.ru/serijnaya-produkcziya/bloki-upravleniya-kollektornyimi-dvigatelyami/awd17.html

Есть и другие серийные опыты. Но в открытой продаже их нет.

Share this post


Link to post
Share on other sites

8 hours ago, quark said:

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

Хм, я при управлении нагревателями просто приводил все входные и выходные переменные к диапазону 0.00-100.00%. Модули AI, которые применялись, умели выдавать результат измерения в таком же диапазоне. И выход тоже вычислял в таком же процентном диапазоне. ИМХО, не вижу смысла считать в абсолютных величинах, проценты удобней.

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

Share this post


Link to post
Share on other sites

2 часа назад, tonyk_av сказал:

Хм, я при управлении нагревателями просто приводил все входные и выходные переменные к диапазону 0.00-100.00%. Модули AI, которые применялись, умели выдавать результат измерения в таком же диапазоне. И выход тоже вычислял в таком же процентном диапазоне. ИМХО, не вижу смысла считать в абсолютных величинах, проценты удобней.

Так написано, чтобы было понятнее неопытным пользователям. Вы, обладая неким опытом, сразу заметили "подвох". На самом деле, при вычислениях, удобнее даже не проценты использовать, а величины представленные в диапазоне от 0 до 1. Когда для расчетов используется арифметика с фиксированной точкой, все ограничения получаются почти автоматически.

2 часа назад, tonyk_av сказал:

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

Я того же мнения. Это чисто "теоретическая" проблема, "высосанная из пальца"...

Share this post


Link to post
Share on other sites

31 minutes ago, quark said:

На самом деле, при вычислениях, удобнее даже не проценты использовать, а величины представленные в диапазоне от 0 до 1

Я просто 0..1 на 10000 и получил 100.00 с фиксированной точкой.

 

32 minutes ago, quark said:

Когда для расчетов используется арифметика с фиксированной точкой, все ограничения получаются почти автоматически.

Точно, так и было.

Share this post


Link to post
Share on other sites

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

Те самые, алгоритмы, которые quark предлагает вынести за границы PID регулятора.  Выход за динамический диапазон предлагаю не рассматривать, поскольку в этом случае управление физически нереализуемо. (либо измерению нельзя верить, либо управление больше 100% нельзя сформировать).

Quote

Реальный регулятор отрабатывает такие ситуации не по алгоритмам ПИД.

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

Share this post


Link to post
Share on other sites

32 минуты назад, AndreyVN сказал:

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...