Detektor wyładowań atmosferycznych

Detektor wyładowań atmosferycznych

Wyładowania atmosferyczne - błyskawice - towarzyszą ludziom od zawsze. To dosyć częste zjawisko kiedyś kojarzone było z siłami nadnaturalnymi czy boskimi, teraz jest już doskonale zrozumiałe, jednakże nadal fascynuje. Nowoczesna technologia pozwala na wykrywanie wyładowań atmosferycznych nawet z dużej odległości. Meteorolodzy wykorzystują dane na temat wyładowań do przewidywania i monitorowania pogody. Teraz, dzięki elektronice, każdy może samodzielnie zbudować urządzenie do detekcji wyładowań atmosferycznych.

Systemy wykrywania aktywności wyładowań atmosferycznych wykorzystują relatywnie nieskomplikowane systemy radiowe. Podczas uderzenia błyskawica emituje promieniowanie elektromagnetyczne w pasmie radiowym. Dzięki zastosowaniu czułego odbiornika RF i przetwarzaniu odebranego sygnału za pomocą złożonego algorytmu system może nie tylko wykryć fakt, że gdzieś uderzyła błyskawica, ale także określić, jak daleko miało to miejsce.

Układ scalony, taki jak AS3935, może precyzyjnie określić, czy wykryta aktywność elektryczna jest spowodowana piorunem. Układ ten precyzyjnie szacuje prawdopodobną odległość na podstawie intensywności sygnału. Za odległość przyjmowana jest odległość od początku burzy, gdzie zaczyna się tworzyć błyskawica, a nie od punktu, gdzie uderzyła. Chip może określić odległość z wystarczającym przybliżeniem między maksymalnie 40 km a minimum 1 km. Algorytm używany w systemie pozwala na odróżnienie, z pewnym przybliżeniem, błyskawic (wyładowań atmosferycznych) od wyładowań elektrycznych wytwarzanych na przykład przez cewki zapłonowe i świece zapłonowe, silniki elektryczne szczotkowe czy kuchenki mikrofalowe.

Scalony detektor wyładowań atmosferycznych

Rysunek 1. Schemat ideowy modułu do detekcji wyładowań atmosferycznych

W poniższym projekcie wykorzystamy scalony detektor wyładowań atmosferycznychAS3935 - oraz moduł Arduino z wgranym odpowiednim oprogramowaniem. W pierwszej kolejności podłączyć musimy scalony detektor do płytki Arduino. Najprościej jest zrobić to z wykorzystaniem prostego modułu, na którym znajdzie się układ oraz goldpiny. Posłużą one do połączenia go z wyprowadzeniami Arduino. Na module znajdą się też potrzebne do działania elementy dyskretne czy kondensator filtrujący zasilanie. Schemat takiego modułu pokazany jest na rysunku 1. Jeśli nie chcemy konstruować go samodzielnie, tego rodzaju moduły dostępne są również w handlu.

Możemy wyróżnić dwa podstawowe zespoły elementów, towarzyszące AS3935 - tor analogowy, złożony z układu RLC (L1, R3, C4 i C5) oraz cyfrowy interfejs, zawierający rezystory podciągające, konieczne do podłączenia układu do mikrokontrolera.

Układ zawiera wbudowany stabilizator napięcia. Dzięki temu AS3935 może być zasilany przez wewnętrzny stabilizator napięcia lub bezpośrednio przez zewnętrzne zasilanie. Użycie wewnętrznego regulatora napięcia zwiększy pobór prądu o około 5 μA. Aby włączyć wewnętrzny regulator napięcia, piny VDD i EN_VREG muszą zostać podłączone do napięcia zasilania. Pojemność większa niż 1 μF musi być podłączona od pinu VREG do masy, aby zapewnić stabilne działanie stabilizatora napięcia. Nominalnie napięcie wyjściowe z wbudowanego stabilizatora wynosi 3 V. Aby zasilić AS3935 bezpośrednio zewnętrznym źródłem zasilania (np. z zewnętrznego stabilizatora w układzie), pin EN_VREG musi zostać podłączony do masy. Zarówno VDD, jak i VREG muszą być wtedy podłączone do napięcia zasilania.

Interfejs cyfrowy

