¿Puede un PWM con una resolución del 1% en un circuito de calefacción PID lograr una precisión de temperatura superior al 1%?

8

Necesito establecer una temperatura entre 20 ° C y 300 ° C. Estoy usando una salida PWM con una resolución del ciclo de trabajo del 1%. ¿Puede el período PWM general y la temporización del bucle PID obtener una precisión superior al 1% del intervalo de temperatura en la carga?

Dirk Bruere
fuente
10
Debe refinar su definición de precisión de temperatura del 1%. Supongamos que reescribo sus 20 C a 300 C a 293 Kelvin a 573 K, entonces 1% es un número diferente. Si hay una constante de tiempo (larga) (masa térmica) presente en su dispositivo, diría que sí, puede obtener una mejor precisión, ya que eso promediaría el valor que aplica, por lo que con el tiempo suficiente se puede lograr cualquier precisión.
Bimpelrekkie
¿Está trabajando específicamente con un relé de estado sólido con corriente cero y corriente alterna de 50/60 Hz que alimenta el calentador?
DeusXMachina
Dependiendo de las masas térmicas, el control de encendido / apagado es probablemente lo suficientemente bueno
Scott Seidman
No sé acerca de los controladores PID, pero escribí una aplicación para controlar un horno de curado para macetas para mi trabajo que regula el uso de un período PWM de 30 segundos con una resolución de 1 segundo que puede mantener las temperaturas dentro de 1-2 ° C de la temperatura objetivo (generalmente alrededor 80 ° C) esto se controla mediante un SSR, tiene un elemento calefactor de 2KW y un ventilador para hacer circular el aire. El código está disponible en bitbucket.org/snippets/gds-uk/qj9yE/oven-controller si está interesado.
RobbG
También tenga en cuenta que la conductividad térmica de su carga varía: a menos que sea un líquido agitado o algo muy pequeño, probablemente habrá una variación de temperatura de más del 1% a través de la carga.
pjc50 el

Respuestas:

21

Depende de la constante de tiempo de la carga. Una carga calentada a menudo responderá en 10 segundos.

Si genera un 30% de PWM durante un segundo, luego un 31% de PWM durante el segundo siguiente, se verá como un promedio de 30.5% durante varios segundos.

Los termostatos del horno tienden a funcionar un minuto encendido, un minuto apagado, y aún así alcanzan temperaturas del horno estables a un solo dígito de C. Un PWM al 1% ajustado una vez por segundo podría hacer varios órdenes de magnitud mejor que eso.

Neil_UK
fuente
8
Yo llamaría a esto 'dithering', después de la técnica equivalente para aumentar la profundidad de color en gráficos de computadora, pero no sé qué tan común es llamarlo así.
Pete Kirkham el
1
Me encontré usando la misma terminología exacta, así que creo que no puede estar tan lejos de la marca.
DeusXMachina
1
@PeteKirkham Normalmente lo llamo titubeo.
winny
9

Si.

Dado el hecho de que, en relación con otras regulaciones (voltaje, corriente, etc.), la regulación de la temperatura es bastante lenta, lo que puede hacer es usar un microcontrolador (supongo que ya lo hace), pero agregue una variación cíclica de la señal PWM anchura.

imagine que para que su sistema sea estable, debe tener un ancho de pulso del 3.8%. simplemente tiene que aplicar un ciclo de trabajo del 3% durante el 20% del tiempo y del 4% durante el 80% restante. hacerlo durante un segundo más o menos debería permitirle lograr la precisión que necesita.

Sclrx
fuente
7

Pregunta extrañamente redactada, pero lo que creo que se está preguntando es si la temperatura del incremento de carga aumentará en un 1% con una resolución PWM de 1%. es decir, 2.828C por paso.

Aunque parezca que debería, la respuesta a eso es probablemente no.

La razón es que, para que eso suceda, debe haber una relación 1 a 1 entre la potencia y el aumento de temperatura en la carga. Sin embargo, dependiendo de la geometría y el entorno de la carga, es poco probable que eso sea cierto.

Para calentar algo a una temperatura específica, debe agregar suficiente energía para equilibrar la energía que el objeto pierde en su entorno a esa temperatura. El problema es que, a medida que aumenta la temperatura, la eficiencia de transferencia de calor desde la superficie de lo que está calentando normalmente también cambia.

ingrese la descripción de la imagen aquí

