Wie müsste ein Gerät aussehen, das möglichst zuverlässig vor herannahenden Gewittern warnt? Dazu sollte es auch noch einfach und preiswert zu bauen sein und nach Möglichkeit auch noch energiesparend im Betrieb. Hier eine Zusammenstellung der bisherigen Versuche:
21.6.13: Blitzempfänger-Shield
für Arduino
21.6.13: Blitzbeobachtung und Messergebnisse
20.6.13: Sferics-Empfang mit Zähler
20.6.13: Gewitterindikator auf 10 kHz
20.6.13: 500-kHz Sferics Range
Detector
19.6.13: Blitzmessung mit Spectrum Lab
19.6.13: Blitzmessung mit dem Zähler
17.6.13: Blitzauswertung mit dem
Tiny13
17.6.13: Retroradio als Blitzwarner
17.6.13: OPV-Blitzwarner
14.6.13: Blitzimpuls-Auswertung
13.6.13: Blitz-Antennen und Empfänger
12.6.13: Blitzimpuls-Anzeige
11.6.13: Arduino-Logger
10.6.13: Blitzimpuls-Logger mit Mega32
Erste Versuche und Konzepte für solche Geräte wurden bereits im Elektronik-Labor vorgestellt: Heinz D. hat seinen Gewitter-(Früh-)Warner in mehreren Varianten gezeigt. Alle Versuche basierten auf Mittelwellenempfängern und dem Empfang bei ca. 500 kHz. Ein Vorschlag zur Verwendung des TA7642 gefiel mit besonders gut, weil dieses IC preiswert ist und eine hohe Empfindlichkeit aufweist. Außerdem hat es besitzt eine automatische Verstärkungsregelung mit einem Umfang von ca. 40 dB (siehe www.elexs.de/drm18.htm). Bei starken Eingangssignalen sinkt die Ausgangsspannung bis auf ca. 0,9 V, ohne Signal liegt sie um 1,2 V. Durch Messung der Ausgangsspannung sollte es möglich sein, die Feldstärke eines Blitzes zu bestimmen und daraus die Entfernung abzuschätzen.
Die Energie eines Blitzes reicht von 10 kHz bis über 1 MHz, wobei das Maximum bei sehr kleinen Frequenzen liegt. Deshalb könnte es sinnvoll sein, weit unterhalb von 500 kHz zu empfangen um einen besseren Störabstand und deutlichere Signale zu erzielen. Allerdings spielt dieser Empfänger wegen seiner kleinen internen Koppelkondensatoren dann nicht mehr mit. Ein Versuch mit einer 100-mH-Drossel als Empfangsspule mit einer Resonanzfrequenz unter 100 kHz zeigte, dass es so nicht geht. Der Empfänger ist aber noch gut für den Bereich zwischen 300 kHz und 500 kHz geeignet (Labortagebuch 5.3.12: Frequenzgang des TA7642).
Bei der Entwicklung neuer Geräte mischen sich am Anfang Ziele, Vorinformationen und Wunschvorstellungen von denen man noch nicht weiß wie realistisch sie sind. Was ich mir wünsche ist jedenfalls dies: Eine sehr kleine Ferritantenne aus einer Festinduktivität wird auf ca. 500 kHz abgestimmt und liefert ein Signal an den TA7642. Die Empfindlichkeit reicht (so hoffe ich) für Blitze bis zu einem Abstand von 20 km aus. Ein kleiner Mikrocontroller misst permanent die Ausgangsspannung des Empfängers und zeigt ein nahes Gewitter an und nach Möglichkeit auch die ungefähre Entfernung und die Intensität des Gewitters.
Für den ersten Versuch habe ich eine Radioplatine aus dem Retroradio und den Tiny13 aus dem Lernpaket Mikrocontroller kombiniert. Eine Festinduktivität mit 1,5 mH bildet zusammen mit einem Kondensator von 56 pF den Eingangskreis. Die Controllerplatine liefert + 5V an den Empfänger. Eine rote LED sorgt für eine Stabilisierung auf ca. 1,8 V. Das Ausgangssignal des Empfängers wird über den Eingang ADC3 des Tiny13 ausgewertet. An Port B4 liegt eine LED, die die Intensität des Gewitters anzeigen soll. Der Mikrocontroller soll dabei nicht nur die Häufigkeit der Blitze sondern auch die Höhe der gemessenen Impulse bewerten.
'Gewitterwarner
$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 4
$framesize = 4
Config Adc = Single , Prescaler = 4 , Reference = Avcc ' Pre 8...32
Start Adc
'Open "comb.1:9600,8,n,1,INVERTED" For Output As #1
Config Portb.4 = Output
Portb.3 = 1
Dim N As Word
Dim I As Word
Dim A As Word 'altueller Analogwert
Dim B As Word 'maximaler Blitzpegel
Dim H As Word 'Blitze gemittelt
Do
H = H * 9 'Mittelung
If H > 0 Then Portb.4 = 1 'LED-Start
For I = 0 To 500 Step 10
If B > 5 Then Portb.4 = 1
B = 0
For N = 1 To 200 'Messdauer ca. 100 ms
A = Getadc(3)
If A > 270 Then A = 270 'Max 1,3 V
A = 270 - A 'negative Impulse umdrehen
If A > B Then B = A 'Maximum
Next N
If B > 1 Then
H = H + B 'Mittelung
If B > 14 Then H = H + 50 'Sehr hohe Impulse
If H > 5000 Then H = 5000
End If
If I >= H Then Portb.4 = 0 'LED-Ende
If I >= 400 Then Portb.4 = 0 'LED-Ende, max 80%
Next I
H = H / 10 'Mittelung
Loop
End
Das Programm verwendet eine Mittelung
/Tiefpassfilterung der
gemessenen Impulse und gibt das Ergebnis in einer Art Langsam-PWM mit
einer
Periode von ca. zwei Sekunden aus. Die
Länge des Lichtblitzes zeigt die Intensität des Gewitters.
Wenn
viele starke Blitze erkannt werden dauert es lange, bis die LED-Impulse
wieder abklingen.
Ein erster Test mit einem
Lichtschalter war erfolgreich.
Ein- und Ausschalten einer Lampe erzeugt impulsartige Funkstörungen
ähnlich wie
ein Blitz. Schnelles und häufiges Betätigen des Schalters bringt
tatsächlich
die gewünschte Gewitterwarnung.
Ein Blitzsimulator
Um das Warngerät entwickeln und testen zu können habe ich mir einen einfachen Blitz-Simulator gebaut. Er verwendet ebenfalls einen Tiny13 und erzeugt einen Blitz pro Sekunde, der jeweils aus einem kurzen Wellenpaket besteht. Eine kleine Sendespule aus einer Festinduktivität mit 47 µH wird mehr oder weniger nah an die Empfangsantenne gehalten. Ein nahes Gewitter wird in einem Abstand von wenigen Zentimetern simuliert. Ob das allerdings realistisch ist, steht noch in den Sternen. Was mit fehlt sind reale Gewitter.
'Gewittersimulator
$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 4
$framesize = 4
Config Portb.4 = Output
Portb.3 = 1
Dim N As Word
Do
For N = 1 To 30
Portb.4 = 1
Portb.4 = 0
Next N
Waitms 1000
Loop
End
' 1306-Blitzgenerator zum testen der Software und, mit Antenne, der Hardware
'
' Mit drei Potis kann der Messender so erweitert werden, das alle Zeiten
' einstellbar sind
'
' Ein Blitz besteht aus einem Impuls von etwa 50us (=10kHz)
' und einer Pause von ca. 50ms (Erholzeit)
' falls die Wolke noch negative Ladungsträger enthält erfolgt ein
' weiterer Blitz im selben Blitz-Kanal
' häufig reicht die Ladung für bis zu 5 Blitze
' (bis zu 40 Folgeblitze sind selten),
' die dann deutlich als flackern wahrnehmbar sind.
'
' Die Abschätzung der Empfindlichkeit ist abhängig von der Antennenlänge,
' Empfangsfrequenz (Oberwelle) und Bandbreite (Anzahl der Oberwellen)
' bei Wellenlänge von 500m (=600kHz) bis 30km (=10kHz)
' fängt eine Antenne weniger als ein 1000stel ein
' wenn bei 500kHz nur die Oberwellen 49, 50 und 51 eingefangen werden,
' reduziert sich die Empfangsenergie nocheinmal.
'
' Nach meiner Erfahrung sollten Blitze gezählt werden, wenn die Feldstärke
' genau so hoch ist, wie ein ~100km entfernter MW-Sender
' oder ganz knapp über dem Grundrauschen/Grundstörungen liegt.
'
' Statistisch werden Blitze pro Quadratkilometer erfasst,
' NICHT DIE STÄRKE !
' wobei alle Ereignisse innerhalb von 1,5s als ein Blitz gewertet werden
' Ereignisse von weniger als ~20ms (mit ausschwingen) sollten nicht gezählt
' werden, sind jedoch nur schwer auszuscheiden.
'
' Ein AVR sollte die o.g. Forderungen auch ohne ADC erledigen
' ggf. ist INT0 besser geeignet. Eine Luxusausführung mit LCD und Sleepmode
' könnte die Historie im EEprom ablegen. Eine einfache Rot/Gelb/Grün-Anzeige
' sollte für den Anfang genügen.
'-------------------------------------------------------------------------------
$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 16
$framesize = 24
Ddrb = &B11111
Ausgang Alias Portb.3
Dim Blitzanzahl As Byte
Const Blitzemax = 5 '1=häufig, 40=selten
Const Blitzpuls = 50 'ca. 50us
Const Blitzpause = 50 'ca. 50ms
Const Blitzwiederholung = 2 'in Sekunden
Do
For Blitzanzahl = 1 To Blitzemax
Ausgang = 1
Waitus Blitzpuls
Ausgang = 0
Waitms Blitzpause
Next
Wait Blitzwiederholung '2s=nahes Gewitter
Loop
' End Program