Я бы проверил этот путь. Трансформатор и симисторы будут надёжнее любого инвертора. А возможность, в дополнение к вкл/выкл периодов, менять амплитуду напряжения очень ценна для снижения пульсаций мощности. Разумно было бы проконсультироваться с производителем нагревателя - сколько ступеней регулировки будет достаточно?
На счёт алгоритма. Если требуется регулирование с обратной связью, то я бы делал с двумя контурами. Управление по целым периодам. Включаем только на целое число периодов. Выключаем только на целое число периодов, чтобы исключить подмагничивание и нечётные гармоники.
Внешний контур ПИД управляет уставкой мощности нагрева, а внутренний контур блюдёт интеграл квадрата квадрат напряжения (достаточно просто датчика напряжения, сопротивление нагревателя примерно известно). Таким образом, колебания напряжения в питающей цепи будут быстро компенсироваться (в пределах пары периодов) и не будут являться возмущением для регулятора температуры. Выбор ступени - примерно по Брезенхэму:
- Включаем ближайшую подходящую к заданной мощности ступень.
- Меряем фактическую энергию (интеграл квадрата напряжения на нагревателе) за прошедший период на выбранной ступени.
- Считаем разность фактической энергии за прошедший период и заданной.
- На следующий период выбираем ступень мощности согласно разности заданной энергии на период и прошлой дельты.
- Уставку мощности меняем плавно, чтобы не перегружать нагреватель температурным градиентом (консультироваться с производителем).
- Дельту энергии, участвующую в учёте фактической мощности и выборе ступени, ограничиваем 50..100% максимальной мощности. Для устойчивости к сбоям измерений и прочим глюкам.
Так должно быть надёжно и деликатно для нежного, 18кВт, прибора.
-
- Николай, в данной задаче Брензенхем есть зло. только фазоимпульсное управление. - m16(24.09.2020 20:27)