Omawiany układ - detektor wyładowań atmosferycznych - wyposażony jest w interfejs szeregowy do komunikacji z mikrokontrolerem. Układ może być skonfigurowany do pracy z wykorzystaniem interfejsu I2C lub SPI. W opisywanym projekcie zastosowano ten drugi z interfejsów. Wykorzystuje on cztery linie cyfrowe:

  • MISO (Master In, Slave Out) - linia wykorzystywana przez układ do wysyłania danych do kontrolera, w naszym przypadku do modułu Arduino
  • MOSI (Master out, Slave In) - linia, którą moduł Arduino będzie wykorzystywał do przesyłania danych do układu
  • CS (Chip Select) - linia, z pomocą której master (moduł Arduino) kontroluje pracę interfejsu szeregowego
  • SCL (Serial Clock) - zegar transmisji szeregowej, wykorzystywany do synchronizacji transmisji w liniach MISO oraz MOSI.

Do wyboru pomiędzy oboma interfejsami szeregowymi służy nóżka numer 9 układu, oznaczona SINT. Podanie stanu wysokiego na ten pin powoduje, że układ działać będzie w trybie I2C, a po podaniu stanu niskiego wykorzystywać będzie interfejs SPI. W module, którego schemat pokazano na rysunku 1, stan tego pinu kontrolowany jest przez zworkę JS1. Aby wybrać interfejs SPI, zworka ta musi być zwarta.

Sekcja analogowa

Antena zewnętrzna jest bezpośrednio podłączona do frontendu analogowego (AFE), który wzmacnia i demoduluje odbierany sygnał. Watchdog stale monitoruje wyjście AFE i ostrzega zintegrowany blok detekcji wyładowania atmosferycznego w przypadku sygnału przychodzącego.

Moduł AFE wzmacnia i demoduluje sygnał AC odbierany przez antenę systemu. Układ AS3935 wykorzystuje technikę odbioru wąskopasmowego sygnału o częstotliwości środkowej 500 kHz i szerokości około 33 kHz do detekcji wyładowań atmosferycznych. Wzmocnienie AFE jest w zasadzie stałe w całym paśmie pracy anteny. Osiągnięto to poprzez zapewnienie szerszego pasma AFE niż pasmo anteny. Wzmocnienie AFE zostało zoptymalizowane dla dwóch środowisk pracy - w pomieszczeniu i na dworze. Domyślnie system ustawiony jest na pracę w pomieszczeniu, ale można zmienić to z pomocą pojedynczego rejestru konfiguracyjnego.

Strojenie anteny dla układu AS3935 jest dosyć proste - składa się ona z podłączonego do systemu równoległego rezonatora LC z dodanym opornikiem. Wymagania co do tego układu są bardzo proste - ma on charakteryzować się częstotliwością rezonansową fR≈500 kHz i dobrocią Q≥15. Częstotliwość rezonansowa takiego układu LC opisana jest równaniem 1, a dobroć równaniem 2.

  (1)

 

   (2)

W układzie zastosowano cewkę MA5532-AE firmy Coilcraft, która została opracowana we współpracy z producentem układu AS3935. Cewka ta charakteryzuje się indukcyjnością równą 100 μH i rezystancją stałoprądową uzwojenia równą 6 Ω. Jeśli teraz uzupełnimy ten układ kondensatorem o pojemności 1 nF, to częstotliwość rezonansowa fR=503,3 kHz. Jeśli teraz do układu tego dołożymy równolegle rezystor o oporności 10 kΩ uzyskamy dobroć Q=31,6. Parametry te w pełni satysfakcjonują wymagania układu.

Ustawiając rejestry cyfrowe w układzie, można dodawać i odejmować wewnętrzne pojemności do układu LC, aby odstroić  częstotliwość rezonansową o ±3,5%. Układ może też mierzyć częstotliwość rezonansową, więc proces strojenia anteny przeprowadzać można w pełni automatycznie.

Sygnał wyjściowy z AFE jest monitorowany przez watchdog. W przypadku, gdy sygnał przekroczy pewien próg szerokości - czasu trwania - układ przechodzi w tryb weryfikacji sygnału. Poziom tego progu można ustawić w jednym z rejestrów układu. Po zwiększeniu prógu, AS3935 może być bardziej odporny na zakłócenia. Jednak spowoduje to również, że czujnik będzie mniej czuły na słabsze sygnały z odległych wyładowań.

