MLX90616 Problema del sensor de temperatura infrarrojo

0

Recientemente estuve intentando conectar con el MLX90616 un sensor de temperatura infrarrojo de Melexis. Después de leer la hoja de datos, he escrito un programa para tomar las lecturas de temperatura del objeto a través del SMBus a bordo. Todo en mi extremo parece estar funcionando, sin embargo, las lecturas de temperatura son extremadamente largas (más de 10 minutos) para alcanzar la temperatura del objeto. Según la hoja de datos, la temperatura debería asentarse en segundos gracias a la compensación de gradiente térmico incorporada. ¿Hay algún ajuste de EPROM que no haya activado la compensación de gradiente térmico para obtener lecturas rápidas y estables?

Más aún, ¿alguien ha tenido una experiencia similar con este sensor? No puedo encontrar detalles de otras personas que hayan usado este sensor en particular en el pasado, por lo que algunos detalles serían muy apreciados.

He adjuntado el cuerpo principal de mi código para su referencia:

 I2C1_Init(50000);                   //I2C clock must be in the range of 10kHz to 100kHz for operation according to the SMBus specifications
  //delay_ms(100);                      //Allow time for the SSP module to initialise

  I2C1_Start();
  //Sometimes if I2C read is peformed without an acknologment it can hang the I2C BUS error check on each operation is therefore necessary
  if(I2C1_Wr(0xB4) == 0)           //Address for a write operation to 0x5A
  {
    if(I2C1_Wr(0x07) == 0)         //Address for RAM command to 0x7
    {
      I2C1_Repeated_Start();
      if(I2C1_Wr(0xB5)== 0)        //Address for read operation to 0x5A
      {
        lowerByte = I2C1_Rd(1);
        upperByte = I2C1_Rd(1);
      }
    }
  }
  I2C1_Stop();
    
pregunta user3095420

2 respuestas

0

El MLX90616 no viene calibrado de fábrica, por lo que todos los coeficientes de calibración se establecen en cero de forma predeterminada. Esto significa que las lecturas de temperatura del objeto no responderán a las fluctuaciones de temperatura. Para obtener lecturas de este sensor en particular, primero se debe realizar un procedimiento de calibración y los coeficientes deben escribirse en las ubicaciones EPROM apropiadas. Debe ponerse en contacto con su proveedor para obtener más detalles sobre los procedimientos de calibración.

    
respondido por el user3095420
0

He tenido el mismo problema. Después de leer detenidamente la hoja de datos, queda claro que necesita calibrarse (cómo, todavía no estoy seguro). Es frustrante porque Melexis no proporcionará asistencia técnica a menos que esté comprando 10k + y es muy vago acerca de su "software de calibración".

  

El sensor de temperatura ambiente en el MLX90616 está calibrado en el   de fábrica ... La medición de temperatura combinación sensor-lente tiene que ser   calibrado por el cliente.

Pasé un par de semanas antes de darme cuenta de que la razón por la que no estaba funcionando era porque no estaba calibrado. ¡La salida parece ser simplemente la temperatura ambiente!

Si lees el registro de coeficiente de calibración 0x0F, verás que es 0x0020.

    
respondido por el user3522081

Lea otras preguntas en las etiquetas