Der Gewitter-Monitor mit graphischer Anzeige war ein Projekt, das ich im Jahr 2014 fertig gestellt hatte. Seit dem habe ich das Gerät immer wieder einmal im Einsatz, und es tut gute Dienste. Inzwischen ist es aber an der Zeit für etwas Modell-Pflege. Rechtzeitig vor der nächsten Gewitter-Saison stelle ich hier die neue Version 2 vor.
Version 2 verwendet im Kern einen Arduino, wodurch das Programmieren und Flashen vereinfacht wurde. Das I2C-Smart Graphic LCD ermöglicht ansprechende Graphiken. Dazu gibt es eine vollständig neu entwickelte Software mit vielen neuen Features, z.B. einen mehrstufigen Alarm-Level, eine Trend-Analyse und ein Konfigurations-Menü.
Bewährtes Design mit neuen Funktionen
Das Grundprinzip des Gewitter-Monitors bleibt bestehen und wird hier kurz zusammengefasst.
Wer Radiohören noch aus den Zeiten von Mittelwelle und Langewelle kennt, der weiß, dass Gewitter-Blitze als störendes Krachen im Lautsprecher zu hören waren. Seit dem Umstieg auf Frequenzmodulation oder gar digitale Verfahren ist das aus unserem Radio-Alltag verschwunden. Das Prinzip eignet sich aber nach wie vor, um Gewitter-Blitze zu beobachten und zu registrieren.
Die hier vorgestellte Schaltung arbeitet mit zwei Langewelle-Empfängern, die auf einer freien Frequenz (ungefähr 100kHz) ständig in den Äther hören. Sobald ein Signal erfasst wird, wird es von einem Mikrocontroller untersucht. Typisch für Blitze sind schnell ansteigende Flanken (im Lautsprecher als „Knacken“ vernehmbar), die mit Hilfe des Analog-Digital-Converters (ADC) im Mikrocontroller selektiert und vermessen werden. Die Software sammelt die Anzahl der registrierten Blitze und die Summe der Pegel, die für jeden Blitz erreicht werden. Die Daten werden dann auf einem graphischen Display angezeigt. Das Display zeigt nicht nur die aktuell gemessenen Werte, sondern auch den Verlauf über die letzten Stunden. Die Daten erlauben die Analyse des Alarm-Levels, der über Leuchtdioden angezeigt werden. Darüber hinaus gibt es eine Trend-Analyse, um abzuschätzen, wie sich die Gewitteraktivitäten entwickeln werden.
Der analoge Schaltungsteil des vorherigen Gewitter-Monitors mit AM-Empfängern und der Peak-Detection-Schaltung hat sich bewährt und wurde übernommen. Die einzige Veränderung bezieht sich auf die Zeitkonstante der Peak-Detection, was weiter unten beschrieben wird.
Es gibt aber drei wesentliche Neuerungen:
(1) Die erste Veränderung trägt dem Feedback von einigen Nachbauten Rechnung. Basierend auf der zunehmenden Popularität des Arduino-Frameworks habe ich mich entschlossen, den ATmega-Prozessor im DIL-Gehäuse durch einen Arduino Nano zu ersetzen. Ich muss zugeben, dass ich für meine Entwicklungen lieber direkt mit den AVR-Prozessoren arbeite. Die Arduino-Boards waren bisher immer gross, teuer und unhandlich für die Entwicklung von eigenständigen Geräten. Mit der Verfügbarkeit des kleinen und preisgünstigen Arduino Nano-Boards hat sich das aber verändert. Die kleine Platine hat ein komplettes Kernsystem für den ATmega-Prozessor an Board, was den Aufbau vereinfacht. Es bleibt der Nachteil, dass der Arduino im Vergleich zu einem „nackten“ ATmega-Prozessor relativ strom-hungrig ist, da die Peripherie, z.B. das USB-Interface und die eingebaute Leuchtdiode, immer unter Spannung stehen. Da der Gewitter-Monitor aber wahrscheinlich nicht mit Batterie-Strom betrieben wird, ist dieser Nachteil verschmerzbar.
(2) Die zweite Veränderung bezieht sich auf das Graphik-Display. Bei dem vorher verwendeten ST7920 gab es Beschaffungsprobleme für die SPI-Variante. Außerdem fand ich die u8glib-Bibliothek unhandlich. Was lag also näher als eines der gut verfügbaren KS0108-Displays einzusetzen und mit dem Smart-I2C-Interface zu kombinieren, das an anderer Stelle beschrieben ist (siehe Universelles I2C-Interface für Graphik-LCD). Konkret habe ich mich für das 4-Zoll Display (Typ 3) entschieden, dass mit einer Auflösung von 192 x 64 Pixeln bei ansprechender Größe neue Möglichkeiten eröffnet. Das Graphik LCD-Display ist z.B. bei eBay unter dem Stichwort 4″ 192×64 Graphic LCD Modul Display in verschiedenen Farben erhältlich.
(3) Und schließlich war es an der Zeit, die Software komplett zu überarbeiten. Der neue Gewitter-Monitor hat einige neue Funktionen bekommen, speziell zur Analyse des Alarm-Status und der Trend-Entwicklung. Außerdem lässt sich das neue System flexible konfigurieren über ein Menü zur Einstellung der wichtigsten Parameter. Die Software wurde komplett in der Arduino-Entwicklungsumgebung geschrieben und kann mit dem vorhandenen USB-Interface des Arduinos in den Programmspeicher übertragen werden. Ein separater AVR-Programmer ist dafür nicht notwendig.
Die Schaltung
Der neue Gewitter-Monitor besteht aus dem Antennen-Modul, das wie oben beschrieben ohne Veränderung von der vorherigen Version übernommen wurde, und dem Hauptteil, das für die Auswertung und Anzeige zuständig ist. Das Antennen-Modul wird über ein 6-poliges Flachband-Kabel mit dem Hauptteil verbunden.
Hier arbeitet ein AM-Empfänger mit dem TA7642 und einem Ferritstab als magnetische Antenne. Der Ferritstab hat eine Richtwirkung mit engen aber stark ausgeprägten Minima in Richtung der Ferritstab-Achse. Deshalb werden zwei Empfänger eingesetzt, die senkrecht zueinander stehen. So wird eine lückenlose Abdeckung von 360 Grad erreicht.
Der Hauptteil des Gerätes verwendet, wie oben beschrieben, einen Arduino Nano und das Smart-I2C-Graphic-Display.
Das Signal vom Antennen-Modul wird mit einem Transistor (BC549C) verstärkt und dann an die Peak-Detection-Schaltung mit dem Operationsverstärker MCP602 geführt. Diese Schaltung folgt ansteigen Flanken sehr schnell und lässt das Signal dann langsam abfallen. So wird es möglich, mit dem naturgemäß relativ langsamen ADC die kurzen Blitz-Impulse sicher zu erfassen. Die Funktionsweise der Peak-Detection lässt sich mit dem Oszilloskop beobachten.
Im Gegensatz zum vorherigen Gewitter-Monitor wurde die ADC-Abtast-Frequenz erhöht auf 2000 Hz pro Kanal. Entsprechend konnte die Zeitkonstante der Peak-Detection-Schaltung reduziert werden (10nF statt vorher 100nF). Dadurch erreicht das neue System eine etwa 10-fach höhere zeitliche Auflösung. Ereignisse, die vorher als ein einziger Blitz registriert wurden, können jetzt in mehrere diskrete Blitze aufgelöst werden.
Rechts oben im Schaltplan befindet sich die Spannungsversorgung für das Antennen-Modul. Die Empfangs-Empfindlichkeit der TA7642-ICs lässt sich über die Versorgungsspannung einstellen. Die Schaltung verwendet eine Band Gap-Referenz (TL431), die exakte 2.5V produziert, und einen Emitterfolger mit einem weiteren BC549C. Mit einem Trimmer kann der gewünschte Spannungswert gewählt werden. Ich habe die besten Erfahrungen mit 1.6V gemacht, gemessen am Eingang des Antennenmoduls (vor der Diode).
Für die Bedienung des Geräts sind drei Tasten verfügbar, die mit Select, Down und Up bezeichnet sind. Die Tasten befinden sich zusammen mit den Leuchtdioden für die Anzeige des Alarm-Levels und der Blitz-Erkennung auf einer kleinen Platine, die hier als Front-Panel bezeichnet wird.
Die Spannungsversorgung der Schaltung geschieht über ein externes Stecker-Netzteil, das mindestens 7V liefern sollte. Der Strombedarf ist abhängig von der eingestellten Beleuchtungsstärke des Displays und liegt maximal bei 150mA. Intern arbeitet ein Festspannungsregler. Zwar hat der Arduino einen eigenen 5V-Regler an Board, den man auch zur Versorgung der anderen Schaltungsteile heranziehen könnte. Ich habe mich aber für eine separate Versorgung entschlossen, weil der Regler auf dem Arduino bei größeren Eingangsspannungen vom Stecker-Netzteil (in meinem Fall 12V) und Strömen oberhalb von 100mA durchaus recht warm werden.
Damit ist die Schaltung beschrieben. Durch den Einsatz des integrierten Arduino Nano-Boards ist der Aufbau überschaubar. Dazu trägt auch die Tatsache bei, dass der Audio-Verstärker, der in der vorherige Version vorhanden war, hier weggelassen wurde. Es hat sich gezeigt, dass beim laufenden System keine Notwendigkeit besteht, das Signal akustisch auszugeben.
Vollständig neue Software
Der Umstieg auf Arduino und das Smart-I2C-GLCD erforderte eine vollständige Überarbeitung der Software. Das Grundprinzip ist aber weitgehend gleich geblieben.
Die Software besteht aus 4 Modulen:
- GewitterMonitor_v2.ino ist das Hauptprogramm mit den setup() und loop()-Funktion und der Timer-getriebene Interrupt-Routine
- GewitterMonitor_graphs.ino beinhaltet die Funktionen zur Anzeige auf dem Display
- GewitterMonitor_stats.ino beherbergt die Statistik-Funktionen
- GewitterMonitor_config.ino ist für die Verwaltung der Konfiguration zuständig.
Zusätzlich benötigt das Programm die Arduino-Bibliothek für das Graphik-Display glcd_functions. Um erfolgreich zu kompilieren, muss sich der glcd_functions-Folder im librariers-Ordner der Arduino-Sketche befinden – – wie bei Arduino üblich.
Alle Dateien sind auf der Ressourcen-Seite zum Download verfügbar. Für die glcd_functions-Bibliothek muss darauf geachtet werden, dass die Version vom 21-Feb-2018 (oder neuer) benötigt wird.
Kernstück der Software ist die Interrupt-Routine im Hauptprogramm. Diese Routine wird durch einen Timer-Interrupt 4000 mal pro Sekunde aufgerufen und liest wechselweise die ADC-Kanäle 0 und 1 ein. Das bedeutet, dass die Ausgänge vom Antennen-Modul wie oben beschrieben 2000 mal pro Sekunde abgefragt werden. Wenn sich zwei aufeinanderfolgende Werte um einen bestimmten Wert unterscheiden, wird dieses als Erkennung einer ansteigenden Flanke gewertet und entsprechend ein Blitz registriert. Der Schwellwert zur Blitzerkennung ist ein wichtiger Parameter des Systems, der sich konfigurieren lässt. Kleinere Werte bedeuten höhere Empfindlichkeit aber auch höhere Anfälligkeit gegen Störsignale. Größere Werte bedeuten geringere Empfindlichkeit. Als Default-Wert wird 150 eingesetzt, was bei dem Wertebereich des ADC von 1024 also etwa 15% Ausschlag entspricht. Damit habe ich die besten Erfahrungen gemacht.
Wenn der Trigger für die Blitzerkennung ausgelöst wurde, ermittelt das Programm den Maximalwert des Blitzes. Für jede Minute speichert das Programm die Anzahl der Blitze (flash_cnt) und die Summe der gemessenen Blitz-Maxima (flash_sum) in einem Array ab. Die Werte der letzten 150 Minuten stehen zur Anzeige zur Verfügung.
4 verschiedene Alarm-Level
Der Alarm-Level soll Auskunft geben, wie stark oder möglicherweise gefährlich die derzeitige Gewitter-Aktivität ist. Diese Information mag den interessierten Wetterbeobachter erfreuen oder hilfreich sein, um z.B. ein geplantes Picknick im Freien zu verschieben oder eine windanfällige Markise einzufahren.
Das System kennt 4 verschiedene Alarm-Level. Der Alarm-Level 1 schaltet die Display-Beleuchtung ein. Die Idee ist, dass das Gerät bei geringer Gewitteraktivität selbstständig um Aufmerksamkeit bittet. Die folgenden Alarm-Level 2 bis 4 werden über die drei roten Leuchtdioden als aufsteigende Reihe angezeigt.
Für die Berechnung des Alarm-Levels werden die Daten der letzten 15 Minuten herangezogen, sofern nichts anderes eingestellt wurde. Das Zeitfenster für die Auswertung des Alarm-Levels (alarm window) ist wiederum ein Parameter, den der Anwender konfigurieren kann. Der Default-Wert von 15 Minuten kann zwischen 5 und 60 Minuten gewählt werden.
Die Datenbasis für den Alarm-Level ist das Array mit den Summenwerten der Blitze pro Minute (flash_sum). Das Programm erlaubt zwischen zwei verschiedenen Algorithmen zu wählen. Entweder wird der Durchschnittswert (average) der Summenwerte berechnet, oder es wird der Maximalwert (max) gesucht. Durchschnittswerte sind robuster gegen einzelne Ausreißer, aber sie reagieren auch träger auf Veränderungen. Hier muss man Erfahrung sammeln, um zu schauen, was sich am Besten eignet. Für meinen Einsatz bevorzuge ich die Durchschnittsberechnung. In jedem Fall liefert das Programm einen Wert, entweder Durchschnitt oder Maximum, der dann mit einem Alarm-Schwellwert verglichen wird. Wird der Schwellwert übertroffen, dann wird der Alarm-Level 1 ausgelöst. Die anderen Alarm-Level verhalten sich entsprechend einer geometrischen Reihe:
- Durchschnitt oder Maximum > Schwellwert: Alarm-Level 1
- Durchschnitt oder Maximum > 2 * Schwellwert: Alarm-Level 2
- Durchschnitt oder Maximum > 4 * Schwellwert: Alarm-Level 3
- Durchschnitt oder Maximum > 8 * Schwellwert: Alarm-Level 4
Man kann leicht erkennen, dass es bei einem Alarm-Level 4 wirklich gewaltig kracht und das Gewitter in direkter Nähe ist.
Der Schwellwert des Alarm-Levels (alarm threshold) lässt sich ebenfalls konfigurieren. Man kann sowohl den gewünschten Algorithmus (Durchschnitt oder Maximum) als auch den Wert selber wählen. Als Default-Wert verwendet das System die Durchschnitts-Methode bei einem Schwellwert von 50.
Ich muss an dieser Stelle erwähnen, dass ich aufgrund der winterlichen Wetterlage bisher noch keine praktische Erfahrung mit den Alarm-Leveln sammeln konnte. Sicherlich wird es im Laufe des Sommers den einen oder anderen Software-Update geben.
Anzeige und Bedienung
Nach diesen Erklärungen sind das Display und die Bedienelemente hoffentlich einleuchtend.
Das 4-Zoll Display macht den Hauptteil der Frontseite aus. Es gibt dort zwei Bereiche: Auf der rechten Seite werden die aktuellen Messdaten für die laufende Minute gezeigt. Count steht für die Anzahl der registrierten Blitze in dieser Minute, und Sum für den Summenwerte über die gemessenen Maxima. Der Sekundenzähler unten in Bild läuft immer von 0 bis 60. Sobald die Minute voll ist, werden die aktuellen Daten übernommen und in den Verlauf eingefügt, der dabei um eine Reihe (= eine Minute) nach links verschoben wird.
Im rückblickenden Verlauf steht jede vertikale Linie für die Summe der Blitze während einer Minute. Am oberen Rand ist die Zeit-Skala angedeutet. Die kleinen Striche stehen für jeweils 15 Minuten, und der etwas größere Strich für eine Stunde. Man muss beachten, dass die vertikale Achse automatisch skaliert wird, um auch den größten gemessenen Wert sinnvoll abbilden zu können. Wenn z.B. der größte gemessene Wert 350 ist, dann wird die Skala bis 500 skaliert, usw.
Die gepunktete vertikale Linie zeigt das Zeitfenster für die Berechnung des Alarm-Levels. Alle Werte zwischen der gepunkteten Linie und dem rechten Rand (der aktuellen Zeit) werden für die Berechnung der Alarm-Level herangezogen. Wenn man im Konfigurations-Menü das Zeitfenster anders einstellet, wandert die gepunktete Linien an ihren neuen Platz.
Oben links im Display wird das Maximum (max) und der Durchschnittswert (avg) für das aktuelle gewählte Zeitfenster angezeigt.
Die restlichen Bedienelemente sind schnell erklärt. Die beiden gelben Leuchtdioden oben leuchten kurz auf (200 msec), sobald ein Blitz registriert wurde. Mit den beiden gelben Tasten lassen sich die Graphik-Bildschirme durchschalten. Man kann entweder die Anzeige der Summen oder die Anzeige der Anzahl der Blitze wählen. Schließlich ist die rote Taste ist für das Konfigurations-Menü vorgesehen.
Die Beleuchtung der Anzeige schaltet sich nach einiger Zeit ab, sofern kein Alarm-Level gesetzt ist. Wenn der neugierige Zeitgenosse trotzdem die aktuellen Daten sehen möchte, genügt ein Druck auf eine der Tasten, womit die Beleuchtung für 2 Minuten aktiviert wird.
Trend-Analyse
Interessanter als der Verlauf der letzten Minuten oder Stunden ist eigentlich das, was kommt. Wird das Gewitter noch stärker werden oder zieht es ab? In die Zukunft schauen kann der Gewitter Monitor natürlich nicht. Aber die Daten der Vergangenheit geben Anhaltspunkte. Zu dem Zweck habe ich eine Trend-Analyse in das Programm aufgenommen. Genaugenommen wird eine lineare Regression nach der Methode der kleinsten Quadrate über die Werte der letzten 45 Minuten (Regressions-Zeitfenster) berechnet und angezeigt. Die resultierende Gerade kann ansteigen oder abfallen, was sich in einem positiven oder negativen Steigungs-Koeffizienten erkennen lässt. Dieser Wert wird angezeigt – allerdings nur, wenn der Korrelations-Koeffizient grösser als 0.5 ist und somit einen sinnvollen Zusammenhang zeigt. Positive Werte bedeuten also, dass die Gewitter-Aktivität in den letzten 45 Minuten zugenommen hat, während negative Werte die Abnahme anzeigen. Wenn die Messwerte durchgängig bei 0 liegen oder wild streuen, so dass die Statistik keinen Trend erkennen lässt, dann wird im Display nur „–.-“ angezeigt.
Die Trend-Analyse kann jederzeit mit den Up– oder Down-Tasten dazu geschaltet werden. Die beiden gelben Tasten laufen hintereinander 4 verschiedene Darstellungen durch:
- Zeitverlauf der Summenwerte (Flash Sum)
- Zeitverlauf der Summenwerte zusätzlich mit Trend-Analyse (Flash Sum + Trend)
- Zeitverlauf der Anzahl der Blitze pro Minute (Flash Count)
- Zeitverlauf der Anzahl der Blitze pro Minute mit Trend-Analyse (Flash Count + Trend)
Auch hier gilt die oben gemachte Bemerkung, dass ich bisher noch keine Erfahrung mit dieser Funktion sammeln konnte. Der Sommer wird möglicherweise Software-Updates bringen.
Konfiguration
Wie oben beschrieben gibt es die Möglichkeit, die wichtigsten System-Parameter zu konfigurieren und an den Aufstellungsort und die Anwender-Vorlieben anzupassen. Ein langer Druck (> 3 sec) auf die rote Select-Taste führt in das Konfigurations-Menü.
Die Auswahl des gewünschten Parameters erfolgt über die Up– and Down-Tasten. Dann führt ein Druck auf die rote Select-Taste in die Einstellung für den gewählten Wert.
Mit den Up– und Down-Tasten kann der gewählte Werte verändert werden. Ein weiterer Druck auf Select übernimmt den neuen Wert und führt zurück zum Menü. Mit der Anwahl des letzten Eintrags, Exit, verlässt man das Konfigurations-Menü.
Alle Parameter haben Default-Werte, die bei dem ersten Programmstart eingestellt werden. Diese Werte haben sich bisher als eine gute Wahl während des Testbetriebs herausgestellt.
Hier eine kurze Zusammenfassung der Konfigurations-Parameter mit ihren Default-Werten
- Trigger threshold ist die minimale Schrittgröße zwischen zwei aufeinander folgenden Messwerten, um eine ansteigende Flanke als Blitz zu interpretieren. Kleine Werte erhöhen die Empfindlichkeit aber auch die Anfälligkeit gegenüber Störsignalen.
Default-Wert: 150 - Alarm window ist die Anzahl der letzten, verstrichenen Minuten, die zur Berechnung des Alarm-Levels herangezogen werden.
Default-Wert: 15 - Alarm threshold selektiert den Algorithmus (Durchschnitt oder Maximum) und den Schwellwert für das Setzen der Alarm-Levels. Alarm-Level 1 wird beim Überschreiten des einfachen Schwellwertes aktiviert, Alam-Level 2 beim doppelten Wert, usw.
Default-Wert: Avg 50 - Display light setzt die Helligkeit des Displays. Die Werte reichen von 0 (= 0%, aus) bis 10 (= 100%, maximale Helligkeit).
Default-Wert: 8 - Startup screen selektiert die Graphik, die nach dem Einschalten des Geräts gezeigt wird. Mögliche Werte sind:
– Flash Sum
– Flash Sum + Trend
– Flash Count
– Flash Count + Trend
Default-Wert: Flash Sum
Es bleibt noch zu erwähnen, dass alle Konfigurations-Parameter im EEPROM des Prozessors abgelegt werden. Damit bleiben die eingestellten Parameter auch nach dem Abschalten (oder beim Überwintern im Bastelkeller) erhalten – wie es sich für eine Anwendung dieser Art gehört.
Aufstellung und Einstellung
Zum Schluss ein paar Tips für die Inbetriebnahme. Das Gerät empfängt die magnetische Komponenten der elektromagnetische Schwingungen von Blitzen. Zum Glück sind die magnetischen Störfelder im Haus meist weniger stark ausgeprägt als die elektrischen Felder. Trotzdem reagiert das Gerät empfindlich auf Störsignale von manchen Schaltnetzteilen. Das ist natürlich insbesondere relevant für das Stecker-Netzteil, mit dem das Gerät betrieben wird. Hier gibt es deutliche Unterschiede. Im Zweifelsfall ist es keine schlechte Idee, etwas mehr Geld zu investieren. In meinem Fall steht das Gerät in einer Fensterecke, die sich ein bisschen abseits von den anderen Geräten befindet.
Es kann sinnvoll sein, das Gerät an eine Erdung (z.B. Wasserleitung, Heizung, etc.) anzuschliessen. In meinem Fall konnte ich dadurch den Störpegel deutlich reduzieren und die Empfindlichkeit weiter erhöhen. Das sollte aber nicht unbedingt notwendig sein.
Für die erste Inbetriebnahme sollte die Versorgungsspannung des Antennen-Moduls am Trimpoti auf 1.6V eingestellt werden. Für die Software empfehlen sich die Default-Parameter wie oben beschrieben. Nach dem Einschalten – und in Abwesenheit von Gewittern – sollten die Blitz-Indikatoren nicht aufleuchten. Wenn es gelegentlich ein Signal gibt, dann ist das normal und kommt wahrscheinlich von technischen Geräten. In jedem Fall sollten die Werte aber deutlich unter der Schwelle für den ersten Alarm-Level liegen.
Zum Testen der Funktion nehme ich eine alte 9V-Batterie, die ich mit einem etwa 30 cm langen Drahtstück ein paar Mal kurz schließe. Wenn ich das in etwa 20 bis 30 cm Entfernung von der Antenne mache, sollte das Gerät dies als Blitze registrieren. Wenn das geklappt hat, ist alles in Ordnung und man kann entspannt auf die nächste gewittrige Wetterlage warten.
Es gibt zwei Optionen, die Empfindlichkeit zu verändern. Zuerst kann man mit dem Trimmpoti die Antennen-Spannungsversorgung vergrößern (höhere Empfindlichkeit) oder verkleinern (geringere Empfindlichkeit). Als zweite Option, und besonders um unerwünschte Störsignale heraus zu filtern, kann der Konfigurations-Parameter Trigger Threshold verkleinert (höhere Empfindlichkeit) oder vergrößert (geringere Empfindlichkeit) werden. Tatsächlich ist eine sehr große Empfindlichkeit gar nicht wünschenswert. In Sommernächten kann das Gerät Reichweiten von vielen 100 km erreichen. Dann ist es fraglich, ob man sich ein Gewitter in den fernen Alpen anzeigen lassen möchte.
Zum Schluss
Ich hoffe, dass der neuen Gewitter Monitor v2 das Interesse des einen oder anderen Bastlers weckt. Wie immer freue ich mich über Rückmeldungen, Kommentare, Vorschläge oder Ideen. Natürlich bin ich auch gerne bereit, bei der Beschaffung von Komponenten zu unterstützen oder Prozessoren zu programmieren.
Die Software hat ein gewisses Mass an Komplexität erreicht – und wird sicherlich allerlei Fehler enthalten. Auch hierzu sind Rückmeldungen willkommen. Ich gehe davon aus, dass es bei Gelegenheit Updates geben wird, die – Arduino sei Dank – über die USB-Schnittstelle sehr einfach eingespielt werden können.
Die Software für dieses Projekt kann von der Ressourcen-Seite herunter geladen werden.
Sehr geehrter Herr Laage-Witt,
soeben habe ich Ihren Gewittermonitor entdeckt und finde ihn sehr interessant. Seit Jahren benutze ich einen Empfänger mit einer Schaltung aus Elektor 6/72, die das Herannahen und Wegziehen eines Gewitters mit einem Zeigerinstrument in Richtung und Stärke anzeigt. Auch nutze ich den Gewitterwarner von Franzis. Die Art Ihres Gerätes war schon immer in meiner Vorstellung. Leider bin ich nicht so versiert wie Sie, um es selbst zu bauen. Deshalb meine Frage: Ist es möglich, ein Fertig- oder Halbfertiggerät (ohne Gehäuse) zu erwerben? Für eine Antwort wäre ich Ihnen dankbar.
Mit freundlichen Grüßen
W. Richter
Hallo Herr Richter, es freut mich, dass Ihnen die Schaltung gefällt. Ich habe den Gewitter-Monitor jetzt schon länger auf der Fensterbank stehen und schaue immer mit Interesse auf das atmosphärische Geschehen der letzten zwei Stunden. Da wir bisher schon eine sehr Gewitter-reiche Saison hatten, konnte ich auch die Programmparameter so anpassen, dass alles gut funktioniert und sich eine sinnvolle Anzeige ergibt.
Ja, falls Interesse besteht, könnte ich Ihnen die Schaltung aufbauen und als Komponenten zusenden. Dazu melde ich mich bei Ihnen via Mail.
Viele Grüsse,
Stephan Laage-Witt
Sehr geehrter Herr Laage-Witt,
ich habe ihren Gewitter-Monitor entdeckt und beschlossen, dieses tolle Projekt nachzubauen.
Nun habe ich eine kleine Frage: kann man ein I2C-Interface für LCDs 1602 und 2004 für das Grafik-LCD nutzen? Falls es nicht geht, kann ich dann das Modul über Sie beziehen?
Über eine Antwort würde ich mich freuen.
Mit freundlichen Grüßen
S. Strittmatter
Hallo Herr Strittmatter, schön, dass Ihnen das Projekt gefällt.
Nein, die I2C-Interfaces für die Text-Displays, die Sie genannt haben, sind einfache 1:1-Umsetzer. Der Host-Prozessor muss nach wie vor alle Befehle für das Textdisplay generieren, die dann aber nicht über parallele Ports, sondern über das I2C-Interface übertragen werden. Mein Smart I2C-Interface für das Grafikdisplay macht wesentlich mehr. Z.B. werden zum Zeichnen einer Linie nur die Start- und Endkoordinaten an das Interface übergeben. Das Interface generiert daraus alle notwendigen Instruktionen, um die entsprechenden Pixel auf dem Grafik-Display zu setzen. Das Zeichnen von Texten usw. ist ein komplexer Vorgang, der vollständig vom Interface übernommen wird. So wird der Host-Prozessor von den Details der Grafikansteuerung weitgehend befreit.
Ja, ich kann Ihnen das Modul bereitstellen. Allerdings muss ich erst einmal neue Platinen machen lassen. Der erste Satz ist inzwischen verbaut …
Ich melde mich bei Ihnen per E-Mail.
Viele Grüsse,
Stephan Laage-Witt
Hallo Stephan,
bin gerade über dein Gewitterprojekt 2.0 gestolpert, besonders interessant finde ich die Anzeige…
… un da fängt das erste Problem auch schon an, finde nirgends das passende Display, ausser in China, nur bis das kommt, ist die Gewitterzeit vorbei…
Hast Du eine Quelle in Deutschland oder so ???…. oder evtl. noch was rumliegen ?????
Viele Grüße
Uwe
Frankfurt (Oder)
uwe.skaerke@gmail.com , 0160 90688427
Hallo Uwe, nein, ich kenne leider keine andere Quelle für das GLCD 192×64. Es gab eine Zeit lang einen Versand aus Polen. Aber die haben das nicht mehr. Mein eigener Bestand ist auch zur Neige gegangen. Da bleibt nur die Bestellung in China – sorry. Aber ganz sooo lange dauert es nicht.
Der Durchmesser der Ferritstäbe ist unkritisch. Meine Ferritstäbe haben einen Durchmesser von 10 mm, Länge 100 mm.
Viel Erfolg! Lass mich wissen, falls ich anderweitig helfen kann.
Stephan
Hallo Stephan,
vielen Dank für die Antwort, werde ich eben in China bestellen, nützt ja nix…
… ich werde bestimmt noch mal auf Dich zu kommen, wenn noch was unklar ist…
Ich werde die Empfangsfrequenz mal auf 500 kHz herauf setzten, da hat der TA7642 die größte Verstärkung, möchte gerne Gewitter auch in sehr großer Entfernung dedektieren, die Antenne kommt auf einen 6m Mast im Garten, schön frei von allen Störern, na mal sehen…
Viele Grüße
Uwe
Danke für die Rückmeldung.
500 kHz ist relativ viel. Möglicherweise bekommst du Einstreuungen von Radiosendern, besonders am Abend – sofern es im AM-Bereich überhaupt noch Sender gibt.
Das Frequenz-Maximum von Blitzen scheint eher unter 100 kHz zu liegen. Eine gute Zusammenfassung gibt es von Gerd Sinning, Elektronik-Labor (http://www.elektronik-labor.de/Projekte/Blitzwarner9.html)
Ich stimme dir aber zu, dass bei den niedrigen Frequenzen die Empfindlichkeit des TA7642 zurückgeht. Da muss man einen Kompromiss machen.
Übrigens, in der Praxis waren meine Aufbauten eher zu empfindlich, so dass ich die Verstärkung am Trimmer etwas zurück genommen habe. Das muss man ausprobieren.
Viel Erfolg! Ich bin gespannt, wie es bei dir weiter geht!
Viele Grüsse,
Stephan
„Das Frequenz-Maximum von Blitzen scheint eher unter 100 kHz zu liegen.“
… stimmt, die meisten kommerziellen Geräte nutzen die Frequenz um 300 kHz, ich werde den Resonanzkreis regelbar/einstellbar von 300 bis 500 kHz und dann mal guggen …
Gruß
Uwe
PS: kann man hier auch Bilder hochladen/zeigen ??? (glaube wohl nicht)
Hallo Stephan,
Du wirst es nicht glauben, gestern ist das Display schon angekommen (19264-1, 4 inch 192×64) 🙂
Jetzt die große Frage:
…kann ich bei Dir das Smart I2C Graphik-LCD komplett aufgebaut bekommen, falls nicht evtl. den programmierten ATMEGA 328 ?????
viele Grüße
Uwe
Hallo Uwe, schön, dass es doch schneller ging als gedacht. Ich schicke dir gerne einen ATmega oder den Display-Treiber. Mehr via Mail.
Viele Grüsse,
Stephan
Moin!
Ich würde gerne (wie ich sie letztens an gemailt hatte) den Gewitter Melder mal als Winter Projekt angehen.
leider gibt es da Probleme ich müsste es als Lochraster Platine aufbauen was in einem Klar Sicht Gehäuse nicht so dolle aussieht.
des weiteren halte ich nix von Ebay (Display) .
daher meine Frage , könnten sie mir ein solches Display besorgen? und die Platinen?
danke im Voraus
Grüezi Herr Laage-Witt,
ich bin auf den Gewittermonitor V2 auf Ihrer Homepage vor ziemlich genau 2 Jahren aufmerksam geworden und habe mir die Schaltung dann nachgebaut.
Dazumal hatte ich ein Problem mit der Darstellung der Anzeige. Ich habe mich dann irgendwann nicht mehr damit auseinandergesetzt und zur Seite gelegt.
In den letzten Wochen hatte es bei uns ziemlich viele Gewitter und mir viel wieder ein, dass ich ja einen Gewittermonitor gebaut hatte. Ich nahm das Ding wieder zur Hand und baute mir die Hardware komplett neu auf.
Leider habe ich nach wie vor ein Problem mit der Anzeige. Wenn ich den Gewittermonitor mit dem PowerSupply in Betrieb nehme, kommt zuerst kurz der „Smart I2C GLCD Startup Screen Mode“ mit Anzeige der Vers.1.1 , diversen anderen Informationen wie I2C Adresse 16 usw.
Auch mit einer korrekten Auflösung (Smart I2C-GLC-Firmware).
Danach wechselt das Display direkt auf die Trendanalyse und hier fängt das Problem mit der Anzeige/Auflösung an. Denselben Effekt habe ich auch wenn ich mit der Select Taste ins Konfigurations Menü wechsle. Die Darstellung der Skalierung stimmt nicht.
Ein Beispiel: anstelle von Display light [0…10] steht da: splay light [0…10]
Der Pfeil zum scrollen und auch der Anfang des Textes ist nicht sichtbar.
Ich habe im Programmcode lediglich die I2C Adresse angepasst. von: glcd gd(0x20); auf glcd gd(0x10); Ansonsten habe ich im Code nichts geändert.
Später habe ich aber dann doch noch versucht mit den Fonts zu spielen z.B. gd.set_font(1); um die Schriftgrösse so zu ändern, dass ich eventuell das Konfigurantionsmenü sehen kann.
Leider ohne Erfolg.
Allgemeine Infos:
-Den Arduino Sketch habe ich von der Ressourcen-Seite heruntergeladen. (GewitterMonitorV2-Arduino)
-Ich habe ein Display Typ3 KS108 Controller mit einer Auflösung von 192×64.
-Ich bin jetzt nicht so der grosse Programmierer dass ich Ihren ganzen Code überschauen und verstehen kann.
-Die Adresse des Displays habe ich mit einem I2C Scanner Arduinoprogramm ermittelt die mir die Adresse 0x10 zugewiesen hat.
Haben Sie vielleicht eine Idee, was das Problem sein könnte?
Vielen Dank für eine Antwort
Roland S
Hallo Roland, ich vermute, dass die Auswahl des Display-Typs nicht passt. Die Typen unterscheiden sich im Wesentlichen durch die Anwahl der Bänke. Das von dir beschriebene Phänomen zeigt, dass die linke und rechte Bank vertauscht sind.
Die Auflösung 192×64 gibt es in zwei Versionen: 3.3 Zoll (Display Typ 2) und 4 Zoll (Display Typ 3). Schau doch mal, ob es sich bei deinem Display um Typ 2 handelt. Dann muss die Treiber-Software und Pin-Belegung entsprechend angepasst werden.
Viele Erfolg! Stephan
Vor einiger Zeit schon habe ich begonnen den Gewitter Monitor
von iher Webseite aufzubauen.
Aber wie es so geht, dazwischen kamen immer wichtigere Projekte.
Meine Frage betrifft die universelle I2C Anzeige. Gibt es dazu ein Hex-File
für den Atmega328 um einen schnellen Test zu machen??
Viele Grüsse
Martin
Hallo Martin, ich bin gerade dabei, eine neue und weiter verbesserte Version von Hardware und Software online zu stellen. Das etwas in die Jahre gekommen LC-Display habe ich durch ein farbiges TFT ersetzt. Mehr dazu in Kürze. Viele Grüsse, Stephan