Sygnał wyjściowy AFE jest również wykorzystywany do estymacji poziomu szumów - poziomu odniesienia. Poziom szumu jest stale porównywany z napięciem odniesienia (próg szumu). Ilekroć poziom szumu przekracza ustalony próg, układ AS3935 generuje przerwanie (INT_NH), aby poinformować jednostkę zewnętrzną (np. mikrokontroler), że nie może działać poprawnie z powodu wysokiego szumu wejściowego odbieranego przez antenę. Możliwa jest konfiguracja poziomu szumu granicznego dla urządzenia.

Algorytm działania układu AS3935

Blok detekcji systemu sprawdza sygnał względem predefiniowanego wzorca. Układ jest w stanie rozróżniać sygnały spowodowane uderzeniami pioruna i sygnały generowane przez sztuczne źródła - zakłócenia. W przypadku, gdy sygnał jest zaklasyfikowany jako zakłócenie, zdarzenie jest odrzucane, a czujnik automatycznie powraca do trybu nasłuchu. Gdy zdarzenie sklasyfikowane jest jako uderzenie pioruna, blok oceny statystycznej dokonuje oszacowania odległości do czoła burzy.

Algorytm detekcji wyładowań wykorzystuje trzy kroki:

  1. Walidacja sygnału - decyzja, czy wykryty sygnał jest w istocie wyładowaniem atmosferycznym.
  2. Obliczenie energii uderzenia - wyznaczenie całkowitej energii pojedynczego zdarzenia
  3. Statystyczna estymacja odległości od wyładowania - ocena odległości uderzenia na podstawie danych statystycznych i obliczonej energii uderzenia.

W przypadku, gdy odebrany sygnał nie ma charakterystyki kształtu związanego z wyładowaniem atmosferycznym, walidacja sygnału kończy się automatycznie niepowodzeniem i zdarzenie jest klasyfikowane jako inne zakłócenie. W takim przypadku obliczenia energii i statystyczne szacowanie odległości nie są wykonywane, a czujnik automatycznie powraca do trybu nasłuchu.

Najkrótszy czas między dwoma uderzeniami pioruna, które AS3935 może wykryć i zanalizować, wynosi około jednej sekundy. Gdy sygnał zostanie zaklasyfikowany jako zakłócenie, czujnik jest dezaktywowany na dalsze 1,5 sekundy. Ponieważ czas trwania sygnałów zakłócających może się zmieniać, czas przestoju czujnika uniemożliwia wielokrotne wyzwalanie czujnika z powodu dłuższych zakłóceń.

Podczas fazy walidacji sygnału analizowany jest jego kształt i przebieg. Czujnik rozróżnia sygnały naturalne i sztuczne zakłócenia. Algorytm dyskryminacji impulsów może być konfigurowany za pomocą rejestrów konfiguracyjnych w systemie. Zmiany w tym zakresie pozwalają uczynić system mniej podatnym na zakłócenia kosztem czułości - system ustawiony jako bardziej odporny na zakłócenia będzie miał większe problemy z wykrywaniem wyładowań znajdujących się daleko.

Jeśli odebrany sygnał zostanie sklasyfikowany jako błyskawica, obliczana jest jego energia. Wynik obliczenia energii jest następnie zapisywany w rejestrach układu. Wartość ta jest tylko bezwymiarową liczbą i nie ma fizycznego znaczenia - to tylko estymator wyznaczony na podstawie odebranego sygnału. Jest on potrzebny do oszacowania odległości od wykrytego wyładowania.

Finalnie AS3935 generuje szacunkową odległość do czoła wykrytej burzy. Ocena ta odbywa się na podstawie analizy statystycznej. Blok szacowania odległości to miejsce, w którym analiza ta jest prowadzona. Blok ten estymuje odległość od czoła burzy na podstawie danych statystycznych, zebranych z pewnej liczby poprzednich wykrytych zdarzeń. Algorytm automatycznie usuwa stare dane z pamięci. Szacowana odległość jest zapisywana w rejestrze układu i odpowiada odległości od czoła burzy w kilometrach. Sam algorytm szacowania odległości od burzy jest wbudowany w układ i nie jest dostępny z zewnątrz.

Podłączenie do Arduino

Układ AS3935 wymaga jedynie podłączenia kilku linii, aby działać. Do układu podłączyć trzeba oczywiście masę i zasilanie, interfejs SPI, a także dodatkową linię - przerwanie (oznaczone IRQ na rysunku 1). Na tym pinie detektor burzy wystawia stan wysoki w momencie, gdy wykryte zostaje wyładoanie atmosferyczne.

