Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BME680 strange IAQ and CO2 values

    BME680 strange IAQ and CO2 values

    acd
    New Poster

    Hi everyone!

     

    We use BME680 with ESP8266 and BSEC 1.4.704 library. Sensor interfacing code is based on “basic_config_state.ino” example.

    Sensor works in LP mode (data updates every 3 seconds) with periodical state saves to SPIFFS.

    BSEC data subscriptions:

     

    BSEC_OUTPUT_RAW_TEMPERATURE,
    BSEC_OUTPUT_RAW_PRESSURE,
    BSEC_OUTPUT_RAW_HUMIDITY,
    BSEC_OUTPUT_RAW_GAS,
    BSEC_OUTPUT_IAQ,
    BSEC_OUTPUT_STATIC_IAQ,
    BSEC_OUTPUT_GAS_PERCENTAGE,
    BSEC_OUTPUT_CO2_EQUIVALENT,
    BSEC_OUTPUT_BREATH_VOC_EQUIVALENT,
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY

     

     This configuration is working more than one week, six sensors are placed together. After some time being powered on (about 3 days) devices output similar IAQ values from all sensors, so here we will analyze one sensor data.

     We compared BME680 BSEC library output values with another tVOC sensor (SGX) values (this sensor is providing values directly) and we observing strange behavior.

     On pictures you can see one day comparison and ~3.5 days comparison.

     Explanation of images:

    BME680 – orange.

    SGX – green (other sensor is red and blue).

    There are one day comparison in one image, and ~3.5 days comparison in other two images (please note, that SGX data not from same sensor, so it is not equal, but very close).

    These “rectangular peaks” are at night, when room active ventilation is off.

    We need some help with these things:

    1. Why so fast rising of IAQ and CO2 to peak value after ventilation gets off, but after while level is decreasing slowly until ventilation gets on? SGX sensor output values looks more real (maybe similar to exponential).
    2. Why sometimes we observe CO2 about 2000ppm (and in older tests, which are not presented here, we got almost 3000ppm) at same time when SGX sensor shows less than 1000ppm?
    3. What is the best choice of data to control the room ventilation? IAQstatic?

     

    Thanks,

     

    Alexander

     

    One day BME680/SGXOne day BME680/SGXThree days BME680Three days BME680Three days SGXThree days SGX

     

    2 REPLIES 2

    o_o
    Contributor

    Hi acd,

     

    Which type of sensor from SGX are you using ? It is also a metal oxide sensor ?

     

    The BSEC library has 2 main outputs: IAQ and static IAQ.

    • For the static IAQ the algorithm will adjust the resistance baseline according to the time constant of the config string so that an IAQ value of 25 roughly translates to "the cleanest air it has seen so far" (a bit oversimplified, but it helps to get the concept). The sensitivity is fixed.
    • For the "regular" or "adaptative" IAQ, the algorithm will in addition "autoscale" the sensitivity according to the time constant so that an IAQ value of 250 roughly translates to "the worst air it is used to seeing". Therefore the expected output of the sensor is to daily cycle between 25 and 250 in this mode, and exceeding these values during "excursions" of really bad or really clean air.

    Gas percentage and CO2 equivalent are more or a scaled version of the sIAQ, with the assumption that the pollution source is human breath.

     

    • Why so fast rising of IAQ and CO2 to peak value after ventilation gets off, but after while level is decreasing slowly until ventilation gets on? SGX sensor output values looks more real (maybe similar to exponential).

    BME680 has a pretty fast response time, and high sensitivity. I wouldn't be surprised if the air in the room needs little bit of time to stabilize with air currents. Without the raw data and BSEC library version, it is hard to say if the output is expected or not.

    • Why sometimes we observe CO2 about 2000ppm (and in older tests, which are not presented here, we got almost 3000ppm) at same time when SGX sensor shows less than 1000ppm?

    Assuming your SGX sensor is also metal oxide, this must be a disparity between the formulas used to derive a CO2 estimation from the VOC data.  I would recommend 

    For general indoor air quality, TVOC is a far better indicator, but if CO2 is a concern, you should definitely compare the results with a real CO2 sensor.

    • What is the best choice of data to control the room ventilation? IAQstatic?

    Static for sure. Otherwise, the adaptative algorithm and your ventilation system will create a positive feedback loop and either be always on, always off, or cycling way too fast.

     

    o_o

    acd
    New Poster

    Hi o_o,

    Thank you for reply!


    @o_o

    Which type of sensor from SGX are you using ? It is also a metal oxide sensor ?

     It is MICS-VZ-89TE module with SGX sensor. Sorry, I can’t identify which sensor model exactly is used in this module, because there are no marking on the sensor. According to this module datasheet the sensor is metal oxide (MOS), module monitoring range is 400-2000 ppm equivalent CO2 and 0-1000 ppb isobutylene equivalent tVOCs.


    @o_o...if CO2 is a concern, you should definitely compare the results with a real CO2 sensor.

    I have compared results with real CO2 sensor, but these results are not correlated in long periods. Also I have observed very stable level behavior of real CO2 sensor, it was dependant on presence of people in room, so at night CO2 level never increased.

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist