Sensores de temperatura para un proyecto Arduino sous-vide

8

Estoy creando un controlador PID para sous-vide, como este , y estoy tratando de decidir qué sensor de temperatura desea obtener.

Prioridades:

  • Costo: <£ 25 entregados en el Reino Unido
  • Precisión: +/- 0.5C
  • Rango: 0 - 100C
  • Salida: algo que puede leer un Arduino con un mínimo de circuitos adicionales (por ejemplo, 0-5 V CC, una resistencia que se mide fácilmente o una salida digital como OneWire, etc.)
  • Físico: resistente al agua, apto para alimentos (idealmente) y con un cable de al menos un metro de largo, idealmente no es demasiado trabajo para crear este factor de forma (no tengo un taller)
  • Modo de falla: sería ideal si una falla causara una lectura de sobre temperatura en lugar de una temperatura baja

Feliz de comprometer cualquiera de los anteriores si es necesario, pero este es mi ideal. También abierto a sugerencias sobre qué más debería comprometer. Me interesaría especialmente pensar en sensores como un tipo k, un pt100, un chip TMP36 y un termistor "estándar" de 10K (aunque si estos nombres no son lo suficientemente específicos, por favor avíseme qué debería ser buscando en su lugar).

Richard Russell
fuente
1
La precisión de 0.5 ° C no tiene sentido y solo hará su vida más difícil. 1 ° C es más que suficiente. E incluso eso no se puede obtener con un termistor NTC sin pasar un día doloroso calibrándolo.
stevenvh
1
Parece que la aplicación realmente requiere la mayor precisión absoluta posible. Parece que el punto de cocción controlada está operando precisamente en un rango muy estrecho de temperaturas cercanas a la ebullición.
55
Rocketmagnet y rocketsurgeon tenían una conversación que no era nada confusa a la vista.
Kortuk
1
@RichardRussell Este artículo de Gizmag puede ser de interés - Julio de 2012.
Russell McMahon
1
Aquí hay una buena implementación de sous vide que puede darle algunas ideas. flashingleds.net/sousvader/sousvader.html
Russell McMahon el

Respuestas:

5

Primero, estar de acuerdo con los demás: la precisión de 1.0C hará que su vida sea mucho más fácil.

Parece que está configurado con sensores analógicos, pero sugeriría uno con una interfaz digital. Los sensores analógicos son radiométricos (usados) (entregan un porcentaje de Vcc dependiente de la temperatura), lo que da una respuesta no lineal, que deberá convertir. El otro tipo (LM35, etc.) es absoluto, 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: intentemos un LM35. 10mV / C, incluso suponiendo que el LM35 en sí no introduce ningún error , una referencia típica (LM431, etc.) es 1% precisa, ¡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.5V (¡compruebe si su uC lo permite!). El error A / D de 1 bit (¡seamos optimistas !, mejor revise su hoja de datos uC) es 2.5mV = error 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, todo TO92. O uno de los sensores I2C o SPI que Microchip fabrica en TO220. Si está calentando en una bandeja o algo, podría conectar la pestaña a la bandeja.

Wouter van Ooijen
fuente
No me importa demasiado si es analógico o digital: no sabía que existían dispositivos digitales. Editaré la pregunta para aclarar. Después de mirar las especificaciones del DS18S20, parece adecuado, solo necesito insertarlo en algún tipo de sonda para sumergirlo en el agua, un desafío no trivial para alguien que nunca ha hecho eso :-)
Richard Russell
Basado en la información dada en esta respuesta y en varias otras, y buscando más, encontré una sonda impermeable DS18B20 en Alpha-Crucis (EU). También está disponible en Adafruit en los EE. UU. Cumple con todos mis requisitos y tiene un factor de forma ideal.
Richard Russell
7

Obtenga un IC de sensor de temperatura de precisión, como el LM35CAZ .

LM35CAZ

Lo alimentas con un buen 5v, y la salida es un voltaje simple que es una función lineal de temperatura. Tienen una precisión bastante buena de ± 1⁄4˚C a temperatura ambiente.

Adicional:

Varias personas han hablado acerca de "La precisión sobre el rango de temperatura" para este sensor es de ± 1ºC. Este es el rango equivocado para hablar. "Precisión a la temperatura de cocción" es el rango adecuado para hablar. A aproximadamente 60ºC, la precisión es de ± 0.7, y probablemente mejor que eso. La línea "típica" varía aproximadamente 0.1ºC sobre su rango de cocción.

