PDA

Просмотр полной версии : Дискретный ПИД регулятор (PID) управляющий клапаном без обр. связи по положению



Alevlaka
21.07.2023, 07:02
Здравствуйте. Нужен регулятор поддерживающий давления мазута с помощью клапана рециркуляции. Управление клапаном дискретное, двумя дискретными выходами (открыть, закрыть). Обратной связи по положению нет.

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

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

По моему у ПИД регулятора значение должно соответствовать рассогласованию. Чем больше рассогласование, тем больше значение. Соответственно если рассогласование положительное (Значение больше уставки) то и значение положительное, если рассогласование отрицательное (значение меньше уставки) то и значение отрицательное. Ну или наоборот... Если рассогласование 0, то и на выходе 0. И выход должен меняться в соответствии с коэффициентами ПИД. Я вот парочку нашел подходящих (во вложении), но они ведут себя как простые "отниматоры" с пропорциональным коэффициентом. На остальные коэффициенты никак не реагируют. Я так понимаю зависимость в ПИД должна быть нелинейной, кроме случаев когда коэффициенты И и Д равны 1 (или 0), или меняться с какой-то скоростью.

Или же у ПИД сразу на выходе должны быть дискреты. KZR_DO_Sel из раздела "Для вентиляции" как то непонятно работает.

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

EFrol
21.07.2023, 08:04
Вот это Вы подставились! Вам сейчас накидают! Держитесь!
А пока быстренько заучить вот эту формулу:
69056

и пробежитесь по форуму на предмет дискретного регулирования.

Alevlaka
21.07.2023, 08:15
ПИД регуляторы бывают реализуются по разному и работают по разному. В части выходного сигнала и коэффициентов.

EFrol
21.07.2023, 08:59
В основе любого ПИД-регулятора лежит именно эта формула. И если Вы поймете ее физический смысл, то найдете ответы на все вопросы.
Другой вопрос, что она вырождается в ПИ или ПД при 0-х коэффициентах и влияние управляющего сигнала на измеряемую величину может быть не пропорционально.