Kabellose Wetterstation

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Daniel Hilgers & Daniel Block
Betreuer: Prof. Schneider


Einleitung

Dieses Projekt ist Teil des GET-Fachpraktikums und hat zum Ziel, wettertechnische Messdaten wie Temperatur und Luftfeuchtigkeit zu erfassen. Zur Umsetzung dieses Vorhabens werden zwei Arduino-Plattformen verwendet. Die drahtlose Kommunikation miteinander ermöglicht die Übermittlung der Messdaten zu der Innenraum-Station. Beide Arduinos werden in ein eigens 3D-gedrucktes Gehäuse integriert, wobei das Außengehäuse wasserabweisende Eigenschaften aufweisen muss, um vor Regen geschützt zu sein und Feuchtigkeitsschäden zu vermeiden. Sowohl die Außenstation als auch die Inneneinheit erfassen Messdaten. Die gesammelten Daten von beiden Stationen werden auf der im Haus befindlichen Einheit miteinander dargestellt. Die gesamte Programmierung der Arduinos erfolgt mithilfe von Matlab Simulink.

Anforderungen

Teilanforderungen
Nr. Beschreibung Bereich Zuständigkeit
1 Das Gehäuse für die Außenstation muss wetterfest sein. Hardware Block, Hilgers
2 Die Reichweite der Wetterstation soll mindestens 10 Meter durch Wände betragen. Hardware Block, Hilgers
3 Das Außensystem muss mit einem Akku betrieben werden. Hardware Block, Hilgers
4 Das Innensystem soll mit einem kabelgebundenen Netzteil betrieben werden. Hardware Block, Hilgers
5 Die Wetterstation muss Temperatur, Luftfeuchtigkeit, Luftdruck und Windgeschwindigkeit messen. Hardware/Software Block, Hilgers
6 Das Programm Simulink muss für die Programmierung verwendet werden. Software Block, Hilgers
7 Die Messdaten müssen auf einem Display in Echtzeit angezeigt werden. Software Block, Hilgers
8 Die Messdaten sollen spätestens alle 15 Minuten aktualisiert werden. Software Block, Hilgers

Funktionaler Systementwurf/Technischer Systementwurf

Im folgenden Systementwurf wird das Projekt in Systemkomponenten unterteilt:

  • Arduino: Der Mikrocontroller führt den Code aus.
  • Display: Auf dem Display werden die Wetterdaten der Innen- und Außenstation nebeneinander dargestellt.
  • Temperatur und Feuchtigkeitssensor: Dieser Sensor ermittelt Temperatur und Feuchtigkeitsdaten und gibt sie an den Arduino weiter.


  • Anemometer: Misst die aktuelle Windgeschwindigkeit
  • Barometer: Misst den aktuellen Luftdruck am Gerät


  • Echtzeituhr: Dieser Baustein gibt die reale Zeit an den Arduino weiter.
  • Spannungsversorgung: Versorgt die jeweilige Station.
  • Funk- und Empfängermodul: Ermöglicht die Kommunikation der beiden Stationen und lässt einen kabellosen Datenaustausch zu.


Komponentenspezifikation

Komponentenliste
Nr. Komponentenbezeichnung Beschreibung Anzahl Bild
1 Arduino MEGA
  • ATmega2560 Prozessor
  • Versorgungsspannung: 7V-12V (empfohlen)
  • Betriebsspannung: 5V
  • 54 digitale Ein-/Ausgänge und 16 analoge Eingänge
2x
mini
mini
[1]
2 DHT22 AM2302 Temperatursensor und Luftfeuchtigkeitssensor
  • Betriebsspannung: 3,3 V bis 5,5 V
  • Temperatur:
  • Messbereich: -40 bis +80°C
  • Genauigkeit: ± 0,5 ° C
  • Feuchtigkeit:
  • Genauigkeit: ± 2 % rF
2x
mini
mini
[2]
3 NRF24L01+, PA + LNA Wireless Modul
  • Spannungsversorgung: 3-3.6V
  • max. Ausgangsleistung: +20 dBm
  • 1100m Reichweite
2x
mini
mini
[3]
4 NRF24L01 Adapter
  • Betriebsspannung: 4,8V bis 12V
  • Stabile Spannungsversorgen für NRF24L01+
2x
mini
mini
[4]
5 GY-BMP280 Barometrischer Sensor
  • Luftdruck-Sensor
  • Betriebsspannung: 1.8 - 5V
  • Ansteuerung über I2C bzw. SPI
