У меня есть нелинейный тепловой процесс (нелинейное излучение становится все более и более присутствующим при повышении температуры), на который я хотел бы настроить ПИД-регулятор. Я хотел бы контролировать температуру как можно точнее.
Я планировал разделить температурный диапазон на N псевдолинейных диапазонов (которые будут определены) и для каждого из этих температурных диапазонов: установить модель первого порядка, используя небольшой температурный шаг, и рассчитать параметры ПИД-регулятора для соответствия этой модели. Параметры ПИД-регулятора будут автоматически переключаться в зависимости от температуры процесса *.
Моя проблема заключается в следующем: рассмотрим контрольную точку 70 ° C, например. P ватт уже течет, чтобы достичь этой температуры. Я введу дП ватт, чтобы повысить температуру на 1 ° C. Затем я запомню постоянную времени, и усиление в установившемся режиме составит 1 / dP ° C / Вт. [Пожалуйста, не могли бы вы подумать о том, правильно ли это?] Наконец, я настрою PID на эту установку, чтобы получить параметры для этого температурного диапазона, и перейду к другим диапазонам.
Теперь предположим, что процесс достигает 70 ° C. Новые параметры загружаются и встроенный счетчик сбрасывается. Ошибка может составлять 1 ° C, но требуемая мощность намного больше, чем для достижения 21 ° C, и, несомненно, контроллер потребует меньше P ватт. Это означает, что температура сильно понизится до того, как интегральный член потребует P ватт, и только тогда дополнительный ватт dP в конечном итоге доведет процесс до 71 ° C (и он, безусловно, перескочит). Чем больше P по сравнению с dP, тем хуже становится.
Похоже, что нагреватели должны работать с суммой выходного сигнала контроллера и мощностью, необходимой для поддержания текущей «контрольной температуры» (например, 70 ° C). Но готовые контроллеры не предлагают этого, поэтому должен быть другой путь.
Что мне не хватает? Как правильно?
*: Это эффективное планирование .