Exactitud de LM35CAZ

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 congela es de 0ºC. Así que mételo en una pequeña taza de agua en el congelador y observa cuidadosamente el voltaje de salida. Caerá y caerá hasta que el agua comience a congelarse. En este punto, la temperatura dejará de caer y permanecerá plana por un tiempo. Una vez que se completa la congelación, la temperatura comenzará a caer nuevamente. Tome nota del voltaje en la región plana para usar como su punto de calibración de 0ºC.

Parcela de temperatura del agua congelada

Haga lo mismo para hervir agua. Es mejor hacer esto 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.

Calibrar un termómetro.

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 explotar con los humos. ¡No caliente el alcohol sobre una llama desnuda!

Agregado - Amplificación

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.

Suponiendo 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.

Rocketmagnet
fuente
La precisión sobre el rango de temperatura es de 1 ° C. 0.25 ° C es una charla de ventas.
stevenvh
1
@stevenvh - "Precisión sobre temperatura" es el rango incorrecto para hablar. "Precisión a la temperatura de cocción" es el rango adecuado para hablar.
Rocketmagnet
0,5 ° C se especifica a 25 ° C. ¿La temperatura de cocción estará más cerca de eso o más cerca del rango de temperatura? Creo que esto último.
stevenvh
44
Puede calibrar en el punto de ebullición del alcohol metílico en lugar de agua: 64.7 ° C.
stevenvh
2
Amplificar el rango útil para cubrir el rango del sensor reducirá el ruido de cuantización, pero también debe tener en cuenta que ahora agrega su propio conjunto de errores. Incluso si calibra en un solo punto, ahora debe considerar la deriva del voltaje de compensación de entrada del amplificador sobre la temperatura del dispositivo, no las cosas que se están cocinando. No digo que amplificar sea malo, solo que si vas a recomendarlo, también debes indicar los problemas que conlleva.
Olin Lathrop
3

Parece que solo pregunta por la sonda. Aparentemente quieres algo que puedas poner en contacto directo con la comida. Un controlador PID incluye mucho más que el sensor de retroalimentación, pero parece que no está preguntando sobre eso. Si algo de esto es incorrecto, entonces debe actualizar su pregunta. Tampoco tengo idea de lo que es "Sous Vide". Cualquier información relevante debe estar en su pregunta. Los enlaces son solo para material de antecedentes.

Como Steven mencionó, 1/2 degC 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á radiométrico para su suministro, por lo que cualquier variación de 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 cree que es su modo seguro. Esto es realmente un problema de firmware, no uno de hardware con un termistor y la resistencia de carga correcta.

En cuanto a hacerlo seguro para los alimentos, encerrar la sonda en vidrio debería ser bueno. ¿Qué tal epoxiar el termistor al fondo de un pequeño tubo de prueba, que luego se convierte en la sonda? La parte superior se puede sellar con pegamento caliente o algo. Tiene que ser hermético 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 la temperatura de cambio de alimentos.

Los termistores no son muy precisos a menos que pague mucho dinero. Para un proyecto de pasatiempo único, obtendría el termistor que se pueda tener en el rango correcto y lo calibraría manualmente. Calibre a unas pocas temperaturas conocidas determinadas por un termómetro confiable conocido, luego haga que el firmware se interpole entre ellos. Para obtener un crédito adicional, incluso puede buscar la ecuación nominal para el termistor, ajustar sus puntos medidos lo mejor posible y luego derivar la función continua 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.

Nuevamente, 1/2 degC está pidiendo demasiado, pero en realidad 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.

Olin Lathrop
fuente
Calibre a 1/2 grado con un termómetro confiable y conocido, ¿no es eso lo que mueve el problema? El termómetro de referencia debe ser al menos tan preciso, preferiblemente más preciso, que ese 1/2 grado.
Federico Russo
1
@Federico: está moviendo el problema de la precisión, pero el termómetro de referencia puede ser cualquier tecnología, no necesita ser seguro para los alimentos y no debe ser legible por máquina. Un termómetro decente de mercurio (u otro líquido) destinado a ese rango debe estar disponible sin demasiados problemas.
Olin Lathrop
Tengo un termómetro de sonda decente que está calibrado y que puedo usar para calibrarlo. No lo necesito directamente en contacto con la comida, pero como estará sumergido en líquido en una olla arrocera que también puedo usar para cocinar arroz, no quiero que escape algo tóxico ... A "Sous Vide "es un método de cocción con temperaturas precisas en bolsas empacadas al vacío en un baño de agua. Estoy construyendo un controlador PID a partir de un Arduino, y en este caso, solo necesito decidir sobre el sensor de temperatura.
Richard Russell
1

