====== LamaPLC: GM MEMS Gas-sensors ====== "**GM MEMS sensors**" can refer either to Micro-Electro-Mechanical Systems sensors used by General Motors in their vehicles or to a specific line of MEMS gas sensors produced by Winsen, such as the GM-102B or GM-602B. **GM (General Motors) Automotive MEMS Sensors** General Motors employs a variety of MEMS sensors across its vehicles to support essential safety, performance, and comfort functions. These sensors are typically supplied by leading manufacturers such as Bosch, NXP (now STMicroelectronics), and TDK. **Winsen GM Series MEMS Gas Sensors** "GM" may also refer to a specific product line of gas sensors from the manufacturer Winsen, designed using MEMS technology. * **GM-102B:** Designed for detecting NO₂ gas. * **GM-302B:** Used for alcohol gas detection. * **GM-402B:** A combustible gas sensor. * **GM-602B:** For monitoring H₂S (Hydrogen Sulfide). * **GM-702B:** For Carbon Monoxide/Hydrogen gas detection. ^Type of \\ measurement ^Model^Power \\ voltage ^Measurement, range, accuracy| |{{anchor:gm102}}{{:sensor:g.png|Gas sensor}} \\ NO₂ |MEMS \\ **GM-102b** {{:sensor:gm_102.png?100 |GM-102}}|**5V**|Detection Range: 0.1~10ppm (NO₂) \\ Heater Resistance: 80Ω±20Ω(room temperature| |{{anchor:gm302}}{{:sensor:g.png|Gas sensor}} \\ alcohol gas |MEMS \\ **GM-302b** {{:sensor:gm_102.png?100 |GM-302}}|**5V**|Detection Range: 1..500ppm (Ethanol vapor) \\ 80Ω±20Ω(room temperature| |{{anchor:gm502}}{{:sensor:g.png|Gas sensor}} \\ Alcohol (C₂H₅OH) \\ Hydrogen(H₂) \\ Formaldehyde(CH₂O) |MEMS \\ **GM-502b** {{:sensor:gm_102.png?100 |GM-502}}|**5V**|Detection: Alcohol (C₂H₅OH), 10..500ppm \\ Detection: Hydrogen(H₂), 1..1000ppm \\ Detection: Formaldehyde(CH2O), 10..100ppm| |{{anchor:gm702}}{{:sensor:g.png|Gas sensor}} \\ Carbon monoxide (CO) \\ Hydrogen (H₂) |MEMS \\ **GM-702b** {{:sensor:gm_102.png?100 |GM-702}}|**5V**|Detection: \\ Carbon monoxide sensor (CO) : 10..5000ppm \\ Hydrogen sensor (H₂): 10..500ppm| ===== Moduls ===== ==== Seeed Studio Grove Multichannel Gas Sensor V2 ==== {{ :sensor:grv_gas_sens_v2.png?150|GRV GAS SENS V2}} The **Grove Multichannel Gas Sensor V2** is a single module that integrates four independent MEMS gas sensors to detect a range of common gases via an [[com:basic_i2c|I²C]] interface. It is designed for qualitative measurement of gas presence and relative concentration changes, rather than high-precision quantitative analysis. **Key Features and Specifications** The module uses specific Winsen GM-series sensors: * **Integrated Sensors:** GM-102B (NO₂), GM-302B (Ethanol/Alcohol), GM-502B (VOCs), and GM-702B (CO). * **Interface:** I2C (I²C address is typically 0x08, though some documentation lists 0x55). * **Supply Voltage:** Operates from 3.3V to 5V DC. * **Gases Detected:** Carbon Monoxide (CO), Nitrogen Dioxide (NO₂), Ethyl Alcohol (C₂H₅CH), Volatile Organic Compounds (VOCs), among others. * **Function:** Provides four sets of data simultaneously, allowing for differentiation between gas types based on the response profile of each sensor. * **Measurement Type:** More suitable for qualitative detection (detecting presence/change) than precise quantitative measurement (exact ppm values). * **Preheat Requirement:** A warm-up time of at least 24 hours is required for chemical balance and stable readings, especially after prolonged storage. * **All 4 sensors in one platform:** \\ [[#gm102|GM-102b]] (NO₂) \\ [[#gm302|GM-302b]] (alcohol gas) \\ [[#gm502|GM-502b]] (Alcohol (C₂H₅OH), Hydrogen(H₂), Formaldehyde(CH₂O)) \\ [[#gm702|GM-702b]] (Carbon monoxide (CO), Hydrogen (H₂)) {{page>:tarhal}} ==== Arduino & Seeed Studio Grove Multichannel Gas Sensor V2 ==== To read from the Seeed Studio Grove Multichannel Gas Sensor V2 (which features the GM-102B, GM-302B, GM-502B, and GM-702B sensors), you must use the **Seeed_Arduino_MultiGas** library. **Hardware Connections** This sensor uses I2C communication: * **VCC:** 3.3V or 5V * **GND:** Ground * **SDA:** Arduino SDA (Pin A4 on Uno) * **SCL:** Arduino SCL (Pin A5 on Uno) * **I²C Address:** The default address for Version 2 is 0x08. **Arduino Example Code** This sketch reads all four GM-series sensors and prints their raw values to the Serial Monitor. #include #include GAS_GMXXX gas; void setup() { Serial.begin(9600); // Initialize the sensor with the I2C address 0x08 gas.begin(Wire, 0x08); Serial.println("Grove Multichannel Gas Sensor V2 Initialized"); } void loop() { // GM102B: Nitrogen Dioxide (NO2) sensor uint32_t valNO2 = gas.getGM102B(); // GM302B: Ethanol (C2H5OH) sensor uint32_t valEthanol = gas.getGM302B(); // GM502B: VOC (Volatile Organic Compounds) sensor uint32_t valVOC = gas.getGM502B(); // GM702B: Carbon Monoxide (CO) sensor uint32_t valCO = gas.getGM702B(); // Print results Serial.print("NO2: "); Serial.print(valNO2); Serial.print(" | Ethanol: "); Serial.print(valEthanol); Serial.print(" | VOC: "); Serial.print(valVOC); Serial.print(" | CO: "); Serial.println(valCO); delay(1000); } **Critical Usage Notes** * **Preheating:** For accurate readings, the sensor requires a //"warm-up"// period. It is recommended to leave the sensor powered on for 24 hours before its first stable measurement. * **Raw vs. PPM:** The standard library functions like //getGM102B()// return a raw ADC value. To convert these to parts-per-million (ppm), you must use specific calibration curves provided in the Seeed Studio Wiki. * **Voltage Conversion:** You can use //gas.calcVol(val)// to convert the raw reading into a voltage for easier cross-referencing with sensor datasheets. {{tag>GM-102b GM-302b GM-502b GM-702b MEMS Gas-quality sensor arduino code Nitrogen_Dioxide NO₂ Volatile_Organic_Compounds VOC Carbon_Monoxide CO Ethyl_Alcohol C₂H₅CH NO₂ Formaldehyde CH₂O Alcohol C₂H₅OH}} This page has been accessed for: Today: {{counter|today}}, Until now: {{counter|total}}