Listę połączeń pomiędzy detektorem (którego schemat pokazano na rysunku 1) i modułem Arduino zawarto w tabeli 2. Dodatkowo, do modułu Arduino, podłączony został wyświetlacz LCD połączony poprzez interfejs szeregowy.

Rysunek 2. Schematyczne przedstawienie podłączenia modułu z detektorem wyładowań atmosferycznych, wyświetlacza LCD i modułu Arduino

Na rysunku 2 schematycznie zaprezentowano połączenia opisane w tabeli 1 oraz tabeli 2. Pamiętać oczywiście należy, że duża część z opisanych powyżej połączeń nie jest niezmienna - piny takie jak CS czy programowo generowany interfejs szeregowy mogą być podpięte do innego wyprowadzenia mikrokontrolera, jeżeli tylko odpowiednio skonfiguruje się to w kodzie programu.

Oprogramowanie

Zadaniem modułu Arduino Uno jest analiza sygnału dostarczanego przez czujnik, przetworzenie go i wyświetlenie na wyświetlaczu LCD poprzez port szeregowy. System prezentuje szereg informacji na temat wyładowania: liczbę wykrytych wyładowań elektrycznych, które można uznać za jego odgałęzienia oraz szacowaną odległość od wyładowania.

Aby sterować wyświetlaczem szeregowym, użyto biblioteki do emulowania portu szeregowego SoftwareSerial.h, która umożliwia zwolnienie sprzętowego portu UART dla innych aplikacji, które go potrzebują. Płytka czujnika jest podłączona przez magistralę SPI. Interfejs ten pozwala na odbieranie wszystkich danych z sensora i wysyłanie informacji konfiguracyjnych. Dzięki algorytmom przetwarzania sygnału radiowego, zaimplementowanym w układzie, Arduino nie musi prowadzić już żadnej analizy sygnału.

/CS (sygnał aktywny na niskim poziomie logicznym) jest obsługiwany przez wyjście cyfrowe 3 modułu Arduino. Skonfigurowane jest w szkicu jako wyjście. Wejście przerwania - IRQ - jest natomiast podłączone do cyfrowego wejścia numer 2 Arduino. Linia IRQ powiadamia Arduino o możliwej detekcji wyładowania przez układ. Gdy IRQ wraca do zera logicznego, następuje przerwa co najmniej 2 ms przed ponownym odczytaniem rejestru.

Wyświetlacz LCD jest zasilany z Arduino przez linie 5 V i GND dla zasilania i sterowany z cyfrowego pinu 5, ustawionego jako wyjście. Z pomocą tego pinu system wysyła szeregowo dane sterujące do wyświetlacza RX poprzez interfejs UART.

Na listingu 1 zaprezentowano kod programu. Wykorzystuje on dwie zewnętrzne biblioteki, z których jedną trzeba pobrać i zainstalować w Arduino - AS3935.h, która pobrana może być tutaj: http://bit.ly/2NVmKnh.

Zazwyczaj powiadomienie o burzy jest wyświetlane wraz z liczbą wykrytych zdarzeń w czasie krótszym niż 60 sekund. Jeśli w ciągu 60 sekund nie zostaną wykryte żadne wyładowania atmosferyczne, zostanie wyświetlone powiadomienie o tym fakcie. Jeśli w rejestrze układu scalonego dostępna jest odległość od wyładowania, to ta informacja jest również wyświetlana w drugim wierszu, z komunikatem o treści: Liczba wyładowań: X, gdzie X wskazuje liczbę wykrytych wyładowań. Poniżej można zobaczyć: Odległość: N km, gdzie N to szacowana odległość od wyładowania w kilometrach. Jeśli odległość jest niższa niż minimalna odległość wykrywania (1 km), wyświetlacz pokazuje napis „Burza nad Tobą” a w drugiej linii „UWAŻAJ!”. Analogicznie system informować będzie o wykryciu wyładowania poza maksymalnym zasięgiem detekcji (ok. 60 km).

Nikodem Czechowski

  1. http://bit.ly/2L8NOge
  2. http://bit.ly/2LJsmhx
Artykuł ukazał się w
Elektronika Praktyczna
sierpień 2019
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik marzec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio kwiecień 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje marzec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna marzec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich kwiecień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów