PHP-Script für LoRaWAN Sensordaten
07.07.2024
Elektronik | Funk | Software
Der Technik-Blog
Endlich ist es so weit, die große LoRa Wetterstation ist fertig. Im Gegensatz zur kleinen LoRa Wetterstation kann diese nun auch die Windgeschwindigkeit und Sonnenintensität messen. Außerdem ist das ganze System autark und arbeitet mit einem leistungsstarken, energiesparenden recht gut verfügbaren ESP32 Board mit LoRa von Heltec. Durch den recht stabilen Aufbau aus Aluminium ist die Station auch recht witterungsbeständig. In diesem Artikel geht es nur um den elektronischen Aufbau der Wetterstation. Ein weiterer Artikel, wo es um die Software geht, folgt in Kürze.
Neben LoRa gibt es ja noch sehr viele andere Möglichkeiten, Daten drahtlos zu übertragen. Das große Problem: Die meisten Funkmodule haben eine Reichweite von maximal 100 Metern bei freier Sicht. Befindet sich die Empfangsstation bzw. das Gateway in einem Keller oder hinter einem Waldstück, dann reicht die Leistung dieser Module meist nicht aus. Und genau hier zeichnet sich LoRa aus, denn durch die hohe Empfangsempfindlichkeit können die Signale bis tief im inneren von Gebäuden oder auf freier Sicht auch noch aus vielen Kilometern empfangen werden. Außerdem gibt es bereits das Projekt LoRa Gateway hier am Blog, was sowohl mit der kleinen als auch großen Wetterstation kompatibel ist.
Die gesamte Wetterstation besteht aus einigen einzelnen Modulen und Bauteilen. Verbunden sind alle Komponenten über das I/O-Board. Die Leitungen zu den einzelnen Komponenten wurden im ALU-Rahmen verlegt. Die Kabel müssen nach dem Zuschneiden und Bohren der Löcher in den Alu-Profilen eingezogen werden. Anschließend werden alle Teile vernietet. Das schwarze Leergehäuse, wo die Elektronik und er Akku untergebracht ist, hat folgende Maße: 100mm x 60mm x 27mm (LxBxH). Wenn die Wetterstation fertig ist, empfiehlt es sich, die Schrauben und die zwei Schalen vom Leergehäuse mit einem Isolierband abzukleben, um das Eindringen von Wasser zu verhindern.
Die Energie kommt von einem 12 Volt Photovoltaik-Panel mit einer Leistung von etwa 5 Watt. Das Solarmodul sieht recht groß aus und wirkt auch überdimensioniert. Dieser Eindruck ist richtig, aber das ganze bietet zwei große Vorteile. Den ersten Vorteil erkennt man bereits beim Zusammenbau. Im Gegensatz zu kleinen Modulen haben größere bereits einen ALU-Rahmen, was sich perfekt für die Montage am Rahmen der Station eignet. Der zweite große Vorteil ist die Energieausbeute. Da die gesamte Wetterstation nur wenig Energie benötigt, kann mit so großen Solarmodulen der interne Akku auch an bewölkten Tagen geladen werden. Gerade im Winter, wenn das Tageslicht oft nur kurz und schwach ist, sollte die Wetterstation mit der verfügbaren Energie auskommen. Wird die Wetterstation in hohen Lagen installiert, wo es viel Wind und Schnee gibt, kann das große Solarmodul aber auch zum Nachteil werden, da es doch sehr schwer ist. Direkt nach dem Solarmodul kommt ein DC-DC Converter zum Einsatz, der die hohe Spannung von etwa 18 Volt auf stabile 5 Volt reduziert. Hinter diesem Converter befindet sich der Batteriecontroller. Hier werden die 5 Volt vom Converter nochmals auf die Batterieladespannung reduziert. Der TP4056 regelt den Ladevorgang und schützt auch die Batterie vor einer Tiefentladung. Deshalb wird die gesamte restliche Elektronik über diesen Laderegler versorgt. Gespeichert wird die Energie in einer einfachen Li-Ion Zelle mit einer Spannung von 3,7 Volt und einer Kapazität von etwa 500 Milliampere. Mit entsprechenden Energiemanagement durch die Software am ESP32 reicht die Kapazität dieser Batterie völlig aus.
Das I/O-Board ist eine kleine Lochrasterplatine, wo alle Leitungen von den Sensoren und der Energieversorgung zusammenkommen. Auf diesem Board sitzt auch das ESP32 LoRa Board, welches über einen Pin-Header mit dem I/O-Board verbunden ist. Außerdem befinden sich auf dieser Platine noch Spannungsteiler und Pegelzieher (Pulldown), welche für die Sensoren notwendig sind, sowie die Printklemmen für die weiteren Verdrahtungen.
Der BME280 ist ein recht preiswerter und brauchbarer Sensor, der Temperatur, Feuchtigkeit und Luftdruck messen kann. Dieser Sensor befindet sich auch auf einer kleinen Platine, wo er über die Printklemmen recht unkompliziert mit dem I/O-Board verbunden werden kann. Die Platine befindet sich in einer Schutzhülle, die den Sensor weitgehend vor Sonnenstrahlung und Nässe schützt. Das Gehäuse ist innen komplett offen, wodurch eine Luftzirkulation gewährleistet wird. Die Plusleitung wird von dieser Klemme zum Photowiderstand weitergeführt, der die Sonnenintensität misst. Übrigens kann der Sensor noch besser vor Nässe geschützt werden, wenn dieser zusätzlich unter ein kleines Dach gebaut wird. Hierzu eignet sich der Verschluss einer Einwegflasche ganz gut, der einfach auf den Sensor geklebt wird.
Der Sonnensensor besteht aus einem einfachen Photowiderstand, der mit zunehmender Helligkeit hochohmiger wird. Zusammen mit dem Potentiometer P1 bildet dieser Widerstand den Spannungsteiler für den anlogen Eingang. Über das Potentiometer kann die Empfindlichkeit des Sensors eingestellt werden. Da der Photowiderstand bei direkter Sonneneinstrahlung extrem hochohmig wird, muss auch das Potentiometer sehr hochohmig sein. Das hier verbaute Potentiometer hat einen Widerstand von einem Megaohm. Damit der Sonnensensor zwischen Sonne, Bewölkung und Dunkelheit unterscheiden kann, muss dieser über das Potentiometer extrem genau eingestellt werden. Dabei haben sich zwei Möglichkeiten bewährt:
Einstellung unter direkter Sonneneinstrahlung:
Der im Glas fest verbaute LDR-Sensor wird direkt in der Mittagszeit in das Sonnenlicht gehalten. Jetzt wird am Potentiometer so weit gedreht, dass die Wetterstation gerade noch 100 % anzeigt oder der analoge Eingangswert auf 4095 liegt. Legt man anschließend ein Taschentuch auf den Sensor, darf hier nur um die 50 % bzw. ein Wert um 2048 angezeigt werden. Dann muss man die Wetterlage einige Tage beobachten und kann dann eine Aussage treffen, ab wie viel Prozent die Sonne tatsächlich scheint und wann es nur bewölkt ist.
Einstellung bei mittlerer Bewölkung:
Wenn gerade keine Sonne verfügbar ist, kann man auch um die Mittagszeit an einem bewölkten Tag den Sensor einstellen. Dazu den Sensor gleich wie bei der ersten Variante einstellen, allerdings darf dieser dann nur um die 50 % Sonne anzeigen. An einem wolkenlosen Tag muss der Sensor dann 100 % anzeigen.
Eingelesen wird der Sensor analog über den ESP32 mit einer Auflösung von 12-Bit. Das Potentiometer regiert extrem empfindlich und erfordert daher auch einiges an Zeit und muss möglicherweise nachträglich optimiert werden. Eine weitere Möglichkeit, die Empfindlichkeit einzustellen wäre die Serienschaltung von zwei Potentiometern. Das erste Potentiometer im Megaohm Bereich bleibt erhalten und ein weiteres von etwa 100 Kiloohm wird ergänzt. Zuerst wird das kleine Potentiometer in die mittlere Stellung gedreht und mit dem großen Potentiometer wird grob eingestellt. Anschließend kann mit dem kleinen Potentiometer die Empfindlichkeit recht gut eingestellt werden. Die Bauanleitung für den Sensor ist ident mit der vom Dämmerungsschalter.
Der Windsensor (Anemometer) funktioniert ähnlich wie ein Taster. Im Windrad befindet sich ein Reed-Kontakt, der als Schließer arbeitet. Am Löffelrad sitzt ein kleiner Magnet, der dann bei jeder Umdrehung den Reed-Kontakt kurz betätigt. Über einen bestimmten Zeitraum werden dann die Impulse als Interrupt gezählt und ausgewertet. Nach einigen Sekunden gibt die Software die Windgeschwindigkeit in km/h aus. Damit der Sensor ordnungsgemäß funktioniert und der Mikrocontroller eindeutig zwischen High und Low unterscheiden kann, muss der Pegel über einen Pulldown-Widerstand nach unten gedrückt werden. Dieser Widerstand befindet sich zwischen den digitalen Eingang und der Masse und sollte etwa 10 Kiloohm haben. Der Windsensor ist leider immer wieder schwer zu bekommen. Entweder gibt es den Sensor überteuert auf Amazon oder er ist bei anderen Händlern ausverkauft. Am besten sucht man im Internet nach einem Ersatzanemometer für die WS1080 Wetterstation, dieses Modell entspricht exakt den hier verwendeten Sensor. Eine andere Lösung wäre eventuell ein Selbstbau mit 3-D-Druck. Jedenfalls sollte der Sensor mehr als 20 Euro kosten, gilt er als überteuert.
Bauteil | Wert |
---|---|
Widerstand R1 | 6,8K |
Widerstand R2 | 6,8K |
Widerstand R3 | 10K |
Potentiometer P1 | 1M |
3,7V Li-Ion Akku, Lochrasterplatinen, Pin-Header, Div. Kabel, Printklemmen, Reagenzglas, Nieten, ALU-Vierkantrohre, M8 Rohrschelle, Gehäuse für die Elektronik, Werkzeug
Gesamtkosten Projekt: Etwa 140 - 180 Euro
Das TTGO Board mit ESP32 und NEO 6M GPS Modul von UBLOX ermöglicht den Bau eines LoRa GPS Trackers. Inbetriebnahme und GPS Auswertung der GPS-Koordinaten
WeiterlesenMit dem Flash Download Tool können fertig exportierte Programme (.BIN Datei) auf den ESP32/ESP8266 ohne Arduino IDE geladen werden
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved