Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Mendeteksi Petir dengan Raspberry Pi

Berbagai metode dapat digunakan untuk mendeteksi petir. Umumnya melibatkan penginderaan radiasi elektromagnetik yang dihasilkan oleh serangan. Kebanyakan orang mungkin pernah mendengar ini di beberapa titik sebagai suara statis, kresek, dan letupan di radio AM. Beberapa detektor mampu menangkap kilatan cahaya yang dihasilkan di dalam awan, bahkan pada siang hari ketika biasanya tidak dapat dilihat oleh mata manusia karena sinar matahari. Terkadang petir akan memancarkan gelombang radiasi gamma singkat — sesuatu yang akan dipelajari oleh instrumen baru di Stasiun Luar Angkasa Internasional.

Dalam posting ini saya akan mengeksplorasi menggunakan RaspberryPi untuk menghubungkan AS3935 Franklin Lightning Sensor IC dari ams (Austria Mikro Systeme). AS3935 adalah sensor yang dapat diprogram yang dapat mendeteksi aktivitas petir hingga jarak 40km. Ini menggunakan algoritme bawaan yang dipatenkan untuk menyaring kebisingan dan "pengganggu" buatan manusia dan memperkirakan jarak ke tepi depan badai; memiliki tingkat deteksi yang dapat diprogram, pengaturan ambang batas, dan penyetelan antena; dan tidak seperti banyak sensor petir terestrial sebelumnya yang dapat mendeteksi aktivitas petir cloud-to-ground dan intra-cloud.

Detailnya

Daripada mengumpulkan komponen tertentu dalam jumlah kecil, meletakkan PCB, dan mencoba menyolder paket MLPQ-16 yang agak kecil (4x4mm), saya menggunakan papan breakout MOD-1016 dari Embedded Adventures. AS3935 membutuhkan rentang tegangan suplai 2,4 – 5,5V, yang akan bekerja sempurna dengan level logika GPIO 3.3v RaspberryPi. Itu dapat dihubungkan melalui SPI atau I2C. Secara default, MOD-1016 telah dikonfigurasi untuk menggunakan I2C tetapi dapat dengan mudah dialihkan untuk menggunakan SPI melalui beberapa jumper solder di papan. Dalam pengaturan saya, saya akan tetap menggunakan konfigurasi I2C default.

Proyek ini berfungsi sebagai pengantar yang bagus untuk protokol I2C bagi saya. Saya telah menggunakan protokol 1-Wire sebelumnya untuk menghubungkan beberapa sensor suhu DS18B20, tetapi I2C jauh lebih banyak digunakan sehingga saya senang memiliki kesempatan untuk menyelaminya. Dalam posting ini saya akan membahas detail yang diperlukan untuk berkomunikasi dengan AS3935 dari RaspberryPi melalui I2C, tetapi jika Anda menginginkan informasi lebih lanjut, Byte Paradigm memberikan pengantar yang bagus untuk I2C dan SPI.

Jika Anda belum mengonfigurasi RaspberryPi untuk menggunakan protokol I2C, Anda harus menginstal beberapa paket dan memuat beberapa modul kernel. Adafruit memiliki panduan yang bagus di sini, tetapi pada dasarnya Anda hanya perlu menginstal python-smbus dan i2c-tools paket, dan muat i2c-bcm2708 dan i2c-dev modul kernel. Melakukan ini di distro Raspbian mungkin seperti ini:

### Menginstal paket~ $ sudo apt-get install python-smbus~ $ sudo apt-get install i2c-tools### Memuat modul kernel~ $ sudo modprobe i2c-bcm2708~ $ sudo modprobe i2c-dev### Pastikan modul dimuat saat boot~ $ echo "i2c-bcm2708i2c-dev" | sudo tee -a /etc/modules 

Menghubungkan MOD-1016 ke RaspberryPi relatif sederhana. Dengan I2C Anda hanya memerlukan dua kabel (SDA &SCL) — selain daya dan ground, tentu saja — untuk berkomunikasi dengan beberapa perangkat. Masalah AS3935 menginterupsi untuk memberi tahu mikrokontroler tentang peristiwa, jadi kami memerlukan satu kabel tambahan untuk itu. Saya menggunakan papan tempat memotong roti standar dan RaspberryPi Cobbler dari Adafruit untuk meniru sirkuit. MOD-1016 (AS3935) terhubung ke RaspberryPi seperti:

MOD-1016 RaspberryPi
GND Tanah
VCC 3.3v (pin 1)
IRQ GPIO 17 (pin 11)
SCL SCL (pin 5)
SDA SDA (pin 3)

Satu hal yang perlu diperhatikan tentang I2C adalah ia dirancang untuk komunikasi antar-chip, seringkali antara sirkuit terpadu yang ditemukan pada PCB yang sama. Dalam I2C, garis ditahan tinggi oleh resistor pull-up dan ditarik rendah untuk menunjukkan keadaan yang berlawanan. Waktu yang diperlukan untuk membawa saluran kembali ke VCC bervariasi tergantung pada nilai resistor pull-up dan kapasitansi bus. Spesifikasi I2C membatasi kapasitansi maksimum hingga 400pF, yang biasanya membatasi jarak praktis hingga beberapa meter. Ada cara untuk memperpanjang panjang maksimal jika diperlukan. Yang paling jelas adalah bus extender I2C. Memperlambat laju jam juga dapat membantu meningkatkan jarak maksimal. Juga, perlu diketahui bahwa jika menggunakan kabel twister-pair seperti CAT-5 untuk koneksi I2C, jangan menjalankan jalur SCL dan SDA bersama-sama melalui twisted-pair yang sama. Gunakan pasangan terpisah dan ikat garis lainnya di setiap pasangan ke ground.

Gambar di bawah menunjukkan papan tempat memotong roti breakout MOD-1016 bersama dengan Sensor Tekanan Barometrik MS5611 dari Embedded Adventures dan Teman FTDI dari Adafruit.

Setelah semuanya terhubung, Anda dapat menggunakan perintah i2cdetect untuk melihat apakah I2C berfungsi dan dapat berkomunikasi dengan sensor. Jika menggunakan RaspberryPi yang lebih lama (dengan ram 256MB), Anda akan menjalankan perintah seperti yang ditunjukkan di bawah ini dengan ID bus I2C 0. Jika menggunakan RaspberryPi yang lebih baru, gunakan 1 saja. Pada output di bawah ini Anda dapat melihat AS3935 (0x03) dan MS5611 (0x76) telah terdeteksi dengan benar.

~ $ sudo i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 abcde f00:03 -- -- -- -- -- -- -- -- -- -- -- - -10:-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --20:-- -- -- -- -- -- - - -- -- -- -- -- -- -- -- --30:-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - --40 :-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --50:-- -- -- -- -- - - -- -- -- -- -- -- -- -- -- --60 :-- -- -- -- -- -- -- -- -- -- -- -- -- - - -- --70:-- -- -- -- -- -- 76 -- 

Sekarang untuk benar-benar menggunakan sensor, kita harus dapat berinteraksi dengannya. Ini dilakukan dengan membaca dan menulis ke register di dalam chip. Register adalah lokasi memori yang digunakan untuk menyimpan bit untuk hal-hal seperti konfigurasi dan input/output. Di satu sisi mereka seperti sakelar DIP digital, di mana bit atau rangkaian bit digunakan untuk menunjukkan atau mengatur berbagai status. Misalnya, dengan AS3935 dimungkinkan untuk menghapus statistik yang dibuat oleh algoritme dengan mengalihkan bit ke-7 (bit 6) dari register ke-3 (0x02). Tabel dan pemetaan yang menjelaskan lokasi dan fungsionalitas register dapat ditemukan di lembar data perangkat. Misalnya,

Sebagian besar bahasa dan platform memiliki alat atau pustaka yang tersedia untuk bekerja dengan I2C. Di Linux misalnya, i2c-tools package menyediakan utilitas seperti i2cdetect, i2cget, i2cdump , dan i2cset yang dapat digunakan dari baris perintah. Untuk python, modul SMBus disediakan oleh python-smbus package menawarkan binding yang diperlukan untuk mengakses bus I2C. Seringkali meskipun ada perpustakaan tingkat yang lebih tinggi yang tersedia untuk perangkat yang mengabstraksi detail bekerja dengan register individu. Daripada harus mengetahui bit mana yang harus dibaca atau ditulis ke register mana, Anda sering kali dapat membuat instance kelas dan memanggil metode untuk berinteraksi dengan perangkat tertentu.

Untuk bekerja dengan AS3935 dengan python, tersedia library RaspberryPi-AS3935 yang ditulis oleh Phil Fenstermacher. Petunjuk penginstalan dapat ditemukan di halaman GitHub. Ini memberikan metode yang berguna serta skrip demo yang bagus untuk membuat Anda siap dan berjalan. Untuk melihat metode yang tersedia dan argumennya, lihat file RPi_AS3935.py .

AS3935 menggunakan sirkuit RLC paralel sebagai antena dan perlu disetel ke frekuensi resonansi 500kHz ±3,5%. Untuk mengimbangi varians ada hingga 120pF yang tersedia secara internal melalui kapasitor penyetelan yang dapat diaktifkan dalam langkah 8pF. Melalui pengaturan register, AS3935 dapat mengeluarkan frekuensi resonansi pada pin IRQ yang memungkinkan perangkat eksternal untuk mengukurnya dan menyetel antena dengan tepat dengan mengaktifkan kapasitor penyetelan yang diperlukan. Untungnya breakout MOD-1016 dari Embedded Adventures hadir dengan nilai kapasitor tuning yang ditampilkan di bagian luar tas anti-statis. Ini membuat rutinitas kalibrasi menjadi lebih sederhana. Saat menggunakan pustaka di atas, semudah memanggil calibrate() metode dan melewati nilai kapasitor tuning sebagai argumen. Detail lebih lanjut tentang desain antena dapat ditemukan di Panduan Desain Perangkat Keras AS3935 AMS.

Untuk detail lebih lanjut:Mendeteksi Petir dengan Raspberry Pi


Proses manufaktur

  1. Pencatat Suhu Raspberry Pi
  2. Baca suhu dengan DS18B20 | Raspberry Pi 2
  3. Mengukur suhu dengan RASPBERRY PI
  4. Memantau Suhu Dengan Raspberry Pi
  5. Integrasi Data Sensor dengan Mikroprosesor Raspberry Pi
  6. 433MHz Smart Home Controller dengan Sensorflare dan RaspberryPi
  7. Alarm air raspberry pi 2 dengan tukang sepatu plus
  8. Monitor Suhu ThingSpeak dengan Raspberry Pi
  9. Detektor tangisan bayi DIY yang mudah dengan Raspberry Pi
  10. Pan / Miringkan pelacakan wajah dengan raspberry pi