Blitz-O-shield der Gewitter Detektor

Blitze mit einem Arduino detektieren?
Leichte Anbindung an einen PC / Raspberry PI?

Schon vor einiger Zeit habe ich euch den Potzblitz Gewitterdetektor vorgestellt.
Nach zig Nachfragen habe ich beschlossen, den PotzBlitz Gewitterdetektor auf die Arduino Uno (oder kompatibel ) Plattform zu portieren.
Wie immer Schritt für Schritt erklärt .

Überlegungen zu diesem Vorhaben:

  • Physik: Wie kann ich einen Blitz / ein Gewitter detektieren?
  • Hardware: Welche Voraussetzungen sollen erfüllt werden?
  • Designen des Shields
  • Zusammenbau des Shields

Physik: Wie kann ich einen Blitz / ein Gewitter detektieren?
Zunächst sollte man sich im klaren sein was ein Blitz ist, wie er entsteht und welche verschiedenen Arten es gibt.
Hierzu möchte ich nicht nur auf Wikipedia verweisen sondern auch auf Seiten, welche mir verschiedene Möglichkeiten aufzeigten, wie man das Problem mit der Detektierung angehen kann:
http://www.elektronik-labor.de/Projekte/Blitzwarner10.html

Wie sollte der Blitzdetektor arbeiten?
Entlädt sich ein Blitz, sendet dieser breitbandige Radiowellen aus, welche sich hauptsächlich im AM Band befinden.
AM lässt sich leicht verarbeiten. Im Grunde reicht eine Diode aus, um ein Audion zu bauen.
Ich bin immer ein Freund von bereits vorhandenen Schaltkreisen, da Diese auch nicht einfach mal so an einem Tag erfunden wurden und Ihre Berechtigung haben.
In diesem Projekt werden wir den AM Empfänger IC TA7642 benutzen, um die Nähe eines Gewitter zu ermitteln.

Arduino-Blitzdetektor-Shield-Schaltung-Blitzoshield-Ramser-Elektrotechnik-Webshop

Dies erfolgt auf folgende Weise:
Die Funkwellen der Blitze werden vom TA7642 empfangen, vorverstärkt, demoduliert und verstärkt.
Danach wird der Ausgang auf den Analogeingang A0 des Arduino geführt.
Dies ergibt pro Blitzentladung einen „Spannungeinbruch“ der Spannung am A0 Arduino Eingang, welche sich auswerten lässt.
Umso mehr „Spannungeinbrüche“ am Analogeingang, umso mehr Entladungen, umso näher das Gewitter.
Die Amplitude des Signals ist in diesem Projekt egal!

Arduino-Blitzdetektor-Shield-PWM-Schaltung-Blitzoshield-Ramser-Elektrotechnik-Webshop

Beim Blitzwarner des Elektroniklabors wurde der normale Logiklevel des Portpins gewählt, um einen Interrupt auszulösen.
Bei meinem Blitzdetektor wird der ADC des Arduino verwendet.
Dadurch kann die PWM Dynamisierung für den AGC besser angepasst werden!

Die Verstärkung des TA7642 wird mittels geglätteter Spannung eines PWM Signals geregelt. Ja, richtig gelesen! Sie wird nicht gesteuert, sondern geregelt. Mehr dazu später.

Hardware: Welche Voraussetzungen sollen erfüllt werden?
Bei diesem Projekt soll ein standardmässiges Arduino Uno kompatibles Board benutzt werden, das mittels Shield erweitert wird.
Dieses Blitz-O-Shield besitzt die ganze Hardware, um die Blitze bzw. Gewitter zu detektieren.
Die Arduino IDE ist Freeware und das Sketch kann auch frei heruntergeladen werden.

Designen des Shields
Am Anfang wird wieder ein Schaltplan gezeichnet und eine Platine designt.

Arduino Blitzdetektor Shield Schaltung - Ramser Elektrotechnik Webshop

Dann heisst es warten bis die Platinen aus einem regionalen Betrieb eintreffen. Sind die Platinen eingetroffen, kann mit der Bestückung begonnen werden.

Zusammenbau des Shields
Zuerst sollten alle Bauteile positioniert werden, um den Zusammenbau zuerleichtern. Bei dem im Shop erhältlichen Bausatz ist eine Bestückungsanleitung mit von der Partie, um den Zusammenbau zu erleichtern.

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 1

Zuerst bestücke ich den 100k Widerstand R1.

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 2

Danach folgen die ganzen 1k Widerstände R2 R5 und R6.

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 3

