Forum: Digitale Signalverarbeitung / DSP / Machine Learning BME680 druckmessung falsche Werte


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Manuel N. (manuelambaum)


Lesenswert?

Hi,

Habe einen BME680 bei dem ich aktuell gerade ein wenig beim auslesen des 
Druckes festhänge... Irgendwie bekommt ich nicht die richten werte, 
weswegen ich hier mal den relevanten code posten möchte, um diesen von 
jemanden von euch betrachten zu lassen:

    MSB_p = (bus.read_byte_data(ADDRESS,0x1F) << 12)
    LSB_p = (bus.read_byte_data(ADDRESS,0x20) << 4)
    XLSB_p = (bus.read_byte_data(ADDRESS,0x21) >> 4)
    raw_value_p = (MSB_p | LSB_p | XLSB_p)

    var1 = (t_fine / 2.0) - 64000.0
    var2 = var1 *var1 *(par_p6 / 131072.0)
    var2 = var2 + (var1 *par_p5 *2.0)
    var2 = (var2 / 4.0) + (par_p4 *65536.0)
    var1 = (((par_p3 *par_p1 *var1) / 16384.0) + (par_p2 *par_p1)) / 
524288.0
    var1 = (1.0 + (var1 / 32768.0)) *par_p1
    press_comp = 1048576.0 - raw_value_p
    press_comp = ((press_comp - (par_p2 / 4096.0)) * 6250.0) / var1
    var1 = (par_p9 *press_comp *press_comp) / 2147483648.0
    var2 = press_comp * (par_p8 / 32768.0)
    var3 = (press_comp / 256.0) *(press_comp / 256.0) *(press_comp / 
256.0) *(par_p10 / 131072.0)
    press_comp = press_comp + (par_p1 + par_p2 + par_p3 + (par_p7 * 
128.0)) / 1
    print(press_comp,"mbar")


Ich bekomme mehr oder weniger konstante Werte im Bereich von 200'000 und 
wenn ich draufdrücke (einen höheren Druck simuliere) dann sinkt dieser 
Wert um ca. 500. Was mache ich falsch, dass er mir nicht den korrekten 
Messwert liefert?

Danke für zahlreiche Antworten

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.