Gewitter-Monitor mit graphischer Anzeige

Gewitter-Monitor

Nach Auskunft der Meteorologen lässt der Klimawandel es häufiger blitzen. Mit jedem Grad globaler Erwärmung steigt die Zahl der Blitze. Dabei haben die gewaltigen elektrostatischen Entladungen mit den entfesselten Naturkräften nichts von ihrer Faszination verloren. Um so mehr ein Grund, sich als Hobby-Elektroniker mit diesem Thema zu beschäftigen.

So habe ich mit viel Interesse die Diskussionen und Entwicklungen im Internet verfolgt. Z.B. ist der Franzis-Bausatz „Gewitterwarner“ ist ein schönes Gerät mit allerlei genialen Ideen, zum Beispiel, den AM-Empfänger TA7642 zum Empfang zu verwenden, die Empfindlichkeit durch die Betriebsspannung einzustellen, und die Blitze durch einen Flankendetektor im Mikrocontroller zu erfassen. Super!
Für meine eigenen Versuche wollte ich einen Schritt weiter gehen und den Analog-Digital-Konverter (ADC) des Mikrocontrollers dazu verwenden, Blitze mit hoher Empfindlichkeit über weite Entfernungen zu erfassen und quantitativ auszuwerten. Außerdem wollte ich den Verlauf der Intensität und Häufigkeit der Blitze über die Zeit aufzuzeichnen. Herausgekommen ist mein „Gewitter-Monitor“, den ich hier beschreibe.

Vorüberlegungen

Die Idee war, ein Gerät zu entwickeln, das elektrostatische Aktivitäten in der Atmosphäre beobachtet und Auskunft über die Häufigkeit und Stärke von Blitzen gibt. Mir ging es dabei um große Reichweite, so dass Gewitter lange vor dem Erscheinen von Blitz und Donner am Ort erkannt werden. Außerdem wollte ich den Verlauf aufzeichnen, zum Beispiel um zu sehen, ob die Blitz-Aktivitäten zu- oder abnehmen.

Das Design ist einfach: Die elektromagnetischen Impulse von Blitzen werden mit dem AM-Radio-Chip TA7642 empfangen, verstärkt und mit dem ADC eines ATmega ausgewertet. Der ADC erfasst für jeden registrierten Blitz den maximalen Pegel. Der Mikrocontroller summiert die Maxima und berechnet die Summe pro Minute. Ein graphisches LC-Display (GLCD) zeigt den Verlauf, und mit einer Leuchtdiode wird ein Warnlevel angezeigt.

Die Schaltung

Das Gerät besteht aus zwei Komponenten, dem Analogteil um den AM-Empfänger 7642, und dem Digitalteil basierend auf einem ATmega16.

Analogteil: Das Signal der Blitze erreicht die Schaltung über die Antennen. Ich habe die Eingangsschaltung vom Franzis-Gewitterwarner mit dem AM-Empfänger TA7642 und nachgeschaltetem Transistor weitgehend übernommen. Allerdings wollte ich die Empfangsfrequenz so tief wie möglich legen, um näher an das Frequenzmaximum von Gewitterblitzen zu kommen. Der Antennenschwingkreis besteht aus einer Spule von 10 cm Länge auf einem Ferritstab, 0.3 mm Kupferdraht, und zwei parallel-geschalteten 470 pF Kondensatoren. Die Resonanzfrequenz liegt ungefähr bei 100 kHz. Das ist so ziemlich am unteren Rand des Frequenzbereiches, den der TA7642 noch sinnvoll verstärkt (siehe „Frequenzgang des TA7642“, Elektronik-Labor). Aber es reicht noch aus für gute Empfindlichkeit.

Ferritantennen haben eine Richtwirkung. Deshalb kommen zwei Analog-Teile mit jeweils einer eigenen Antenne zum Einsatz. Die Antennen sind rechtwinklig zu einander und horizontal montiert sind. Die horizontale Anordnung bewirkt, dass die häufigeren Wolke-zu-Wolke Blitze erfasst werden. Die bereits zitierten Meteorologen sagen, dass im Durchschnitt 60% der Blitze zwischen den Wolken stattfinden, also horizontal orientiert sind, während die verbleibenden 40% zwischen Wolke und Erde verlaufen. Der eine Ferritstab hat seine höchste Empfindlichkeit in Nord-Süd-Richtung, der andere in Ost-West-Richtung. Die Richtungsinformation, die sich daraus ergibt, lässt sich allerdings kaum verwerten, da die Maxima der Ferritantennen sehr breit sind. Das Digital-Teil berechnet die Summe über beide Kanäle.

