Hallo, ich habe mir neulich 10 Stk. BMP180 gekauft (aus China). Davon konnte ich gerade mal 3 Stk. korrekt auswerten. Das heißt, Temperatur & Druck sind korrekt (verglichen habe ich das mit einem analogen Barometer). Die restlichen jedoch zeigen mit bei dem Druck einen viel zu hohen Wert an, den der Sensor auch gar nicht unterstüzt. Bekommen tue ich : ca. 1500 hPa. Bei denen die funktionierern sind es ca. 1005 hPa. Kann das ein Problem von Software sein? Hattet ihr schon mal solch einen Fall? Würde mich sehr über Tipps freuen.
@ Jan H. (janiiix3) >Kann das ein Problem von Software sein? Ja. Kann aber auch Hardware sein. >Würde mich sehr über Tipps freuen. Poste deinen Quelltext und einen Schaltplan unter Beachtung der Bildformate.
Jan H. schrieb: > Kann das ein Problem von Software sein? Ja, nenne einfach mal ein paar Werte für die von deinen Sensoren gelieferten Daten, d.h. ausgelesene Rohdaten, Kalibrierkoeffizienen des Sensors und von deiner Software daraus berechnete Werte.
Wolfgang schrieb: > Jan H. schrieb: >> Kann das ein Problem von Software sein? > > Ja, nenne einfach mal ein paar Werte für die von deinen Sensoren > gelieferten Daten, d.h. ausgelesene Rohdaten, Kalibrierkoeffizienen des > Sensors und von deiner Software daraus berechnete Werte. Hallo, anbei mal ein Screenshot. Hier sind die Kalibrierwerte von dem Sensor der nicht wirklich funktioniert. Der Quellcode hängt auch mit an.
Jan H. schrieb: > anbei mal ein Screenshot. Hier sind die Kalibrierwerte von dem Sensor > der nicht wirklich funktioniert. Und die dazugehörigen Rohdaten von den Sensoren? Hast du mal auf dem PC den Algorithmus aus dem Datenblatt (Fig.4) mit deinen Werten gefüttert?
Wolfgang schrieb: > Jan H. schrieb: >> anbei mal ein Screenshot. Hier sind die Kalibrierwerte von dem Sensor >> der nicht wirklich funktioniert. > > Und die dazugehörigen Rohdaten von den Sensoren? > > Hast du mal auf dem PC den Algorithmus aus dem Datenblatt (Fig.4) mit > deinen Werten gefüttert? Ich wusste ich habe was übersehen... moment!
Jan H. schrieb: > Hier die Rohdaten. Dein Wert für UP liegt meilenweit von der Beispielrechnung im Datenblatt weg. Bist du sicher, dass deine I2C-Routinen alle drei Byte richtig lesen und dass das zusammengebaut so klappt?
1 | i2c_rep_start(BMP180_address+I2C_READ); |
2 | UT = (long)i2c_readAck()<<8; |
3 | UT |= (long)i2c_readNak(); |
Die I2C Routine ist in Assembler geschrieben aber C tauglich, diese habe ich auch hier von der Seite und klappt bei anderen Projekten auch wunderbar. Bei Sensoren die funktionieren ist UP aber auch meilenweit von dem Beispielwert aus dem Datenblatt weg und zeigt mir den richtigen Druck an.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

