Sunteți pe pagina 1din 18

MG-811 Sensor de CO2 Módulo

3 de febrero de 2014Hoja de datos del producto Kim

Visión de conjunto

Este módulo sensor tiene un MG-811 a bordo como componente del sensor. Hay un
circuito de acondicionamiento de señales a bordo para amplificar la señal de salida y un
circuito de calefacción a bordo para calentar el sensor. El MG-811 es altamente sensible
al CO2 y menos sensible al alcohol y al CO. Podría utilizarse en el control de calidad
del aire, el proceso de fermentación y la aplicación de monitoreo de aire en la puerta. La
tensión de salida del módulo disminuye a medida que aumenta la concentración de
CO2.

Caracteristicas

 Salida analógica y digital


 Circuito de acondicionamiento de señales a bordo
 Circuito de calefacción a bordo
 El conector del sensor elimina la soldadura del sensor y permite enchufar y listo
 Conectores de enclavamiento de 4 pines a bordo
 Cables de enclavamiento de 4 pines incluidos en el paquete
 Tamaño compacto

MG-811 Especificaciones

SÍMBOLO PARÁMETRO VALOR OBSERVACIO

VH Voltaje de calentamiento 6.0 ± 0.1V AC o DC

RH Resistencia de calefacción ~ 30.0 Ohm A temperatura

IH Calentamiento actual ~ 200mA

PH Poder de calefacción ~ 1200mW

Tao Temperatura de funcionamiento -20 a 50 ° C


Tas Temperatura de almacenamiento -20 a 70 ° C

EMF Salida 100-600 mV 400-10000ppm

Pinout

ALFILER DESCRIPCIÓN OBSERVACIO

VCC Fuente de alimentación de 5V para acondicionamiento de señal <5.5V

VOUT Salida de señal de voltaje analógico

BOOL Salida del comparador Drenaje abierto

CALOR Fuente de alimentación de calefacción 6-24V 7.5-12V

VSET Selección de voltaje de calentamiento 0-5V

GND Terreno común Circuito de cale

* Tenga en cuenta que la tensión de calentamiento debe ser de 7.5-12 V en lugar de 6-24 V, como se indica en el
conector del cañón de la PCB.

Puntos de prueba

Hay seis puntos de prueba a bordo. Son VE, AN, BL, TH, + V y GND.

VE el voltaje de calentamiento regulado, los valores típicos son 6.0V

UN salida analógica, la tensión debería bajar cuando aumenta la concentración de C


licenciado en Derecho salida digital, vea la sección "Comparador" arriba

TH voltaje de umbral del comparador, puede establecerlo en cualquier valor entre

+V fuente de alimentación del circuito de acondicionamiento de señal, que es 5V

Esquemas de aplicación típicos

Teoría

El sensor MG-811 es básicamente una celda que da una salida en el rango de 100-
600mV (400-10000ppm CO2). La capacidad de abastecimiento actual de la célula es
bastante limitada. La amplitud de la señal es muy baja y la impedancia de salida de la
celda es tan alta que se requiere un circuito de acondicionamiento de señal entre el
sensor y la entrada ADC del microcontrolador. El voltaje de salida del sensor en aire
limpio (típicamente 400 ppm de CO2) está en el rango de 200 mV-600 mV, este voltaje
de salida se define como Voltaje de punto cero (V 0 ) que es el voltaje de referencia. El
voltaje de salida disminuirá a medida que aumente la concentración de CO2. Cuando la
concentración de CO2 es mayor que 400 ppm, el voltaje de salida (Vs) es lineal
al logaritmo común de la concentración de CO2 (C CO2 ):
Vs = V 0 + ΔVs / (log 10 400 - log 10 1000) * (log 10 C CO2 - log 10 400)

DondeΔVs = salida del sensor @ 400ppm - salida del sensor @ 1000ppm

El voltaje de reacción (ΔVs) es la caída de voltaje de la concentración de CO2 de 400


ppm a una concentración de CO2 de 1000 ppm, que puede diferir de un sensor a otro. El
valor típico para ΔV es 30mV-90mV. Para obtener un resultado de concentración de
CO2 preciso, se requiere una calibración adecuada.

