Может ли ШИМ с разрешением 1% в контуре ПИД-нагревателя достичь точности температуры, превышающей 1%?

8

Мне нужно установить температуру от 20 ° C до 300 ° C. Я использую выход ШИМ с разрешением 1% рабочего цикла. Может ли общий период ШИМ и синхронизация ПИД-регулятора повысить точность температурного диапазона в нагрузке до 1%?

Дирк Брюер
источник
10
Вы должны уточнить определение точности температуры на 1%. Предположим, я переписываю ваши 20 C до 300 C с 293 Кельвина до 573 K, тогда 1% - это другое число. Если в вашем устройстве присутствует (длинная) постоянная времени (тепловая масса), я бы сказал, что да, вы можете получить более высокую точность, поскольку это усреднит значение, которое вы применяете, так что при достаточном времени может быть достигнута любая точность.
Bimpelrekkie
Вы специально работаете с твердотельным реле с переменным током при нулевом токе и питанием от сети переменного тока частотой 50/60 Гц для питания нагревателя?
DeusXMachina
В зависимости от тепловых масс, контроль включения / выключения, вероятно, достаточно хорош
Скотт Сейдман
Я не знаю о ПИД-регуляторах, но я написал приложение для управления сушильным шкафом для своей работы, которое регулирует использование периода ШИМ 30 с с разрешением 1 с, которое способно поддерживать температуру в пределах 1-2 ° C от целевой температуры (обычно около 80 ° C) это контролируется с помощью SSR, имеет нагревательный элемент мощностью 2 кВт и вентилятор для циркуляции воздуха. Код доступен по адресу bitbucket.org/snippets/gds-uk/qj9yE/oven-controller, если вы заинтересованы.
RobbG
Также обратите внимание, что теплопроводность вашей нагрузки варьируется: если это не жидкость с перемешиванием или что-то очень крошечное, вероятно, будет более 1% изменения температуры в нагрузке.
pjc50

Ответы:

21

Это зависит от постоянной времени нагрузки. Нагретый груз часто реагирует в течение 10 секунд.

Если вы генерируете 30% ШИМ в течение одной секунды, а затем 31% ШИМ в течение следующей секунды, это будет выглядеть как 30,5% в среднем за несколько секунд.

Термостаты в духовке, как правило, работают в течение минуты, минуты выключения и все еще достигают температуры печи, стабильной до однозначных цифр C. ШИМ 1%, настроенный раз в секунду, может работать на несколько порядков лучше, чем это.

Neil_UK
источник
8
Я бы назвал это «сглаживанием» после эквивалентной техники для увеличения глубины цвета в компьютерной графике, но не знаю, как часто это называют.
Пит
1
Я обнаружил, что использую ту же самую терминологию, поэтому думаю, что она не может быть настолько далека от истины.
DeusXMachina
1
@PeteKirkham Я обычно называю это дизерингом.
Винни
9

Да.

Учитывая тот факт, что по сравнению с другими нормативами (напряжение, ток и т. Д.) Регулирование температуры довольно медленное, вы можете использовать микроконтроллер (я полагаю, вы уже это сделали), но добавить циклическое изменение сигнала ШИМ. ширина.

представьте, что для стабильности вашей системы вам необходимо иметь ширину импульса 3,8%. вам просто нужно применить рабочий цикл 3% в течение 20% времени и 4% в течение оставшихся 80%. Выполнение этого в течение одной секунды должно позволить вам достичь необходимой точности.

Sclrx
источник
7

Странно сформулированный вопрос, но я думаю, что вы спрашиваете, будет ли температура приращения нагрузки на 1% с шагом ШИМ с разрешением шага 1%. то есть 2.828C за шаг.

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

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

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

введите описание изображения здесь

Для небольшого температурного диапазона мощность к температуре можно считать почти линейной, но 300C - это не маленький температурный диапазон.

Насколько линейным является то, что вы планируете в отношении отопления, и насколько точным должен быть 1% (т. Е. 1% плюс или минус что?), Конечно, выходит за рамки этого вопроса и ответа. Но я подозреваю, что вам нужно будет приложить НАМНОГО больше прироста мощности, чтобы поднять его до последних 50С, чем вы подняли до 70С.