Antennen des Gewitter-Monitors
Antennen über Kreuz: Hier werden alle Himmelsrichtungen erfasst. Die Ferritstäbe sind zusammen mit den TA7642 auf eigenen Platinen montiert. Betriebsspannung und Ausgangssignale werden über ein kurzes Flachbandkabel an das Gerät angekoppelt.

Die Spannungsversorgung der beiden TA7642 stellt gleichzeitig die Empfangsempfindlichkeit ein. Ich verwende eine Konstantspannungsquelle mit einer Bandgap-Referenz TL431, die als einstellbare Zenerdiode fungiert. Mit einem Trimmer lässt sich die Spannung und damit die grundsätzliche Empfindlichkeit der Antennen einstellen. Ich habe mit Spannungswerten zwischen 1.5 und 1.6 Volt am 1 kOhm-Widerstand vor dem Empfänger-IC (siehe Schaltung) die besten Erfahrungen gesammelt.

Blitze sind seltene und sehr kurze Ereignisse. Um sie zuverlässig mit dem ADC zu erfassen, müsste man den ADC mit einer hohen Abtastfrequenz betreiben. Ich habe mich für einen anderen Weg entschieden und mit Hilfe des Operationsverstärkers MCP601 einen Maximalwerte-Speicher dazwischen geschaltet. Solche Peak-Detection-Schaltungen waren früher bei Audio-Aussteuerungsanzeigen, z.B. LED-Balken-Anzeigen, verbreitet. Der Ausgang des OpAmp lädt über eine Diode eine RC-Kombination (22 nF und 1 MOhm), die sich dann entsprechend ihrer Zeitkonstante wieder entlädt. Der Spannungswert steht damit ausreichend lange am ADC-Eingang zur Verfügung, so dass eine gemächliche ADC-Abtastrate von 250 Hz pro Kanal gut funktioniert. Da beide Antennen im Wechsel abgefragt werden, läuft der ADC mit 500 Hz, wobei er ständig zwischen den beiden Eingängen hin und her schaltet. Dieses Tempo ist gut verträgliches für einen ATmega ist. Bild 3 zeigt ein Oszilloskop-Bild am Eingang und Ausgang der Peak-Detection Schaltung.

Messung am Peak-Detektor
Messung am Peak-Detektor: Kanal 1 (blau) zeigt das Eingangssignal am OpAmp mit zwei kurzen Blitz-Impulsen. Kanal 2 (gelb) zeigt das langsam abfallende Ausgangssignal. In jedes 10 mS Intervall fallen im Schnitt 2.5 ADC-Wandlungen pro Kanal.

Schließlich enthält der Analogteil noch einen kleinen Audioverstärker, den man als akustischen Monitor zuschalten kann. Das ist zum Beispiel sehr nützlich, um einen geeigneten Aufstellungsort mit geringen Störsignalen zu finden.

Schaltung des Analogteils
Schaltung des Analogteils

Digitalteil: Der Digitalteil ist um den bewährten Atmega168 herum aufgebaut. Der Mikrocontroller wird mit einem 8 MHz-Quarz getaktet. Für den Betrieb der graphischen Anzeige ist eine ganze Menge Festkomma-Arithmetik notwendig, die zum Teil zeitkritisch ist. Deshalb ist die Taktrate von 8 MHz durchaus angemessen.

Die Ausgangsspannungen vom Analogteil erreichen den Mikrocontroller an den Eingängen ADC0 und ADC1. Der ADC wird so konfiguriert, dass er die interne Spannungsreferenz von 1.1V verwendet. Dieser Spannungslevel passt sehr gut zu den Ausgängen der OpAmps und kann ohne weitere Anpassung direkt verwendet werden.

Zwei weiße Leuchtdioden an Port C4 und C5 blinken kurz auf, wenn ein Blitz registriert wird. Die Software verwendet zwei Warnstufen, die durch die Blitzaktivitäten pro Minute ausgelöst werden. In der ersten Warnstufe schaltet Port C2 über einen PNP-Transistor die Hintergrund-Beleuchtung ein. Die Idee ist, dass das Gerät im Alltag ständig läuft und beim Aufziehen von Gewittern selbstständig das Display hell schaltet. Dann weiß man, dass etwas im Busche ist. Wenn die zweite Warnstufe erreicht ist, wird zusätzlich die rote Leuchtdiode an Port C3 aktiviert. Jetzt ist ein Gewitter sehr nah oder vielleicht auch schon direkt am Ort. Für neugierige Zeitgenossen – wie ich einer bin – gibt es eine Taste an Port B0, der die Hintergrund­beleuchtung manuell für 30 Sekunden aktiviert. Dann kann man registrierten Blitzaktivitäten sehen, auch wenn noch keine Warnstufe erreicht wurde.

