Skip to main content

Grove - Amplificador de Termopar I2C (MCP9600)

El Grove - Amplificador de Termopar I2C (MCP9600) es un convertidor de termopar a digital con junta fría integrada y protocolo de comunicación I2C. Este módulo está diseñado para ser usado en conjunto con un termopar tipo k. Los termopares tienen un rango de medición mucho mayor que los termistores. Por ejemplo, este termopar tipo k en nuestro sitio web tiene un rango de medición de -50℃ a +600℃.

También proporcionamos la función de alerta para este módulo, puedes usar el pin de alerta programable para proporcionar una señal de interrupción al controlador.

Nuevamente, este módulo no puede funcionar solo, debe trabajar con un termopar tipo k, si no tienes uno, puedes considerar el Sensor de Temperatura Termopar Tipo K-1M en nuestro bazar.

Versión

Versión del ProductoCambiosFecha de Lanzamiento
Grove - Amplificador de Termopar I2C (MCP9600)InicialAgo 2018

Características

  • Compensación de Unión Fría Integrada
  • Tipos Soportados (designados por NIST ITS-90): Tipo K, J, T, N, S, E, B y R
  • Cuatro Salidas de Alerta de Temperatura Programables:
    • Monitorear temperaturas de Unión Caliente o Fría
    • Detectar temperaturas ascendentes o descendentes
    • Hasta 255°C de Histéresis Programable
  • Filtro Digital Programable para Temperatura
  • Bajo Consumo
note

El Grove - Amplificador de Termopar I2C (MCP9600) sí soporta los tipos K, J, T, N, S, E, B y R a nivel de hardware, sin embargo, actualmente, nuestra biblioteca no soporta ningún otro tipo de termopar excepto el tipo K.

Especificaciones

ElementoValor
Voltaje de Operación3.3V/5V
Temperatura Ambiente-40℃ ~ +125℃
Temperatura de Almacenamiento-65℃ ~ +150℃
Temperatura Máxima de Unión+150℃
Precisión de Unión Caliente±1.5°C (Máx.)
Resolución de MediciónUniones Caliente y Fría: 0.0625°C (típica)
InterfazI2C
Dirección I2C0x60(predeterminada) / 0x67(opcional)
TamañoL: 40mm A: 20mm H: 18mm
Peso4.8g
Tamaño del PaqueteL: 130mm A: 85mm H: 20mm
Peso Bruto11g

Aplicaciones

  • Gestión Térmica Petroquímica
  • Equipos de Medición Portátiles
  • Gestión Térmica de Equipos Industriales
  • Hornos
  • Monitor Térmico de Motores Industriales
  • Bastidores de Detección de Temperatura

Descripción General del Hardware

Mapa de Pines

Esquemático

Alimentación

El rango de voltaje de operación del MCP9600 es de 2.7V ~ 5.5V, utilizamos un chip de conversión de energía XC6206P332MR-G para proporcionar un 3.3V estable para el MCP9600.

Conector de Entrada

Debido a los pequeños niveles de señal involucrados, tomamos muchas medidas para filtrar el ruido.

  • 1--L1,L2 Utilizamos termopares de hasta 1 metro de longitud. Cables tan largos pueden considerarse como antenas, que recibirán interferencia de campo eléctrico espacial y generarán ruido de alta frecuencia. Por lo tanto, utilizamos dos inductancias para filtrar el ruido de alta frecuencia.

  • 2--C1 Es fuertemente recomendado por el fabricante del chip agregar un capacitor diferencial cerámico de montaje superficial de 100nF, colocado a través de los pines T+ y T-, para filtrar el ruido en las líneas del termopar.

  • 3--D1 Utilizamos el SUPRESOR DE VOLTAJE BIDIRECCIONAL DUAL SZNUP2105LT3G para proteger este módulo de ESD (descarga electrostática).

Circuito elevador de nivel bidireccional

Este es un circuito elevador de nivel bidireccional típico para conectar dos secciones de voltaje diferentes de un bus I2C. El bus I2C de este sensor utiliza 3.3V, si el bus I2C del Arduino utiliza 5V, este circuito será necesario. En el esquemático anterior, Q1 y Q5 son MOSFET de Canal N 2N7002A, que actúan como un interruptor bidireccional. Para entender mejor esta parte, puedes consultar el AN10441

Plataformas Soportadas

ArduinoRaspberry Pi
caution

Las plataformas mencionadas anteriormente como compatibles son una indicación de la compatibilidad de software o teórica del módulo. Solo proporcionamos biblioteca de software o ejemplos de código para la plataforma Arduino en la mayoría de los casos. No es posible proporcionar biblioteca de software / código de demostración para todas las plataformas MCU posibles. Por lo tanto, los usuarios tienen que escribir su propia biblioteca de software.

Primeros Pasos

Jugar Con Arduino

Hardware

Materiales requeridos

Seeeduino V4.2Base ShieldGrove - I2C Thermocouple Amplifier
Obtener Uno AhoraObtener Uno AhoraObtener Uno Ahora
note

1 Por favor conecta el cable USB con cuidado, de lo contrario podrías dañar el puerto. Por favor usa el cable USB con 4 cables en el interior, el cable de 2 cables no puede transferir datos. Si no estás seguro sobre el cable que tienes, puedes hacer clic aquí para comprar

2 Cada módulo Grove viene con un cable Grove cuando lo compras. En caso de que pierdas el cable Grove, puedes hacer clic aquí para comprar.

  • Paso 1. Conecta el Grove - I2C Thermocouple Amplifier (MCP9600) al puerto I2C del Grove-Base Shield.

  • Paso 2. Conecta el Grove - Base Shield al Seeeduino.

  • Paso 3. Conecta el Seeeduino a la PC mediante un cable USB.

note

Si no tenemos Grove Base Shield, también podemos conectar directamente este módulo al Seeeduino como se muestra a continuación.

SeeeduinoCable GroveGrove - I2C Thermocouple Amplifier
GNDNegroGND
5V / 3.3VRojoVCC
SDABlancoSDA
SCLAmarilloSCL

Software

note

Si esta es la primera vez que trabajas con Arduino, te recomendamos encarecidamente que veas Comenzando con Arduino antes de empezar.

  • Paso 1. Descarga la librería Seeed_MCP9600 desde Github.

  • Paso 2. Consulta Cómo instalar una librería para instalar la librería para Arduino.

  • Paso 3. Reinicia el IDE de Arduino. Abre el ejemplo, puedes abrirlo de las siguientes tres maneras:

    1. Ábrelo directamente en el IDE de Arduino a través de la ruta: File --> Examples --> Grove Temperature sensor MCP9600 --> MCP9600_4channel_INT_demo.
    1. Ábrelo en tu computadora haciendo clic en MCP9600_4channel_INT_demo.ino que puedes encontrar en la carpeta XXXX\Arduino\libraries\Seeed_MCP9600-master\examples\MCP9600_4channel_INT_demo, XXXX es la ubicación donde instalaste el IDE de Arduino.
    1. O, puedes simplemente hacer clic en el icono en la esquina superior derecha del bloque de código para copiar el siguiente código en un nuevo sketch en el IDE de Arduino.
#include "Seeed_MCP9600.h"

#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SERIAL SerialUSB
#else
#define SERIAL Serial
#endif

MCP9600 sensor;

/**@brief interruption cfg.
*
*
* */
err_t sensor_INT_config()
{
err_t ret=NO_ERROR;
CHECK_RESULT(ret,sensor.set_filt_coefficients(FILT_MID));

for(int i=0;i<4;i++)
{
/*Conver temp num to 16bit data*/
CHECK_RESULT(ret,sensor.set_alert_limit(i,sensor.covert_temp_to_reg_form(28+i)));
/*Set hysteresis.for example,set hysteresis to 2℃,when the INT limitation is 30℃,interruption will be generated when
the temp ecceed limitation,and the interruption flag will stay unless the temp below 30-2(limitation-hysteresis) 28℃. */
CHECK_RESULT(ret,sensor.set_alert_hys(i,2));

/*Set when interruption generated the pin's status*/
CHECK_RESULT(ret,sensor.set_alert_bit(i,ACTIVE_LOW));

CHECK_RESULT(ret,sensor.clear_int_flag(i));

/*default is comparator mode*/
CHECK_RESULT(ret,sensor.set_alert_mode_bit(i,COMPARE_MODE));

/*Set alert pin ENABLE.*/
CHECK_RESULT(ret,sensor.set_alert_enable(i,ENABLE));



}

/*device cfg*/
CHECK_RESULT(ret,sensor.set_cold_junc_resolution(COLD_JUNC_RESOLUTION_0_25));
CHECK_RESULT(ret,sensor.set_ADC_meas_resolution(ADC_14BIT_RESOLUTION));
CHECK_RESULT(ret,sensor.set_burst_mode_samp(BURST_32_SAMPLE));
CHECK_RESULT(ret,sensor.set_sensor_mode(NORMAL_OPERATION));

return NO_ERROR;
}


err_t get_temperature(float *value)
{
err_t ret=NO_ERROR;
float hot_junc=0;
float junc_delta=0;
float cold_junc=0;
bool stat=true;

CHECK_RESULT(ret,sensor.check_data_update(&stat));
if(stat)
{
CHECK_RESULT(ret,sensor.read_hot_junc(&hot_junc));
CHECK_RESULT(ret,sensor.read_junc_temp_delta(&junc_delta));

CHECK_RESULT(ret,sensor.read_cold_junc(&cold_junc));

*value=hot_junc;
}
else
{
SERIAL.println("data not ready!!");
}

return NO_ERROR;
}


