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?
pwm
pid-controller
Dirk Bruere
fuente
fuente
Respuestas:
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.
fuente
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.
fuente
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.
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.
fuente
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.
fuente
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.
fuente
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.
fuente