Esta nota de aplicación describe cómo implementar la comunicación SMBus utilizando el termómetro infrarrojo MLX90614. El código está en lenguaje ensamblador para PIC®10 de Microchip. Un ejemplo de esto es la lectura de temperatura medida de la RAM del MLX90614. Se utiliza una implementación de software de comunicación SMBus para que el código fuente se pueda migrar a otras familias de MCU PIC de 8 bits con cambios menores.
Esta nota de aplicación describe cómo implementar la comunicación SMBus utilizando el termómetro infrarrojo MLX90614. El código está en lenguaje ensamblador para PIC®10 de Microchip. Un ejemplo de esto es la lectura de temperatura medida de la RAM del MLX90614.
Se utiliza una implementación de software de comunicación SMBus para que el código fuente se pueda migrar a otras familias de MCU PIC de 8 bits con cambios menores. Las herramientas de desarrollo utilizadas son MPLAB IDE y MPASM (Microchip Assembler), que son de uso gratuito. pastilla.
solicitud
- medición de temperatura sin contacto de alta precisión;
- Sensor de confort térmico para sistemas móviles de climatización.
- Elemento sensor de temperatura para aire acondicionado en edificios residenciales, comerciales e industriales.
- parabrisas antivaho;
- Detección de ángulo ciego automotriz;
- control de temperatura industrial de partes móviles;
- Control de temperatura para impresoras y fotocopiadoras.
- Electrodomésticos con control de temperatura.
- cuidado de la salud;
- seguimiento del ganado;
- detección de movimiento;
- Control de temperatura multizona: se pueden leer hasta 100 sensores a través de 2 cables comunes
- Relé térmico/alerta
- Medición de la temperatura corporal
Productos relacionados de Melexis
La EVB90614 es una placa de evaluación compatible con el dispositivo MLX90614.
Otros componentes necesarios
- Los elementos utilizados en los esquemas de la nota de aplicación actual son: Condensadores cerámicos SMD C1 y C2 100 nF 16 V o superior.
- Resistencias SMD R1 1,8 kΩ 5% y R2 1 kΩ 5%.
- Microcontrolador PIC10F206 o PIC10F202.
- Conector DB9 hembra.
- Fuente de alimentación regulada (3 o 5 V para la versión de 3 o 5 V del MLX90614).
Archivos adjuntos (en archivo .zip) Descarga aquí: archivos MPASM para incluir en el proyecto existente “SMBusFiles”
Proyecto MPLAB, “Proyecto SMBus”
El proyecto se compilará y podrá programar el archivo “main.hex” con el PIC10F206. Además, un proyecto se puede utilizar como base de “inicio”.
El proyecto lee Ta, Tobj1 y Tobj2 del MLX90614 (control de potencia no incluido) y transmite mediante software UART (código ASCII, CR (0x0D) después de cada ciclo, datos de 8 bits, 1 bit de parada, sin paridad) Para hacer. bit, 57 600 baudios, 4.000 MHz usando oscilador interno). El formato es un entero sin signo de 15 bits, justificado a la derecha. La resolución es de 0,02 grados Kelvin/LSB. Consulte la descripción de la rutina a continuación para ver un formato de temperatura de ejemplo. El ciclo de lectura y envío se repite cada minuto. Durante el estado inactivo del ciclo, tanto el PIC como el MLX90614 están en modo de suspensión (el modo de suspensión del MLX90614 de 5 V es parcial, el consumo de energía típico es de 100 uA, el PIC10 se activa brevemente cada 2 segundos). Tenga en cuenta eso).
circuito tipico
Conectar el MLX90614 a la MCU es muy fácil. Se utilizan dos pines de propósito general GP0 y GP1 en el PIC10F206. Se conecta una sola resistencia pull-up R1 entre Vdd y la línea SDA, y la línea SCL es impulsada por la salida push-pull GP0. C1 es el capacitor de desacoplamiento de derivación de energía local. El MLX90614 requiere esto para evitar el ruido de conmutación del circuito digital en el chip. C2 tiene la misma funcionalidad que un microcontrolador. El conocido valor de 100 nF (tipo cerámico SMD) suele ser suficiente para estos componentes. Tenga en cuenta que la fuente de alimentación generalmente requiere más capacitores, como 100 μF en la entrada y salida del regulador de voltaje, aunque no se muestra en el esquema. Aquí hay un esquema del pinout del paquete DIL8 para una MCU PIC10.
Se utiliza un oscilador RC de 4MHz en chip calibrado de fábrica. El reloj SMBus es de 28 kHz y se tarda unos 11 ms en leer un cuadro (un cuadro lee Tobj1, Tobj2, Tamb y transmite a través de UART). Consulte la hoja de datos del MLX90614, la Nota de aplicación 390119061402, “Comunicación SMBus con el MLX90614” y la especificación SMBus para obtener más información. El MLX90614 está disponible en versiones de 5V y 3V. El PIC10F206 está disponible en versiones de 3 V (MLX90614Bxx) y versiones de 5 V (MLX90614Axx).