Para un rango de temperatura pequeño, la potencia a la temperatura puede considerarse casi lineal, pero 300C no es un rango de temperatura pequeño.

Lo lineal que sea lo que planee calentar y cuán preciso sea el 1% (es decir, 1% más o menos qué), por supuesto, está más allá del alcance de esta pregunta y respuesta. Pero sospecharía que necesitará poner MUCHO más poder incremental para subir los últimos 50C que lo que necesitó para alcanzar los 70C.

ADICIÓN

No queda muy claro a partir de su pregunta si ha incluido la detección de temperatura en su circuito de control. Sospecho, desde que hizo la pregunta, que la respuesta a eso es no, de ahí el enfoque en esta respuesta.

Si necesita establecer la temperatura con precisión en todas las condiciones, realmente necesitaría volver a vincular esa medición al circuito de control del sistema. En ese punto, puede variar el tiempo de la modulación PWM para mantener la temperatura con la mayor precisión posible, ya sea con cierto retraso térmico e histéresis.

Pero, por supuesto, medir la temperatura con precisión en un objeto grande puede ser un desafío en sí mismo.

Trevor_G
fuente
1
Gracias. Pero para ser justos, agregaré un poco de información que omití, que es que 100% PWM produce 300degC. Por supuesto, su respuesta realmente se aplica al final de la escala
Dirk Bruere
@DirkBruere es bastante fácil de probar. Ajústelo al 50% y mida la temperatura :)
Trevor_G
Definitivamente será no lineal
Dirk Bruere
NO, ya que una respuesta directa es probablemente incorrecta. Vea la respuesta de Neil_UK, que puede resumirse como "sí, en circunstancias precisas pero bastante comunes". El horno casero es el ejemplo perfecto.
Caterpillaraoz
@Caterpillaraoz Sí, supongo ... aunque ya lo califico en la siguiente oración. De todos modos, no necesita estar allí ... Gonzo. Gracias por la respuesta.
Trevor_G
6

Depende.

Si su controlador, o el código del algoritmo de control, puede medir la temperatura de carga y realizar un seguimiento de la salida deseada con una resolución superior al '1%' (observando que la relación de salida a temperatura no es lineal), entonces es posible lograr mucho mejor que Resolución de salida efectiva del 1% por interpolación, como sugiere la respuesta de Neil_UK . La mejora real que puede administrar dependerá de cuánto tiempo la constante de tiempo de la carga es relativa al tiempo de ciclo de su salida.

Si su controlador o código no puede hacer esto, obtendrá una fluctuación en la temperatura de carga. Por ejemplo, si el punto de ajuste y las condiciones ambientales son tales que la salida 'correcta' para la temperatura de carga requerida sería del 30.5%, entonces la salida más cercana puede ser el 30%, en cuyo caso la carga se enfriará ligeramente por debajo del punto de ajuste , o 31% en cuyo caso se calentará ligeramente por encima del punto de ajuste, y solo al 'notar' esta desviación en la temperatura de carga real puede el controlador alterar su salida para corregir la desviación.

Supongo que el tamaño de la fluctuación en el último caso dependerá de los coeficientes proporcionales y derivados en su algoritmo de control, y su tarea será (como siempre) ajustar el controlador para obtener la mejor precisión sin arriesgar inestabilidad o exceso excesivo.

Además, piense qué quiere decir exactamente con precisión . ¿Necesita una precisión absoluta? C)? La precisión absoluta de la medición de temperatura es más difícil de lograr de lo que la gente supone, pero hay muchas aplicaciones donde la precisión absoluta no es tan crítica siempre que la estabilidad sea buena.

nekomatic
fuente
+1 Estoy de acuerdo con esto y todas las respuestas aquí, pero en ninguna parte de la pregunta del OP indica que se trata de un sistema de circuito cerrado, es decir, con retroalimentación de temperatura. Eso es algo que todos asumieron porque así es como lo habrían hecho.
Trevor_G
@Trevor el título dice en un circuito de calefacción PID .
nekomatic
Sí, pero eso podría significar cualquier cosa o nada. Sospecho que el OP no detecta la temperatura, o no puede hacerlo con precisión, o esta pregunta no sería un iniciador. Pero sin verificación ... quién sabe.
Trevor_G
6

Más probable es que sí. He hecho exactamente lo que me preguntas en un producto comercial.

