Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi + SHT25 + BMP180


von Raffi (Gast)


Lesenswert?

Hi,

ich hoffe ihr könnt mir weiterhelfen. Ich habe mir einen Raspberry Pie 2 
und einen SHT25 zugelegt. Ein BMP180 folgt hoffentlich in Kürze, da 
SPT-BX von Sensirion leider erst ab Q1/2016 verfügbar sein wird.
Ziel ist die Aufzeichnung meterologischer Größen (Druck, Temperatur, 
Feuchte) via I2C, während zugleich mit einem ADC (LTC2400, AD7177 oder 
ADS1259) z.B. über SPI ein DUT untersucht wird.

Ich habe mir auf den Seiten:

http://emsystech.de/raspi-sht21/

https://github.com/Tronde/Raspi-SHT21

mal die Anwendung heruntergeladen und habe festgestellt, dass Temperatur 
und Feuchte nur mit geringer Auflösung ausgegeben werden, also 
Temperatur mit einer Nachkommastelle, Feuchte gar ganz ohne 
Nachkommastelle.

Kennt jemand fertig geschriebene Sourcen die das Auslesen mit voller 
Auflösung erlauben?
Hat jemand vielleicht auch schon Sourcen, die zusätzlich auch noch den 
BMP180 an der zweiten I2C Schnittstelle mit auslesen? Ich bin bisher 
leider noch nicht fündig geworden.

Danke für eure Hilfe.

von Uwe B. (boerge) Benutzerseite


Lesenswert?

MoinMoin,

Raffi schrieb:
> und habe festgestellt, dass Temperatur
> und Feuchte nur mit geringer Auflösung ausgegeben werden, also
> Temperatur mit einer Nachkommastelle, Feuchte gar ganz ohne
> Nachkommastelle.

Die Frage lautet ja wohl mehr, was willst du mit den vielen 
Nachkommastellen bei Wetterdaten anfangen? Temperaturwerte mit mehr als 
1 Nachkommastelle sind meiner Meinung nur Augenwischerei. Spätestens 
hier muss man die Sensoren kalibrieren... Im Fall der Luftfeuchtigkeit 
solltest du mal das Datenblatt deines Sensors lesen --> was steht da zum 
Thema Messfehler? Luftfeuchtigkeit ermitteln mit, für 
Otto-Normalverbraucher bezahlbaren, Sensoren, ist im Allgemeinen mehr 
eine Schätzung.

Raffi schrieb:
> Kennt jemand fertig geschriebene Sourcen die das Auslesen mit voller
> Auflösung erlauben?

...und wenn du wirklich eine höhere Genauigkeit haben möchtest, solltest 
du dir mal die Quelltextstellen mit der Umrechnung der Messwerte ansehen 
und entsprechend anpassen. Über die Sinnhaftigkeit, siehe oben...

Raffi schrieb:
> Hat jemand vielleicht auch schon Sourcen, die zusätzlich auch noch den
> BMP180 an der zweiten I2C Schnittstelle mit auslesen?

Auch hier stelle ich zuerst die Frage warum zwei Luftdrucksensoren? der 
Luftdruck (als Wettergröße) ändert sich nicht, wenn die Sensoren nicht 
gerade dutzende Kilometer von einander entfernt stehen. In der Regel 
reicht genau einer!

Grüße Uwe

von Wolfgang (Gast)


Lesenswert?

Uwe Berger schrieb:
> Temperaturwerte mit mehr als 1 Nachkommastelle sind meiner Meinung nur
> Augenwischerei. Spätestens hier muss man die Sensoren kalibrieren...

Das kommt drauf an, ob man die Nachkommastellen bei der Angabe in K oder 
cK meinst. Du kannst durchaus Sensoren auf ein paar mK genau 
kalibrieren, so die Sensoren dann ausreichend stabil sind ;-)

Oft ist das mit der Genauigkeit auch nicht ein Problem der 
Sensorkalibrierung, sondern eins der Homogenität des zu messenden 
Mediums. Und manchmal kommt es auch gar nicht auf die Genauigkeit an, 
sondern man ist an einer höheren Auflösung interessiert.

von Raffi (Gast)


Lesenswert?

Ich denke ich habe hinreichend beschrieben was ich vorhabe,SHT25 und 
BMP180 an I2C,nicht zwei BME180 an I2C. Es hat Vorteile sich Zeit beim 
Lesen zu nehmen.
Auch habe ich von Auflösung und nicht von Genauigkeit gesprochen. Die 
dient mir dazu Tendenzen zu erkennen,nicht mehr und nicht weniger.

von Antworter (Gast)


Lesenswert?

http://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/Humidity/Sensirion_Humidity_SHT25_Datasheet_V3.pdf

Dieser Sensor bietet höhere Auflösung (und Genauigkeit) auf jeden Fall. 
Ich hab die Quellen jetzt nicht angeschaut, aber vom Sensor wird der 
volle Wert übertragen, in den vorliegenden Quelltexten sollten deshalb 
nur geringe Änderungen nötig sein. (Vielleicht wird intern mit dem 
vollen Wert gearbeitet und nur für die Ausgabe ohne Nachkommastellen 
umgeformt?)

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Raffi schrieb:
> nicht zwei BME180 an I2C. Es hat Vorteile sich Zeit beim
> Lesen zu nehmen.
>
stimmt, habe ich überlesen.

Ein BMP180-Codebeispiel (bzw. die notwendigen grundlegenden C-Routinen, 
die man dann nur noch entsprechend in sein eigenes Programm einbauen 
muss) findest du auf den entsprechenden Bosch-Seiten 
(https://github.com/BoschSensortec/BMP180_driver), die eigentlich die 
erste Anlaufstelle sein sollten...

Raffi schrieb:
> Ich bin bisher leider noch nicht fündig geworden.
...:-)...

...der BMP085 unterscheidet sich, ansteuertechnisch, auch nicht 
wesentlich vom BMP180. Da finden sich sicherlich unzählige Codebeispiele 
im Netz!

Raffi schrieb:
> Hat jemand vielleicht auch schon Sourcen, die zusätzlich auch noch den
> BMP180 an der zweiten I2C Schnittstelle mit auslesen?
>
warum willst du nicht alles über eine I2C-Schnittstelle machen?

Raffi schrieb:
> Auch habe ich von Auflösung und nicht von Genauigkeit gesprochen. Die
> dient mir dazu Tendenzen zu erkennen,nicht mehr und nicht weniger.
>
...und genau das, finde ich, ist die falsche Antwort auf den von mir 
(etwas provokativ) angesprochenen Punkt! Im Eingangspost hast du von 
"Aufzeichnung meterologischer Größen (Druck, Temperatur, Feuchte)" 
gesprochen. Wie man eine Tendenz bei Wettergrößen ermittelt/berechnet, 
ist dir bekannt?

Uwe

von Werner M. (Gast)


Lesenswert?

Uwe Berger schrieb:
> Ein BMP180-Codebeispiel (bzw. die notwendigen grundlegenden C-Routinen,
> die man dann nur noch entsprechend in sein eigenes Programm einbauen
> muss) findest du auf den entsprechenden Bosch-Seiten

Zu den Original-Sourcen für den sehr ähnlichen BMP280 gab es kürzlich 
eine Diskussion bzgl. Code-Performance, u.a. mit einem Kommentar aus 
Herstellersicht.
Beitrag "Bosch BMP280: Umrechnungen vereinfachen?"

von Raffi (Gast)


Lesenswert?

Danke für die bisherigen Rückmeldungen. Schade das scheinbar noch 
niemand beide Sensoren vereinigt hat.

Uwe Berger schrieb:
> warum willst du nicht alles über eine I2C-Schnittstelle machen?

Auch eine Möglichkeit, muss ich prüfen ob und wie ich das hinbekomme.

Uwe Berger schrieb:
> ...und genau das, finde ich, ist die falsche Antwort auf den von mir
> (etwas provokativ) angesprochenen Punkt! Im Eingangspost hast du von
> "Aufzeichnung meterologischer Größen (Druck, Temperatur, Feuchte)"
> gesprochen. Wie man eine Tendenz bei Wettergrößen ermittelt/berechnet,
> ist dir bekannt?

Vielleicht habe ich mich nicht deutlich genug ausgedrückt, ich möchte 
während einer Messung mitloggen ob sich Temperatur, Feuchte und 
Luftdruck tendenziell verändern oder statisch sind, um später etwaige 
Veränderungen meiner Messwerte am DUT, die ich mit dem ADC aufzeichne, 
ggf. Veränderungen der Umgebung zuordnen zu können und nicht als eine 
Veränderung des DUT selbst fälchlicherweise zuzuordnen. Ich möchte keine 
Wetterstation bauen, falls deine Frage darauf hin abzielte.

von Raffi (Gast)


Lesenswert?

Hallo,

ich habe mir die Sourcen für den SHT21 auf dem Raspberry Pi angeschaut 
und wundere mich, warum die Umrechnung mit Näherunslösungen erfolgt und 
nicht mit float-Operationen durchgeführt werden. Dies führt letztlich zu 
Rundungsfehlern.
Liegt dies darin begründet, dass die ursprünglichen Berechnungen für 
8bit Mikrocontroller gedacht waren und für den Raspberry Pi nicht 
"optimiert wurden? Kann hierzu jemand etwas beitragen?

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.