Problemas de la interfaz del termopar tipo K

3

Estoy tratando de interactuar con un termopar tipo K con un ATXMEGA128A4U y he estado experimentando algunas dificultades y espero que alguien pueda confirmar el proceso que estoy usando.

Detalles .. 1. El TC está conectado a la entrada A / D estándar a través de un AMP de instrumentación AD8223 con una ganancia de 106 y una compensación de la mitad de mi voltaje de referencia A / D de 1.25 V de compensación. Mi voltaje de referencia A / D es 2.5V 2. Estoy usando un NTC de 10K estándar para la referencia de la unión fría. Está soldado directamente al zócalo TC y lo he calibrado en una incubadora y confío en que el procesador transformará y procesará correctamente las temperaturas de la unión fría.

Básicamente, no obtengo la salida que esperaría en un rango de temperatura bastante estrecho de 0-80C. No estoy 100% seguro de que estoy procesando correctamente. Si ignoramos los cálculos que estoy usando para las conversiones por ahora, estoy en lo cierto al pensar que puedo tomar la salida TC en mV y usar la tabla de búsqueda NIST para convertir esa mV a una temperatura y luego restar mi temperatura de unión fría (que siempre estará cerca del ambiente 20C) para obtener la temperatura de la punta o hay algo más?

Para ilustrar mi problema, simplemente coloqué el ThermoCouple en una taza de agua de 76.4C (confirmado con el medidor ThermoCouple Fluke 51II) y obtengo una salida de 5.151mV con mi NTC leyendo el Cold Junction a 18.4C. De acuerdo con la tabla NIST, 5.151mV equivale a 125.5C. Cuando resto la unión fría de 18.4C, me quedo con 107.1C. Claramente no es correcto En realidad, estoy usando polinomios racionales para las conversiones en código, pero pensé que me referiría a la analogía de la tabla de búsqueda para simplificar las cosas por el bien de esta publicación. Espero que alguien pueda confirmar mi lógica antes de profundizar más.

Tal vez estoy pensando en esto de manera incorrecta. Los comentarios son muy apreciados.

    
pregunta user51103

4 respuestas

3

Sospecho que está pasando por alto el voltaje de compensación de entrada del AD8223. La hoja de datos dice que es típicamente 250 uV. Multiplicando por su ganancia de 106 se obtiene un desplazamiento de salida de 26 mV, por lo que sería más que responsable de sus problemas.

Intenta acortar las entradas y mira la salida. Reste ese número de su 5 mV y vea cómo funciona.

    
respondido por el WhatRoughBeast
2

Debe compensar el valor del termopar primero, ENTONCES, introduciendo este valor en la tabla de consulta para generar un valor de temperatura. Considera esta imagen: -

Claramente,lacompensaciónserealizaprimeroyluegolatraducciónafrecuencia.Estoesloquedicelamáxima:-

Crujirlosnúmeros:unavezqueestablezcaunmétododecompensacióndeuniónfría,latensióndesalidacompensadadebetraducirsealatemperaturacorrespondiente.Consulte esto .

La conversión de voltaje a temperatura no es lineal, por lo que hacerlo de forma incorrecta generará algunos errores.

    
respondido por el Andy aka
2

Para realizar la compensación del termopar a la perfección, necesita las funciones de avance y retroceso. Debería convertir la temperatura CJC a un voltaje para un termopar Chromel-Alumel, luego sumar eso con el voltaje del termopar. No hace falta decir que ambas conversiones deben usar la misma temperatura de referencia (arbitraria) (generalmente 0 ° C o 32 ° F. Dada una referencia típica de 0 ° C, normalmente estará agregando un número negativo.

Se puede hacer con polinomios de una sola dirección con cierta pérdida de precisión en un amplio rango ambiental (para ser más precisos, rango de temperaturas en los terminales de entrada). Elija una temperatura de referencia que sea más realista que 0 ° C, digamos 20 ° C. El voltaje del termopar de su ADC debe ser 0uV a 20 ° C (si las uniones de cobre están a 20 ° C), tome la lectura de voltaje de su ADC y agregue el mV del polinomio a 20 ° C (un número fijo). Ahora su salida polinomial será exactamente 20 ° C para 0mV y seguirá la curva del termopar. Convierta la resistencia NTC a temperatura y reste 20 ° C de eso. Ahora agregue la diferencia a la salida del polinomio.

Para la verificación de la depuración, cada paso o error de ganancia tendrá grandes efectos, por ejemplo, con terminales de entrada en cortocircuito (con materiales de termopar de derivación de cobre) y CJC desactivado, debería ver exactamente una salida de 20 ° C. Coloque la compensación CJC y verá la temperatura del bloque de terminales.

Obtener lecturas de termopares muy precisas no es trivial y cada paso debe verificarse cuidadosamente. Obtener un buen seguimiento dinámico de los cambios ambientales puede ser un desafío fuera del entorno de un laboratorio.

    
respondido por el Spehro Pefhany
2

En primer lugar, gracias a todos por sus respuestas, cada respuesta ha sido muy útil y ahora estoy muy cerca de obtener lo que quiero. Al final del día, hubo algunos problemas.

  1. Tenía demasiada capacidad en mi suministro de 1.25V. Mis dispositivos pasan la mayor parte de su tiempo en el modo de suspensión y se despiertan a unos 100 ms para muestrear, los estaba cortando un poco y la fuente no se estaba estabilizando.
  2. Estaba usando un regulador de derivación y la resistencia de la serie que elegí era un poco pequeña, lo que equivalía a un pequeño error.
  3. Estaba ajustando la compensación con un valor de temperatura al final de mis cálculos en lugar de restar mi compensación en los conteos primero.
  4. Algunos errores lógicos explicados anteriormente.

Nuevamente, gracias a todos por su aporte.

    
respondido por el user51103

Lea otras preguntas en las etiquetas