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.
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
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.
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.
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
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?"
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.
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?