Forum: Mikrocontroller und Digitale Elektronik LPS331 Drucksensorwerte komisch


von Daniel B. (dbuergin)


Angehängte Dateien:

Lesenswert?

Hallo zusammen.
Ich versuche ein Breakoutboard mit einem LPS331 
http://www.st.com/web/en/resource/technical/document/datasheet/DM00036196.pdf 
Absolutdrucksensor an einem STM32F4 Discovery Board mit LCD in Betrieb 
zu nehmen.
Am gleichen I2C Bus habe ich auch einen SHT25 Temp/Humy Sensor, welcher 
funktioniert und vernünftige Werte ausgibt. Also gehe ich davon aus, 
dass mein I2C System läuft.
Weiter kann ich den Temperatursensor im LPS331 auslesen. Die Daten
verändern sich bei Fingerkontakt und korrespondieren mit dem SHT25.

Aber aus den Daten der Pressureregister (0x28,0x29 und 0x2A) werde ich
nicht schlau. Ich kann sie auslesen, sie verändern sich auch leicht, 
aber ich kann beim besten Willen daraus keine vernünftigen Wert basteln:
Aktuell lese ich aus:
PRESS_POUT_XL_REH = 0x52
PRESS_OUT_L       = 0x23
PRESS_OUT_H       = 0x59

Nach Datenblatt müsste das zu 0x592352 zusammen gesetzt werden.
Dass in Dezimal = 5841746 / 4096 = 1426 mbar, was nicht sein kann.
Egal wie ich die Bytes zusammensetze, es ergibt sich kein vernünftiger 
Wert

Habe ich etwas übersehen, oder falsch interpretiert ?
oder im Sensor ist nur der Pressure Teil defekt ?
Oder mein Sensor ist kein LPS331 ? Im WHO_AM_I Register steht 0xbb, 
scheint also zu passen.
Oder einen Hinweis bei Google verpasst ?

Bin auch nicht sicher, ob mein Sensor keine faule Chinakopie ist
siehe auch Bild, bei anderen Sensoren im Netz sehe 1AP / 307 und nicht
1AP / 203 ? Keine Ahnung, ob das etwas bedeutet ?

Sonst schmeisse ich das Ding in die Tonne.

Danke für alle Hinweise

EDIT:
Was mir gerade aufgefallen ist, das Register 0x28 (PRESS_OUT_H) ändert 
nie, bleibt immer 0x59.

Die restlichen Register:
08: 0x0
09: 0x0
0a: 0x0
0f: 0xbb
10: 0x43
20: 0xe4
21: 0x0
22: 0x0
23: 0x0
24: 0x0
25: 0x0
26: 0x0
27: 0x33
28: 0x52
29: 0x23
2a: 0x59
2b: 0x15
2c: 0xde

von Karl H. (kbuchegg)


Lesenswert?

Hast du mal den Reference Pressure ausgelesen?

Da der zum Messwert addiert ist, müsste man den abziehen.

von Daniel B. (dbuergin)


Lesenswert?

Das habe ich auch zuerst gedacht, aber das sind nach Datenblatt die
Register 0x08, 0x09 und 0x0a, und die sind bei mir alle 0x0.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.