Schaltung des Digitalteils
Schaltung des Digitalteils

Graphik-Display: Das graphische LC-Display von Sitronix war ein günstiger Kauf im Internet und lag schon eine ganze Weile auf meinem Arbeitstisch in Erwartung von interessanten Aufgaben. Seit einiger Zeit werden diese Displays mit einer Auflösung von 128 x 64 Pixeln für wenig Geld angeboten. Für mich war es das erste Projekt mit diesem Displaytyp, und es geht erstaunlich einfach. Der Display-Controller ST7920 hat die angenehme Eigenschaft, ein paralleles und ein serielles Interface mitzubringen (siehe GLCD Datenblatt). Wenn der Anschluss PSB auf Masse liegt, wird das Interface auf serielles SPI geschaltet. Dann sind nur 3 Leitungen zur Signalübertragung erforderlich. Zusammen mit den Stromversorgungen für Display und Hintergrundbeleuchtung kann man das Display mit nur 6 Leitungen am Mikrocontroller betreiben. Einfacher geht es nicht!

Die andere nützliche Eigenschaft des Displays ist, dass es dazu eine fix- und fertige Software-Bibliothek in C gibt, u8glib, die eine umfangreiche Sammlung von Treibern und Graphik-Primitiven anbietet (siehe U8glib). In meinem Programm kommen die Funktionen DrawPixel, DrawLine, und DrawString zum Einsatz. Tatsächlich funktionierte alles auf Anhieb. Ein Dank an die Macher dieser vielseitigen Bibliothek!

Graphik-Display mit SPI-Interface
Das Graphik-Display mit SPI-Interface benötigt nur 6 Leitungen zum Controller.

Die Software wurde in C entwickelt und wird direkt mit einem AVR-Programmer in den Flash-Speicher des Mikrocontroller geschrieben. Kernstück des Programms ist der regelmäßige Timer-Interrupt, der die Interrupt-Routine mit einer Frequenz von 500 Hz abarbeitet. Dort werden abwechselnd die beiden Antennensignale über die ADC-Kanäle eingelesen. Ein einfacher Software-Flankendetektor sucht nach Sprüngen zwischen zwei Werten, die einen Grenzwert (hier 150) übersteigen. Wenn ein solcher Sprung gefunden ist, sucht die Routine das Maximum des Blitzes und meldet an das Hauptprogramm, dass es etwas zu tun gibt. Das Hauptprogramm zeigt den gefundenen Maximalwert im Display auf der rechten Seite an. Außerdem berechnet es die Summe der Maxima pro Minute und produziert die Balkengraphik mit einer senkrechten Pixelreihe pro Minute. Das Display bietet Platz für die Aufzeichnung von 100 Minuten, wobei die alten Werte im Minutenrhythmus nach links geschoben werden. Schließlich wir einmal pro Minute eine lineare Regression der letzten 30 Minuten berechnet. Die resultierende Steigung wird unten rechts im Display angezeigt und ist eine Trendanalyse, ein Maß, ob der Pegel der Blitze in den letzten 30 Minuten angestiegen (= positive Werte) oder abgefallen (= negative Werte) ist. Allerdings ist der praktische Nutzen dieser Trendanalyse noch nicht recht überzeugend. Da gibt es noch Raum für Experimente.

Die Skalierung muss noch erklärt werden: Der ADC liefert Blitz-Maxima mit Werten zwischen 150 und 1024. Diese Werte werden auf 15 bis 100 skaliert. Der Wert 100 heißt also, dass ein Blitz den ADC maximal ausgesteuert hat. Die Werte werden pro Minute summiert. Eine Minuten-Summe von 500 zum Beispiel bedeutet, dass 5 maximal-starke Blitze registriert wurden, oder entsprechend eine größere Zahl schwächerer Blitze . Die Skala der Y-Achse reicht im Normalfall 0 bis 600 mit Markierungen in 100er-Schritten.

Wie beschrieben gibt es zwei Warnstufen: Wenn eine Minutensumme von 250 oder mehr erreicht wird, schaltet sich das Display automatisch ein. In der Regel ist dann von einem Gewitter noch lange nichts zu sehen oder zu hören. Die Signale kommen (noch) aus großer Entfernung. Wenn die Minutensumme 500 übersteigt, dann wird zusätzlich die rote Leuchtdiode aktiviert. Außerdem wird die Skala der Graphik auf einen Bereich von 0 bis 1200 umgeschaltet. Bei diesen Pegelwerten ist das Gewitter schon näher, zum Beispiel mit Wetterleuchten in der Ferne. Die Warnstufen werden nach 5 Minuten wieder zurückgesetzt.