Сложение

Из вашего вопроса очень неясно, включили ли вы измерение температуры в контур управления. Я подозреваю, что, поскольку вы задали вопрос, ответ на этот вопрос - нет, поэтому основное внимание в этом ответе.

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

Но, конечно, точное измерение температуры на большом объекте может стать проблемой для самого себя.

Trevor_G
источник
1
Спасибо. Но, если честно, я добавлю немного информации, которую я пропустил: 100% ШИМ дает 300degC. Конечно, ваш ответ тогда действительно относится к нижнему концу шкалы
Дирк Брюэр
@DirkBruere достаточно просто проверить. Установите его на 50% и измерьте темп :)
Trevor_G
Это определенно будет нелинейным
Дирк Брюер
НЕТ, так как прямой ответ, вероятно, неверен. Смотрите ответ Neil_UK, который можно обобщить как «да, при точных, но довольно общих обстоятельствах». Домашняя печь - прекрасный пример.
Caterpillaraoz
@Caterpillaraoz Я думаю ... хотя я уже определил это в следующем предложении. Во всяком случае, это не должно быть там .. гонзо. Спасибо за ответ.
Trevor_G
6

Это зависит.

Если ваш контроллер или код алгоритма управления может измерять температуру нагрузки и отслеживать желаемый выходной сигнал с разрешением, превышающим «1% разрешение» (учитывая, что отношение выходного сигнала к температуре не является линейным), тогда можно достичь гораздо лучшего, чем Как показывает ответ Neil_UK, эффективное разрешение на выходе 1% путем сглаживания . Фактическое улучшение, которым вы сможете управлять, будет зависеть от того, как долго постоянная времени нагрузки зависит от времени цикла вашего выхода.

Если ваш контроллер или код не могут этого сделать, вы получите некоторое колебание температуры нагрузки. Например, если заданное значение и условия окружающей среды таковы, что «правильный» выход для требуемой температуры нагрузки будет 30,5%, то ближайший выходной сигнал может быть равен либо 30%, и в этом случае нагрузка будет охлаждаться до чуть ниже заданного значения. или 31%, в этом случае он нагревается до чуть выше заданного значения, и только «заметив» это отклонение фактической температуры нагрузки, контроллер может изменить свой выходной сигнал, чтобы исправить отклонение.

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

Кроме того, подумайте, что именно вы подразумеваете под точностью . Нужна ли вам абсолютная точность (заданное значение 100 ° C дает контролируемое значение, которое на самом деле составляет 100 ± 0,1 ° C) или просто стабильность (контролируемое значение может стабилизироваться в диапазоне от 98 до 102 ° C, но затем остается стабильным в пределах ± 0,1 ° C)? Абсолютную точность измерения температуры труднее достичь, чем предполагают люди, но есть много применений, где абсолютная точность не так важна, пока стабильность хорошая.

nekomatic
источник
+1 Я согласен с этим и со всеми ответами здесь, но нигде в вопросе ОП он не указывает, что это система с замкнутым контуром, то есть с обратной связью по температуре. Это просто то, что все предполагали, потому что именно так ОНИ сделали бы это.
Trevor_G
@Trevor заголовок говорит в петле подогревателя ПИД .
nekomatic
Да, это так, но это может означать что угодно или ничего. Я подозреваю, что OP не измеряет температуру, или не может сделать это точно, или этот вопрос не будет начальным. Но без проверки ... кто знает.
Trevor_G
6

Скорее всего да. Я сделал именно то, о чем вы спрашиваете в коммерческом продукте.

Причина, по которой я говорю «скорее всего», а не просто «да», заключается в том, что для получения более высокого температурного разрешения, чем разрешение ШИМ, требуется, чтобы период ШИМ был значительно меньше, чем доминирующая тепловая постоянная времени. Если у вас нет очень необычного нагревателя (например, нить накаливания лампы накаливания), это требование будет выполнено.

Реальный пример

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

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

ШИМ для нагревателя работал на нескольких кГц, во много раз быстрее, чем любая значимая частота отклика нагревателя. К сожалению, разрешение ШИМ было слишком низким для достижения некоторых желаемых токов в пределах требуемой погрешности. Этому не помогла функция температуры катода, чтобы ток пучка был сильно нелинейным.

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