Usando 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 de plata contra otro, el termómetro estándar de oro. Luego guarda los errores esperados-reales y calcula una progresión lineal o ganancia y número de 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 los estándares de 0.1'C puede esperar un error de 0.2'deg y usar cualquier pantalla que elija para garantizar un error de 0.5'C para sus puntos de ajuste críticos.

Ver Fig. 3

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000459.pdf

Sellaría el sensor con una capa delgada de epoxi de grado alimenticio para proteger el dispositivo de fugas de humedad y usaría un par trenzado o dos cables flexibles de par trenzado usando 2 como escudo y luego usaría "estranguladores CM de ferrita" para absorber la interferencia de RF.

Luego necesita un ADC que tenga una precisión garantizada de +/- 0.5 bit o quizás 1 en 256 niveles para leer 0.5 / 100% de precisión. 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 causará niveles de cuantificación omitidos o histéresis durante transiciones como 01111 a 10000 y la diafonía de la conexión a tierra digital a la alimentación analógica de entrada fallará en la 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 ° C en los estilos de cocina orgánica a bajas temperaturas donde los organismos vivos comienzan a morir rápidamente por encima de la temperatura de 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 unida a la olla bien aislada. Entonces puede superar cualquier otra cocina comercial en el mercado ... suponiendo que esté bien aislada en dieléctrico de alto valor R.

Luego, para la apariencia para que pueda cobrar $ 500, envuélvala en precisión SS estadounidense que, al igual que el "Espíritu de San Luis", esté profundamente rayado y altamente pulido. ;)

Personalmente, me gustaría que el ácido exterior de SS fuera grabado por profesionales que hacen esto todos los días con una obra de arte de importancia culinaria histórica por $ 50 y luego cobran extra por obras de arte personalizadas con el logotipo personal y el nombre de la empresa. Solo pregunta si necesitas una buena referencia.

Gracias por permitirme ayudarte con tu objetivo.

Tony Stewart Sunnyskyguy EE75
fuente
Saludos, eso es realmente útil. Debo decir que no tengo idea de qué es "American SS", pero suena bien :-)
Richard Russell
SS = Acero inoxidable
dext0rb
Seguramente, cuando calibras el sensor, lo haces después del ADC. Por lo tanto, ¿también está calibrando el error ADC?
Rocketmagnet
0

Basado en la información dada en otras respuestas, y buscando más, encontré una sonda DS18B20 a prueba de agua en Alpha-Crucis (EU). También está disponible en Adafruit en los EE. UU.

Cumple con todos mis requisitos y tiene un factor de forma ideal.

Richard Russell
fuente
1
esto es solo un enlace a un producto y no hay información sobre por qué. Hay usuarios que ponen mucho trabajo en las respuestas para ayudarlo a enseñarle y la aceptación normalmente es una recompensa por dicha tarea, especialmente si hicieron el trabajo de guiarlo aquí.
Kortuk
OK, aceptaré una respuesta diferente. ¿Dónde debería poner mi propia conclusión?
Richard Russell
Estaba diciendo dos cosas: 1) Si la respuesta de alguien es lo que realmente te trajo aquí, probablemente deberían obtener la aceptación. 2) Escribir respuestas es más que aceptable, pero ¿puede darnos más información que solo un enlace? En este momento no sé nada más que este dispositivo se lleva a algunos lugares y es resistente al agua.
Kortuk
I hizo una Sous Vide usando un DS18B20, el uno con punta de plástico, pero el modelo con punta metálica es mejor. Para cocinar es lo suficientemente bueno (lo estoy usando a diario) y +/- 1 ° C es todo lo que necesita. La temperatura no es uniforme en su sartén; puede ser de +/- 3 ° C dependiendo de dónde coloque la sonda y cómo calienta el agua (placa de inmersión v / s), o si el agua está circulando o no.