Erfahrungsbericht mit Raspberry, diversen Sensoren und dem PIGPIO Modul von Joachim

Hallo,

ich beschäftige mich jetzt seit längerem mit dem PIGPIO-Modul [Link] von Joachim und wollte über meine bisherigen Erfahrungen mit dem Modul, den Eigenschaften/Eigenheiten der Sensoren und über sonstige mechanische/thermale Punkte des Raspberry und der Sensoren berichten. Aber vorher noch einen herzlichen Dank an Joachim für die Bereitstellung von diesem klasse Modul, weil damit die Möglichkeiten von Raspberry mit IP Symcon extrem erweitert werden können.

Zu den Sensoren:

Luftgütesensor iAQ:

Der iAQ eignet sich sehr gut zur Erfassung von CO2 und VOC, hat aber mit ~50 €/Stück (mit Shipping aus USA, Digi-Key bei 2 Stück) einen stolzen Preis. Die Lieferung aus USA erfolgte prompt innerhalb von drei Tagen. Man muss dem iAQ aber etwas Startzeit zugestehen. Stabile Werte habe ich nach dem ersten Start erst nach einem Tag erhalten. Wenn er schon in Betrieb war, geht es deutlich kürzer. Er erzeugt auch etwas Wärme. Dies sollte man bei der Positionierung neben anderen Sensoren berücksichtigen. Dazu später mehr. Der Sensor ist sehr schnell, betritt eine Person den Raum oder ein Anhauchen aus der Ferne lassen die Werte sprunghaft ansteigen, das Öffnen eines Fensters lassen sie sofort sinken. Der Graph zeigt das Einschwingen und den anschließenden Betrieb in einer dynamischen Umgebung von zwei iAQs dicht nebeneinander.



Ultraschallentfernungsmesser HC SR04:

Mit dem HC SR04 kann man von wenigen Zentimetern sicher bis zu 2 Metern die Entfernung ermitteln. Dies klappt meistens ganz gut, aber manchmal gibt es extreme Ausreiser [Bild]. Das kann daran liegen, dass der Zeitunterschied konzeptbedingt zwischen dem Senden und dem Empfangen des Signals ermittelt wird. Leider ist Debian/Rasbian nur ein Multitasking- und kein Echtzeitbetriebssystem. Hat das OS zum Zeitpunkt des Empfangs gerade etwas anderes zu tun, entstehen unter Umständen solche massiven Fehler. In den Foren wird beschrieben, dass der Einsatz von C statt Python eine gewisse Verbesserung bringen könnte. @Joachim, wie machst du das in deinem Modul? Letztendlich hilft bei statischen Messungen (z.B. Zisterne oder Öltank) wohl nur ein statistisches Fehlereliminierungsverfahren wir der Median. Meine bisherigen Erfahrungen könnt ihr in den Diagrammen sehen. Da im Öltank sicher Dämpfe entstehen, die der Elektronik schaden könnte, wollte ich als Alternative den DYP-ME007Y einsetzen (siehe drittes Bild). Leider lieferte er bei meinen Tests nur zwischen 30 – 80 cm zuverlässige Werte. Darunter und darüber wird er sehr ungenau. Das Teil ist wohl als Abstandsmelder für Autos auf die 30-80 cm optimiert.

DYP‐ME007Y.jpg

Temperatur/Feuchtigkeit/Luftdruck BME280:

Damit liefert der BME280 bereits alle wichtigen Daten für eine kleine Wetterstation. Die Genauigkeit/Dynamik scheint verglichen mit einem i.d.R. sehr genauen 18B20 ähnlich gut zu sein. Die Werte kommen in einer feinen Granularität (bedeutet nicht zwingend Genauigkeit) und haben deshalb kaum Stufen. Damit lassen sich sehr gut Tendenzen erkennen. Dies gilt für alle drei Messtypen. drapple berichtete im Forum [link] von Ungenauigkeiten bei Temperaturen nahe 0 Grad. Dies konnte ich nicht bestätigen, nur der zum Vergleich mitlaufende 18B20 machte zum Messende Probleme und lieferte über 5 Stunden nur den Wert 0,0 °(siehe Graph, der rote Graph kommt von einem etwas entfernten AVR225-1-Wire, Differenz geht also in Ordnung). Der etwas günstigere BMP280 (ohne Feuchtemessung) konnte mit Joachims Modul ebenfalls eingesetzt werden.

1-Wire:

Temperaturmessungen können z.B. mit dem Dallas 18B20 auch mit dem GPIO Modul gemacht werden. Damit könnte ich dann irgend wann meine AVR225s und meine Python-Scripte auf den PIs ersetzen. Die letzten Tage erfasste ich mit dem Modul auch sauber über 1-Wire und verglich sie mit anderen Sensoren in der gleichen Umgebung. Dabei gab es bisher keine Auffälligkeiten (siehe Temperaturgraphen). Welcher der Sensoren nun der absolut genaueste ist, kann man kaum feststellen. Der gerne genannte Versuch den Sensor in zirkulierendem Eiswasser zu kalibrieren hat bei mir nicht geklappt, da sich bei Wiederholungsmessungen immer Schwankungen von 0,2-0,6 Grad ergeben haben. Den oben im Vergleich mit dem BME280 gezeigten Ausfall muss ich noch näher untersuchen, bzw. Joachim Bescheid geben. Im Filesystem /sys/devices/w1_bus_master1/devID werden die Werte richtig aktualisiert aber in IPS blieben die Werte über 5 Stunden bei 0,0° trotz minütiger Aktualisierung. Ohne weiteres Zutun kamen die Werte dann wieder an. [UPDATE 21:56] Joachim hat den Fehler gefunden und in seinem Modul bereits behoben

Lichtstärkesensor BH1750:

Beim BH1750 bin ich mir noch nicht ganz schlüssig. Die Messdynamik von 1-100000 Lux klingt zwar erst mal vielversprechend, aber im Vergleich zu einem eQ3-Aussenbewegungsmelder (der hat ja eigentlich andere Aufgaben) scheint die Empfindlichkeit bei Dämmerung doch eingeschränkt zu sein (siehe Grafik, eQ3=gelb, BH1750=lila). Es scheint noch eine SW technische Möglichkeit zu geben, den BH1750 auf 0,11 Lux zu bringen. Ich habe die Infos heute in Joachims Thread gepostet.

Sonstige Erfahrungen:

Probleme bereitet mir immer noch der Start von PIGPIOD auf Raspberry 3. Ich habe alle Möglichkeiten ausprobiert und am zuverlässigsten ist bisher noch der Weg über crontab mit @reboot /usr/local/bin/pigpiod. Aber das klappt auch nicht immer. Auf den 2er Raspberry hatte ich bisher noch kein Problem damit. Scheint etwas mit dem Timing zu tun haben. Zur Not muss ich über crontab zyklisch überprüfen, ob PIGPIOD läuft und wenn nicht, diesen nachstarten. Elegant ist das aber nicht.

Ein weiteres Problem, welches ich nicht beheben konnte, war der gemeinsame Betrieb von iAQ, BME280 und BH1750 am I2C-Bus. Obwohl alle drei mit i2cdetect -y 1 und den IDs 5A, 76 und 23 zu sehen waren, habe ich vom BH1750 keine Werte erhalten. BME280 und BH1750 ohne iAQ laufen problemlos.

Gehäuse / Sensorpositionierung / thermale Aspekte und Spannungsversorgung:

Beim Gehäuse sollte man auf ausreichend Zirkulation achten, damit der Raspberry nicht zu heiß wird. Dies ist nicht unbedingt zum Schutz der Elektronik erforderlich (der PI soll 85° leicht vertragen), sondern um nahe liegende Sensoren nicht zu beeinflussen. Ich habe dazu das PI-Gehäuse mit etlichen Lüftungslöchern unten und seitlich versehen. Man möchte ja gerne einen kompakten Sensor mit kurzen Leitungen aufbauen. Leider werden dabei die Temperaturmessungen verfälscht. In meinem Aufbau sind das ca. 3,5 Grad nach oben gegenüber einem ca. 15 cm entfernten und frei aufgebautem BME280.

Der iAQ trägt mit seinem Messprinzip zusätzlich zu Verfälschung bei, wenn man ihn direkt neben dem BME280 positioniert. Ich werde hier wohl nochmal mein Konzept überdenken und die Sensoren leicht abgesetzt vom Raspberry platzieren. Widerspricht dann halt wieder der Kompaktheit und man hat wieder zusätzliche Kabel sowie das Befestigungsproblem der Sensoren. Auf dem Thermalfoto meines Aufbaus sollte das Problem zu erkennen sein.

Thermovergleich_klein.jpg

Noch ein Wort zur Kühlung des Raspberry PI. Kleine Zusatzkühler können die Temperatur schon um 2-5 Grad senken. Vor allem die kleinere GPU wird gegenüber der CPU heißer. Ihr solltet aber unbedingt darauf achten, dass man euch statt eines Wärmeleitpads kein beidseitig klebendes Isolierband andreht. Damit wird die Sache nur schlimmer, die Kühler bleiben kalt und CPU/GPU werden deutlich heisser als vorher. Da wird der letzte Mist verkauft. Ist mit sogar mit meinen Raspberry 1 passiert, wie in der vergleichenden Thermoaufnahme zu einem Raspberry 2. Leider sieht man es den Wärmeleitpads nicht an.

Kuehlkoerper_klein.jpg

Bei der Stromversorgung des Raspberry hatte ich auch so meine Erfahrungen. Wenn über HDMI gearbeitet wird, kann man im rechten oberen Eck ja an dem dargestellten kleinen farbigen Quadrat oder gelben Blitz erkennen, dass der PI zu wenig Energie bekommt. Als IP Symcon Server wird auf den PI wohl nur über die IPS Konsole, http oder ssh zugegriffen und man kriegt das „bestenfalls“ über unerklärbare Abstürze mit. Dies ist mir erst gestern wieder passiert, als ich schnell eine kleine Verlängerung vom Netzteil (sollten schon 2,5 A sein) zum PI brauchte und das gerade greifbare 1 Meter lange und unter 1 mm schön dünne USB-Kabel genommen habe. Der PI ist immer beim Booten abgestürzt. Dann ein 3 m langes aber deutlich dickeres Kabel genommen und es lief.

Gruss
Bernd

Schöne Arbeit.
Vielleicht noch ein Tipp: wenn Kühlkörper nicht speziell für den Pi sind [emoji6], bekommt man die - bei gleichen Abmessungen - deutlich günstiger.
Ich habe gerade Kühlkörper für Speicherbausteine in Kupfer gefunden, die kosten nur nen Bruchteil der „Spezialraspikühler“ obwohl die identisch sind.

Gesendet von iPhone mit Tapatalk

Sehr schöner Bericht !

Kannst mal Bilder posten, wie du draußen im freien misst (Gehäuse usw.) ? Die Temperaturabweichungen habe ich nur draussen im Haus stimmen die Werte !

Danke für deinen Bericht, Bernd.

Das mit der Stromversorgung kann ich nur unterstreichen.
Es muss nicht immer ein dickeres Netzteil sein. Oft hilft ein „dickes“ Zuführungskabel. Und ggf. ein Ringkern im Kabel.

Obwohl der Pi3 selbst bei ausreichendem Netzteil und Kabel auch oft unzufrieden ist und spinnt.

Gesendet von iPhone mit Tapatalk

Wie kann man rechnen, wie dick das „Stromkabel / Micro-USB Kabel“ sein sollte, bei einer langen Zuleitung?

