Sensor de gas CO2 pulpo ELECFREAKS (MG811)

SKU: EF04100
Precio
$49.90 USD

You can find the introduction of this product and many educational projects in our wiki.

Link: https://wiki.elecfreaks.com/en/microbit/sensor/octopus-sensors/sensor/octopus_ef04100

En stock y listo para enviar

Frequently Bought Together

We Accept

Description

El sensor de gas CO2 Octopus MG811 es un bloque electrónico de CO2 en nuestra serie OCTOPUS, el diseño básico para la perspectiva, los orificios de fijación de PCB y las conexiones son los mismos que los de ellos.

Cuanto mayor sea la concentración de CO2, menor será el voltaje de salida. Los usuarios pueden leer el valor de CO2 fácilmente después de consultar nuestros folletos y muestras de codificación.
La sonda de CO2 está fabricada con un grado industrial altamente alérgico al CO2 y antiinterferente al alcohol y al CO. Es de alto rendimiento y rápida respuesta con un circuito de amplificación de señal cargado incluso en diferentes ambientes de temperatura y humedad. Además, el circuito de calefacción integrado ayuda a convertir de 5 V a un voltaje estable de 6 V, lo que mejora directamente la adaptabilidad del módulo.

Precaución

El módulo pertenece a la electroquímica CO2 y la sonda se calienta sola cuando funciona, no la toque en caso de que se lastime.
¡Preserve el sello mientras el sensor no esté en uso en caso de que la sonda se “envenene” debido a la exposición prolongada en el aire o tenga que calentarla continuamente durante otras 48 horas para activarla!
La sonda MG-811 pertenece a la categoría de sensor de electroquímica, realice una operación de prueba antes de usarla para obtener un valor exacto.

Característica

Voltaje de trabajo de las sondas: 6v
Con el circuito de refuerzo incorporado, admite una entrada de CC de 3,7 ~ 5 V y una corriente de más de 500 mA.
Ladrillos electrónicos OCTOPUS.
Fácil conexión.

Especificaciones

Artículo Parámetro
Nombre Sensor de gas CO2 Octopus MG811
SKU EF04100
Tensión de trabajo CC 3,7 ~ 5v
Modo de conexión G-GND, V-VCC, señales S-pin
Tamaño 31x48mm
Peso neto 9,6 g

Perspectiva y dimensión

Conexión de hardware

El módulo se conecta al A0 del Arduino UNO a través de un cable Dupont con el mejor sujetador, la placa principal de Arduino debe alimentarse con una conexión adicional (7.5V-9V).

OPERACIÓN DE PRUEBA

La sonda MG-811 pertenece a la categoría de sensor de electroquímica, realice una operación de prueba antes de usarla para obtener un valor exacto. Las sondas se calientan solas después de proporcionar una fuente de alimentación estable. Coloque el módulo en un lugar al aire libre y caliente durante 48 horas seguidas. Mida el voltaje de salida (unidad: V) del módulo y divídalo por 8.5, el valor final debe completarse en la definición macro del código:

#define ZERO_POINT_VOLTAGE (Revisar como: Voltaje (V)/8.5)
Por ejemplo: si el voltaje probado por el multímetro es 2.4V, entonces usamos 2.4/8.5=0.282, y deberíamos revisarlos de la siguiente manera:

#define ZERO_POINT_VOLTAGE (0.282)
Después de revisarlo, cárguelo en la placa principal de Arduino y puede usarlo para probar sus propios proyectos ahora.

Muestras de codificación

/ * Demostración del módulo sensor de gas MG-811 V1.1*
** /

/ ** Macros relacionadas con el hardware ** /

#define MG_PIN (A0) //define qué canal de entrada analógica vas a usar

#define DC_GAIN (8.5) //define la ganancia de CC del amplificador

/ * Macros relacionadas con el software ** /

#define READ_SAMPLE_INTERVAL (50) //define cuántas muestras vas a tomar en funcionamiento normal

