Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME680: Gas sensor heater unstable

    GArndt_vacos
    Member

    Re: BME680: Gas sensor heater unstable

    Sorry for the long delay until I reported back. I have done more bughunting, fixing, and testing, with the following results:

    • The driver now resets the sensor once a heater stability error occurs more than 30 seconds after the most recent reset.
    • That has the effect that not all ten configurations are affected by the error, but typically only one of them: 370°C (or sometimes 310°C) in case of the sensor that is affected most often, normally 250°C in case of another one. The third one seems to be OK now - but it is used as a reference outside the experimental setup.
    • The issue shows up spontaneously, persists for minutes or hours across many resets, but eventually disappears again during long measurements in fresh air.
    • A different, more important case: All 10 heater configurations (400°C~130°C) become unstable when the sensors are suddenly exposed to a high concentration of VOCs or CO, e.g. vaporized gasoline or alcohol, or burning plastic. They are beyond a 0.5µm particle filter, so soot should not be an issue. Reset has no effect - the issue only disappears when the concentration gets lower again.

    Is there any known reason why a high VOC concentration (or sudden rise in concentration) might make the heater unstable? As I understand it, heater resistance regulation and gas sensor resistance measurement should be two distinct things, although the two parts are of course in close proximity.

    Do you think the problem can be addressed by increasing the heater time above 50ms? Are there better suggestions? I'd be glad to hear them. Thank you in advance.

    Vincent
    Community Moderator

    Re: BME680: Gas sensor heater unstable

    Can you try with latest BME68x API on the Github to see if this issue is still there or not? 

    GArndt_vacos
    Member

    Re: BME680: Gas sensor heater unstable

    The original driver reads the heater stability status in bme680.c:1233, but does not seem to evaluate it. It is only returned to the caller and must be checked separately. I'll see what I can do, but I remember that I had to modify the driver anyway because it could not be integrated on my platform as-is.

    GArndt_vacos
    Member

    Re: BME680: Gas sensor heater unstable

    Vincent, I tried with the original driver on a Raspi 3.

    You can find the code in original_BME680_driver.cpp

    I basically copied the example code from the github repo and modified the device's I²C address and the heater settings (to 370°C/50ms).

    The log is in original_BME680_driver.log

    When I suddenly place a small bottle of alcoholic desinfectant beneath the sensor, I can usually reproduce the issue - see line 830.

    It seems to be less likely when I increase the heater period to 150ms, which is too long for my application - and even longer than 20~30ms required in the manual.

     

    Vincent
    Community Moderator

    Re: BME680: Gas sensor heater unstable

    After discussing with the engineer team, we had the following suggestion: 

    1.  please use the "sequential mode" in latest BME68x API not the force mode. 

    2.  the minimal heat duration should be 140ms.  And 140ms should be kept as unit means if you need longer duration,  it should be (n*140) ms.   

    Can you try again with those suggestion? 

    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