Auswahl geeigneter Elektronikbauteile/Sensoren ( Temperatur, Druck, Luftfeuchtigkeit)

  • Hallo Zusammen,


    ich möchte nun in die Welt des Raspberrys einsteigen und bin hier auf das tolle Forum gestoßen. 😊


    Da ich noch ein Anfänger in der ganzen Thematik bin, wollte ich hier euch nach eurem Rat und euren Erfahrungen fragen. Mir geht es vor allem um eure Meinung, ob das Projekt mit der Verwendeten Elektronik umsetzbar ist.


    Also ich möchte gerne ein Projekt realisieren in dem mehrere Räume auf Temperatur, Luftfeuchtigkeit, Raumdruck sowie Feinstaubpartikel überwacht werden. (Fall es eine Rolle spielt: Als Programmiersprache wird es Python sein.)


    Die vom Sensor gelieferten Temperatur-, Luftfeuchtigkeit- und Raumdruckwert sollten folgende Genauigkeiten aufweisen:


    - Temperatur: +- 0.5 °C
    - Luftfeuchtigkeit: +- 3% r.F.
    - Raumdruck: +- 2 Pa



    Was die Raumbedingungen angeht befinden sich die Temperatur-, Luftfeuchtigkeit- und Raumdruckwert im folgenden Bereich:


    - Temperatur: 18 - 25 °C
    - Luftfeuchtigkeit: 30 – 60 % r.F.
    - Raumdruck: Atmosphärendruck


    Nach meiner ersten Recherche favorisiere ich den Kombi-Sensor BME280, obwohl dieser leider nicht die gewünschte Genauigkeit vom Raumdruckwert verfügt. (Laut Datenblatt +- 12 Pa)

    An sich scheint dieser Kombi-Sensor aber sehr positiv von vielen Nutzern bewertet zu werden. Einen Vergleichbaren hab ich bis jetzt leider noch nicht entdeckt.


    Meine erste Frage wäre, ob jemand einen besseren Kombi-Sensor oder nur einen Drucksensor kennt. Die Genauigkeit von +- 2 Pa sind mir schon wichtig. Oder ist es möglich den BME280 Sensor ggf. selbst zu kalibrieren?


    Meine zweite Frage wäre, ob jemand Erfahrungen mit der Lebensdauer des BME280 hat. Ich habe bereits gelesen, dass bei vielen Nutzern z.B. der DHT11-Sensor nach einigen Monaten falsche Messwerte liefert oder gar nicht mehr funktioniert. Ich möchte schon gerne, dass die Lebensdauer bzw. die richtige Funktionsweise mir für 1-2 Jahre gewährleistet wird. Klar gibt es auch hier schwarze Schafe oder man hat einfach Pech aber insgesamt möchte ich nicht alle paar Monate den Sensor austauschen müssen.


    Meine dritte Frage zu dem Thema wäre, ob mir jemand eventuell bessere Sensoren für mein Anforderungsprofil empfehlen kann. Da ich meiner Meinung nach relativ hohe Anforderungen an die Genauigkeit und Lebensdauer habe nehme ich auch gerne erhöhte Kosten in Kauf. Also es muss nicht unbedingt der 2€ Sensor sein, der kann auch ruhig 5€ - 15€ kosten. Vielleicht hat jemand bereits bessere Erfahrungen mit anderen Sensoren gemacht und möchte diese Erfahrung mit mir teilen. 😊


    Was die Überwachung der Feinstaubpartikel angeht, habe ich folgende Feinstaubpartikelzähler gefunden:


    NOVA PM SD011

    SPS30 SENSIRION

    PMS7003/PMS5003

    Honeywell HPM Serie


    Ich favorisiere hier den PMS7003 und SPS30 SENSIRION. Der PMS7003 kann angeblich auch Partikelanzahl je Partikelgröße erfassen kann. (Laut Datenblatt durch Berechnung mithilfe der MIE-Theorie). Mit dem SPS30 SENSIRION hätte ich direkt einen Ansprechpartner aus der Schweiz, falls mir Fragen zum Sensor aufkommen. Auch die Lebensdauer von ca. 8 Jahren bei 24h/Tag Betriebszeit sind nicht schlecht.


    So was das letzte Thema angeht muss ich gestehen bin ich noch nicht so tief drin aber versuche mich gerade da ein zu arbeiten.


    Da ich nun mehrere Räume (4 Stück) habe, möchte ich alle Sensoren an ein ESP-Mikrokontroller anschließen (pro Raum ein ESP-Mikrokontroller) , welche die Daten an einen zentralen Raspberry PI 4 (4GB) sendet (über WLAN möglich?).


    Meine vierte Frage wäre damit, ob die Koppelung mehrere ESP-Mikrokontroller eine Grenze hat. Also wie viele ESP-Mikrokontroller gleichzeitig über WLAN mit dem Raspberry verbunden sein können. Und ob so ein Mikrokontroller überhaupt die Anzahl an Sensoren betreiben kann.


    Vielleicht hat auch hier einer Erfahrungen in einem ähnlichen Projekt gemacht und kann mir einen ESP-Mikrokontroller weiterempfehlen.

    Ich entschuldige mich für so viel Text aber ich hab versucht mich so ausführlich und transparent wie möglich auszudrücken. xD


    Gruß

    Akatu

  • Ich habe problemlos ein dutzen ESP32 in einem WIFI-Netz betrieben. Das sollte kein Problem darstellen. Und bei deiner Anwendung waeren eigentlich alle ESPs eine gute Wahl, 8266, 32 oder 32-S2. Da kaeme es auf Details wie Stromverbrauch/Versorgung an.


    Wenn die Sensoren I2C oder SPI oder UARTs nutzen, sind sie relativ problemlos zu benutzen (zB den BME280 habe ich in oben genanntem Projekt selbst verwandt). Aber allgemeingueltige Empfehlungen kann man da nicht taetigen, ohne die Sensoren zu kennen. *Was* man sagen kann: die ESPs haben da keinen prinzipiellen Nachteil, und alles was am PI oder Arduino geht, geht auch mit denen. Ausser vielleicht wenn man einen analogen Eingang braucht. Die haben zwar (mindestens der ESP32) analoge Eingaenge, aber der eingebaute AD-Wandler ist ggf. von rauschen betroffen. Aber das kann man auch in Software ausgleichen, oder spendiert einen besseren ADC via SPI oder I2C.

  • Hallo Akatu,


    Sensirion vertreibt auch Differenzdruck-Sensoren mit einem Messbereich von bis zu 25 Pa. Da sind Deine 2 Pa locker drin.


    Suche auf deren Homepage mal gezielt nach Sensoren, die Deine Anforderungen erfüllen. Sensirion ist da fast unerschöpflich.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • (Fall es eine Rolle spielt: Als Programmiersprache wird es Python sein.)

    Kann man machen, in Sachen ESP/Arduino ist C(++) aber besser geeignet. Besonders bei so einem einfachen Projekt, das sich in wenigen Zeilen realisieren lässt. Im Grunde besteht die setup()-Funktion nur aus: WLAN verbinden und Sensoren vorbereiten und die loop()-Funktion aus: Messen, Werte eventuell aufbereiten und Werte über WLAN an den Pi senden.


    Auf dem Pi würde ich InfluxDB als Datenbank und Grafana für die Visualisierung benutzen. Ist schnell eingerichtet, man muss das Rad nicht neu erfinden und über UDP lassen sich alle Werte zusammentragen. Hier ist schon mal eine Anleitung dafür: https://www.influxdata.com/blo…uxdb-from-an-arduino-uno/ (Diese Anleitung kannst du schon fast für dein gesamtes Projekt nehmen ;) )



    Wirst du die ESPs an Steckdosen anschließen oder willst du etwas batteriebetriebenes basteln?

  • Ich würde gerade bei einfachen Projekten trotzdem micropython benutzen. Die Fehlermeldungen sind einfacher, man kann interaktiv rumspielen mit dem Interpreter, etc. Die arduino Abstraktion ist gut, doch für das oben genannte Projekt war ich ganz froh, so einfach Fehlerbehandlung, Konfiguration und retries zu programmieren.

  • Danke für die schnelle Rückmeldung.


    Andreas: Ja ich habe die Differenzdrucksensoren von Sensirion auch bereits gesehen. Wenn ich es aber richtig verstanden habe, wird hier nur der Druckunterschied von der ersten Öffnung zur zweiten Öffnung des Sensorgehäuses ausgegeben. Bedeutete ich müsste ein Schlauch an eine der Öffnungen anschließen und nach draußen verlegen?


    Des Weiteren habe ich gesehen, dass der Messbereich nur im 1.000 Pa Bereich liegt. Heißt es, dass die Sensoren nicht zur Messung im Atmosphärendruckbereich (ca. 100.000 Pa) geeignet sind?


    Außerdem sind die Sensoren mit einem Stückpreis ab 25€ schon etwas über meinem Hobbybudget. Sollte sich aber nichts Günstigeres findet, werde ich an diese Sensoren denken. xD



    @__deets__: Also war mein Grundgedanke mit den ESPs doch nicht verkehrt. Ich Frage mich nun noch, ob eine Kopplung der ESP-Mikrokontroller mit dem Raspberry PI auch ohne WLAN-Netz (aber immer noch Drahtlos) möglich ist. Ich habe in einem meiner Räume sehr schlechten Empfang was das WLAN angeht und im Keller überhaupt keins.



    Kelvin: Ja das Projekt ist für den „Anfang“ recht einfach von mir gehalten. Ich würde aber gerne es mit der Zeit weiter ausbauen. Sprich: Sollte ich die gewünschten Messwerte aufzeichnen können würde ich gerne im nächsten Schritt zentral im Flur ein Touch Display (verbunden mit dem Raspberry) anbringen, wo ich grafisch mir die aktuellen Messwerte, für jeden Raum, anschauen kann. Auch eine Ansicht für die vergangenen Monate wäre interessant.


    Sollte auch dies klappen, würde ich im nächsten Schritt versuchen die Klimageräte in zwei meiner Räume zu steuern. (Also An und Auszuschalten) Auch wäre da eine Aufzeichnung des Stromverbrauches der Klimageräte für mich interessant. Ich habe sogenannte Stromwandlerklemmen gefunden mit denen sowas wohl realisierbar wäre. Und ja ich weiß da gibt es fertige Produkte (z.B. smarte Steckdosen) aber würde dennoch es gerne versuchen selbst zu machen. 😊

    Und da ich schon etwas Erfahrung mit Python habe wollte ich auch dabei bleiben, um meine Kenntnisse darin noch zu verbessern.

  • Darf man Fragen, warum die Genauigkeit so Hoch sein muss?


    Ich betreibe da an meiner Raspberrymatic 3 DIY Selbstbau Funksensoren, bestehend aus einem Arduino Mini Pro 3.3V, einem CC1101 Funkmodul(868Mhz) und einem BME280.

    Das sind 3 identische Sensoren, wovon 2 den Original Sketch beinhalte, der 3. aber einen erweiterten Sketch.

    Die ersten 2 zeigen nur Temperatur u. Luftfeuchtigkeit, wobei dann der 3. auch den Luftdruck anzeigt.

    Wobei ich auch als Spielerei noch 2-3 Wetterstationen habe, die auch per Funk ihre Werte bekommen.

    Wenn ich die mit meinen DIY Sensoren vergleiche, komme ich in etwas auf die Abweichungen, die du willst.

    Wobei es beim Luftdruck auf die eingestellte Höhe ankommt.

    Gegenüber einer Barometer APP oder meiner Wetterstation habe ich ca. 1HpA Abweichung.

    Bei der Temperatur sind es je nach Vergleich 0,5-1°C, bei der Luftfeuchtigkeit sind es 2-3%.


    Ich kann die Daten meiner 3 Sensoren der Raspberrymatic auf einem Wemos D1 mit I2C 4x20 Disdplay anzeigen lassen.

    Sieht dann so aus:

    Link

  • Wenn du kein Netzwerk hast, musst du eines aufbauen. Egal mit welchen Controllern. Und andere drahtlose Technologien sind zwar theoretisch möglich, aber auch Recherche- und Programmierintensiver, mit mehr Risiko.

  • Thomas H Die Genauigkeiten sind so hoch, weil ich sie mir so hoch gesetzt habe. xD

    Wie bereits erwähnt möchte ich in Zukunft das ganze Projekt weiter ausbauen z.B. mit einer Steuerung der Klimageräte oder der Schließung/Öffnung der Fenster bei erhöhten PM-Werten im Raum. Ich möchte ungerne später z.B. den Temperatursensor wechseln müssen nur weil er wir 20 °C anzeigt und ich in wirklichkeit 25 °C habe. Da ist mir das Thema Behaglichkeit wichtig.

  • Hallo Akatu,



    Danke für die schnelle Rückmeldung.


    Andreas: Ja ich habe die Differenzdrucksensoren von Sensirion auch bereits gesehen. Wenn ich es aber richtig verstanden habe, wird hier nur der Druckunterschied von der ersten Öffnung zur zweiten Öffnung des Sensorgehäuses ausgegeben. Bedeutete ich müsste ein Schlauch an eine der Öffnungen anschließen und nach draußen verlegen?


    Ja, die eine Seite wird über eine Schlauchleitung mit dem einen Raum, die andere ebenso mit einem anderen Raum verbunden, um die Druckdifferenz der beiden Räume messen zu können.


    Danke für die schnelle Rückmeldung.


    Andreas:


    Des Weiteren habe ich gesehen, dass der Messbereich nur im 1.000 Pa Bereich liegt. Heißt es, dass die Sensoren nicht zur Messung im Atmosphärendruckbereich (ca. 100.000 Pa) geeignet sind?

    Nö, was hast Du gelesen und was hast du daraus entnommen, um dieses so zu verstehen?


    In den Datenblättern der von mir / meiner Fa. verbauten Sensoren steht in den Datenblättern u.a.


    Quote


    1 Unless otherwise noted, all sensor specifications are valid at 25°C with VDD = 3.3 V and absolute pressure = 966 mbar

    Dem ist zu entnehmen, dass der Differenzdrucksensor z.B. SDP8xx-125/500 bei Normaldruck funktioniert. Nichts anderes habe ich angedeutet. Und sich alle meteorologischen Aussagen eben auf 966 mbar (statt auf 101325 Pa) beziehen.



    Andreas:


    Außerdem sind die Sensoren mit einem Stückpreis ab 25€ schon etwas über meinem Hobbybudget. Sollte sich aber nichts Günstigeres findet, werde ich an diese Sensoren denken. xD

    Du hattest eine Problemstellung geschildert - ich habe Dir Sensoren empfohlen, die Deinen Anforderungen genügen. Dass Du für brauchbare Sensoren etwas tiefer in die Tasche greifen musst, als 2,3,5 € sollte eigentlich klar sein. Die sonst recht guten Bosch-Sensoren BME280 können nur eine Druckdifferenz von 12 Pa erkennen. Die Sensirion-Sensoren liegen je nach Ausführung bei 0,1 oder 0,08 Pa.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.