Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 Arduino Uni Register datasheet and calculation

    Highlighted
    New Poster

    BME680 Arduino Uni Register datasheet and calculation

    Hello Guys,

    as you can see in the heading i have some questions about the register and datasheet of the BME680 sensor and the calculation to calculate the temperatur, humidity and so on. I contacted the Bosch-Support.

    In the following i am going to "show" you my E-Mail-Text to the Bosch-Support. This text is in german, but i am going to translate it into english. The used files are added to this post.

     

    ----------------------------------------------------------- E-Mail to Bosch Start------------------------------------------

    "....

    Innerhalb eines Projektes ist es die Aufgabe von mir und einem Kommilitonen, mit Hilfe eines BME680-Sensors, Temperatur, Luftfeuchtigkeit, Druck etc. durch einen Arduino UNO auszulesen.

     

    Die verwendeten Bibliotheken (.cpp- und .h-Dateien) werden offiziel auf Ihrer Homepage und auf Github zur Verfügung gestellt (https://github.com/SV-Zanshin/BME680). Anbei erhalten Sie die von mir verwendeten Dateien und das Arduinoprogramm für eine bessere Fehleranalyse ihrerseits.

    Nachfolgend möchte ich die Probleme/Fragen kurz erläutern.

     

    • Problem - Berechnung:
      Das Auslesen über dem Arduino erfolgt ohne Probleme und die Werte scheinen auch korrekt zu sein, jedoch erscheint uns die Berechnung der einzelnen physikalischen (Mess-)Größen nicht ganz ersichtlich. Die Berechnungen befinden sich in der .cpp-Datei ab Zeile 328. Bei genauerer Nachverfolgung der Temperaturberechnung stoßen wir mit unserem Verständnis an unsere Grenzen und wollen durch Ihre Hilfe nun Klarheit erlangen.

     

    • Problem - Register:
      Für die Berechnung wird u. a. die Klasse "getCalibration" (.cpp-Datei, Zeile 118) genutzt. Innerhalb dieser werden die Registeradressen "0x89" und "0xE1" verwendet bzw. deklariert. Im Datenblatt zu dem BME680 sind diese beiden Registeradressen jedoch nicht aufzufinden und machen somit die Berechnung noch weniger nachvollziehbar. Fehlen die beiden Register innerhalb des Datenblattes oder gibt es dafür eine andere Erklärung?

     

     

    Über eine mit Lösungen versehene Antwort würden wir uns sehr freuen. Sollte die Möglichkeit bestehen, zu einem ausgewählten Termin telefonisch in Kontakt zu treten um gewisse Erklärungen zu vereinfachen, würden wir diese gerne wahrnehmen....."

     

    ----------------------------------------------------------- E-Mail to Bosch End------------------------------------------

     

    Translation:

    We have to use an Arduino Uno to read out sensor data (temperature, humidity, pressure) of BME680. On Github wie use a official .cpp and .h-files which you can find on https://github.com/SV-Zanshin/BME680 . The arduino code/sketch you can also find there.

    • We do not understand how the calculation of e.g. temperatur is clearly working. In the calculation registers are used and we do not know how or what kind of values are in them.

     

    • The registers i namend above and which are use in the calculation (Register-address '0x89' and '0xE1') are used in the class 'getCalibration' (.cpp-File, Line 118), but they are not definied or listed in they (official) datasheet.

     

     

    We hope that you can help us to understand the code perfectly to get a grade A++ 🙂

     

    Greetings 

    Justin

     

     

     

     

    1 REPLY 1
    Community Moderator
    Community Moderator

    Re: BME680 Arduino Uni Register datasheet and calculation

    It is written in section 3.5 of the datasheet that the sensor API takes care of the compensation. These registers contain the required trimming coefficients for the compensation formula of the sensor API.

    Description is left out of the datasheet on purpose, so to force everybody to use the correct compensation formula.
    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