AS3935 Blitzdetektor mit Arduino

AS3935 Blitzdetektor auf Steckbrett Adapter
Der Aufbau von Wetterstationen ist ja ein ganz besonders beliebtes Projekt bei Mikrocontroller-Bastlern. Dank moderner integrierter Sensoren lassen sich hier in kurzer Zeit sehr gut funktionierende Systeme aufbauen. Als Standard-Messgrössen verwendet man dann üblicherweise Temperatur, Luftfeuchte sowie manchmal noch den Luftdruck. Eine weitere, sehr interesante Beobachtungsmöglichkeit ergibt sich nun mit dem integrierten Schaltkreis AS3935 der Firma AMS.

Es handelt sich dabei um ein komplettes System zur Erkennung von Blitzen. Jeder, der bei einem Gewitter schon einmal Radio gehört hat, dürfte die Störungen bemerkt haben, die von den Blitzen verursacht werden. Auf diesem Prinzip basiert auch die Funktion des AS3935.

Ein auf 500kHz, also im Mittelwellenbereich, abgestimmter Schwingkreis dient als Empfänger für die typischen von Gewittern verursachten elektromagnetischen Störungen.

Diesem Schwingkreis ist eine elektronische Auswertung nachgeschaltet, welche störende Hintergrundsignale sowie kurze Störsignale (Spikes) ausblendet. Wurde ein gültiges Blitz-Ereignis erkannt, errechnet der Baustein dafür mittels eines leider nicht näher im Datenblatt beschriebenen Verfahrens die Entfernung sowie die Stärke des Blitzes.

Dieser Wert kann dann einfach per Digital-Schnittstelle (I2C oder SPI wählbar) ausgelesen und weiterverarbeitet werden.

Durch eine Sammelbestellung bei www.mikrocontroller.net konnte ich das IC, die dazu passende Spule sowie eine kleine Adapter-Platine besorgen.

Um erste Erfahrungen im Umgang mit diesem Baustein zu sammeln, habe ich ihn an einen Arduino angeschlossen und das hier ladbare Beispielprogramm geschrieben.

Zusätzlich zu den Standard-Arduino Bibliotheken müssen noch die TimerOne sowie die Pinchange-Library installiert werden!

Die Eagle-Pläne für das Breakout-Board, Datenblätter und andere Infos finden sich übrigens hier: https://sites.google.com/site/blitzdetektor/

Das Programm initialisiert den Baustein und führt eine Kalibrierung des LC-Oszillators durch. Hierzu werden alle im AS3935 schaltbaren Schwingkreis-Kapazitäten durchprobiert, jeweils eine Sekunde lang wird die Frequenz gemessen und diejenige mit der geringsten Abweichung wird selektiert. Danach begibt sich das Programm in eine Endlos-Schleife und wartet auf Signale von AS3935.

Dieser kann 3 verschiedene Zustände mitteilen:

Noise Floor:

Die Störsignale in der Umgebung sind zu hoch.

Als Reaktion darauf versucht das Programm, die Empfindlichkeit für Störsignale zu senken, indem es das NOISE_FLOOR Register erhöht.

Disturber:

Dieser Interrupt wird ausgelöst, wenn ein kurzfristiges Störsignal erkannt wird.

Lightning:

Dieser Interrupt wird ausgelöst, wenn ein Blitz-Ereignis detektiert wird. Danach wird die Entfernung sowie Blitzintensität aus dem AS3935 gelesen und angezeigt.

Das Beispielprogramm zeigt die verschiedenen Interrupts an und gibt im Fall eines Blitzes noch die Stärke sowie die Entfernung aus. Wurde 10 Sekunden lang kein Noise-Floor Ereignis erkannt, wird die Empfindlichkeit durch Erniedrigen des NOISE_FLOOR Registers wieder erhöht. Meldungen des Programms werden auf der seriellen Konsole mit 38400 Baud ausgegeben.

Bauteile für dieses Projekt - Anzeigen:
Aktive Bauelemente

Passive Bauelemente


Weitere Informationen,Grundlagen,Bauanleitung,Schaltplan, Links zum Thema
Anzeigen:

Neueste Artikel
Anzeigen:
Aktuelle Newsbeiträge
Sie sind Besucher Nr. 1212703