Mir gefällt das ganze so gut, dass ich so ne kleine Wetterstation gerne an unseren kleine „Holzlagerungshütte“ bauen würde. Nächste Steckdose befindet sich in der Garage - ca. 10 Meter.

Oder sollte ich die „Steckdose“ da besser zum RASPI bringen ? :smiley:

Zu den genannten sensoren gehört noch ein Windmesser (z.B. Eltako WS Windsensor).
Wie genau die Abtastung der „Reads“ ist, weiss ich nicht. Evtl. muss man hier einen 1-Wire s0 Counter vorschalten?

Hallo mastermind1,

ich würde das aus folgenden zwei Punkten für sinnvoll halten:

[ul]
[li]Angenommen es ist ein Raspberry PI3 der im Peak bis zu 3 A ziehen kann und man einen noch zu akzeptierenden Spannungsabfall von 500 mV annimmt, wären es so zwischen 0,15-0,2 Ohm Widerstand. Dafür sollten es dann bei 10 Meter schon Kabel mit 1,5-2 mm Kupferquerschnitt sein. Ich hoffe, ich habe mich nicht verrechnet. Ob man so etwas als USB Kabel kriegt? Eine dazwischen geschaltete Powerbank könnte zwar Spitzen abfangen, aber ob man die im Freien liegen lassen will.[/li]

[li]Die 230 Volt Versorgung hätte zudem den Vorteil, dass auch ein Schutzleiter mit dabei ist. Hilft bei direktem Blitzeinschlag nur bedingt, aber immer noch besser als 10 Meter USB-Kabel im Freien liegen zu haben. So eine Steckdose in der Holzhütte hätte zudem auch den Vorteil, dass man bei Bedarf eine Lampe oder Säge daran anschließen kann ;-)[/li][/ul]
Die Kommunikation müsstest du dann aber über WLAN realisieren. Mit einem zusätzlichen LAN-Kabel wäre es dann doch ein wenig aufwendig. Na ja, Powerline ginge noch, wären aber auch schon wieder zwei Adapter.

Gruss
Bernd

Den USB-Kabel sieht man i.d.R nicht an, ob sie ausreichend sind. Ich hatte mal was bei Amazon gefunden. Such mal nach „PortaPow“.
Hatte das Gefühl, dass die was bringen.

Hallo Bernd,
danke für den Bericht, deckt sich in vielen Dingen mit meinen Erfahrungen der letzten Jahre.
Ich betreibe einige Sensoren schon etwas länger am ATmega, der die Daten ins LCN sendet.

Am Pi nutze ich im Moment nur die DS18x20, aber direkt per eigenes Skript, was sehr gut geht.

Am Atmega kann ich sagen:

Zum Luftgütesensor iAQ (ich habe einen Vorgänger, die Daten sind aber fast gleich, meiner hat noch 5V) kann ich nur sagen, dass Teil braucht ca 15 Minuten nach dem Einschalten, bis er bereit ist, dann sollten Werte kommen.
Bei mir läuft der schon einige Jahre ohne Mucken, ist echt gut.

Zum BME280, der liefert fast die gleichen Werte wie der DS18s20, Abweichung hier -+ 0,5°C im Raum, alles gut.

Dann habe ich noch Feuchtesensoren, den HYT 221. Der läuft auch recht gut(Bad unter der Decke, zur Steuerung der Abluft über der Dusche), nur in rauher Umgebung (Wäschetrockner Abluft und Aussen) habe ich so nach ca 1 Jahr Probleme, dann steigen die aus. Im Moment habe ich die versiegelt, aber durch die Filterkappe schein doch was durch zu kommen.

Zum Netzteil für den Pi2 und Pi3 kann ich sagen, die Meanwell DR-15-5 (im Pollin Kit drin,5V - 2,4A) sind gut, damit hatte ich noch nie Probleme.

Gerne, auf dem Bild sieht man den sehr „provisorischen“ Messaufbau an meinem Kellerfenster. Rechts oben der Lichtstärkesensor BH1750 und mittig in der kleinen Plastiktüte der 1-Wire 18B20 und der BME280.

Letztendlich sollen alle Sensoren in ein Messkasten, den ich in den Vollwärmeschutz eingebaut habe. Der Kasten ist ein einfacher Elektroverteiler mit 10x10x5 cm. Am Ende führt ein 12 mm dickes und ca. 50 cm langes Kunststoffrohr durch die Aussenwand nach innen und ist dort mit einem Pfropfen gegen Durchzug verschlossen. Der Kasten ist damit gut vor Wetter und Sonne geschützt und relativ gut vor der Wärmestrahlung des Hauses isoliert. Dort befinden sich bereits der analoge KTY81-Fühler der Heizung und ein anderer 18B20 an einem AVR225. Wenn alle Sensoren verbaut sind, wird ein feinmaschiges Metallgitter davor geschraubt. Ich muss mir nur noch überlegen wie ich die Chips BH1750 und BME vor Nässe und Staub schütze. Sie sollen ja frei angebracht werden, um die Messungen nicht zu verfälschen. Andererseits bin ich mir nicht sicher, wie lange die Bauteile offen auf der Platine den Witterungseinflüssen standhalten. Vielleicht montiere ich sie einfach steckbar mit einer Pfostenleiste. Da könnten sie bei Defekt schnell getauscht werden. Kosten liegen ja im einstelligen Eurobereich.

Der unten stehende Graph zeigt den aktuellen Temperaturvergleich der Sensoren seit gestern Abend. Das Problem des 1-Wire-Sensors, der bis 17:40 Uhr immer 0 Grad meldete, ist wie bereits geschrieben, von Joachim gefunden und gleich behoben worden. Dies bestätigt auch der saubere Anstieg über die 0 Grad Linie, da hier sicher wieder Werte kleiner fünfstellig im PI-1W-Filesystem aufgetreten sind. Die Ursache der beiden Peaks gegen 21 und 14 Uhr ist, dass ich zu diesen Zeitpunkten an den Sensoren gebastelt habe. Auf jeden Fall liegen die Verläufe des 18B20 [blau] und die des BME280 [lila] derart genau nebeneinander, dass ich vermutete Unregelmäßigkeiten nicht bestätigen kann. Der rote Verlauf kommt übrigens von einem 18B20 aus dem oben dargestellten Messkasten und man erkennt an den niedrigeren Wert gut die bessere Wärmeentkopplung von der Hausabstrahlung.

Gruss
Bernd

Ich würde auf jeden Fall mit dem Netzteil in die unmittelbare Nähe des Pi gehen. Netzteile habe ich Hutschiene von Mean-Well und als Steckernetzteile 5V / 2.5A USB Power Supply (HNP15-USB) - Watterott electronic

Gesendet von iPhone mit Tapatalk

Habe mir gerade auf Amazon den Eltako Windsensor angeschaut. Mit 45 € noch gerade bezahlbar. Der muesste eigentlich mit Joachims Modul / IPS2GPIO_Input direkt zu nutzen sein, eventuell noch ein RC-Glied davor. Die Anzahl der Impulse/Sekunde auch bei starkem Wind scheint ja überschaubar zu sein. Einen Versuch wäre es Wert.

Gruss
Bernd

Gibt es nix billigeres als den Eltako Windsensor ? Da könnte man sich ja eine billige China Wetterstation fast für den Preis kaufen und die dann umbauen :banghead:

Moin,

schau mal nach Art: 9127932 von Som und fy,
oder in der Suchmaschine " 9127932 Windsensor " eingeben :wink:

Ich meine das der auch Impulse kann

Den somfy windsensor habe ich seit 3 Jahren mit dem eservice s0 counter im Einsatz an einem 1wire bus… Zum Schutz unserer Jalousien… Funktioniert einwandfreie 1,5 Jahre unter Windows + IPS, und seit weiteren 1,5 Jahren an nem raspi und IPS.

Gesendet von meinem Redmi Note 2 mit Tapatalk