Termopar tipo K, amplificador operacional de instrumentación y Arduino

Estoy tratando de leer un termopar tipo K con un Arduino Uno de 0-5V.

Puedo leer mi termopar directamente usando un medidor Fluke en la configuración de temperatura y me da el valor correcto de 21 °C, pero cuando cambio a la configuración de mV, leo 0 mV en mi Fluke. De manera similar, en mi Arduino, estoy leyendo 0 mV o algunos golpes de basura (0.3xx mV, 1.9xx mV) cada 10 lecturas más o menos, lo que supongo que es ruido. Mi habitación tiene una temperatura de 70 °F o 21 °C, por lo que espero ver 0,838 mV según la tabla de termopares tipo K

He hecho una carga de prueba que produce 0-54mV

Carga de prueba

El amplificador operacional de instrumentación INA121P funciona como se esperaba y brinda una ganancia de 50x en mi carga de prueba cuando uso una resistencia Rg = 1 kΩ entre los pines 1 y 8.

Como se indicó anteriormente, cuando reemplazo mi carga de prueba con mi termopar tipo K, leo 0 mV en Vo (se espera que sea 0,838 mV x 50 = 41,9 mV).

Termopar tipo K esquemático e INA121P

Todavía no he incluido mi Tref de unión fría en el circuito, pero tengo mi termistor leyendo correctamente usando la ecuación de Steinhart-Hart en otras pruebas.

En mi código, dividiré la ganancia para volver a Vtc en mV. Estoy usando los coeficientes de tipo K para ajustar la curva de mi termopar.

Mis preguntas generales son:

  1. Hasta que agregue mi unión fría, ¿debería esperar leer 0 mV en mi TC?
    Respuesta: Sí, ya que TC y Tref tienen la misma temperatura, no se produce ningún diferencial. Gracias @TimWescott
  2. ¿Cómo puedo deshacerme del "ruido"? ¿Es 0.01 μF en el estadio de béisbol o debo cambiar ese valor?
  3. ¿Recomendaría algún cambio en mi enfoque?
Necesita hoja de datos para su termopar.
¿Qué voltaje esperas? ¿Qué tipo de termopar es? K?
@pipe Lo siento Primera publicación. Pensé que los termopares y los amplificadores operacionales eran específicos.
@mkeith Sí Termopar tipo K. Espero 0,838 mV a 21 °C y luego gané x50, por lo que Vo debería ser 41,9 mV
¿Es ese tu circuito real? ¿Tienes +6V y -6V?
@JohnBirckhead Sí, dibujé esto yo mismo según mi circuito real. Usé una fuente de alimentación de 12 V CC y la fórmula del divisor de voltaje usando 820 Ω para mis dos resistencias. Luego conecté el medio a tierra dándome +6 y -6 V para los pines 7 y 4 respectivamente.
@mkeith Leyendo ahora, gracias
Es probable que su problema sea que se permite que el termopar "flote" hasta el riel. Intente conectar un extremo del termopar a su "tierra" para mantenerlo en el rango de modo común de entrada del amplificador.
En realidad, el comentario de @ JohnBirckhead señala el hecho de que, a menos que necesite algún tipo de aislamiento, no necesita un amplificador de instrumentación.
@posop Gracias por actualizar el título, es una excelente primera publicación. Deberías ver los otros que tenemos...
@TimWescott: pensé que el punto de un amplificador operacional de instrumentación era que se le permitía flotar. Lectura alrededor Algunas personas recomiendan no conectar a tierra un extremo del TC. De todos modos, intentaré agregar una resistencia de 1 MΩ desde el pin 3 a tierra y veré qué hace esta noche.
Un amplificador de instrumentación funciona bien cuando lo que estás instrumentando se refiere a un terreno diferente al de tu instrumento, pero solo funciona mientras esos terrenos estén lo suficientemente cerca. Si no está atado a nada, flotará (como lo hizo el tuyo); si está vinculado a algo que es muy diferente, explotará tu amplificador de instrumentación.
Consulte el esquema que ha proporcionado y puede ver que "A1" y "A2" representan las etapas de ganancia. Estos pueden tener su salida golpeando los rieles de 6 voltios si sus entradas están lo suficientemente lejos de tierra. En su caso, es probable que ambas salidas estén en uno u otro riel, lo que da como resultado una respuesta de cero voltios.

