Wolken
Sensorgehäuse 3D-Druck
Ein erster Testdruck für den Wolkensensor scheint die Konstruktionsidee zu bestätigen. Im oberen Bereich werden die LDR-Lichtsensoren wassergeschützt freien Blick auf den Himmel haben, im unteren Bereich kann durch Lüftungsöffnungen Temperatur, Druck und Feuchte erfasst werden. Der Schutz gegen Eindringen von Wasser bei starkem Wind, oder Insekten muss noch geprüft werden.
Arbeitsbereich A/D Konverter
In den Kurven von Sensor 1 (grüne Kurve) ist gelegentlich eine geringere Variation der Messwerte im Vergleich zu den anderen Sensoren zu beobachten. Möglicherweise ist der Spannungsteiler für diesen Sensor ungünstig dimensioniert, und erzeugt diesen nichtlinearen Effekt.
In der ersten Version des Sensoraufbaus sind alle Spannungsteiler gleich ausgelegt. Die LDR erhalten unterschiedliche Lichtmengen durch Maskierung oder Farbfilterung.
Für Sensor 1 ist der Widerstand R1 evtl. zu groß gewählt. Die fixen Widerstände werden nun neu berechnet, so dass die jeweiligen Werte der Spannungsteiler durchschnittlich im mittleren Messbereich des A/D Wandlers liegen.
Wettertaugliches Gehäuse
Der obere Teil des Sensorgehäuses ist in einem Glaskolben (Reagenzglas, Ø 3cm) untergebracht. In der unteren belüfteten Sensorkammer ist der Sensor BME280 für Temperatur, Luftdruck und Luftfeuchte platziert. Über schräge Öffnungen kann eindringendes Wasser abfließen. (Bild links)
Die Halterung und Maskierung für die Lichtsensoren ist 3d-gedruckt. Ein kugelförmiger Reflektor wird von Sensor 1 erfasst, Helligkeit der Sonne und des Himmels werden gemessen. Zwei Röhren mit Sensoren (2,3) sind nach oben ausgerichtet, die Helligkeit eines Himmelssegments wird gemessen.(Bild mitte)
Der obere Lichtsensor 1 (LDR) ist nach unten auf die Reflexionsfläche ausgerichtet. Die LDR-Widerstände 2 und 3 (Blaufilter) sind ins Zenit gerichtet. Der Messwinkel ist begrenzt, die Sonne wird nie erfasst. Der kombinierte Temperatur-, Druck- und Feuchtesensor ist möglichst nicht Sonne, Regen oder Wind direkt ausgesetzt. (Bild rechts)
Sensoren über I2C
Bei der Berechnung der Wolkendeckung ist der Luftdruck möglicherweise ein wichtiger Faktor. Um meteorologische Grunddaten zu erfassen wird der Sensor BME280 verwendet. Einzelsensoren für Temperatur, Luftfeuchte und Luftdruck sind in einem Gehäuse untergebracht.
Jeder Sensorbaustein wird während der Produktion kalibriert, die Daten werden im Sensor abgespeichert. Für ein korrektes Messergebnis müssen die rohen Messwerte mit den Korrekturdaten verrechnet werden. Bei Luftdruck und Luftfeuchte werden auch Temperatur-Messwerte einbezogen.
Mit der libi2c Bibliothek wird auf die Register des Sensors zugegriffen.
Das Datenblatt des Sensors schlägt aus Performance-Gründen das blockweise Auslesen von Registern vor.
Linkliste
Beaglebone Hardware http://maximebranger.synology.me:180/epubfs.php?data=249&comp=c06.xhtml
bme280 Datasheet https://www.makershop.de/download/bst-bme280-ds002.pdf
bme280 Breakout board https://www.makershop.de/download/bme280-breakout-schematic.jpg
i2c Verdrahtung https://elinux.org/File:BoneGPIO.png
i2c Interface https://www.kernel.org/doc/Documentation/i2c/dev-interface
i2c Code https://github.com/ControlEverythingCommunity/BME280/blob/master/C/BME280.c
i2c Code http://blog.generationmake.de/articles/5/bosch-bme280-luftdr
i2c Code https://elinux.org/Interfacing_with_I2C_Devices
https://de.mathworks.com/help/supportpkg/beagleboneio/ug/the-beaglebone-black-gpio-pins.html
https://stackoverflow.com/questions/29972421/reading-an-input-4096-from-a-directory-to-use-in-c
- Elektronik
Operationsverstärker https://www.ti.com/lit/pdf/slyt701
OpAmp LM324N https://www.ti.com/lit/ds/symlink/lm324-n.pdf https://www.ti.com/lit/pdf/sloa277
- Meteo
Luftdruck https://rechneronline.de/barometer/
Höhenprofil https://de-de.topographic-map.com/map-95z57/Deutschland/?center=50.12909%2C8.69358&zoom=16
- Neuronal
NN https://ai.googleblog.com/2016/06/wide-deep-learning-better-together-with.html
Steve Brunton https://www.youtube.com/c/Eigensteve/videos ML https://www.youtube.com/watch?v=QpzQYDcczRQ NN https://www.youtube.com/watch?v=aIZtJqtzdQs
3blue1brown https://www.youtube.com/c/3blue1brown NN https://www.youtube.com/watch?v=aircAruvnKk&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi
Michael Nielsen, Neural Networks and Deep Learning neuralnetworksanddeeplearning.com/
- C++
https://cplusplus.com/doc/tutorial/files/
Sensorwerte in der Datenbank
Für überwachtes Lernen des neuronales Netzes werden die abhängigen Parameter "Kalwolk, Kalcc, Kalreg" als Daten zur Klassifizierung in die Datenbank geschrieben.
Zeitlich zusammenhängende Werte werden, um gemeinsam als zeitinvariante Daten zum Training benutzbar zu sein, mit einer gleichen zID gespeichert.
Um als zeitlicher Parameter "zZeit" als Eingangswert des neuronalen Netzes linear verwendbar zu sein, ist die Tageszeit in "julianischen" Minuten kodiert. ;)
Sensoren für diffuses / direktes Licht
Sensor 1 (Gesamt) misst über die Reflektionsfläche das direkte Licht der Sonne und das Umgebungslicht des Himmels. Sensor 2 (Zenit) misst ein Segment des Himmels, in dem sich die Sonne nie befindet. Bei bewölktem Himmel ist die Helligkeit bei Sensor 2 größer als bei Sensor 1. Bei wolkenlosem Himmel ist die Helligkeit bei Sensor 1 größer. Aus der Differenz lässt sich die Verdeckung der Sonne durch Wolken, also der Bewölkungsgrad ableiten.
Weiter links oder unten liegende Datenpunkte repräsentieren eine höhere Helligkeit. Messwerte bei bewölktem Himmel (rot), und wolkenlosem Himmel (blau) lassen sich gut unterscheiden.
Wolkensensor und neuronale Netze
Das Ziel des Projekts ist, die Programmierung und den Einsatz von künstlichen neuronalen Netzen zu erkunden. Im Versuchsaufbau werden mehrere Sensoren (Helligkeit, Luftdruck, Luftfeuchtigkeit) an einen Einplatinencomputer angeschlossen. Messwerte werden in regelmässigen Abständen in einer Datenbank gespeichert. Ein neuronales Netz berechnet den Deckungsgrad der Bewölkung.
- Sensorphalanx
- Helligkeitssensoren (LDR) messen verschiedene Lichtparameter des Himmels. In einer Aufbaustufe werden auch Temperatur, Luftdruck und Luftfeuchte gemessen.
- Datenaquisition
- In z.B fünfminütigem Abstand werden die Sensoren abgefragt, und die Messwerte an die Datenbank geschickt.
- Datenbank / Frontend
- Aktuelle Messwerte werde ausgelesen und in einem Dashboard angezeigt. In einer Histogrammdarstellung wird ein zeitlicher Verlauf dargestellt.
Für die Berechnung der Bewölkung werden mehrere Helligkeitswerte und andere Parameter erfasst:
- Direktes und diffuses Licht
- Ein LDR-Sensor ist nach unten auf eine halbkugelförmige Reflexionsfläche gerichtet. Direktes Sonnenlicht, als auch diffuses Umgebungslicht des Himmels werden von der matten Oberfläche reflektiert.
- Diffuses Licht
- Ein Sensor ist ins Zenit ausgerichtet. Durch Positionierung in einer Röhre wird der Messwinkel begrenzt, direktes Sonnenlicht fällt niemals auf diesen Sensor.
- Blaus Licht
- Im Messwinkel begrenzt, und mit einer Farbfolie versehen messen zwei Sensoren jeweils den Rot- und Blauanteil des diffusen Lichts.
- Tageszeit
- Die Wolkendeckung bildet sich zu verschiedenen Uhzeiten u.U. in verschiedenen Farb und Helligkeitskombinationen ab.
- (Luftdruck, Temperatur, Luftfeuchte)
- Die vorherrschende Wolkenart wird möglicherweise stark durch diese Parameter bestimmt. Die Sensoren werden in einer weiteren Ausbaustufe hinzugefügt.
Als Zielparameter sollen berechnet werden:
- Wolkendeckung
- Der Grad der Bewölkung, bei Cirrus die Abschwächung des Sonnenlichts durch die Wolken, bei Cumulus der Anteil an Bedeckung der Himmelsfläche.
- Bewölkungsart
- Das Spektrum von Cumulus- bis Cirrusbewölkung wird berechnet.
- Regenwahrscheinlichkeit
- Möglicherweise kann eine Aussage über zukünftige Regenfälle abgeschätzt werden.