Товары из Китая

AS3935 — датчик молнии: как "поймать" молнию (или дурак и молния)


  • Цена: $17.82 + доставка 1,88$
  • «Люблю грозу в начале мая,

    Когда весенний, первый гром,

    как бы резвяся и играя,

    Грохочет в небе голубом.»

    Федор Тютчев.

    Наверняка у многих приближающаяся гроза вызывает первобытное чувство страха: кажется, что от этой стихии не скрыться и не убежать. Но, несмотря на чувство страха, любопытство порой оказывается сильнее и хочется «прикоснуться» к этому разрушительному и в какой-то степени загадочному явлению. Мне это знакомо, поэтому увидев в продаже датчик молнии, я конечно некоторое время колебался, но всё же купил его. Стоит этот датчик в разы дороже распространенных датчиков, например температуры и влажности, но это не остановило меня и я рад поделиться своими впечатлениями.

    AS3935 Franklin Lightning Sensor ™ — датчик молнии со встроенным алгоритмом оценки расстояния от AMS. AS3935 — первая в мире интегральная схема для обнаружения молний, которая была разработана для маломощных портативных или стационарных приложений. Используя чувствительный радиочастотный приемник и встроенный запатентованный алгоритм, AS3935 обнаруживает электрическое излучения от грозовой активности, а затем обеспечивает оценку расстояния до очага шторма от 40 км до 1 км, при этом исключая помехи от бытовых приборов, таких как двигатели и микроволновые печи.

    AS3935 может обнаруживать приближающийся грозовой фронт и обеспечивать оценку расстояния до переднего края фронта, где передний край шторма определяется как минимальное расстояние от датчика до ближайшего края грозового фронта. Встроенный аппаратный алгоритм оценки расстояния AS3935 выдает прерывание на выводе IRQ каждый раз, когда обнаруживается молния. Расчетное расстояние, которое отображается в регистре оценки расстояния, представляет собой не расстояние до одиночной молнии, а расчетное расстояние до переднего края шторма. Датчик обнаруживает разряды «облако-облако» и «облако-земля».

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    На Aliexpress есть несколько вариантов исполнения платы с датчиком AS3935, я честно говоря, выбрал самый дешевый вариант.

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    Размер платы с датчиком 21*20 мм. На передней стороне платы расположены сам датчик, антенна и обвязка датчика в виде конденсаторов и резисторов. Конденсаторы подключенные параллельно антенне (680пФ и 270пФ) задают резонансную частоту приема в районе 500 КГц. Тонкую настройку можно произвести программно. При поиске информации о данном модуле я встречал сообщения, что попадаются модули с неправильны номиналами конденсаторов (1000пФ и 100пФ), программно откалибровать антенну в этом случае не получится. На обратной стороне расположены перемычки для активации портов MISO и CS шины SPI и для задания адреса при использовании I2С. Выбор режима работы осуществляется с помощью пина SI, при низком уровне на SI датчик работает в режим SPI, при высоком — в режиме I2C. По умолчанию порты MISO и CS шины SPI не активны.

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    Датчик имеет встроенный стабилизатор напряжения, который в данном варианте исполнения платы всегда активен, поэтому датчик можно питать от источника напряжения 5 В, но встречаются модули, где пин активации стабилизатора (EN_VREG) выведен наружу и им можно управлять подавая высокий или низкий уровень соответственно.

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    Для датчика есть множество библиотек для Arduino IDE, я использовал библиотеку от Sparkfun. У Sparkfun есть страница с подробным описанием начала работы с датчиком, где рекомендуется использовать интерфейс SPI, но при этом библиотека также поддерживает I2C. С библиотекой есть несколько примеров:

    1. Базовый пример с минимальнымим настройками: этот пример демонстрирует, как обнаружить молнию. У него есть несколько основных настроек, помогающих подавить шум или «мешающие» (ложные молнии).

    2. Пример с расширенными настройками: этот пример демонстрирует остальные функции, не упомянутые в базовом примере кода. Он включает в себя различные способы уменьшения количества ложных событий, функции выключения и пробуждения датчика, а также как сброс всех настроек до заводских значений по умолчанию.

    3. Пример с настройками резонансной частоты антенны. В этом примере показано, как настроить резонансную частоту антенны с помощью внутренних настроечных конденсаторов. Для этого может понадобится логический анализатор, осциллограф или какой-либо метод считывания прямоугольной волны с частотой не менее 4 КГц, но до 32 КГц. Приём сигнала ведется на магнитную антенну с ферритовым сердечником, свойства которой оговорены в даташите. Для нормальной работы микросхемы параллельный колебательный контур магнитной антенны должен быть настроен на частоту возможно более близкую (±3.5%) к 500 КГц. Для этого микросхема снабжена встроенными конденсаторами и блоком, облегчающим настройку. При настройке антенны она включается микросхемой в частотозадающий контур внутреннего генератора, частота которого выводится через вывод IRQ корпуса. Внешний микроконтроллер (или осциллограф) должен измерить эту частоту и подключить соответственно большую или меньшую ёмкость (в диапазоне 0 – 120 пФ) параллельно контуру антенны для настройки. Это принципиальный момент, от которого во многом зависит качество работы внутренних алгоритмов.

    Рассмотрим два способа калибровки.

    Первый способ с использованием осциллографа и примера от Sparkfun. Для этого подойдет самый простой осциллограф, например DSO138 как у меня. Частота антенны делится на «коэффициент деления», который по умолчанию равен 16. Его можно изменить на 32, 64 или 128, используя вызов функции

    lightning.changeDivRatio();

    Таким образом, измеренная осциллографом частота должна быть как можно ближе к 500/16 = 31,25 КГц. В строке

    int tuneVal = lightning.readTuneCap();

    считывается текущее значение внутреннего конденсатора, по умолчанию оно равно 0. Строка

    lightning.displayOscillator(true, ANTFREQ);

    активирует вывод частоты внутреннего генератора на пин IRQ, нам остается измерить эту частоту, как видим при значении емкости внутреннего конденсатора равной 0пФ частота равна 34,4*16=550,4 КГц, что на 10,08% больше необходимого значения в 500 КГц.

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    Строка

    lightning.tuneCap();

    задает значение емкости внутреннего конденсатора. Увеличивая емкость до максимальной в 120 пФ мы получаем частоту 32,6*16=521,6 КГц (расхождение 4,32%), что укладывается в рекомендуемые 3,5% от 500 КГц.

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    Второй способ предполагает использование для считывания частоты внутреннего генератора внешнего микроконтроллера. Скетч использует другую библиотеку для AS3935 и библиотеку FreqCounter для считывания частоты. В скетче изменяется емкость внутреннего конденсатора от 0 до 120 пФ и считывается соответствующая частота генератора, в итоге рассчитывается рекомендуемое значение емкости, которое также соответствует в моем случает 120 пФ. Стоит отметить, что при одних и тех же значения емкости частота меняется от запуска к запуску, и мне удавалось получить в итоге расхождение меньше 3,5%.

    После покупки датчика мне не терпелось его подключить и проверить. Я купил датчик в конце лета прошлого года и сезон грозу уже прошёл. Производитель вместе с датчиком предлагает имитатор разряда молнии для проверки датчика.

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    У меня такого имитатора нет и все попытки использовать пьезо-элемент от зажигалки или высоковольтный преобразователь от электрошокера оказались безуспешными. Также датчик не детектировал никого бытового электромагнитного шума. Я пробовал разные библиотеки, изменял различные настройки чувствительности, но все безрезультатно. Я расстроился и решил, что мне попался бракованный датчик, но все же ждал весенних гроз…

    Весна в этом году выдалась сухая и лишь в конце мая неожиданно разразилась гроза, но я не был готов и едва не пропустил её. И все же на исходе дня датчик был подключен к первой попавшейся Arduino Nano. В Arduino был загружен скетч из примеров библиотеки от sparkfun, я отрыл монитор порта и стал ждать. Восторгу не было предела когда с каждым, даже едва заметным, всполохом в небе в мониторе порта появлялось новое сообщение. Я провел весь вечер глядя то в окно, то в монитор, и чисто субъективно могу отметить корреляцию расстояния до вспышки молнии, рассчитанного датчиком, и наблюдаемым мной.

    Пример выдает 3 типа сообщений:

    «Distorber» (нарушитель) — субъективно это сообщение возникает при далеких всполохах;

    «Lightning strike detected! Approximately: XX km away» — при детектировании разряда молнии с оцененным расстоянием до грозового фронта;

    «Noise level so high» — при высоком уровне шума.

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    В видео несколько наглядней показана работа датчика. К сожалению, к ночи гроза практически закончилась и удалось запечатлеть совсем немного вспышек молнии.

    Я не знаю, когда будет очередная гроза, чтобы не пропустить этот момент я собрал простое устройство на базе ESP8266 и датчика AS3935. В качестве управляющей платформы я использовал Wemos D1 Mini, датчик же разместил непосредственно над платой с помощью прото-шилда. Но меня ждал неприятный сюрприз в виде частых ложных срабатываний детектора, буквально каждые пару секунд появлялось сообщение в терминале. Я предположил, что это связано с близким расположением датчика к ESP8266 и нашел этому подтверждение: на сайте популярной прошивки tasmota (которая кстати поддерживает AS3935) рекомендовано размещать датчик на расстоянии не менее 20 см от ESP8266. Но даже при удалении датчика от ESP8266 часто проявляются ложные срабатывания, необходима программная фильтрация. Детектор подключен к WiFi и построен на базе облачного сервиса Blynk. По сути это всё тот же пример из библиотеки, который дополнительно отправляет уведомления в терминал Blynk-a. У меня есть самодельная метеостанция на базе ESP8266, возможно, стоит её доработать, добавив возможность подключения датчика AS3935. Ждем очередной грозы.

    AS3935 - датчик молнии: как "поймать" молнию (или дурак и молния)

    Я помню в детстве у нас сгорел телевизор во время грозы, поэтому всегда при её приближении мы отключали телевизор от питания и от антенны. Имея подобный датчик, который заблаговременно предупредит о приближении грозы, можно защитить важное оборудование и самому спрятаться под одеялом. Датчик можно интегрировать в стационарные устройства, например, метеостанции, или в носимые устройства. Существую различные онлайн-сервисы грозопеленгации, к которым также можно подключить своё устройство на базе AS3935 для расширения покрытия. Разбираться с датчиком и наблюдать за таким интересным природным явлением как гроза было очень увлекательно.


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *