Estoy creando un controlador PID para sous-vide, como este , y estoy tratando de decidir qué sensor de temperatura elegir.
Prioridades:
Feliz de ceder en cualquiera de los anteriores si es necesario, pero este es mi ideal. También estoy abierto a sugerencias sobre qué más debería ceder. Estaría particularmente interesado en ideas sobre sensores como un tipo k, un pt100, un chip TMP36 y un termistor 10K "estándar" (aunque si estos nombres no son lo suficientemente específicos, hágamelo saber lo que debería ser buscando en su lugar).
Primero, estar de acuerdo con los demás: optar por una precisión de 1.0C hará que su vida sea mucho más fácil.
Parece que está configurado con sensores analógicos, pero le sugiero uno con una interfaz digital. Los sensores analógicos son (usados) radiométricos (entregan un porcentaje de Vcc dependiente de la temperatura), lo que da una respuesta no lineal, que tendrá que convertir. El otro tipo (LM35, etc.) son absolutos, lo que requiere A/D contra un voltaje de referencia que debe ser (mucho) más preciso que la precisión deseada. A menos que desee medir algo que un sensor de interfaz digital no puede (como >> 100C), esto parece una molestia innecesaria.
Editar: probemos con un LM35. 10 mV/C, incluso suponiendo que el LM35 en sí mismo no presente ningún error , una referencia típica (LM431, etc.) tiene una precisión del 1 %, lo que introduce un error del 1 % en la lectura de temperatura. Un microcontrolador típico A/D es de 10 bits, supongamos que la escala completa es una referencia de 2,5 V (¡compruebe si su uC lo permite!). El error A/D de 1 bit (¡seamos optimistas!, mejor verifique su hoja de datos de uC) es 2.5mV = error de 1/4C. Entonces, incluso sin el sensor en sí, tenemos un error de +/ 1.25 C (en el mejor de los casos...).
Obtenga un sensor de interfaz digital, por ejemplo, el viejo DS1820 / 18S20 / 18B20, todos TO92. O uno de los sensores I2C o SPI que fabrica Microchip en TO220. Si está calentando en una bandeja o algo así, puede conectar la pestaña a la bandeja.
Obtenga un IC de sensor de temperatura de precisión, como el LM35CAZ .
Lo alimenta con unos buenos 5v, y la salida es un voltaje simple que es una función lineal de la temperatura. Tienen una precisión bastante buena de ±1⁄4˚C a temperatura ambiente.
Varias personas han hablado de que la "Precisión sobre el rango de temperatura" de este sensor es de ±1ºC. Este es el rango equivocado para hablar. La "precisión a la temperatura de cocción" es el rango correcto del que hablar. A unos 60ºC, la precisión es de ±0,7, y probablemente mejor que eso. La línea 'típica' varía alrededor de 0,1ºC sobre su rango de cocción.
Probablemente solo necesite uno o dos puntos de calibración para que este sensor sea lo suficientemente preciso para sus necesidades. Pero, por supuesto, eso requiere un termómetro preciso para calibrarlo. Para eso, tienes un par de opciones:
Opción 1: Puedes usar agua. La temperatura del agua que se está congelando es de 0ºC. Así que métalo en una pequeña taza de agua en el congelador y observe cuidadosamente el voltaje de salida. Caerá y caerá hasta que el agua comience a congelarse. En este punto, la temperatura dejará de bajar y se mantendrá plana por un tiempo. Una vez que se completa la congelación, la temperatura comenzará a descender nuevamente. Tome nota del voltaje en la región plana para usar como su punto de calibración de 0ºC.
Haz lo mismo con el agua hirviendo. Lo mejor es hacerlo al nivel del mar. Si no está al nivel del mar, compruebe cuál es la temperatura de ebullición del agua a su altitud.
Usar 0ºC y 100ºC no es tan bueno como usar, digamos 50ºC y 80ºC, pero es mucho más fácil. Si tiene un termómetro muy preciso disponible, entonces debe usar puntos de calibración más cercanos a su temperatura de cocción.
Opción 2: Usar alcohol metílico. (Gracias stevenvh) Esto hierve a 64.7ºC. Esto está tan cerca de su temperatura de cocción, que solo debería necesitar un punto de calibración para obtener una temperatura de cocción muy precisa. Obviamente, tenga cuidado de no intoxicarse o volarse con los vapores. ¡No caliente el alcohol sobre una llama desnuda!
Dado que está trabajando en un rango de temperatura estrecho y necesita una buena precisión de control, probablemente también valga la pena amplificar la salida del sensor. Esto dará una mayor resolución de ADC en Arduino, lo que se traducirá en una mejor estabilidad del algoritmo de control PID. Consulte la pregunta Conversión de nivel de voltaje analógico (cambio de nivel) que analiza la amplificación y el cambio de nivel de un voltaje analógico.
Asumiendo que está trabajando en el rango de 40ºC - 100ºC (0.4v - 1.0v). Querrá restar 0,4v de la señal, dando 0,0v - 0,6v, y amplificar el resultado con una ganancia de 8, dando 0,0v - 4,8v. Esto le dará una excelente resolución.
Parece que solo estás preguntando por la sonda. Aparentemente quieres algo que puedas poner en contacto directo con la comida. Un controlador PID incluye mucho más que solo el sensor de retroalimentación, pero parece que no está preguntando por eso. Si algo de esto es incorrecto, entonces debe actualizar su pregunta. Tampoco tengo idea de qué es una cosa "Sous Vide". Cualquier información relevante debe estar en su pregunta. Los enlaces son solo para material de fondo.
Como mencionó Steven, 1/2 grados centígrados es muy ambicioso e innecesario cuando se habla de comida.
El sensor de temperatura más fácil será un termistor. Pueden manejar el rango y, de lo contrario, solo necesitan una resistencia de carga. El resultado también será proporcional a su suministro, por lo que cualquier variación en el suministro se cancelará. La detección de fallas es fácil en el firmware ya que las lecturas muy cercanas a la parte superior o inferior del rango indican temperaturas poco realistas. Si obtiene algo fuera de un rango de temperatura válido, entonces asume una falla de hardware e ingresa lo que crea que es su modo seguro. Este es realmente un problema de firmware, no de hardware con un termistor y la resistencia de carga correcta.
En cuanto a hacerlo apto para alimentos, encerrar la sonda en vidrio debería ser bueno. ¿Qué tal aplicar epoxi al termistor en el fondo de un pequeño tubo de ensayo, que luego se convierte en la sonda? La parte superior se puede sellar con pegamento caliente o algo así. Tiene que ser hermético al agua, pero la comida no debería estar allí. Solo deben salir dos cables aislados de la parte superior del tubo. El vidrio es bastante bueno para transmitir calor. La constante de tiempo de la sonda aún debe ser mucho menor que la constante de tiempo desde la potencia del calentador hasta el cambio de temperatura de los alimentos.
Los termistores no son muy precisos a menos que pague mucho dinero. Para un proyecto de pasatiempo único, obtendría cualquier termistor que se pueda tener en el rango correcto y calibraría manualmente. Calibre a unas pocas temperaturas conocidas determinadas a partir de un termómetro confiable conocido, luego haga que el firmware interpole en el medio. Para obtener crédito adicional, incluso puede buscar la ecuación nominal del termistor, ajustar los puntos medidos lo mejor posible y luego derivar la función continua a partir de eso. Puede completar una tabla fija en el firmware con muchos segmentos de la función calibrada para que la interpolación lineal entre segmentos sea bastante buena.
Una vez más, 1/2 grados centígrados es pedir demasiado, pero de todos modos no necesitas tanto. Un termistor con quizás 4 puntos de calibración, ajuste de ecuación y luego interpolación debería estar bien para resolver el problema real.
Con el LM335Z, puede calibrar el error de compensación y ganancia para cualquier sensor dado con 2 lecturas de prueba a 0'C 100'C con hielo y agua hirviendo.
Luego obtenga una lectura de verificación en el rango medio, digamos 50'C.
Puede hacer una plantilla de prueba y calibrar un sensor como su estándar plateado contra otro termómetro estándar dorado. Luego guarda los errores esperados-reales y calcula una progresión lineal o un número de ganancia y compensación para guardar en EEPROM para que se conviertan en un conjunto calibrado. Si obtiene un lote, es posible que todos tengan el mismo error de compensación y ganancia que puede corregir en el software para mostrar la lectura corregida.
Con estándares de 0,1 °C, puede esperar un error de 0,2 °C y usar cualquier pantalla que elija para garantizar ese error de 0,5 °C para sus puntos de ajuste críticos.
Ver figura 3
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000459.pdf
Sellaría el sensor con una fina capa de epoxi de calidad alimentaria para proteger el dispositivo de fugas de humedad y usaría par trenzado o dos cables flexibles de par trenzado usando 2 como escudo y luego usaría "chokes CM de ferrita" para absorber la interferencia de RF.
Luego necesita un ADC que tenga una precisión garantizada de +/- 0,5 bits o quizás 1 en 256 niveles para leer con una precisión de 0,5/100%. Esto no está garantizado en la mayoría de los Arduino, por lo que debe usar un DAC de hardware para probar esto en Salida menos Entrada en un alcance de 2 canales y seleccionar un par de CA para CH1 y CH 2 y luego mostrar el modo XY CH1 vs Ch2 para obtener un punto central que atraviesa un máximo de +/- 1 bit. Cualquier ruido Vref en su ADC provocará niveles de cuantificación omitidos o histéresis durante transiciones como 01111 a 10000 y la diafonía de tierra digital a entrada de tierra analógica fallará por monotonicidad.
Consulte el sitio de TI para obtener información sobre errores de ADC.
@Richard Russell << Aprecio la necesidad de un control de 0,5 grados C en los estilos de cocina orgánicos a bajas temperaturas donde los organismos vivos comienzan a morir rápidamente por encima de la temperatura Pasteur cuando se mata la bacteria.
Si fuera yo, calibraría con una precisión de 0,1 grados usando mis temperaturas de calibración de ganancia de compensación entre 45 y 65 grados C después de que esté firmemente conectado a la olla bien aislada. Entonces puede superar a cualquier otra cocina comercial en el mercado... suponiendo que esté bien aislada en un dieléctrico de alto valor R.
Luego, por la apariencia para que pueda cobrar $ 500, envuélvalo en SS estadounidense de precisión que, como el "Spirit of St Louis", está profundamente rayado y muy pulido. ;)
Gracias por dejarme ayudarte con tu objetivo.
Según la información proporcionada en otras respuestas y búsquedas adicionales, encontré una sonda impermeable DS18B20 en Alpha-Crucis (UE). También está disponible en Adafruit en los EE. UU.
Cumple con todos mis requisitos y tiene un factor de forma ideal.
stevenvh
usuario924
Rocketmagnet
Rocketmagnet
usuario924
Kortuk
Kellenjb
cibergibones
ricardo russell
ricardo russell
Russel McMahon
Russel McMahon