La ganancia de CC del circuito de acondicionamiento de señal es 8.5. Entonces, el


rango de VOUT es 0.85-5.0V, que es un rango razonable para un microcontrolador de
5V o un ADC independiente.

El umbral del pasador de salida de drenaje abierto del comparador BOOL puede
ajustarse mediante el recortador incorporado R11. Cuando VOUT es menor que el
voltaje de umbral, BOOL está en potencial de tierra. Cuando VOUT es mayor que el
valor preestablecido, el BOOL está en circuito abierto. El usuario debe conectar una
resistencia pull-up al pin BOOL para tener un estado "alto" válido.

Circuito de acondicionamiento de señal


El LMC662 se utiliza como amplificador debido a su impedancia de entrada ultra
alta. De acuerdo con la hoja de datos de MG-811, este sensor requiere una impedancia
de entrada de 100-1000Gohm, el LMC662 tiene una resistencia de entrada superior a 1
Tohm, que cumple con este requisito. El voltaje de compensación de entrada típico de
este OPA es de aproximadamente 3 mV, que es insignificante para esta aplicación. La
ganancia de CC se establece por R4 y R1, con la fórmula

Vout = Vin * (1 + R4 / R1)

En esta aplicación específica, Vout = 8.5 * Vin.

R16 y C1 forman un filtro de paso bajo que proporciona una salida más limpia al filtrar
el ruido de alta frecuencia.

Circuito comparador
El LMC662 se usa como un comparador aquí. El R11 establece el umbral del
comparador. Si VOUT está por debajo del umbral, V_BOOL está en potencial de
tierra. Si VOUT va más allá del umbral, V_BOOL está flotando. Se necesita una
resistencia pull-up para tirar del pin BOOL hacia arriba para tener un estado "alto"
válido cuando V_BOOL está flotando.

Circuito regulador del modo de conmutación


Este es un típico SMPS reductor, el voltaje de retroalimentación del MP2359 es 0.81V,
aquí está la relación entre VIN y VOUT de este circuito. Este no es un dispositivo de
baja potencia, por lo que no utilice una batería de 9V como fuente de alimentación del
circuito de calefacción. La batería morirá muy pronto si la aplica a este circuito.

VOUT = 0.81 * (1 + R13 / R14)

En esta aplicación específica, VOUT = 0.81 * (1 + 10.2K / 1.58K) = 6.0V

Código de muestra para Arduino

1 /*******************Demo for MG-811 Gas Sensor Module V1.1*****************************

2 Author: Tiequan Shao: tiequan.shao@sandboxelectronics.com

3 Peng Wei: peng.wei@sandboxelectronics.com

5 Lisence: Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)

7 Note: This piece of source code is supposed to be used as a demostration ONLY. More

8 sophisticated calibration is required for industrial field application.


9

10 Sandbox Electronics 2012-05-31

11 ************************************************************************************/

12

13 /************************Hardware Related Macros************************************/

14 #define MG_PIN (0) //define which analog input channel you are going to use

15 #define BOOL_PIN (2)

16 #define DC_GAIN (8.5) //define the DC gain of amplifier

17

18 /***********************Software Related Macros************************************/

19 #define READ_SAMPLE_INTERVAL (50) //define how many samples you are going to take in

20 normal operation

21 #define READ_SAMPLE_TIMES (5) //define the time interval(in milisecond) between each

22 samples in

23 //normal operation

24

25 /**********************Application Related Macros**********************************/

26 //These two values differ from sensor to sensor. user should derermine this value.

27 #define ZERO_POINT_VOLTAGE (0.220) //define the output of the sensor in volts when the

28 concentration of CO2 is 400PPM

29 #define REACTION_VOLTGAE (0.020) //define the voltage drop of the sensor when move the

30 sensor from air into 1000ppm CO2

31

32 /*****************************Globals***********************************************/

33 float CO2Curve[3] = {2.602,ZERO_POINT_VOLTAGE,(REACTION_VOLTGAE/(2.602-3))};

