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

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

1 hour ago, AndreyVN said:

Что есть более совершенное, чем примитивное ограничение интегральной составляющей?

Ничего. :))

1 hour ago, AndreyVN said:

Так по каким?

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

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


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

Защита при угрозе выхода из строя - спору нет, это не задача регулирования.

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

В целом, ответ "ничего" - понятен. 🙂 

 

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


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

17 minutes ago, AndreyVN said:

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

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

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


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

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

Защита при угрозе выхода из строя - спору нет, это не задача регулирования.

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

В целом, ответ "ничего" - понятен. 🙂

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

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

------------------

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

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

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


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

1 hour ago, AndreyVN said:

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

В целом, ответ "ничего" - понятен. 🙂

Вообще то на быстрые возмущения  в первую очередь  должна реагировать D-составляющая в PID ...  

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

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


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

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

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

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

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


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

26 minutes ago, quark said:

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

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

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


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

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

Неужели здесь присутствующие не знают как работает интегратор или пропорциональное звено?

Если они делают проблему из ограничения интегральной составляющей - значит знают плохо.

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


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

25 minutes ago, quark said:

Если они делают проблему из ограничения интегральной составляющей - значит знают плохо.

А из-за чего, собственно весь сыр-бор?

А знает ли господин-ограничитель интегральной составляющей, какова вообще изначально есть функция таковой? Зрит ли в корень?

Известно ли господину ограничителю, что недостатком пропорционального и пропорционально-дифференциального регулятора является ПРИНЦИПИАЛЬНОЕ наличие НЕУСТРАНИМОЙ небольшой статической ошибки регулирования, корни которой проистекают из ограниченности усиления усилителя ошибки (рассогласования) ? Так вот, именно для устранения этого недостатка и применяется интегральное звено. Оно ПО ОПРЕДЕЛЕНИЮ призвано накапливать незначительные отклонения и слегка подталкивать процесс в нужную сторону (мелкие движения рулем автомобиля влево-вправо, когда Вам кажется, что Вы все время едете по прямой). Если отклонение достаточно велико, чтобы вызывать  вышеупомянутые эффекты от интегрального звена, это говорит о том, что оно (звено) используется не по назначению. Выход до смешного прост: интегральное звено  должно сбрасываться для ошибок, величиной более XX.XX. Малость этой величины Вы сами выбираете исходя из характеристик объекта управления.

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


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

22 минуты назад, Gorby сказал:

Зрит ли в корень?

Зрит, зрит... У вас в подписи написано, что умеете молчать на 37 языках. Русский язык включен в этот список? )))

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


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

2 hours ago, Gorby said:

Оно ПО ОПРЕДЕЛЕНИЮ призвано накапливать незначительные отклонения и слегка подталкивать процесс в нужную сторону

Да ну! Интегральная составляющая устраняет статическую ошибку регулирования, делая отклонение заданного значения от текучего равным нулю, посему, ничего она не_дёргает. Дёргают как раз  П и Д-составляющие.

3 hours ago, quark said:

Если они делают проблему из ограничения интегральной составляющей - значит знают плохо.

Чё-то я начинаю подозревать то же самое...

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


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

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

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

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

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


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

В 08.07.2023 в 13:21, RobFPGA сказал:
В 08.07.2023 в 12:48, jcxz сказал:

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

В 08.07.2023 в 12:16, jcxz сказал:

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

Выделено.  Раз управляющее  воздействие не превысило максимальное

И где же из выделенного вы вывели, что "управление не ограничено"? Где вы там такое узрели? :unknw:

В выделенном нигде про такое не написано. А у вас видимо дар - видеть то, чего нет.

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


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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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