Мне нужно установить температуру от 20 ° C до 300 ° C. Я использую выход ШИМ с разрешением 1% рабочего цикла. Может ли общий период ШИМ и синхронизация ПИД-регулятора повысить точность температурного диапазона в нагрузке до 1%?
pwm
pid-controller
Дирк Брюер
источник
источник
Ответы:
Это зависит от постоянной времени нагрузки. Нагретый груз часто реагирует в течение 10 секунд.
Если вы генерируете 30% ШИМ в течение одной секунды, а затем 31% ШИМ в течение следующей секунды, это будет выглядеть как 30,5% в среднем за несколько секунд.
Термостаты в духовке, как правило, работают в течение минуты, минуты выключения и все еще достигают температуры печи, стабильной до однозначных цифр C. ШИМ 1%, настроенный раз в секунду, может работать на несколько порядков лучше, чем это.
источник
Да.
Учитывая тот факт, что по сравнению с другими нормативами (напряжение, ток и т. Д.) Регулирование температуры довольно медленное, вы можете использовать микроконтроллер (я полагаю, вы уже это сделали), но добавить циклическое изменение сигнала ШИМ. ширина.
представьте, что для стабильности вашей системы вам необходимо иметь ширину импульса 3,8%. вам просто нужно применить рабочий цикл 3% в течение 20% времени и 4% в течение оставшихся 80%. Выполнение этого в течение одной секунды должно позволить вам достичь необходимой точности.
источник
Странно сформулированный вопрос, но я думаю, что вы спрашиваете, будет ли температура приращения нагрузки на 1% с шагом ШИМ с разрешением шага 1%. то есть 2.828C за шаг.
Хотя это звучит так, как и должно быть, ответ на этот вопрос, вероятно, нет.
Причина в том, что для того, чтобы это произошло, должно быть соотношение 1: 1 между включением питания и повышением температуры в нагрузке. Однако, в зависимости от геометрии и окружающей среды нагрузки, это вряд ли будет правдой.
Чтобы нагреть что-либо до определенной температуры, вам нужно добавить достаточно энергии, чтобы уравновесить мощность, которую объект теряет в своем окружении при этой температуре. Проблема в том, что с повышением температуры эффективность теплопередачи от поверхности того, что вы нагреваете, также обычно изменяется.
Для небольшого температурного диапазона мощность к температуре можно считать почти линейной, но 300C - это не маленький температурный диапазон.
Насколько линейным является то, что вы планируете в отношении отопления, и насколько точным должен быть 1% (т. Е. 1% плюс или минус что?), Конечно, выходит за рамки этого вопроса и ответа. Но я подозреваю, что вам нужно будет приложить НАМНОГО больше прироста мощности, чтобы поднять его до последних 50С, чем вы подняли до 70С.
Сложение
Из вашего вопроса очень неясно, включили ли вы измерение температуры в контур управления. Я подозреваю, что, поскольку вы задали вопрос, ответ на этот вопрос - нет, поэтому основное внимание в этом ответе.
Если вам необходимо точно установить температуру при любых условиях, вам действительно нужно привязать это измерение обратно к контуру управления системой. В этот момент вы можете изменить время ШИМ-модуляции, чтобы поддерживать температуру настолько точно, насколько вы можете ее измерить, и все это с некоторой тепловой задержкой и гистерезисом.
Но, конечно, точное измерение температуры на большом объекте может стать проблемой для самого себя.
источник
Это зависит.
Если ваш контроллер или код алгоритма управления может измерять температуру нагрузки и отслеживать желаемый выходной сигнал с разрешением, превышающим «1% разрешение» (учитывая, что отношение выходного сигнала к температуре не является линейным), тогда можно достичь гораздо лучшего, чем Как показывает ответ Neil_UK, эффективное разрешение на выходе 1% путем сглаживания . Фактическое улучшение, которым вы сможете управлять, будет зависеть от того, как долго постоянная времени нагрузки зависит от времени цикла вашего выхода.
Если ваш контроллер или код не могут этого сделать, вы получите некоторое колебание температуры нагрузки. Например, если заданное значение и условия окружающей среды таковы, что «правильный» выход для требуемой температуры нагрузки будет 30,5%, то ближайший выходной сигнал может быть равен либо 30%, и в этом случае нагрузка будет охлаждаться до чуть ниже заданного значения. или 31%, в этом случае он нагревается до чуть выше заданного значения, и только «заметив» это отклонение фактической температуры нагрузки, контроллер может изменить свой выходной сигнал, чтобы исправить отклонение.
Я предполагаю, что размер флуктуации в последнем случае будет зависеть от пропорциональных и производных коэффициентов в вашем алгоритме управления, и ваша задача будет (как всегда) настроить контроллер на лучшую точность без риска нестабильности или чрезмерного перерегулирования.
Кроме того, подумайте, что именно вы подразумеваете под точностью . Нужна ли вам абсолютная точность (заданное значение 100 ° C дает контролируемое значение, которое на самом деле составляет 100 ± 0,1 ° C) или просто стабильность (контролируемое значение может стабилизироваться в диапазоне от 98 до 102 ° C, но затем остается стабильным в пределах ± 0,1 ° C)? Абсолютную точность измерения температуры труднее достичь, чем предполагают люди, но есть много применений, где абсолютная точность не так важна, пока стабильность хорошая.
источник
Скорее всего да. Я сделал именно то, о чем вы спрашиваете в коммерческом продукте.
Причина, по которой я говорю «скорее всего», а не просто «да», заключается в том, что для получения более высокого температурного разрешения, чем разрешение ШИМ, требуется, чтобы период ШИМ был значительно меньше, чем доминирующая тепловая постоянная времени. Если у вас нет очень необычного нагревателя (например, нить накаливания лампы накаливания), это требование будет выполнено.
Реальный пример
Я писал прошивку, которая контролировала ток и напряжение через рентгеновскую трубку. Логика более высокого уровня будет указывать, какое должно быть напряжение и ток, и задача моей прошивки состояла в том, чтобы сделать это так.
В этом случае трубка была только катодом и анодом, без сетки. Ток луча контролировался путем изменения уровня привода нагревателя катода. Это примерно такой же маленький и шустрый обогреватель, как он, но его постоянная времени все еще была много миллисекунд.
ШИМ для нагревателя работал на нескольких кГц, во много раз быстрее, чем любая значимая частота отклика нагревателя. К сожалению, разрешение ШИМ было слишком низким для достижения некоторых желаемых токов в пределах требуемой погрешности. Этому не помогла функция температуры катода, чтобы ток пучка был сильно нелинейным.
Если бы это было единственным ограничением для ШИМ, я мог бы просто увеличить период ШИМ, чтобы получить более высокое разрешение. Однако этот процессор сделал кучу вещей, и из-за аппаратных ограничений те же часы использовались для других вещей и не могли быть изменены.
Решение состояло в том, чтобы осуществить сглаживание рабочего цикла ШИМ. Если я правильно помню, я использовал 8 различных значений рабочего цикла. В этом случае я мог бы использовать механизм DMA в микроконтроллере для автоматической последовательности 8 значений. Процедура установки коэффициента заполнения выполнила математические расчеты и скорректировала значения от 0 до 7 на один счет выше первого.
Это обеспечило в 8 раз более высокое разрешение ШИМ. Период ШИМ x8 все еще был коротким относительно постоянной времени нагревателя, поэтому нагреватель все еще легко усреднял значения нескольких рабочих циклов.
Нелинейность
Я вижу, что Тревор уже коснулся этого. Температура нагревателей часто может быть совершенно нелинейной с входной мощностью. Обычно это происходит из-за того, что конвекция не реагирует линейно с температурой и, следовательно, охлаждает горячий объект непропорционально больше, чем более холодный. При гораздо более высоких температурах излучение черного тела становится значительным. Излучаемая мощность также совершенно нелинейна с температурой.
В моем случае не только катод был преимущественно охлажден излучением черного тела (оно находилось в вакууме), но и функция температуры для тока пучка также была сильно нелинейной.
Нелинейные системы сложно контролировать. Простые средства, такие как PID или что-либо, полученное из анализа S-домена, плохо работают с нелинейными системами. Если вы попытаетесь, вы в конечном итоге чрезмерно демпфируете части диапазона, просто чтобы сохранить стабильность в других частях диапазона. Это может привести к недопустимо длительному времени установления в частях диапазона, которые чрезмерно затухают.
Решение, которое я использовал в этом случае и которое я использовал в нескольких других проектах, состояло в том, чтобы линеаризовать систему с точки зрения контура управления.
Я сделал это, вставив кусочно-линейный поиск между выходом контроллера и входом системы. В процессе производства система работала без обратной связи с несколькими заданными значениями. Результаты использовались для заполнения справочной таблицы, хранящейся в энергонезависимой памяти, уникальной для каждого устройства.
Система по-прежнему нелинейна в любом сегменте таблицы поиска. Однако эти сегменты составляют небольшую часть диапазона системы, поэтому характеристики системы не сильно меняются за один сегмент. Если они делают, то используйте больше сегментов.
Результат сработал очень хорошо. Да, все это работает в коммерческом продукте, который вы можете купить с полки сегодня.
источник
Несколько человек уже упоминали об этом, но я бы хотел уточнить.
Примечание: если ваш нагреватель имеет встроенный электронный контроль температуры, перейдите к последнему разделу моего ответа.
ШИМ не контролирует температуру обычного нагревателя
Вместо этого он контролирует, сколько энергии выбрасывается нагревателем. Если обогреватель находится в идеальной изоляции, постоянный сигнал ШИМ будет контролировать скорость повышения температуры - до тех пор, пока обогреватель не растает сам или его корпус.
В действительности тепло неизбежно теряется в результате конвекции, излучения или других процессов, поэтому может сформироваться устойчивое равновесие: если нагреватель нагревается до 100% цикла, он может рассчитываться на нагрев до 300 ° C в некоторых заранее определенных обстоятельствах.
Однако эти обстоятельства никогда не могут быть надежными: ветер, давление воздуха, влажность и температура окружающей среды могут искажать нагрузочный цикл от температуры к вашему нагревателю.
Если ваши температуры очень высоки (выше, чем около 200 ° C), вы можете избежать колебаний из-за незначительных внешних факторов, но в этом случае точная температура в любом случае не очень точна, поэтому корректировки на уровне менее 1% не имеет никакого смысла.
Обратитесь к датчику температуры
Надежным способом контроля температуры будет использование датчика температуры: если желаемая температура выше измеренной, включите нагреватель на 100% мощности; если оно ниже, полностью отключите питание.
Причина использования 100% мощности или ее отсутствия заключается в том, что нагреватели всегда реактивны, и вы, скорее всего, захотите, чтобы температура достигла желаемого уровня как можно быстрее.
Предположим, у вас есть обогреватель, который обычно может работать при температуре от 20 до 300 ° C, и вам нужно, чтобы он нагревался от комнатной температуры до 100 °.
Если вы включите его с рабочим циклом 30% ШИМ, он начнет быстро нагреваться, но затем постепенно замедлится. В зависимости от типа нагревателя может потребоваться несколько часов, прежде чем он действительно достигнет желаемой температуры. Это связано с тем, что потеря тепла увеличивается с разницей тепла, поэтому последние несколько градусов занимают самое большое время.
Вместо этого вы должны обеспечить нагреватель 100% мощности, чтобы он достигал желаемой температуры намного быстрее.
Когда температура достигает желаемого значения, вам все равно нужно быстро реагировать на случайные внезапные порывы ветра на вашем нагревателе или подобные последствия.
Возможное применение ШИМ
В некоторых случаях нагреватель, его нагрузка и датчик могут быть достаточно реактивными, поэтому в схеме может потребоваться предсказать изменения температуры, вызванные нагревателем в некоторой степени.
Если это невозможно, то питание нагревателя может быть полезно для поддержания температуры на желаемом уровне.
В этом случае точные данные (включая ответ на ваш вопрос) могут зависеть от физических параметров обогревателя, его нагрузки и окружающей среды. Или температура должна быть действительно очень стабильной.
В этих случаях сигнал ШИМ не должен быть точным, вместо этого он все равно должен настраиваться вверх и вниз в зависимости от показаний датчика.
Проблемы электрического переключения
Электрический нагреватель не может быть рассчитан на работу от ШИМ. В зависимости от того, как именно он построен, он может начать вибрировать и в конечном итоге разрушить себя или вызвать другие непредвиденные проблемы.
Почти все обогреватели потребляют много энергии. Тиристоры или транзисторы с ШИМ-управлением для таких применений могут быть весьма неэффективными и требовать значительного охлаждения, а также быть дорогими.
Что касается фазокорректирующих тиристоров (для переменного тока), точность менее 1% может быть недостижимой, поскольку мощность переменного тока может быть не идеальным синусом.
Обогреватели с электронным управлением
Некоторые «нагреватели» могут быть электронными устройствами, которые сами измеряют температуру и контролируют мощность. Требуемая температура может быть установлена с помощью сигнала ШИМ. Они редки, но это единственная теория, которая может объяснить прямую связь между рабочим циклом и температурой.
В этом случае ответ на ваш вопрос зависит от встроенной управляющей электроники отопителя. Точные настройки, описанные в этом вопросе, вероятно, будут работать, если предположить, что указанная электроника сама по себе достаточно точна - этот факт должен быть указан в ее документации.
Поскольку почти все такие нагреватели работают внутри, как я описал ранее, они часто выполняют довольно длительные циклы включения-выключения-выключения, поэтому фактическая температура может изменяться со временем независимо от того, насколько точен сигнал ШИМ.
источник