1x
mini
mini
[5]
6 DS3231 Echtzeituhr
  • Betriebsspannung: 3,3V
  • Kommunikationsschnittstelle: I2C
1x
mini
mini
[6]
7 3,5" TFT-LCD-Display-Modul 480x320
  • Betriebsspannung: 2.8 - 3.3V
  • Bildschirmgröße: 3,5 Zoll
  • Mit Touch-Panel
1x
mini
mini
[7]
8 Außengehäuse
  • 3D gedruckt
  • Material: ASA Kunststoff
  • Wetterfest
1x
mini
mini
9 Innengehäuse
  • 3D gedruckt
  • Material: PLA Kunststoff
1x
mini
mini

Umsetzung (HW/SW)

Hardware

Projektübersicht:

In unserem Projekt zur Entwicklung einer kabellosen Wetterstation spielt die Konzeptionierung und Klärung der designtechnischen Aufgaben der Gehäuse für den Innen- und Außenbereich eine zentrale Rolle. Die zu entwerfenden Gehäuse sind nicht nur Behältnisse für die Elektronik, sondern erfüllen auch entscheidende funktionale Anforderungen, um die Langlebigkeit und Zuverlässigkeit der Wetterstation zu gewährleisten.

Innengehäuse Design:

Für den Innenbereich wird das Gehäuse um ein 3,5-Zoll-Display entworfen, das die Lesbarkeit der Wetterdaten sicherstellt. Es enthält auch einen Empfänger-Modul, Sensoren für Temperatur und Feuchtigkeit sowie eine Echtzeituhr, die alle innerhalb des Gehäuses geschützt sind. Die Benutzerfreundlichkeit und Ästhetik stehen hier im Vordergrund, wobei das Gehäuse auch eine gute Belüftung und einfache Wartung ermöglichen muss.

Außengehäuse Design:

Das Gehäuse für den Außenbereich ist ohne Display gestaltet, beherbergt aber neben dem Funkmodul und den Temperatur- und Feuchtigkeitssensoren zusätzlich ein Anemometer und ein Barometer. Dieses Gehäuse stellt höhere Anforderungen an die Witterungsbeständigkeit, um die Technik vor den Elementen zu schützen. Hier kommt das Material ASA (Acrylonitril-Styrol-Acrylester) ins Spiel, das sich durch seine hervorragende UV- und Witterungsbeständigkeit, Hitze- und Stoßfestigkeit als ideal für Außenanwendungen erweist.

Materialwahl und Verarbeitung:

Obwohl ASA in der Verarbeitung anspruchsvoller sein kann und eine begrenzte Lösungsmittelbeständigkeit aufweist, überwiegen seine Vorteile für den Außenbereich. Aufgrund potenziell gefährlicher Dämpfe während des Druckprozesses wird eine gute Belüftung erforderlich, und die höheren Kosten sowie die notwendigen höheren Extrudertemperaturen müssen realisiert werden.

Montage:

Das Design der Gehäuse berücksichtigt eine effiziente Montage und Demontage, um den Zugang zu den Komponenten für Wartung oder Austausch zu erleichtern. Das Außengehäuse bietet zudem eine effektive Wärmeableitung, um eine Überhitzung der Elektronik zu verhindern. Ein robustes Montagesystem sichert die Wetterstation an verschiedenen Orten wie Wänden, Pfosten oder Palisaden.

Integration:

Ästhetisch soll das Design der Gehäuse das moderne und technische Wesen der Wetterstation widerspiegeln und sich harmonisch in die jeweilige Umgebung einfügen. Zusammengefasst bieten die durchdacht gestalteten Gehäuse eine optimale Balance zwischen Funktionalität und Widerstandsfähigkeit, wodurch die kabellose Wetterstation nicht nur ein nützliches, sondern auch ein ansprechendes Element im Wohn- oder Außenbereich darstellt.

Verdrahtungspläne:

Verbindungsplan der Außenstation Datei:Außenstation Fritzing.fzz
Verdrahtungsplan der Außenstation Datei:Außenstation Fritzing.fzz


Verdrahtungsplan der Außenstation Datei:Innenstation Fritzing.fzz
Verdrahtungsplan der Außenstation Datei:Innenstation Fritzing.fzz



Innenstation:

Außenstation:

Software

