Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Обнаружение молний с Raspberry Pi и AS3935: практическое руководство

Молнии можно обнаруживать по электромагнитному импульсу, возникающему при разряде. Датчик молний AS3935 Franklin Lightning Sensor IC от компании ams (Austria Mikro Systeme) предлагает надежное и недорогое решение, способное улавливать разряды на расстоянии до 40 км, фильтровать промышленные помехи и отличать наземные разряды от внутриоблачных. В этом руководстве мы покажем, как интегрировать AS3935 с Raspberry Pi по I2C, откалибровать антенну и получать данные датчика через готовую библиотеку Python.

Почему AS3935? Чип содержит проприетарный алгоритм, устраняющий искусственные помехи и оценивающий расстояние до грозы. Он поддерживает программируемые пороги обнаружения, настройку антенны и может взаимодействовать по SPI или I2C. Его компактный корпус 4 × 4 мм MLPQ‑16, а плата-расширитель MOD‑1016 от Embedded Adventures упрощает подключение за счет встроенных подтягивающих резисторов, преобразователей уровней и удобного I2C-интерфейса.

Обзор оборудования

AS3935 требует только линию питания, землю, две линии I2C (SDA и SCL) и вход прерывания (IRQ). Используя макетную плату и Raspberry Pi Cobbler от Adafruit, подключение выполняется просто:

Вывод MOD‑1016Подключение к Pi
GNDЗемля (любой GND)
VCC3,3 В (Pin 1)
IRQGPIO 17 (Pin 11)
SCLSCL (Pin 5)
SDASDA (Pin 3)

При использовании I2C помните, что шина предназначена для коротких расстояний; спецификация ограничивает емкость шины 400 пФ, что обычно ограничивает эффективную длину проводов несколькими метрами. Если нужны более длинные линии, рассмотрите расширитель I2C или снизьте тактовую частоту. При прокладке линий I2C по витой паре используйте отдельные пары для SDA и SCL, а свободные провода каждой пары соедините с землей для уменьшения перехлестов.

Перед подключением оборудования включите I2C на вашем Pi:

sudo apt-get install python-smbus i2c-tools
sudo modprobe i2c-bcm2708
sudo modprobe i2c-dev
echo "i2c-bcm2708 i2c-dev" | sudo tee -a /etc/modules

С собранной схемой проверьте шину с помощью i2cdetect. На Pi с новой шиной I2C (шина 1) выполните:

sudo i2cdetect -y 1

Вывод должен показать AS3935 по адресу 0x03 и любые другие I2C-устройства, например MS5611 по адресу 0x76:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --

Для общения с датчиком нужно читать и записывать его внутренние регистры. Регистры работают как цифровые DIP-переключатели: установка определенных битов конфигурирует датчик или сбрасывает внутренние счетчики. Даташит AS3935 содержит все адреса регистров и функции бит. Низкоуровневая манипуляция регистрами возможна с помощью i2cget, i2cdump и i2cset, но библиотека Python более высокого уровня упрощает процесс. Библиотека RaspberryPi-AS3935 от Phil Fenstermacher предоставляет удобные методы и демонстрационный скрипт для быстрого старта. Установите её через pip или из репозитория GitHub, затем изучите RPi_AS3935.py для доступных команд.

Калибровка критична, так как AS3935 использует параллельную RLC-антенну, настроенную на 500 кГц ± 3,5 %. Чип включает внутренний настройка конденсатор 120 пФ, который можно активировать шагами по 8 пФ. Плата MOD‑1016 указывает значение внешнего настройка конденсатора на антистатическом пакете, поэтому вы можете просто вызвать метод библиотеки calibrate() с этим значением. Для более глубоких сведений о проектировании антенны обратитесь к AS3935 AMS Hardware Design Guide.

С откалиброванным датчиком вы можете начать сбор данных о молниях, логирование расстояния до грозы и даже запуск оповещений при обнаружении разряда в заданном радиусе. Этот проект — отличное введение в I2C, интерфейсирование датчиков и реальную обработку сигналов.

Производственный процесс

  1. Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
  2. Как считывать температуру с DS18B20 на Raspberry Pi 2
  3. Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
  4. Точный мониторинг температуры в серверной на Raspberry Pi
  5. Интеграция данных сенсоров в Raspberry Pi: практическое руководство
  6. Создание умного домашнего контроллера 433 МГц с Sensorflare и Raspberry Pi
  7. Создание headless сигнализации утечки воды на Raspberry Pi 2 с Adafruit T‑Cobbler Plus
  8. Создание монитора температуры ThingSpeak с Raspberry Pi и BrickPi
  9. Создание бюджетного детектора плача ребенка на Raspberry Pi — DIY-руководство
  10. Практическое руководство: real-time панорамирование/наклон для отслеживания лиц на Raspberry Pi