Respuestas (2)

Necesita una ruta de CC para las corrientes de polarización en el amplificador, por ejemplo, puede conectar a tierra la unión o conectar un cable o ambos a tierra a través de una resistencia de valor relativamente alto (el termopar y los cables generalmente tienen menos de 100 ohmios, por lo que cualquier error resultante debe ser mínimo.

Para obtener un filtrado predecible, deberá agregar alguna impedancia en serie a los cables del termopar. Pruebe 1K en cada cable, 100nF entre los cables y 10nF a tierra en cada entrada.

Probablemente debería pensar en sesgar la salida del amplificador por encima del suelo, ya que es muy posible que la unión "caliente" esté a una temperatura más baja que la unión fría, lo que genera un voltaje negativo. También querrá sujetar el voltaje de manera adecuada para el Arduino (lea la hoja de datos de la MCU para obtener las especificaciones; también necesitará el voltaje de suministro de la MCU).

Por lo general, es deseable pasar un poco de corriente a través de la unión del termopar para detectar roturas. Existe una compensación entre el error resultante de esa corriente multiplicada por la resistencia de bucle de la sonda de termopar y los cables frente a la corriente si se usa corriente continua. También puede pulsarlo periódicamente desde la MCU para detectar un sensor o conexiones rotas, pero su interfaz puede tardar un tiempo en recuperarse.

Conectaré los párrafos 1 y 2 esta noche. Corríjame si me equivoco, pero creo que en efecto he sesgado mi circuito con las resistencias de 2 820 Ω. Puedo obtener valores negativos de mi amplificador de instrumentación, pero eso se soluciona con el polinomio de termopar tipo K. los valores negativos de Vo indican una temperatura negativa.
¿Cómo maneja su ADC los voltajes bajo tierra o que son demasiado altos? Debe obtenerlo en forma digital antes de poder aplicar la compensación de unión fría digital y solo luego la función de linealización. El mV del sensor será negativo cada vez que la unión "caliente" esté más fría que la unión de referencia (generalmente las terminales del instrumento, que medirá con su termistor).
Tiene toda la razón, conecté las cosas con sus sugerencias y Vo no caerá por debajo de 0V. ¿Puede recomendar una manera fácil de sesgar mi circuito? No estoy 100% seguro de que deba ser negativo, pero sería bueno que las cosas funcionen correctamente.
La forma más fácil es conectar la referencia en el amplificador de entrada a un voltaje amortiguado un poco por encima del suelo. Necesita un búfer de amplificador operacional (solo un seguidor de voltaje) porque no es de alta impedancia como las otras entradas. Luego reste ese voltaje digitalmente.

No entiendes cómo funciona un termopar. Un termopar genera un voltaje que es más o menos proporcional a la diferencia de temperatura entre las uniones. Si su unión "caliente" está a 21C y su unión "fría" también está a 21C, entonces la diferencia de voltaje será cero.

Entonces, leer 0V de un termopar en ecualización térmica es exactamente correcto.

Esto es obvio a partir de la termodinámica, porque un termopar es un motor térmico, y los motores térmicos no pueden generar energía cuando no hay diferencia de temperatura.

Tenga en cuenta que la tabla asume una unión fría de 0C, no 21C.

Debe medir el voltaje del termopar en su placa, y debe medir de forma independiente la temperatura en el punto donde el termopar está conectado a su placa (o cualquier punto en el que su termopar lleve la transición a un par de cables de cobre). Luego, debe calcular la diferencia de temperatura que mide el termopar entre su placa, luego debe agregar eso a la temperatura medida de la placa.

Creo que esto responde a la pregunta #1. Hasta que agregue mi compensación de unión fría, leeré 0mV --> 0°C. Tiene mucho sentido. Ahora vamos con el ruido.