void setup()
{
SERIAL.begin(115200);
delay(10);
SERIAL.println("serial start!!");
if(sensor.init(THER_TYPE_K))
{
SERIAL.println("sensor init failed!!");
}
sensor_INT_config();
}


void loop()
{
float temp=0;
u8 byte=0;
u8 stat=0;


get_temperature(&temp);
SERIAL.print("temperature ==============================>>");
SERIAL.println(temp);

sensor.read_INT_stat(&stat);

SERIAL.println(" ");
SERIAL.println(" ");

delay(1000);
}
note

Hay 2 demos en la biblioteca:
MCP9600_basic_demo.ino

Este ejemplo es un uso de muestra del sensor de temperatura, necesitas hacer polling para obtener datos.

MCP9600_4channel_INT_demo.ino

hay cuatro pads de alerta en el módulo del sensor que se conectan al pin de alerta. Puedes establecer límites de temperatura llamando a la API que proporcionamos. El pin de alerta emite bajo cuando el valor de temperatura supera el límite. Puedes conectar el pin de alerta a un pin de interrupción del host, para mejorar la eficiencia de la operación del programa.

  • Paso 4. Sube el demo. Si no sabes cómo subir el código, por favor revisa Cómo subir código.

  • Paso 5. Abre el Monitor Serie del IDE de Arduino haciendo clic en Tool-> Serial Monitor. O presiona las teclas ++ctrl+shift+m++ al mismo tiempo. Establece la velocidad de baudios a 115200.

tip

Si todo va bien, cuando abras el Monitor Serie, verás el valor de temperatura y la información de alerta.

serial start!!
version =4011

temperature ==============================>>25.81


temperature ==============================>>27.62


temperature ==============================>>29.37
channel 0generate interruption!!!
channel 1generate interruption!!!


temperature ==============================>>30.81
channel 0generate interruption!!!
channel 1generate interruption!!!
channel 2generate interruption!!!


temperature ==============================>>31.56
channel 0generate interruption!!!
channel 1generate interruption!!!
channel 2generate interruption!!!
channel 3generate interruption!!!


temperature ==============================>>28.56
channel 0generate interruption!!!
channel 1generate interruption!!!
channel 2generate interruption!!!


temperature ==============================>>27.33
channel 0generate interruption!!!
channel 1generate interruption!!!


temperature ==============================>>26.71
channel 0generate interruption!!!

Función de Alerta

Como puedes ver, hay una histéresis cuando la temperatura sube y la temperatura baja desencadena una interrupción. Por ejemplo, cuando la temperatura sube, cuando alcanza 28℃, el pin de alerta 0 se activará, y cuando la temperatura baja, el punto límite se convierte en 26℃. Solo cuando la temperatura se vuelve menor que 26℃, el pin de alerta 0 se liberará.

hysteresis= 28℃-26℃ = 2℃

El pin de alerta 1, el pin de alerta 2 y el pin de alerta 3 siguen el mismo principio. Puedes cambiar el valor de histéresis y el límite modificando la línea 23 y la línea 26.

CHECK_RESULT(ret,sensor.set_alert_limit(i,sensor.covert_temp_to_reg_form(28+i)));

/*Set hysteresis.for example,set hysteresis to 2℃,when the INT limitation is 30℃,interruption will be generated when
the temp ecceed limitation,and the interruption flag will stay unless the temp below 30-2(limitation-hysteresis) 28℃. */

CHECK_RESULT(ret,sensor.set_alert_hys(i,2));

Usa el parámetro i para elegir el número de pin de alerta, y el parámetro 28 es el valor límite, en cuanto a la histéresis, usamos la función sensor.set_alert_hys(i,2). El parámetro 2 es el valor de histéresis.

Visor de Esquemático en Línea

Recursos

Proyecto

Este es el video de introducción de este producto, demostraciones simples, puedes intentarlo.

Soporte Técnico y Discusión del Producto

Actualizable a Sensores Industriales

Con el controlador S2110 y el registrador de datos S2100 de SenseCAP, puedes convertir fácilmente el Grove en un sensor LoRaWAN®. Seeed no solo te ayuda con el prototipado, sino que también te ofrece la posibilidad de expandir tu proyecto con la serie SenseCAP de sensores industriales robustos.

La carcasa IP66, configuración Bluetooth, compatibilidad con la red global LoRaWAN®, batería integrada de 19 Ah, y el potente soporte de la APP hacen del SenseCAP S210x la mejor opción para aplicaciones industriales. La serie incluye sensores para humedad del suelo, temperatura y humedad del aire, intensidad de luz, CO2, EC, y una estación meteorológica 8 en 1. Prueba el último SenseCAP S210x para tu próximo proyecto industrial exitoso.

Loading Comments...