In der Entwicklung unseres Projekts spielte die Verwendung von MATLAB/Simulink eine zentrale Rolle. Um die spezifischen Anforderungen unseres Systems zu erfüllen, wurden zwei unterschiedliche Simulink-Modelle entwickelt. Diese Entscheidung ergab sich aus der Notwendigkeit, zwei separate Arduino-Controller zu steuern: einen für den Außenbereich und einen weiteren für den Innenbereich.

Um eine effiziente Integration mit den Arduino-Controllern zu gewährleisten, wurde das Simulink Support Package für Arduino eingesetzt. Dieses Paket ermöglichte es uns, die Funktionalität der Arduino-Hardware direkt in die Simulink-Umgebung zu integrieren, was eine nahtlose Interaktion zwischen unserer Software und der Hardware sicherstellte.

Ein entscheidendes Element unserer Softwareentwicklung war die Verwendung des Simulink S-Function Builder Blocks. Dieser Block spielte eine Schlüsselrolle, da er es uns ermöglichte, benutzerdefinierten C++-Code in unsere Simulink-Modelle zu integrieren. Durch diesen Ansatz konnten wir verschiedene Arduino-Bibliotheken nutzen, um spezifische Funktionen und Fähigkeiten unserer Hardware zu steuern und zu erweitern.

Für eine transparente Dokumentation und mögliche Weiterentwicklungen haben wir zudem den Quellcode der einzelnen S-Function Blöcke separat im Artikel beigefügt. Diese Dokumentation des Quellcodes erleichtert das Verständnis der Funktionsweise und ermöglicht es anderen Entwicklern, auf unserer Arbeit aufzubauen oder sie für ihre eigenen Projekte anzupassen.

Programmablaufplan

Innenstation

Touchdisplay Block


nRF24L01_1 Wireless Modul (Empfänger)


DS3231 Block ( Echtzeituhr)


Innenstation

Außenstation

nRF24L01_1 Wireless Modul (Sender)


S-Function Tutorial


Komponententest

Teilanforderungen
Nr. Beschreibung Testmethode Zuständigkeit Testergebnis
1 Das Gehäuse für die Außenstation muss Wetterfest sein. Außenstation wurde für 2 Tage draußen bei Regen/Wind getestet. Block, Hilgers Bestanden
2 Die Reichweite der Wetterstation soll mindestens 10 Meter durch Wände betragen. Funkverbindung wurde über ca. 20m durch Wände hinweg getestet Block, Hilgers Bestanden
3 Das Außenstation muss mit einem Akku betrieben werden. Außenstation wird mit einer 18650 LiIon Akkuzelle betrieben. Block, Hilgers Bestanden
4 Das Innenstation soll mit einem kabelgebundenen Netzteil betrieben werden. Innenstation wird mit einem externen Netzteil betrieben. Block, Hilgers Bestanden
5 Die Wetterstation muss Temperatur, Luftfeuchtigkeit, Luftdruck und Windgeschwindigkeit messen. Die Wetterstation misst Temperatur, Luftfeuchtigkeit, Luftdruck und Windgeschwindigkeit. Block, Hilgers Bestanden
6 Das Programm Simulink muss für die Programmierung verwendet werden. Das Programm Simulink wurde für die Programmierung verwendet. Block, Hilgers Bestanden
7 Die Messdaten müssen auf einem Display in Echtzeit angezeigt werden. Die Messdaten werden auf einem Display in Echtzeit angezeigt. Block, Hilgers Bestanden
8 Die Messdaten sollen spätestens alle 15 Minuten aktualisiert werden. Die Messdaten werden direkt aktualisiert. Block, Hilgers Bestanden

Ergebnis

Das Projekt zur Entwicklung einer kabellosen Wetterstation an der HSHL im Fachgebiet der Mechatronik führte zu einer erfolgreichen Implementierung und Funktion der Station. Die Wetterstation ist in der Lage, Messdaten sowohl von der Innen- als auch von der Außenstation zu verarbeiten und anzuzeigen. Diese Daten umfassen Windgeschwindigkeit, Temperatur, Luftfeuchtigkeit, Taupunkt, Hitzeindex und gefühlte Temperatur, wobei die Außenstation die Informationen drahtlos an die Innenstation übermittelt. Ein besonderes Merkmal der Station ist die Speicherung von Temperaturwerten stündlich über einen Zeitraum von 24 Stunden, die dann in einem Plot visualisiert werden können. Die Wireless-Verbindung zwischen den Stationen zeichnet sich durch eine hohe Reichweite (>20m durch Wände) aus, was für den Einsatz im Außenbereich essentiell ist. Insgesamt funktioniert die Wetterstation zuverlässig nach den vorgegebenen Anforderungen und liefert präzise Wetterdaten im Rahmen des beabsichtigten Einsatzbereichs.

