¿Convertir un valor de ADC a temperatura equivalente?

2

Estoy trabajando en un controlador de humedad que también controla la temperatura dentro de una cámara. Terminé con el hardware (aunque no soy el que está detrás del diseño) y fue diseñado originalmente con un ADC externo de 12 bits. y un 89s52 uc y reemplacé ambos con PIC 16F877A uc y uso el 10 bit ADC interno.

Otros detalles de hardware son (puedo proporcionar el esquema, aunque me parece incómodo).

  • sensordetemperatura-PT100
  • sensordehumedad-SY-HS-220( hoja de datos )
  • + Vref para ADC - 1.235V y -vref = 0;

Revisé el voltaje a través de los 2 canales ADC al reemplazar los sensores con un potenciómetro de 500 ohmios (no me preocupan los errores en este punto) y obtuve las siguientes cifras

temperatura propuesta | voltaje @ ADC

  1. 5 oC -------------- 1.650v
  2. 6 oC -------------- 1.660v
  3. 80 oC ------------- 2.480v

humedad propuesta | voltaje @ ADC

  1. 30% (990mV) -------- 0.098V
  2. 31% (1023mV) ------- 0.101V
  3. 32% (1056mV) ------- 0.104V
  4. 33% (1089mV) ------- 0.107V
  5. 34% (1122mV) ------- 0.110V
  6. 40% (1300mV) ------- 0.128V
  7. 90% (2970mV) ------- 0.29V

    Quiero usar este hardware para los siguientes requisitos

    • Temp. Medición: 5-80 oC, 0.5 oC resolución
    • Humedad relativa: 30-90%, resolución del 1%

Y mis preocupaciones son

  1. ¿Debo cambiar la tensión de referencia a 2,5 V, ya que puedo ver que la tensión máxima que se va a medir es 2,48? O ese voltaje está fuera de error, ya que el hardware original está diseñado con 1.235 V

    • es el voltaje en el ADC en (del sensor de temperatura) ajustable para que esté dentro de 1.235 V (por lo que creo que un mejor rendimiento) por algunos cambios menores de hardware (como cambiar un valor de resistencia para cambiar la ganancia del amperio)
  2. ¿Se pueden cumplir mis requisitos con una única configuración de ADC, ya que me preocupan las cifras aproximadas que obtuve (los valores de entrada de ADC para temperatura y humedad no son comparables o eso también es un error?)?

    • para la temperatura, solo pude medir con 1 oC en pasos como el gráfico RTD ( Para Europa Curva, Alfa = .00385, ITS-90 ) se proporcionó con incrementos de 1 oC. Para medir una resolución de 0.5 oC, ¿está bien si divido el cambio en el voltaje para el incremento de 1 oC entre 2 (asumiendo que la curva es lineal o no?)
  3. Cómo decidir de manera eficiente el tiempo de muestreo del ADC (considerando los hechos que los sensores responden lentamente, las fluctuaciones transitorias de voltaje en la línea, etc.)

  4. Finalmente, cómo se convierten los valores de ADC a valores de proceso equivalentes. (Disculpe si el título de la pregunta coincide solo aquí)

    • Por una mesa mirar hacia arriba? (en mi caso 150 valores (para temperatura) + 60 valores (humedad de Rel)) o puedo usar algún cálculo? (en caso afirmativo, cómo obtener una relación lineal entre los valores de ADC y los valores de proceso). ¿Qué método es eficiente en términos de precisión?
pregunta raforanz

1 respuesta

2

1) Cambie R8 / P1 para obtener el rango de voltaje que desea para las temperaturas que desea medir.

2) Establezca P2 más alto para que coincidan los valores con el rango de su ADC.

3) Establezca el tiempo de muestreo no más alto que X veces la constante de tiempo de su sistema, incluidos los sensores. Encuentre un buen número para X dependiendo de los requisitos del sistema. Sin embargo, es posible que desee promediar un número de muestreos rápidos para reducir el ruido / agregar bits.

4) Una combinación de tabla de búsqueda e interpolación generalmente funciona bien. Cree una hoja de Excel para mostrar el error de la aproximación, masajéela hasta que funcione para su aplicación.

    
respondido por el Rolf Ostergaard

Lea otras preguntas en las etiquetas