Gefolgt von den ganzen 160R LED Vorwiderständen R3 R7 R8 R9 und R10 sowie die 1N4148 Diode D1.

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 4

Danach können die LEDs und die Drossel L2 bestückt werden.
(Zur Vereinfachung der Auschnitt der Board File. Hier ist die abgeflachte Stelle an der LED zu sehen )

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 5
Arduino Blitzdetektor Shield LED Ausrichtung - Ramser Elektrotechnik Webshop

Nach den LEDs kann der 270pF Kondensator, der TA7642, sowie die Elektrolytkondensatoren für die geglättete PWM Spannung bestückt werden.

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 6

Jetzt folgt nur noch die zweite Drossel und die 100nF Kondensatoren.
Auch der Optokoppler für die Fernauslösung kann gleich mitbestückt werden.

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 7

Zum Schluss noch die Pinheader und alles ist gut 😉

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 8

Euer Blitzoshield kann nun auf dem Arduino Uno montiert und softwaremässig in Betrieb genommen werden.

Arduino Blitzdetektor Shield - Ramser Elektrotechnik Webshop 00

Die Software:
Sie kann natürlich wieder vollkommen frei downgeloaded werden und kann in der Arduino IDE geöffnet werden.

Die Funktionsweise der Software
Bei Start wird die Spannung des TA7642 so lange erhöht, bis eine gewisse Grundspannung am TA7642 anliegt.
Dies dient dazu, die Exemplarstreuung auszugleichen.
Anschliessend wird zyklisch ein laufender Mittelwert gebildet, um Störeinflüssen entgegenzuwirken.
Trifft ein Blitzevent auf (Spannung bricht am A0 ein), so wird einer Countervariable erhöht.
Nach einer gewissen Zeit wird der Wert natürlich wieder dekrementriert.
Abhängig vom Wert, werden die LEDs angesteuert.

Ihr seht, wie simple die Welt sein kann.
Viel Spass beim Löten und Blitz detektieren 🙂

27 thoughts on “Blitz-O-shield der Gewitter Detektor

    1. fritz Post author

      Hallo Heiko,
      Klicke auf unserer navigationsleiste auf „Support“ und danach auf „Downloads“.
      In der Ruprik „Bausätze“ ist das Sketch für den Blitzoshield gelistet.

  1. Steineiche

    Hallo, schönes Projekt. Ich werde mich mal am Blitz-Schield versuchen. Gibt es für die Kombi mit Arduino auch einen Gehäusevorschlag, sowie für den PotzBlitz?

    1. fritz Post author

      Hallo,
      Hammond Typ „001113“ ist für den Potzblitz sehr gut geeignet.
      Bilder, siehe Potzblitz über „software“.
      Für den Blitz-O-shield ist mir leider kein komplett geschlossenes Gehäuse bekannt.
      Falls Jemand aber eines in die finger bekommt, bitte gleich hier posten 😉

  2. JoRa

    Hallo sehr schönes Projekt,
    ich habe alles wie beschrieben zusammen gebaut und hatte das Glück, dass auch gleich ein Gewitter über uns war. Leider muss ich sagen hat das Teil komplett versagt.
    Da hat außer beim selbsttest nicht geleuchtet.
    Schade

    1. fritz Post author

      Sehr geehrte/er JoRa,
      Der Giesoshield ist eher als empfindlich bekannt, als unempfindlich.
      Was wurde im Terminal als Debugtext ausgegeben?
      (PWM,ActValue,AverangeValue,Difference,Warnlevel,Decay,Strikecount?)
      Reagiert der Blitzdetektor Shield, wenn Sie mit dem Finger die Drossel L1 am Kern berühren?
      Reagiert der Blitzdetektor Shield auf ein Piezo Feuerzeug?
      Wie sieht das Signal am Analogeingang A0 aus?

      1. JoRa

        Hallo fritz,

        danke für die Antwort
        am Terminal wird folgendes ausgegeben:
        19:36:02.919 -> PWM:14 Actual:932 Averange:932.83 Difference:0 Warnlevel:1079 Decay:4 Strikecount:0
        19:36:03.937 -> PWM:14 Actual:934 Averange:933.01 Difference:0 Warnlevel:1075 Decay:4 Strikecount:0
        19:36:04.955 -> PWM:14 Actual:933 Averange:932.89 Difference:0 Warnlevel:1071 Decay:4 Strikecount:0
        19:36:06.010 -> PWM:14 Actual:933 Averange:932.94 Difference:0 Warnlevel:1067 Decay:4 Strikecount:0
        19:36:07.009 -> PWM:14 Actual:933 Averange:933.00 Difference:0 Warnlevel:1063 Decay:4 Strikecount:0
        19:36:08.037 -> PWM:14 Actual:933 Averange:933.12 Difference:0 Warnlevel:1059 Decay:4 Strikecount:0
        19:36:09.061 -> PWM:14 Actual:933 Averange:932.95 Difference:0 Warnlevel:1055 Decay:4 Strikecount:0
        19:36:10.108 -> PWM:14 Actual:932 Averange:932.62 Difference:0 Warnlevel:1051 Decay:4 Strikecount:0
        Wenn ich an die Drossel fasse wird strike ausgelöst.
        Wenn ich das Piezo zünde wird auch strike ausgelöst.

        Ich weiß nicht an was es liegt.

        1. fritz Post author

          Hallo JoRa,
          Bei mir sieht es so aus:
          PWM duty cycle tuning started
          PWM duty cycle tune successfull
          PWM:18 Actual:944 Averange:1018.06 Difference:7 Warnlevel:255 Decay:0 Strikecount:32
          PWM:18 Actual:951 Averange:949.91 Difference:-1 Warnlevel:509 Decay:1 Strikecount:255
          PWM:18 Actual:951 Averange:950.81 Difference:0 Warnlevel:508 Decay:1 Strikecount:0
          Wird ein „Blitz“ detektiert, ist die Ausgabe wie folgt:
          PWM:18 Actual:951 Averange:950.19 Difference:0 Warnlevel:1495 Decay:5 Strikecount:0
          PWM:18 Actual:951 Averange:950.22 Difference:0 Warnlevel:1490 Decay:5 Strikecount:0
          PWM:18 Actual:949 Averange:939.57 Difference:-9 Warnlevel:1739 Decay:6 Strikecount:255
          PWM:18 Actual:939 Averange:936.79 Difference:-2 Warnlevel:1987 Decay:7 Strikecount:255
          PWM:18 Actual:945 Averange:943.30 Difference:-1 Warnlevel:2234 Decay:8 Strikecount:255
          PWM:18 Actual:950 Averange:950.02 Difference:0 Warnlevel:2226 Decay:8 Strikecount:0
          PWM:18 Actual:945 Averange:945.69 Difference:0 Warnlevel:2218 Decay:8 Strikecount:0

          Man kann nun an zwei Schrauben drehen:
          1.Man erhöht die Empfindlichkeit der Schaltung.
          Dazu wird in der TunePWM() folgende Zeile modifiziert:
          PWM_DutyCycle = (PWM_DutyCycle /3 ) * 2;
          Original wird der PWM Wert auf 2/3 des Maximums gesetzt.
          Man kann den PWM Wert ja mal auf 5/6 setzen.

          2.Man veringert die Tolleranz gegenüber Störungen.
          Dazu gehört in der loop() folgende Zeile modifiziert:
          if (Difference >= 15){
          Würde da mal 12 testen.

  3. JoRa

    Danke für die Hilfe nach einer feinjustierung wie beschrieben funktioniert es Prima.
    Jetzt habe ich allerdings noch ein Problem.
    Da ich die Daten auf nen Server laden will benötige Wlan.
    Weshalb ich den D1 oder ein Esp8266 einsetzen möchte.
    Gibt es den sketch auch für den Ardunino D1?
    Ist ja im Prinzip kompatibel, jedoch funktioniert der Sketch vom UNO dort nicht.

    analogReferenz Fehler!

    Die funktion habe ich bei beiden nicht hinbekommen.
    Bitte um kurze Antwort.

    Recht herzlichen Dank und mit freundlichen Grüßen
    JoRa

  4. Michael Krispin

    Waere es nicht einfacher (auch sicherer) den Blitz ueber seinen sicher vorhandenen UV Lichtanteil zu detektieren?
    Diese UV Dioden liefern eine Spannung als Teil eines Spannungsteilers.
    Abtastraten von etwa 4-5 mal /pro Sekunde sollte kein Problem darstellen, weder fuer den ADC1115 noch fuer den uCtrl
    Das in ein Array rollierend speichern fuer etwa 5 Sekunden und ueber die rate of change durch vergleich der aktuellen mit den Vorgroessen auf einen deutlichen Peak pruefen.
    Ich bin gerade daran fuer meine Wetterstation
    Lieben Gruß aus Thailand,
    Michael

    1. fritz Post author

      Hallo Michael,
      Über UV Licht ist unserer Meinung nach suboptimal.
      Elektromagnetische Wellen durchdringen Wände.
      UV Licht leider nicht.
      Über Radiowellen ist eine Detektion über 50km kein Problem.
      Über UV Licht, wird der analoge Schaltungsteil sehr anspruchsvoll.
      Physikalische Grenzen auszuloten ist aber unser Kerngeschäft 😉

  5. Michael Krispin

    Hallo Fritz,
    Mein UV Sensor ist draussen an meiner Wetterstation wasserdicht montiert.
    Erste Versuche mit einem ADC1115 (4 AI) ueber I2C an meinem ESP8266 angeschlossen zeigen gute Resultate.
    Da ist nur ein weiterer Widerstand noetig um einen Spannungsteiler zu bilden. Diese UV Photodiode aendert intern seinen Spannungsabfall in Abhaengigkeit der einfallenden UV Lichtstaerke. Das ist kein lahmer LDR.
    Ich habe zur Zeit taeglich Gewitter hier und optimiere nur noch die Peakerkennung per Software.
    Mich interessiert obendrein auch nur Gewitter in meiner Umgebung.
    Aber es fuehren bekanntlich viele Wege nach Rom
    LG, Michael

  6. Jörg Michael Günther

    Hej Fritz
    Eine Frage ….
    Kann man die Ausgabe auf irgendeine Weise auch in Daten fassen, die ich in einer Datenbank speichern kann und dann auf meiner Wetterseite darstelle?
    Vielleicht zusätzlich zu den Leuchtdioden. Das Ganze befindet sich nämlich nach Montage ausserahlb des Hauses in einer Box.
    Herzlichen Gruss aus Schweden
    Jörg

    1. fritz Post author

      Hallo Jörg,
      Da gibt es einige Möglichkeiten.
      Am einfachsten die UART Ausgabe nutzen und den Arduino an einen Raspberry PI anbinden.
      Dann hast du genügend Rechen Power für eine Datenbankanbindung und bist zugleich vernetzt.

  7. Andreas Golla

    Richtig guter Bausatz und Sketch.
    Ich habe noch ein 128×32 OLED über I2C angeschlossen und den Sketch entsprechend erweitert. Die lange Zeile für den seriellen Monitor wird jetzt 4-zeilig auf dem OLED ausgegeben. Mit aufgesetztem Shield blieb das OLED allerdings zunächst dunkel. Egal ob an A5/A4 oder SDA/SCL angeschlossen, obwohl die Pins am Shield laut Schaltplan nicht benutzt werden. Seltsam. Hab mir dann so beholfen, dass ich das Shield über SDA/SCL am Rand ausgesägt habe und das OLED direkt in die Pins des darunterliegenden Arduinos stecke. Und siehe da, es funktioniert. Nur manchmal wird beim Schreiben aufs OLED ein Störimpuls (Blitz) erzeugt. Hängt irgendwie davon ab, wie das Kabel liegt. Vielleicht hat jemand eine Idee, wie man das noch robuster bekommt. (5V und GND sind ohne Probleme direkt am Shield angeschlossen)

    Ansonsten einwandfreier Betrieb auch am alten Labornetzteil. USB-Steckernetzteile allerdings gehen wegen Störungen gar nicht.

      1. Andreas Golla

        Hallo Herr Ramser,
        danke für den Tip. Absenken der I2C Frequenz bis runter auf ca. 1kHz hat jedoch nichts gebracht. Die Lösung war dann ein zusätzliches ‚delay(50)‘ nach dem Schreiben der 4. und letzten Zeile aufs OLED mit ‚display.display()‘. Der Störimpuls ist jetzt weg. Ein ‚delay(10)‘ war übrigens zu klein.

        1. fritz Post author

          Sehr geehrter Herr Golla,
          Leider können wir einen Befehl, in einem unbekannten Programm, auf einer unbekannten Hardware, ohne Schaltplan nicht nachvollziehen und damit verbunden auch leider keinen Support anbieten.

  8. Lutz

    Hallo

    bausatz zusammengebaut und funktioniertprima. werd den mal ein paar tage laufen lassen. bis dahin alles prima. Ich möchte damt eine kamera ansteuern und Blitzfotografie machen. Kann mir bitte jemand helfen ? Wie muss ich den optokoppler betreiben ? Welcher pin ist was ? Ich habe einen potentialfreien kontakt an der kamera und einen kabelgebundenen fernauslöser.
    Danke für jede Hilfe!!

      1. Lutz

        hallo Fritz

        danke für den Link. Aber der OK auf dem Bausatz ist ein Transistor.. brauch ich eine Beschaltung für den Pin 6 ?

Schreibe einen Kommentar

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