34 //two points are taken from the curve.

35 //with these two points, a line is formed which is

36 //"approximately equivalent" to the original curve.

37 //data format:{ x, y, slope}; point1: (lg400, 0.324), point2: (lg4000, 0.280)

38 //slope = ( reaction voltage ) / (log400 –log1000)

39

40 void setup()

41 {
42 Serial.begin(9600); //UART setup, baudrate = 9600bps

43 pinMode(BOOL_PIN, INPUT); //set pin to input

44 digitalWrite(BOOL_PIN, HIGH); //turn on pullup resistors

45

46 Serial.print("MG-811 Demostration\n");

47 }

48

49 void loop()

50 {

51 int percentage;

52 float volts;

53

54 volts = MGRead(MG_PIN);

55 Serial.print( "SEN-00007:" );

56 Serial.print(volts);

57 Serial.print( "V " );

58

59 percentage = MGGetPercentage(volts,CO2Curve);

60 Serial.print("CO2:");

61 if (percentage == -1) {

62 Serial.print( "<400" );

63 } else {

64 Serial.print(percentage);

65 }

66

67 Serial.print( "ppm" );

68 Serial.print("\n");

69

70 if (digitalRead(BOOL_PIN) ){

71 Serial.print( "=====BOOL is HIGH======" );

72 } else {

73 Serial.print( "=====BOOL is LOW======" );

74 }
75

76 Serial.print("\n");

77

78 delay(200);

79 }

80

81 /***************************** MGRead *********************************************

82 Input: mg_pin - analog channel

83 Output: output of SEN-000007

84 Remarks: This function reads the output of SEN-000007

85 ************************************************************************************/

86 float MGRead(int mg_pin)

87 {

88 int i;

89 float v=0;

90

91 for (i=0;i<READ_SAMPLE_TIMES;i++) {

92 v += analogRead(mg_pin);

93 delay(READ_SAMPLE_INTERVAL);

94 }

95 v = (v/READ_SAMPLE_TIMES) *5/1024 ;

96 return v;

97 }

98

99 /***************************** MQGetPercentage **********************************

100 Input: volts - SEN-000007 output measured in volts

101 pcurve - pointer to the curve of the target gas

102 Output: ppm of the target gas

103 Remarks: By using the slope and a point of the line. The x(logarithmic value of ppm)

104 of the line could be derived if y(MG-811 output) is provided. As it is a

105 logarithmic coordinate, power of 10 is used to convert the result to non-logarithmic

106 value.

107 ************************************************************************************/
108 int MGGetPercentage(float volts, float *pcurve)

109 {

110 if ((volts/DC_GAIN )>=ZERO_POINT_VOLTAGE) {

111 return -1;

} else {

return pow(10, ((volts/DC_GAIN)-pcurve[1])/pcurve[2]+pcurve[0]);

Recursos

 MG-811 Hoja de datos


 Hoja de datos LMC662
 MP2359 Hoja de datos
 Una gran guía escrita por Martin Liddament sobre la calibración del sensor, la
visualización y el registro de datos
 Otra gran guía escrita por Andrea Zamuner Cervi sobre calibración del sensor, pantalla,
registro de datos localmente en tarjeta SD o en línea en EmonCMS (en italiano) y su
traducción de Google

Salida de demostración
Demostración de la salida cuando una pequeña cantidad de aliento se hincha al sensor.

Plano de conjunto
Dimensiones

Compartir
15 pensamientos sobre el " Módulo sensor
de CO2 MG-811 "

1. Andrea

16 de marzo de 2014 a las 10:05 p.m.

He comprado este producto


Se llegó ayer desde China.
Es muy bueno.

Y esta página sobre hoja de datos + ejemplo también es muy buena.

¡Gracias!

Respuesta

2. Cory

11 de mayo de 2014 a las 7:38 a.m.

¿Hay alguna forma de usar este sensor en el Teensy 3.1? La entrada analógica
es max 3.3v

Respuesta

1. Kim

12 de mayo de 2014 a la 1:46 p. M.

Es posible que necesite modificar los valores de la resistencia de


realimentación para limitar la salida del módulo a 0-3.3V. Además, el
amplificador a bordo necesita 5v para funcionar, así que asegúrese de tener
un suministro de 5V en Teensy 3.1.

Respuesta
3. vlada

21 de octubre de 2014 a la 1:50 a.m.

Hola, compré tu sensor y lo conecté. Tengo una pregunta, sí. ¿Tengo que
suministrar potencia adicional al sensor para la calefacción o Arduino lo
hace? Gracias

Respuesta

1. Kim

23 de octubre de 2014 a las 12:10 p.m.

Sí, un suministro externo es obligatorio.

Respuesta

4. Andrea

5 de enero de 2015 a las 2:14 a.m.

Hola a todos,
quiero modificar este circuito para conectarlo a un dispositivo de 3,3v. Para
hacer eso, modifiqué la ganancia del amplificador operacional cambiando R4 y
R1 (en el capítulo Esquemas de acondicionamiento de señal) pero ahora no sé
si puedo dejar la resistencia (R16) y la tapa (C1) sin cambiar. ¿Cuál es el
objetivo de esos componentes? ¿Filtran las bajas frecuencias? ¿Puedo
dejarlos en 1Kohm y 100nF?
¡Gracias por tu ayuda!

Respuesta

1. Kim

5 de enero de 2015 a las 11:16 a.m.


Hola Andrea,

Simplemente deje el R16 y el C1 sin cambios. Ofrecen una baja impedancia


relativa en el circuito de retroalimentación para mantener el ruido bajo.

Kim

Respuesta

5. R-Man

13 de febrero de 2015 a las 4:37 p.m.

¿Hay alguna opción de cómo alimentar este módulo directamente desde


Arduino Mega 2560, que es alimentado por un adaptador de 9V / 1A? Me
refiero no solo a los datos, sino también a la calefacción. ¿Es necesario
alimentar la calefacción de todos modos? ¿O hay una opción, digamos que si
la temperatura de operación estará siempre entre 20-35 ° C, no para alimentar
la calefacción?

Respuesta

1. Kim

25 de febrero de 2015 a las 4:44 p.m.

1. Conecte el Vin de Arduino Mega al conector interpolar del barril y conecte


GND de Arduino Mega a la carcasa exterior del conector del barril.
2. Conecte + 5V de Arduino Mega a Vcc (rojo) del módulo, y conecte GND
de Mega a GND (negro) del módulo.

Respuesta

6. muhammad ibrahim

30 de abril de 2015 a las 6:14 p. M.

compro mg811 de la electrónica de la caja de arena, tengo una pregunta,


¿debo conectar este sensor a 3.3v o 5v desde Arduino?
por favor responde
gracias de antemano

Respuesta

1. Kim

12 de mayo de 2015 a las 11:51 a.m.

El VCC debe ser alimentado por 5V y el conector del barril debe ser
alimentado por 9-12V.

Respuesta

7. Velin

5 de octubre de 2015 a las 9:23 p.m.

Hola, ¿puedo alimentar el VE externo con 13.8V? Las últimas notas del
mensaje 6-12V. Gracias

Respuesta

1. Kim

23 de octubre de 2015 a las 2:25 p.m.

Todos los módulos se prueban con 15V antes del envío y el chip DC-DC
tiene una clasificación de entrada de 24V. Está bien si te conectaste con
13.8V.

Respuesta

8. Julie Bateman

3 de diciembre de 2015 a las 12:36 p.m.


Me preguntaba si hay una resolución aproximada para este sensor para el
rango de 400-10,000 ppm? ¿Se puede esperar que brinde una precisión de +/-
1 ppm o sería más como +/- 10 ppm?

Respuesta

1. Kim

3 de diciembre de 2015 a las 5:32 p.m.

La salida de este sensor es voltaje analógico y si vas a usarlo con una


MCU. La resolución depende de los ADC de su MCU. En cuanto a la
precisión, + -10ppm es bastante difícil de lograr.

S-ar putea să vă placă și