- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 14

Thema: Temperatur mit BMP180 und DS18B20 entspricht nicht der Real-Temperatur

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.212
    Nö- der DS ist keineswegs besser.
    Er hat andere Vorteile 1-Wire-Bus)- aber genauerwird der auch nicht sein. Dafür ist die Handhabung etwas kniffeliger.
    Leg mal _irgendein_ Thermometer auf die Heizung, und versuch dann, die wirkliche Raumtemperatur zu ermitteln- das wird mit _keinem_ klappen.
    Insofern ist es egal, welchen du benutzt.
    Jeder misst nur seine Umgebung, und wenn da ne kleine Wärmequelle in der Nähe ist, misst er eben Mist.
    Die Bosch-Sensoren sind hervorragend (meiner Meinung nach im Bastelsegment das Beste, was man derzeit kriegen kann), da sie eben noch mehr als nur Thermometer sind.
    Und die messen schon genau....da kann ich absolut nix gegen sagen

    Ob der Maxim theoretisch noch genauer kann, da musst du dich mal durch die Datenblätter wühlen, ich hab hier drei Bosch (2xBME und einmal den BMP, den aber mit dem Offset, wegen der blöden Einbausituation), die geben nen Unterschied von maximal 0.1 Grad aus....das wird dann wohl hin hauen.

    Im Grunde isses bei jedem Thermometer so: willst du die wirkliche Aussentemperatur messen, muss das Ding nen Meter von der Hauswand weg.
    Und: wen juckt denn ein halbes Grad- viel interessanter finde ich, zu sehen, ob die Temperatur steigt oder fällt (zeigt mein Thermometer auch an), das halbe Grad Unterschied hat man gewöhnlich schon zwischen Fussboden-und Tischhöhe.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  2. #2
    HaWe
    Gast
    ich habe jetzt ein paar Tage lang die Bosch BMP280 gegen DHT22 gemessen, 50cm vom Board entfernt (nodeMCU), direkt nebeneinander, und hatte höchstens 0,7°C Unterschied.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von RoboTrader
    Registriert seit
    08.11.2017
    Beiträge
    125
    Blog-Einträge
    1
    Danke. Insbesondere für eure immer ausführlichen Antworten. So verstehe ich das Handling und Thema viel besser!

    Wenn ich das richtig verstehe, dann könnte man mit einem Offset die "zu heiße Situation" ausgleichen und die Temperaturunterschiede messen (insbesondere für den "onboard"-Sensor, der exakt den gleichen Abstand zur Wärmequelle behält). In meinem Fall wäre das:

    Code:
    T[Analoges Messgerät] = 23°C
    
    T[DS18B20] = 28.062°C -5°C =23°C
    T[BMP180]  = 32.0°C -9°C =23°C
    T[DHT22]   = 25.5 C -2.5°C =23°C
    Somit wäre der Offset für den DS18B20 -5, für den BMP180 -9 und für den DHT22 -2.5.
    Damit würdet ihr arbeiten?
    Oder sollte ich mir die Referenz an anderer Stelle suchen?

    Und was meint ihr zu Pressure, Altitude und Humidity? Alle 3 sind auch ziemlich unterschiedlich zu meinem analogen Messgerät.

    Code:
    Pressure   = 985.11 hPa
    Altitude   = 237.2131959795308 m
    Humidity   = 39.0%
    Da dürfte doch die Wärme keine Rolle spielen, oder?

    Grüße in einen schönen Samstagabend!

    - - - Aktualisiert - - -

    Habe gerade nochmal über die Offsetwerte nachgedacht.
    Die machen vielleicht wirklich Sinn:

    BMP180 - onboard > -9
    DS18B20 - aufgesteckt als 1-Wire, somit etwa 0.5cm vom Board entfernt > -5
    DHT22 - mit diesen typischen Kabeln an den GPIOs, somit etwa 4cm entfernt > -2.5
    -30Y: Basic@Schneider_CPC, Kosmos-Baukästen • -20Y: Mindstorms RCX 1.5, Visual Basic, Pascal, php • NOW: Python3, Arduino MEGA, Raspberry Pi 3, NiboBurger, LEGO Boost/Mindstorms

  4. #4
    HaWe
    Gast
    offset nur, wenn du die Sensor-Temperaturen mit einem direkt benachbarten und geeichten Thermometer über weitere Temperaturbreiche abgeglichen hast. Aber mit einem Onboard-Sensor wirst du immer nur die Onboard-Temperatur messen, niemals die exakte Umgebungstemperatur, das muss dir klar sein, denn sie wird bei -20° bis +80° bei unterschiedlichen Luftströmungen in unkalkulierbarer Weise verfälscht, und es würden im besten Falle höchstens Eichkurven etwas verbessern, samt Ventilator, keinesfalls konstante Offsets.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied Avatar von RoboTrader
    Registriert seit
    08.11.2017
    Beiträge
    125
    Blog-Einträge
    1
    Danke, so etwas dachte ich zunächst auch. Das kann kaum eine lineare Abhängigkeit sein.
    Vielleicht nehme ich mir einige Referenzwerte und wandere mit den 3 Sensoren auf einen schneebedeckten Berg, in eine Sauna und so 5 Werte dazwischen. Dann dürft sich etwas ergeben.

    Wollte schon lange die Polynom-Funktion der numpy-Bibliothek testen!
    -30Y: Basic@Schneider_CPC, Kosmos-Baukästen • -20Y: Mindstorms RCX 1.5, Visual Basic, Pascal, php • NOW: Python3, Arduino MEGA, Raspberry Pi 3, NiboBurger, LEGO Boost/Mindstorms

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    @HaWe:
    Danke! Du hast das was ich auch schon zu formulieren versuchte und wieder verworfen habe, treffend auf den Punkt gebracht.

    @RoboTrader:
    Nein . Mit der Polynom-Funktion kannst du einen nichtlinearen Sensor bestimmt trefflich auswerten.
    Aber du kannst aber eine methodisch falsche Messung mit unbekannten Einflussfaktoren damit nicht ausbügeln. Optimiere deine Messanordnung und du kommst in den Genuss der guten, herstellerseitigen Kalibrierung der Sensoren.
    OK, beim Onboard-BMP180 ist dahingehend natürlich nichts mehr zu machen.

    Die Schneewanderung solltest du trotzdem machen
    Geändert von RoboHolIC (06.01.2018 um 19:20 Uhr) Grund: Schneewanderung

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.212
    Die Luftdruck-Angabe meines BME ist sehr genau.
    Ich hab ein Garmin GPS mit barometrischen Höhenmesser hier (keine Ahnung, was das genau für einer ist), der stimmt mit dem BME sehr genau überein.
    Zumindest, wenn ich den gemessenen Luftdruck ausgebe (mach ich normal nicht, da auch die Wetterfrösche den auf Meeresniveau angeben), passt das.
    Auch beim BMP. Du sagst "analoges Gerät"- hast du ein "altes" mit Dose oder sowas? Die Dinger müssen auch justiert werden, auf die genaue Höhe (und zeigen trotzdem nicht ganz exakt, weil der Luftdruck _nicht nur_ von der Höhe abhängt.

    Die Temperatur und der Offset: bei meinem (dem, der geheizt wird) läuft es so, dass der ganz zu Anfang stimmt. Aber dann steigt er binnen einiger Stunden (um runde 3 Grad), bleibt dann aber wiederum so.
    Betrifft aber den Luftdruck nicht, der stimmt!

    Man könnte, mit ner Referenz, einige Werte zwischendrin aufnehmen, und daraus ne Art Graphen erstellen, so dass man ne ganze Reihe Korrekturwerte über die Zeit hat. Oder einfach den Sensor erstmal ignorieren (so mache ich das, da es ne reine Bastelplatine mit allem möglichen Kram drauf ist), bis alles warmgelaufen ist, und dann halt die 3 Grad einfach abziehen.
    Alternative: viele Chips (z.B. die DS3231, aber auch die Arduino-Prozessoren selber) haben einen Temperatursensor eingebaut.
    Eventuell kann man auch damit ne Korrektur stricken...wobei ich bei der 3231 _weiss_ dass auch die sich erwärmt- und der Temperatursensor das natürlich mit misst.
    Wäre mir alles zu wackelig, ehrlich gesagt.
    Daher ist es am sinnvollsten, so einen Sensor entsprechend anzuordnen: Wärme steigt nach oben. Wenn ich also das Layout so baue, dass er "ganz unten" angeordnet ist (am besten der reine Sensor, denn auf dem Breakout sind auch Widerstände oder gar Spannungsregler, die auch warm werden könnten), und von unten auch ausreichend frische Luft nachströmen kann, dürfte man der Wirklichkeit ziemlich nahe kommen.

    Und zum Schluss "vermittele" ich das Ergebnis sowieso noch, weil es nervt, wenn die Anzeige sich nahezu pausenlos ändert, ungefähr so:

    temp=(tempGemessen*0.7)+(tempVorherGemessen*0.3).

    Dann ändert sich nicht alle Sekunden was- und das Ergebnis bleibt immernoch ausreichend genau.
    Ich zeichne den Temperaturverlauf auch auf, über 24 Stunden, da kann man später an den Graphen trotzdem noch ablesen, wann ich mal die Tür kurz offen hatte.
    Beim Luftdruck ist es übrigens ganz ähnlich: wenn man nicht gerade nen präzisen Höhenmesser braucht (den man allerdings auch vor jeder Messung kalibrieren muss), ist der tatsächliche Wert nicht sehr nützlich- der Verlauf ist interessant!
    Damit kann man schon bisschen Prognosen stricken, der reine Wert dagegen sagt so gut wie nichts.

    Das mit dem Höhenmesser hab ich allerdings auch noch vor- ich will mal so einen BMx in ne Modellrakete stecken...dauert aber noch.

    Da ich aber nun von ausgehe, dass, wenn der BME Temperatur und Luftdruck sehr genau ausgibt, auch die Luftfeuchte stimmen wird, und man eben alles zusammen in einem Kästchen hat (und das auch noch super bequem per I2C auslesen kann) ist das Ding einfach meine beste Wahl.
    Für alle Fälle kann man den BME (den BMP bestimmt auch, nur vom BME hatte ich neulich erst das Datenblatt vor der Nase) auch wieder "justieren"- z.B. wenn er mal abgesoffen ist.
    Geht übrigens bei den DHT-Sensoren auch...
    Geändert von Rabenauge (07.01.2018 um 10:48 Uhr) Grund: Fehler in der Formel rauseditiert
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Ähnliche Themen

  1. Temperatur wert wird nicht aktualisiert.
    Von Ferdinand im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 31.03.2012, 20:52
  2. Temperatur anzeige auf dem LCD wird nicht aktualisiert?
    Von Ferdinand im Forum C - Programmierung (GCC u.a.)
    Antworten: 16
    Letzter Beitrag: 16.01.2012, 13:55
  3. temperatur
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 13.07.2008, 19:21
  4. Temperatur via I2C
    Von Haveaniceday im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 05.09.2007, 20:12
  5. ATmega16 mit M24C16 und DS18B20 Temperatur messen & spei
    Von logikbomb im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 08.09.2005, 09:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress