Перейти к содержанию
    

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Quote

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, jcxz said:

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

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

18 minutes ago, jcxz said:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

46 minutes ago, jcxz said:

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

1 hour ago, jcxz said:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 hours ago, quark said:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 minutes ago, quark said:

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

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

 

32 minutes ago, quark said:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Quote

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...