Решение состояло в том, чтобы осуществить сглаживание рабочего цикла ШИМ. Если я правильно помню, я использовал 8 различных значений рабочего цикла. В этом случае я мог бы использовать механизм DMA в микроконтроллере для автоматической последовательности 8 значений. Процедура установки коэффициента заполнения выполнила математические расчеты и скорректировала значения от 0 до 7 на один счет выше первого.

Это обеспечило в 8 раз более высокое разрешение ШИМ. Период ШИМ x8 все еще был коротким относительно постоянной времени нагревателя, поэтому нагреватель все еще легко усреднял значения нескольких рабочих циклов.

Нелинейность

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

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

Нелинейные системы сложно контролировать. Простые средства, такие как PID или что-либо, полученное из анализа S-домена, плохо работают с нелинейными системами. Если вы попытаетесь, вы в конечном итоге чрезмерно демпфируете части диапазона, просто чтобы сохранить стабильность в других частях диапазона. Это может привести к недопустимо длительному времени установления в частях диапазона, которые чрезмерно затухают.

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

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

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

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

Олин Латроп
источник
2

Несколько человек уже упоминали об этом, но я бы хотел уточнить.

Примечание: если ваш нагреватель имеет встроенный электронный контроль температуры, перейдите к последнему разделу моего ответа.

ШИМ не контролирует температуру обычного нагревателя

Вместо этого он контролирует, сколько энергии выбрасывается нагревателем. Если обогреватель находится в идеальной изоляции, постоянный сигнал ШИМ будет контролировать скорость повышения температуры - до тех пор, пока обогреватель не растает сам или его корпус.

В действительности тепло неизбежно теряется в результате конвекции, излучения или других процессов, поэтому может сформироваться устойчивое равновесие: если нагреватель нагревается до 100% цикла, он может рассчитываться на нагрев до 300 ° C в некоторых заранее определенных обстоятельствах.

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

Если ваши температуры очень высоки (выше, чем около 200 ° C), вы можете избежать колебаний из-за незначительных внешних факторов, но в этом случае точная температура в любом случае не очень точна, поэтому корректировки на уровне менее 1% не имеет никакого смысла.

Обратитесь к датчику температуры

Надежным способом контроля температуры будет использование датчика температуры: если желаемая температура выше измеренной, включите нагреватель на 100% мощности; если оно ниже, полностью отключите питание.

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

Предположим, у вас есть обогреватель, который обычно может работать при температуре от 20 до 300 ° C, и вам нужно, чтобы он нагревался от комнатной температуры до 100 °.

Если вы включите его с рабочим циклом 30% ШИМ, он начнет быстро нагреваться, но затем постепенно замедлится. В зависимости от типа нагревателя может потребоваться несколько часов, прежде чем он действительно достигнет желаемой температуры. Это связано с тем, что потеря тепла увеличивается с разницей тепла, поэтому последние несколько градусов занимают самое большое время.

Вместо этого вы должны обеспечить нагреватель 100% мощности, чтобы он достигал желаемой температуры намного быстрее.

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

Возможное применение ШИМ

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

Если это невозможно, то питание нагревателя может быть полезно для поддержания температуры на желаемом уровне.

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

В этих случаях сигнал ШИМ не должен быть точным, вместо этого он все равно должен настраиваться вверх и вниз в зависимости от показаний датчика.

Проблемы электрического переключения

Электрический нагреватель не может быть рассчитан на работу от ШИМ. В зависимости от того, как именно он построен, он может начать вибрировать и в конечном итоге разрушить себя или вызвать другие непредвиденные проблемы.

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

Что касается фазокорректирующих тиристоров (для переменного тока), точность менее 1% может быть недостижимой, поскольку мощность переменного тока может быть не идеальным синусом.

Обогреватели с электронным управлением

Некоторые «нагреватели» могут быть электронными устройствами, которые сами измеряют температуру и контролируют мощность. Требуемая температура может быть установлена ​​с помощью сигнала ШИМ. Они редки, но это единственная теория, которая может объяснить прямую связь между рабочим циклом и температурой.

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

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

Джек Уайт
источник