Zusammenfassung

Lessons Learned

Das Projekt zur Entwicklung einer kabellosen Wetterstation umfasste mehrere Phasen: Planung, Beschaffung der Komponenten, Implementierung, Umsetzung und Dokumentation.

Eines der ersten Learnings war die Erkenntnis, dass Simulink für das Projekt nicht optimal geeignet war. Ursprünglich für die Regelungstechnik gedacht, erwies sich Simulink als wenig nützlich für die Verarbeitung von Messdaten, da die verwendeten Sensoren die Messverarbeitung intern durchführen. Die Implementierung wäre einfacher gewesen, wenn sie direkt in der Arduino IDE stattgefunden hätte. Trotzdem bot die Nutzung von Simulink eine wertvolle Lernerfahrung, insbesondere im Umgang mit s-function-Blöcken.

Ein weiterer wichtiger Aspekt waren die programmiertechnischen Herausforderungen. Die Speicherung der Messdaten und die graphische Darstellung des Temperaturverlaufs in einem Plot waren komplexer und zeitaufwändiger als ursprünglich angenommen. Dies unterstreicht die Bedeutung einer realistischen Einschätzung von Aufwand und Komplexität bei der Planung von Softwareprojekten.

Die Konstruktion des Gehäuses stellte sich ebenfalls als umfangreich heraus. Das Gehäuse, bestehend aus mehreren Teilen und musste sorgfältig entworfen und produziert werden, um den unterschiedlichen Anforderungen der Innen- und Außenstation gerecht zu werden. Hierbei wurde besonderer Wert auf Wetterfestigkeit, Ästhetik und Benutzerfreundlichkeit gelegt. Die Verwendung von 3D-Druck und die Auswahl geeigneter Materialien wie ASA für das Außengehäuse waren entscheidend für die Langlebigkeit und Funktionalität der Station.

Das Endergebnis des Projekts war eine funktionsfähige Wetterstation, die die Messdaten von Innen- und Außenstation erfasst und drahtlos übermittelt. Die Wetterstation kann Temperatur, Taupunkt, Hitzeindex und gefühlte Temperatur messen und anzeigen. Die Wireless-Verbindung zeichnet sich durch eine die Anforderungen übertreffende Reichweite aus, was für den Einsatz im Außenbereich elementar war. Besonders hervorzuheben ist die Fähigkeit der Wetterstation, stündlich Temperaturwerte zu speichern und diese für die letzten 24 Stunden in einem Plot darzustellen. Diese Funktion erwies sich als besonders nützlich, um Temperatur-Trends zu visualisieren.

Ein weiteres zentrales learning war die Bedeutung einer gründlichen Vorbereitung und Planung in allen Projektphasen. Die umfassende Recherche und sorgfältige Auswahl der Komponenten war entscheidend für den Erfolg des Projekts. Insbesondere die Wahl der Sensoren und der Kommunikationsmodule spielte eine wichtige Rolle, um eine zuverlässige Datenerfassung und Übertragung zu gewährleisten.

Die Verwendung des Simulink Support Package für Arduino und die Anpassung des S-Function Builders waren bei der Programmierung Schlüsselmomente, die das Projekt erst realisierbar machten. Die Möglichkeit, benutzerdefinierten C++-Code in die Simulink-Modelle zu integrieren, eröffnete neue Wege zur Steuerung und Erweiterung der Funktionalität der Hardware.

Ein weiterer Aspekt war die Bedeutung einer detaillierten Dokumentation. Durch die transparente Dokumentation des Quellcodes und der Projektprozesse wurde nicht nur das Verständnis innerhalb des Teams gefördert, sondern auch die Möglichkeit für zukünftige Verbesserungen und Anpassungen geschaffen.

Abschließend lässt sich sagen, dass das Projekt wertvolle Erkenntnisse über die Herausforderungen bei der Entwicklung einer kabellosen Wetterstation geliefert hat. Es hat gezeigt, dass sorgfältige Planung, Anpassungsfähigkeit und detaillierte Dokumentation entscheidend für den Erfolg eines solchen Vorhabens sind. Diese Erfahrungen können in zukünftigen Projekte in verschiedensten Bereichen einfließen und als Grundlage für weitere Innovationen und Verbesserungen dienen.