#define READ_SAMPLE_TIMES (5) //define el intervalo de tiempo (en milisegundos) entre cada muestra en
//operación normal

/**Macros relacionados con la aplicación**/
//Estos dos valores difieren de un sensor a otro. el usuario debe determinar este valor.

#define ZERO_POINT_VOLTAGE (0.220) //define la salida del sensor en voltios cuando la concentración de CO2 es 400PPM

#define REACTION_VOLTGAE (0.030) //define la caída de voltaje del sensor cuando mueve el sensor del aire a 1000ppm CO2

/*Globales * /
float CO2Curve[3] = {2.602,ZERO_POINT_VOLTAGE,(REACTION_VOLTGAE/(2.602-3))};
//se toman dos puntos de la curva.
//con estos dos puntos se forma una linea que es
//"aproximadamente equivalente" a la curva original.
//formato de datos:{ x, y, pendiente}; punto1: (lg400, 0,324), punto2: (lg4000, 0,280)
//pendiente = (voltaje de reacción) / (log400 –log1000)

configuración vacía ()
{
Serial.begin(9600); //Configuración UART, velocidad de transmisión = 9600bps
Serial.print("Demostración MG-811\n");
}

bucle vacío ()
{
porcentaje int;
voltios flotantes;

 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);

 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);

 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);

 volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);

}

/* MGRead *
Entrada: mg_pin - canal analógico
Salida: salida de SEN-000007
Observaciones: Esta función lee la salida de SEN-000007
** /
flotante MGRead (int mg_pin)
{
ent yo;
flotante v=0;

 for (i=0;i<READ_SAMPLE_TIMES;i++) { v += analogRead(mg_pin); delay(READ_SAMPLE_INTERVAL); } v = (v/READ_SAMPLE_TIMES) *5/1024 ; return v;
 for (i=0;i<READ_SAMPLE_TIMES;i++) { v += analogRead(mg_pin); delay(READ_SAMPLE_INTERVAL); } v = (v/READ_SAMPLE_TIMES) *5/1024 ; return v;
 for (i=0;i<READ_SAMPLE_TIMES;i++) { v += analogRead(mg_pin); delay(READ_SAMPLE_INTERVAL); } v = (v/READ_SAMPLE_TIMES) *5/1024 ; return v;
 for (i=0;i<READ_SAMPLE_TIMES;i++) { v += analogRead(mg_pin); delay(READ_SAMPLE_INTERVAL); } v = (v/READ_SAMPLE_TIMES) *5/1024 ; return v;
 for (i=0;i<READ_SAMPLE_TIMES;i++) { v += analogRead(mg_pin); delay(READ_SAMPLE_INTERVAL); } v = (v/READ_SAMPLE_TIMES) *5/1024 ; return v;
 for (i=0;i<READ_SAMPLE_TIMES;i++) { v += analogRead(mg_pin); delay(READ_SAMPLE_INTERVAL); } v = (v/READ_SAMPLE_TIMES) *5/1024 ; return v;

}

/* MQObtenerPorcentaje **
Entrada: voltios - SEN-000007 salida medida en voltios
pcurve - puntero a la curva del gas objetivo
Salida: ppm del gas objetivo
Observaciones: Utilizando la pendiente y un punto de la recta. La x (valor logarítmico de ppm)
de la línea podría derivarse si se proporciona y (salida MG-811). como es un
coordenada logarítmica, la potencia de 10 se usa para convertir el resultado a no logarítmico
valor.
** /
int MGGetPercentage(float voltios, float *pcurve)
{
if ((voltios/DC_GAIN )>=ZERO_POINT_VOLTAGE) {
devolver -1;
} demás {
return pow(10, ((voltios/DC_GAIN)-pcurve[1])/pcurve[2]+pcurve[0]);
}
}

Resultado

Abra el monitor en serie y obtendrá la concentración de CO2 a su alrededor después de 5 minutos.

Lista de embalaje

Artículo Parámetro
Sensor de gas CO2 Octopus MG811 1

Aprender

Sensor de gas CO2 Octopus MG811

Recommended for You