La razón por la que digo "lo más probable" en lugar de simplemente "sí" es que obtener una resolución de temperatura más alta que la resolución PWM requiere que el período PWM sea significativamente más pequeño que la constante de tiempo térmico dominante. A menos que tenga un calentador muy inusual (el filamento de una bombilla incandescente podría ser un ejemplo), este requisito se cumplirá.

Ejemplo real

Estaba escribiendo el firmware que controlaba la corriente y el voltaje a través de un tubo de rayos X. La lógica de nivel superior especificaría cuál sería el voltaje y la corriente, y el trabajo de mi firmware era hacerlo así.

En este caso, el tubo era solo un cátodo y un ánodo, sin rejilla. La corriente del haz se controló cambiando el nivel de accionamiento del calentador del cátodo. Eso es lo más pequeño y ágil de un calentador, pero su constante de tiempo todavía fue de muchos milisegundos.

El PWM del calentador estaba funcionando a múltiples kHz, muchas veces más rápido que cualquier frecuencia de respuesta significativa del calentador. Desafortunadamente, la resolución PWM era demasiado baja para lograr algunas de las corrientes deseadas dentro de la tolerancia de error deseada. Esto no fue ayudado por la función de la temperatura del cátodo a la corriente del haz que es altamente no lineal.

Si esta fuera la única restricción en el PWM, podría haber aumentado el período de PWM para obtener una resolución más alta. Sin embargo, este procesador hizo muchas cosas, y debido a restricciones de hardware, el mismo reloj se usó para otras cosas y no se pudo cambiar.

La solución fue implementar el dithering del ciclo de trabajo PWM. Si no recuerdo mal, utilicé 8 valores de ciclo de trabajo diferentes. En este caso, podría usar un motor DMA en el microcontrolador para secuenciar a través de los 8 valores automáticamente. La rutina de configuración del ciclo de trabajo hizo los cálculos y ajustó de 0 a 7 de los valores que uno cuenta más que el primero.

Esto efectivamente proporcionó una resolución PWM 8 veces mayor. El período PWM x8 aún era corto en relación con la constante de tiempo del calentador, por lo que el calentador todavía promediaba fácilmente los valores del ciclo de trabajo múltiple.

No linealidad

Veo que Trevor ya ha tocado esto. La temperatura de los calentadores a menudo puede ser bastante no lineal con la potencia de entrada. Esto generalmente se debe a que la convección no reacciona linealmente con la temperatura y, por lo tanto, enfría un objeto caliente desproporcionadamente más que uno más frío. A temperaturas mucho más altas, la radiación del cuerpo negro se vuelve significativa. La potencia radiada también es bastante no lineal con la temperatura.

En mi caso, el cátodo no solo se enfría predominantemente por la radiación del cuerpo negro (estaba en el vacío), sino que la función de la temperatura a la corriente del haz también era altamente no lineal.

Los sistemas no lineales son difíciles de controlar. Los medios simples como PID o cualquier cosa derivada del análisis de dominio S no funcionan bien con sistemas no lineales. Si lo intentas, terminas amortiguando demasiado las partes de la gama solo para mantener la estabilidad en otras partes de la gama. Eso puede conducir a tiempos de asentamiento inaceptablemente largos en las partes del rango que están sobre amortiguadas.

La solución que utilicé en este caso, y que también utilicé en algunos otros proyectos, fue linealizar el sistema desde el punto de vista del bucle de control.

Hice esto insertando una búsqueda lineal por partes entre la salida del controlador y la entrada del sistema. Durante la fabricación, el sistema se ejecutó en bucle abierto en varios puntos de ajuste. Los resultados se utilizaron para completar la tabla de búsqueda almacenada en la memoria no volátil exclusiva de cada unidad.

El sistema sigue siendo no lineal dentro de cualquier segmento de la tabla de búsqueda. Sin embargo, estos segmentos son una pequeña fracción del rango del sistema, por lo que las características del sistema no cambian mucho en un segmento. Si lo hacen, entonces use más segmentos.

El resultado funcionó muy bien. Sí, todo esto se está ejecutando en un producto comercial que puede comprar hoy mismo.

Olin Lathrop
fuente
2

Varias personas ya mencionaron esto, pero prefiero aclararlo.

Nota: si su calentador tiene un control electrónico de temperatura incorporado, pase a la última sección de mi respuesta.

PWM no controla la temperatura de un calentador convencional

En cambio, controla cuánta energía es expulsada por el calentador. Si el calentador está en un lugar idealmente aislado, una señal PWM constante controlaría la rapidez con que aumenta la temperatura, hasta que el calentador se derrita o se encierre.

En realidad, el calor se pierde inevitablemente por convección, radiación u otros procesos, por lo que puede formarse un equilibrio estable: si un calentador se calienta hasta un ciclo del 100%, podría clasificarse para calentar a 300 ° C en algunas circunstancias predefinidas.

Sin embargo, esas circunstancias nunca pueden ser confiables: el viento, la presión del aire, la humedad y la temperatura ambiente podrían sesgar las clasificaciones del ciclo de trabajo a la temperatura de su calentador.

Si sus temperaturas son muy altas (más de aproximadamente 200 ° C), es posible que pueda evitar variaciones debido a que los factores externos son algo insignificantes, pero en ese caso la temperatura exacta no es muy precisa de todos modos, por lo que los ajustes inferiores al 1% No tiene ningún sentido.

Consulte un sensor de temperatura

Una forma confiable de controlar una temperatura sería usar un sensor de temperatura: si la temperatura deseada es más alta que la detectada, alimente el calentador al 100% de potencia; Si es más bajo, corte el poder por completo.

La razón para usar el 100% o ninguna potencia es que los calentadores siempre son reactivos, y lo más probable es que desee que la temperatura alcance el nivel deseado lo más rápido posible.

Supongamos que tiene un calentador que normalmente puede hacer de 20 ° a 300 ° C, y necesita que se caliente de temperatura ambiente a 100 °.

Si lo alimenta con un ciclo de trabajo del 30% PWM, comenzará a ganar temperatura rápidamente, pero luego disminuirá gradualmente. Dependiendo del tipo de calentador, podrían pasar horas antes de que alcance la temperatura deseada. Esto se debe a que la pérdida de calor aumenta con la diferencia de calor, por lo que los últimos grados tardan más.

En su lugar, debe alimentar el calentador con el 100% de la energía disponible para que alcance la temperatura deseada mucho más rápido.

Cuando la temperatura alcanza el valor deseado, aún necesita reaccionar rápidamente ante la repentina ráfaga de viento que sopla sobre su calentador o consecuencias similares.

Posible aplicación PWM

En algunos casos, un calentador, su carga y el sensor pueden ser bastante reactivos, por lo que el circuito puede necesitar predecir los cambios de temperatura causados ​​por el calentador hasta cierto punto.

Si eso no es factible, alimentar el calentador con potencia fraccional podría ser realmente útil para que la temperatura se mantenga en el nivel deseado.

En ese caso, los detalles exactos (incluida la respuesta a su pregunta) pueden depender de los parámetros físicos del calentador, su carga y el entorno. O la temperatura debe ser realmente muy estable.

En esos casos, una señal PWM no necesita ser precisa, sino que debe sintonizarse hacia arriba y hacia abajo dependiendo de la lectura de la sonda.

Problemas de conmutación eléctrica

Un calentador eléctrico puede no estar diseñado para funcionar con energía PWM. Dependiendo de cómo se construya exactamente, podría comenzar a vibrar y eventualmente destruirse a sí mismo o causar otros problemas imprevistos.

Casi todos los calentadores consumen mucha energía. Los tiristores o transistores de control PWM para tales aplicaciones pueden ser bastante ineficientes y requieren un enfriamiento sustancial además de ser caros.

En el tema de los tiristores con corrección de fase (para CA), una precisión inferior al 1% puede no lograrse de manera confiable porque la alimentación de CA puede no ser un seno perfecto.

Calentadores controlados electrónicamente

Algunos "calentadores" en realidad pueden ser dispositivos electrónicos que detectan la temperatura y controlan la potencia ellos mismos. La temperatura deseada se puede establecer a través de una señal PWM. Esos son raros, pero es la única teoría que podría explicar la relación directa entre el ciclo de trabajo y la temperatura.

En este caso, la respuesta a su pregunta depende de la electrónica de control incorporada del calentador. Los ajustes precisos descritos en la pregunta probablemente funcionarían suponiendo que dicha electrónica sea lo suficientemente precisa en sí misma; ese hecho debe mencionarse en su documentación.

Debido a que casi todos los calentadores funcionan internamente como describí anteriormente, a menudo realizan ciclos de encendido-apagado-encendido-apagado bastante largos, por lo que la temperatura real puede fluctuar hacia arriba y hacia abajo con el tiempo, sin importar cuán precisa sea la señal PWM.

Jack White
fuente