Zum Testen von Hard- und Software braucht man nicht auf das nächste Gewitter zu warten. Ich habe mir mit einer weitgehend verbrauchten 9-Volt Block-Batterie einen „Blitz-Generator“ gebaut. Zwei etwa 10 cm lange Drahtstücke an die Batterieklemmen gelötet verwandeln die Batterie. Wenn man die blanken Drahtenden kurz miteinander in Kontakt bringt und das in 10 oder 20 cm Entfernung von den Antennen macht, dann sollte dieses Minigewitter Signale auf der Anzeige produzieren.

Praktische Erfahrungen

Ich habe das Gerät jetzt seit zwei Monaten in Betrieb und beobachte natürlich gespannt die Wetteraktivitäten. Der erste Eindruck: Die Empfindlichkeit ist enorm, besonders bei Nacht, wenn langwellige Radiosignale eine weite Ausbreitung haben. Wir hatten einige Nächte mit heftigen Gewittern in Südfrankreich oder Italien, immerhin 600 km oder mehr von meinem Wohnort entfernt. Ich konnte die Gewitter­aktivitäten mit Signalpegeln von 200 oder 300 pro Minute gut beobachten. Im August und September gab es kaum eine Nacht ohne empfangene Gewittersignale. Erst im Oktober wurde es ruhiger und brachte dann auch Tage und Nächte ganz ohne Aktivitäten auf der Anzeige.

Der Durchzug eines Wetterwechsels kündigt sich fast immer mit Gewitteraktivitäten an, die schon von weiter Entfernung als Signale auf der Anzeige erscheinen. Wenn ein Gewitter näher kommt und wir zum Beispiel am Abend auf der Terrasse Wetterleuchten beobachten können, dann zeigt das Gerät Pegel von 500 und mehr pro Minute. Wenn Gewittergrollen zu hören und ein Gewitter in direkter Nähe ist, dann ist das Gerät vollständig aus- und zum Teil auch übersteuert. Es werden durchgängig Maximalwerte angezeigt. Die folgenden Bilder zeigen, wie die Anzeige funktioniert und einige Beispiele.

Display-Anzeige
Viel Information auf kleinem Raum: So sieht die Anzeige an einem gewittrigen Abend aus. Die Gewitterfront ist mehrere hundert km weit weg, kommt aber stetig näher.
Mehr Beispiele von gemessenen Gewitter-Aktivitäten
Im linken Bild ist eine Gewitterzelle in der Ferne vorbeigezogen, ohne wirklich näher zu kommen. Im rechten Bild hat sich innerhalb von 40 Minuten ein heftiges lokales Gewitter entwickelt. Die rote Leuchtdiode wurde gesetzt, und die Skala auf den größeren Bereich umgeschaltet.

Im Laufe der Zeit hat sich das Gerät als eine schöne Erweiterung zu den verbreiteten Wetterstationen etabliert und gibt bereitwillig Auskunft über die atmosphärischen Aktivitäten und die Wetterlage.

Referenzen

Downloads

Firmware des GewitterMonitors, programmiert im AtmelStudio:  GewitterMonitor-Firmware

 

 

 

 

Ein Gedanke zu „Gewitter-Monitor mit graphischer Anzeige“

  1. Ich habe zu diesem Projekt einige Anfragen zum Nachbau bekommen. Dabei hat sich herausgestellt, dass es eine Vielzahl von Graphik-Displays mit dem ST7920 gibt, wovon aber nicht alle den SPI-Modus beherrschen. Darauf ist gegebenenfalls zu achten.
    Weiterhin wurde ich oft gefragt, ob man das Gerät auch mit einem Arduino betreiben kann. Die direkte Programmierung eines ATmega mit dem AtmelStudio bereitet anscheinend Probleme, während die Programmierung eines Arduino über die USB-Buchse einfacher vonstatten geht.
    Basierend auf diesem Feedback arbeite ich zur Zeit an einer zweiten Generation des Gewitter-Monitors, der (1) mit dem an anderer Stelle beschriebenen GLCD arbeitet (das dann auch eine höhere horizontale Auflösung von 192 Punkten bietet), und (2) einen Arduino Nano verwendet. Mehr dazu in Kürze.
    Anfragen, Kommentare und Ideen, wie das Gerät verbessert werden kann, sind in jedem Fall sehr willkommen.

    Stephan Laage-Witt, Januar 2018

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.