Projektunterlagen

Projektplan

Projektdurchführung

Das Projekt "kabellose Wetterstation" wurde durchgeführt als Teil des GET-Fachpraktikums. Es konzentriert sich auf die Erfassung und Analyse wettertechnischer Daten, wie Temperatur und Luftfeuchtigkeit mit Hilfe von zwei ArduinoMega. Diese Arduinos, integriert in selbst entworfene 3D-gedruckte Gehäuse, kommunizieren drahtlos miteinander. Das Außengehäuse wurde speziell wasserabweisend konstruiert, um die interne Elektronik vor Regen und Feuchtigkeit zu schützen. Sowohl die Innen- als auch die Außenstation erfassen Messdaten, die dann auf einem Display in der Innenraum-Station visualisiert werden.

Die Entwicklung dieser kabellosen Wetterstation umfasste zwei Hauptbereiche: die Hardware- und die Softwareentwicklung.

In der Hardwareentwicklung liegt der Fokus auf dem Design und der Konstruktion der physischen Komponenten. Dies beinhaltet die Auswahl geeigneter Materialien für die Gehäuse, die Integration von Sensoren und Mikrocontrollern sowie die Sicherstellung der Wetterfestigkeit und der drahtlosen Kommunikation. Wichtige Aspekte sind dabei die Robustheit der Außenstation gegenüber Witterungseinflüssen und die ergonomische sowie ästhetische Gestaltung der Innenstation. Im Innengehäuse ist ein 3,5-Zoll-Display verbaut, dass die Lesbarkeit der Wetterdaten sicherstellt. Die Innenstation verfügt über ein Empfänger-Modul, Sensoren für Temperatur und Feuchtigkeit sowie eine RealtimeClock, diese sind alle im Gehäuse untergebracht. Beim Design des Innengehäuses wurde besonderen Wert auf Benutzerfreundlichkeit und einfache Wartung gelegt, es berücksichtigt aber ebenso eine gute Belüftung. Das Außengehäuse, das ohne Display gestaltet ist, besitzt neben dem Funkmodul und dem Temperatur- und Feuchtigkeitssensor auch ein Anemometer und ein Barometer. Es ist aus dem Material ASA (Acrylnitril-Styrol-Acrylat) 3D-gedruckt, ein Material das sich durch seine UV- und Witterungsbeständigkeit auszeichnet.

Auf der anderen Seite steht die Softwareentwicklung, die sich mit der Programmierung der Mikrocontroller, der Entwicklung der Benutzeroberfläche, der Implementierung der Datenverarbeitung und Datenanzeige befasst, alles unter Verwendung von MATLAB/Simulink. Hierbei spielte MATLAB/Simulink, das als Vorgabe des Praktikums zu verwenden war, eine zentrale Rolle. Es wurden zwei unterschiedliche Simulink-Modelle erstellt, um die spezifischen Anforderungen der separat agierenden Arduino-Controller für den Innen- und Außenbereich zu erfüllen. Unter Verwendung von Simulink S-Function-Blöcken wurde C++-Code in die Simulink-Modelle integriert. Dies ermöglichte verschiedene Arduino-Bibliotheken für spezifische Funktionen zu nutzen, die sonst nicht verfügbar gewesen wären.

Das Projektmanagement beinhaltete die Erstellung eines Gantt-Charts und des Programmablaufplans, die die zeitliche Planung und wichtige Meilensteine des Projekts darstellen. Diese Diegramme ermöglichten es uns bereits im Vorhinein eine solide Planung der einzelnen Abschnitte des Projektes anzustellen. Wir konnten durch sie konstant nachverfolgen ob wir im Zeitplan liegen.

Insgesamt zeigt dieses Projekt eine umfassende Kombination aus technischen und praktischen Anwendungen in der Wetterüberwachung.

Zur Funktionsüberprüfung wurden nach dem Zusammenbau ein Versuch durchgeführt. Dieser zeigte, dass die Messdaten und die Ausgabe übereinstimmen. Ebenso wurde die korrektheit der Messdaten überprüft.

Abschließend wurde ein Youtube Video das die Funktionsweise darstellt gedreht, geschnitten und Online zur verfügung gestellt.

YouTube Video

Weblinks

Literatur


→ zurück zur Übersicht: WS 23/24: Angewandte Elektrotechnik (BSE)