Paso 4: Implementación de Control de retroalimentación de la temperatura
En primer lugar, vamos a hablar usando el sensor de temperatura. Usted debe conseguir algunos números del circuito del termistor cuando usted revise las entradas de A/D que le asigna, que por supuesto no es grados f el. Así que tenemos que calibrar el circuito del sensor. Una manera rápida y sucia para hacer esto es llenar la asadera con agua caliente a unos 160 grados F, ponga un termómetro en él y lo deje reposar en la máquina de pan con la tapa cerrada hasta que el termómetro llegue a unos 140. Te tiene que utilizar la ventana o conjetura y verificación, pero intentar comprobar sólo una vez o dos veces. Cuando el termómetro muestre unos 140, utilice su programa para leer el A/D entrada y considerar temporalmente este número corresponde a 140 grados. Realmente sería más parecido a 120-130 grados, pero lo arreglaremos esto más adelante. Además de esto, es necesario confirmar si el valor de A/D es mayor o menor medida que la temperatura aumenta. Estos dos pedazos de información son suficientes para empezar a hacer control de retroalimentación de la temperatura.
Opciones de Control de retroalimentación
Hay dos maneras de implementar control de retroalimentación de la temperatura que consideré: termostática y proporcional-integral (PI).
Control termostático soluciona el problema mucho la misma manera un viejo termostato de un horno casero: se enciende el calor todo volumen hasta que alcance la temperatura deseada, y luego se apaga hasta que la temperatura descienda una cierta cantidad por debajo del punto deseado. De esta manera alterna entre estas dos temperaturas, y la velocidad en que ciclos depende de cómo rápidamente la resistencia agrega calor y cuanta demora hay entre calor se agrega y el sensor de temperatura lo sensor de.
Encontré que el control termostático funciona, pero hay bastante retraso entre el elemento calefactor y el sensor de temperatura que el horno se pasa un poco (probablemente cerca de 200 grados F) cuando inicialmente se enciende y debe subir a 140F a temperatura ambiente. Esto crea una situación ligeramente insegura si alguien abre la tapa unos minutos después de que primero se enciende la unidad. También va a oler peor si cualquier materia orgánica cae accidentalmente sobre el calefactor.
Control proporcional-Integral (PI) es un poco más complicado, pero funciona mejor. Tendremos que utilizar en conjunto con PWM - y en primer lugar explicaré PWM brevemente porque el artículo de Wikipedia es confuso y comienza con las matemáticas feas.
Modulación por ancho de pulso: Un promedio de encendido y apagado en algo en el medio
La idea básica del PWM es que cuando sólo se nos permite activar algo completamente o completamente desactivar, podemos conseguir un efecto equivalente a manera de parte de rápido encendido y apagado y regulando la proporción de tiempo a la hora de apagado. Esto funciona solamente cuando la cosa que estamos controlando naturalmente un promedio hacia fuera los pulsos a la velocidad con la cual estamos conmutación. Por ejemplo, puede empujar repetidamente el botón de 'pulse' en una licuadora o en el pedal de gas en un coche casi lo suficientemente rápido como para obtener una velocidad media constante. Pero si conoces a la película de un interruptor de luz encendido y apagado rápido lo suficiente para que un promedio de iluminación tenue, están fuera de suerte - todavía un bulbo fluorescente parpadea y apaga 120 veces por segundo con la fuente de CA y se promediaron por nuestros ojos. Para cosas más grandes con más inercia, los pulsos pueden venir más despacio y todavía se promediaron. En nuestro caso, lo que nos importa es la temperatura del contenido de la bandeja para hornear, que no de calor y frío casi tan rápido como el aire en el horno (o el sensor de temperatura en la pared del horno). Así, si el aire del horno oscila por unos pocos grados cada pocos minutos, es aceptable y el contenido de pan horneado permanecerá en sobre la temperatura media.
Con esto en mente, he elegido 5 minutos como el tiempo de ciclo para el control PWM de la resistencia: cada 5 minutos, el elemento de calefacción se encenderá para entre 0 y unos 45 segundos, dependiendo de lo que el controlador PI desea. La razón de no encender la calefacción y más a menudo es que la conexión implica un relé de conmutación en circuitos de potencia, que hace un clic cada vez y se desgastan mucho más rápido si fueron cambiado con frecuencia.
Implementación de un controlador PI
Bien, ahora para el controlador PI. Explicación del control PI ocupar un poco demasiado mucho espacio aquí, referiré a la entrada de Wikipedia razonablemente bien escrita sobre PID control. Lo que dejo apagado un término derivado (PI en lugar de PID) es que sé que mi temperatura detectada va a oscilar un poco de todos modos porque el ciclo PWM tiempo es tan largo, y las oscilaciones que conseguirá sin un término derivado son no más grandes.
Dado que estamos controlando la temperatura , tenemos que asegúrese de medir la temperatura media para realizar retroalimentación control - por lo que al principio de cada ciclo de PWM, el controlador debe promedio hacia fuera de la temperatura en el último ciclo para decidir cuánto tiempo dejar el calentador en el nuevo ciclo.
Resultados y ajuste fino
Prueba de un controlador de realimentación que tarda 5 minutos para hacer algo interesante puede ser una real molestia. Una manera de hacer la vida más fácil es grabar y trama de lo que está haciendo el controlador automáticamente. Su herramienta de programación para el microcontrolador sin duda proporciona una consola de depuración que se puede enviar texto desde el programa. Aprovechar esta enviando una lista separada por comas de variables útiles cada vez que se actualiza el controlador. Luego, puede solo guardar estos números en un archivo de texto, importar en Excel u otro programa de hoja de cálculo y parcela rápidamente todas las variables a la vez. Función de diagrama de dispersión de Excel automáticamente diagrama cada columna contra la primera columna, por lo que si usted asegurarse de que la primera variable enviada es el tiempo, las cosas se parcela muy bien con la configuración predeterminada.
Después de algunos experimentos, he podido obtener el rendimiento que se muestra a continuación de mi controlador PI. Ahora estoy listo para hacer una calibración de temperatura más precisa: puedo ajuste el regulador de respuesta a una consigna específica basada en el valor de A/D de termistor, llene la bandeja para hornear parcialmente con agua y suspenda un termómetro en él y esperar hasta que el controlador llegue a estado constante (cero error para al menos 2 ciclos). Ahora sé que este valor del termistor particular corresponde a una temperatura particular. Si lo hago dos veces o, mejor aún tres veces, puedo trazarles y trazar una línea que me da mi ecuación de conversión! Tenga en cuenta que el termistor no estar terriblemente lineal sobre un rango amplio de temperaturas, énfasis en asegurarse de que su curva de ajuste coincida con tus datos exactamente en el punto de ajuste deseado. Algunos errores en otras temperaturas están bien, funcionará el controlador de la retroalimentación.