Isi kandungan:

Penjejak Roket Telemetri / Kedudukan: 7 Langkah
Penjejak Roket Telemetri / Kedudukan: 7 Langkah

Video: Penjejak Roket Telemetri / Kedudukan: 7 Langkah

Video: Penjejak Roket Telemetri / Kedudukan: 7 Langkah
Video: The Best KDP Keyword Software I Use to Get Books Ranked on Amazon 2024, Julai
Anonim
Penjejak Roket Telemetri / Kedudukan
Penjejak Roket Telemetri / Kedudukan

Projek ini bertujuan untuk mencatat data penerbangan dari modul sensor 9 DOF ke kad SD, dan secara bersamaan mengirimkan lokasi GPSnya melalui rangkaian selular ke pelayan. Sistem ini membolehkan roket dijumpai sekiranya kawasan pendaratan sistem berada di luar LOS.

Langkah 1: Senarai Bahagian

Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian

Sistem Telemetri:

1x ATmega328 Mikrokontroler (Arduino UNO, Nano)

Breakout Micro SD 1x -

1x Micro SD Card - (saiz tidak kira format FAT 16/32) - Amazon Link

1x Gy-86 IMU - Pautan Amazon

Penjejakan Kedudukan:

1x ATmega328 Microcontroller (Arduino UNO, Nano) (setiap sistem memerlukan mikro sendiri)

1x Sim800L GSM GPRS Module - Pautan Amazon

Kad SIM 1x (mesti mempunyai pelan data) - https://ting.com/ (hanya mengenakan caj untuk apa yang anda gunakan)

Modul GPS 1x NEO 6M - Amazon LInk

Bahagian Umum:

Bateri lipo 1x 3.7v

Penukar langkah 1x 3.7-5v (jika anda tidak membina pcb)

1x Raspberry pi, atau mana-mana komputer yang dapat menghoskan pelayan php

- Akses ke pencetak 3D

-BOM untuk pcb disenaraikan dalam spreadsheet

-Gerbers berada di github repo -

Langkah 2: Subsistem 1: Penjejakan Kedudukan

Ujian:

Sebaik sahaja anda mempunyai bahagian untuk sistem (NEO-6M GPS, Sim800L), anda perlu menguji fungsi sistem secara bebas sehingga anda tidak perlu sakit kepala untuk mengetahui apa yang tidak berfungsi semasa anda mengintegrasikan sistem.

Ujian GPS:

Untuk menguji penerima GPS, anda boleh menggunakan perisian yang disediakan oleh Ublox (Perisian U-Center)

atau lakaran ujian yang dihubungkan di repo github (Ujian GPS)

1. Untuk menguji dengan perisian pusat-U, cukup pasang penerima GPS ke dalam USB dan pilih port com di pusat-U, sistem akan mula menjejaki lokasi anda secara automatik selepas itu.

2. Untuk menguji dengan pengawal mikro, muat naik lakaran ujian GPS ke arduino melalui IDE. Kemudian sambungkan 5V dan GND ke pin berlabel pada penerima ke pin arduino dan GPS RX ke digital 3 dan pin TX ke digital 4 di arduino. Akhirnya buka monitor bersiri pada arduino IDE dan tetapkan kadar baud ke 9600 dan sahkan koordinat yang diterima betul.

Catatan: Pengecam visual kunci satelit pada modul NEO-6M ialah penunjuk LED merah akan berkelip setiap beberapa saat untuk menunjukkan sambungan.

Ujian SIM800L:

Untuk menguji modul selular anda perlu mempunyai kad sim yang didaftarkan dengan pelan data aktif, saya mengesyorkan Ting kerana mereka hanya mengenakan caj untuk apa yang anda gunakan dan bukannya rancangan data bulanan.

Tujuan modul Sim adalah untuk mengirim permintaan HTTP GET ke pelayan dengan lokasi yang diterima oleh penerima GPS.

1. Untuk menguji modul sel masukkan kad simkad ke dalam modul dengan hujung chamfered menghadap ke luar

2. Sambungkan modul sim ke GND dan sumber 3.7-4.2v, jangan gunakan 5v !!!! modul tidak mampu berjalan pada 5v. Sambungkan modul Sim RX ke Analog 2 dan TX ke Analog 3 di Arduino

3. Muat naik lakaran bersiri bersiri dari github untuk dapat menghantar arahan ke modul sel.

4. ikuti tutorial ini, atau muat turun percubaan AT Command Tester untuk menguji fungsi HTTP GET

Pelaksanaan:

Setelah anda mengesahkan bahawa kedua-dua sistem berfungsi secara bebas, anda boleh terus memuat naik lakaran penuh ke mikrokontroler github. anda boleh membuka monitor bersiri pada 9600 baud untuk mengesahkan bahawa sistem menghantar data ke pelayan web.

* jangan lupa menukar ip dan port pelayan anda sendiri dan pastikan untuk mencari APN untuk penyedia sel yang anda gunakan.

Beralih ke langkah seterusnya di mana kita menyediakan pelayan

Langkah 3: Persediaan Pelayan

Persediaan Pelayan
Persediaan Pelayan

Untuk menyediakan pelayan untuk memaparkan lokasi roket, saya menggunakan pi raspberry sebagai hos, tetapi anda boleh menggunakan komputer apa pun.

Ikuti tutorial ini untuk menyiapkan lightphp pada RPI dan kemudian salin fail php dari github ke dalam folder / var / www / html RPI anda. Selepas hanya menggunakan arahan

perkhidmatan sudo lighttpd force-reload

untuk memuatkan semula pelayan.

Pastikan meneruskan port yang berkaitan dengan pelayan pada penghala anda sehingga anda dapat mengakses data dari jauh. Pada rpi mestilah port 80, dan port luaran boleh menjadi nombor sewenang-wenangnya.

Adalah idea yang baik untuk menetapkan ip statik untuk RPI supaya port yang anda tuju selalu menunjuk ke alamat RPI.

Langkah 4: Subsistem 2: Pembalakan Telemetri

Program telemetri dijalankan pada mikrokontroler yang terpisah dari sistem penjejakan kedudukan. Keputusan ini dibuat kerana keterbatasan memori pada ATmega328 yang menghalang kedua-dua program tersebut dapat dijalankan pada satu sistem. Pilihan mikrokontroler lain dengan spesifikasi yang disempurnakan dapat menyelesaikan masalah ini dan membenarkan penggunaan satu pemproses pusat, tetapi saya ingin menggunakan bahagian yang saya miliki untuk kemudahan penggunaan.

Ciri-ciri: Program ini berdasarkan contoh lain yang saya dapati dalam talian di sini.

  • Program ini secara semula jadi membaca ketinggian relatif (bacaan ketinggian disifatkan pada permulaan), suhu, tekanan, pecutan dalam arah X (anda perlu mengubah arah pembacaan pecutan berdasarkan orientasi fizikal sensor), dan cap waktu (dalam milis).
  • Untuk mengelakkan data dicatat semasa duduk di peluncur dan membuang ruang penyimpanan, sistem hanya akan mula menulis data setelah mengesan perubahan ketinggian (dapat dikonfigurasi dalam program) dan akan berhenti menulis data setelah mengesan roket telah kembali ke asalnya ketinggian, atau setelah masa penerbangan 5 minit telah berlalu.
  • Sistem akan menunjukkan bahawa ia dihidupkan dan menulis data melalui LED penunjuk tunggal.

Ujian:

Untuk menguji sistem, sambungkan peletakan kad SD terlebih dahulu

Kad SD Arduino

Pin 4 ---------------- CS

Pin 11 -------------- DI

Pin 13 -------------- SCK

Pin 12 -------------- DO

Sekarang sambungkan GY-86 ke sistem melalui I ^ 2C

Arduino GY-86

Pin A4 -------------- SDA

Pin A5 -------------- SCL

Pin 2 ---------------- INTA

Pada kad SD buat fail di direktori utama bernama datalog.txt di sinilah sistem akan menulis data.

Sebelum memuat naik lakaran Data_Logger.ino ke mikrokontroler ubah nilai ALT_THRESHOLD menjadi 0 sehingga sistem akan mengabaikan ketinggian untuk diuji. Setelah memuat naik, buka monitor bersiri pada 9600 baud untuk melihat output sistem. Pastikan sistem dapat menyambung ke sensor dan data sedang ditulis ke kad SD. Cabut sistem dan masukkan kad SD ke dalam komputer anda untuk mengesahkan bahawa data ditulis pada kad.

Langkah 5: Integrasi Sistem

Integrasi Sistem
Integrasi Sistem
Integrasi Sistem
Integrasi Sistem

Setelah mengesahkan bahawa setiap bahagian sistem berfungsi dalam konfigurasi yang sama yang digunakan pada PCB utama waktunya untuk menyatukannya dan bersiap sedia untuk dilancarkan! Saya telah memasukkan fail Gerbers dan EAGLE untuk PCB dan skema di github. anda perlu memuat naik gerber ke pengeluar seperti taman OSH atau JLC untuk menghasilkannya. Papan ini mempunyai dua lapisan dan cukup kecil untuk masuk ke dalam kategori pembuatan 10cmx10cm bagi papan yang murah.

Setelah papan dikeluarkan dari pembuatannya, masanya untuk menyolder semua komponen yang terdapat dalam hamparan dan senarai bahagian ke papan.

Pengaturcaraan:

Setelah semuanya disolder, anda perlu memuat naik program ke dua mikrokontroler. Untuk menjimatkan ruang papan, saya tidak menyertakan fungsi USB tetapi membiarkan ICSP dan port bersiri rosak sehingga anda masih boleh memuat naik dan memantau program.

  • Untuk memuat naik program ikuti tutorial ini mengenai penggunaan papan Arduino sebagai pengaturcara. Muat naik SimGpsTransmitter.ino ke port ICSP_GPS dan Data_Logger.ino ke port ICSP_DL (Port ICSP pada PCB adalah susun atur yang sama seperti yang terdapat pada papan Arduino UNO standard).
  • Setelah semua program dimuat, anda boleh menghidupkan peranti dari input bateri dengan 3.7-4.2V dan menggunakan 4 lampu penunjuk untuk memastikan sistem berfungsi.

    • Dua lampu pertama 5V_Ok dan VBATT_OK menunjukkan bahawa bateri dan rel 5v dihidupkan.
    • Lampu ketiga DL_OK akan berkelip setiap 1 saat untuk menunjukkan bahawa log telemetri aktif.
    • SIM_Transmit lampu terakhir akan menyala setelah modul selular dan GPS disambungkan dan data dihantar ke pelayan.

Langkah 6: Kandang

Pagar
Pagar

Roket yang saya rancangkan untuk projek ini mempunyai diameter dalaman 29mm, untuk melindungi elektronik dan membolehkan pemasangan dipasang di dalam badan silinder roket, saya membuat sarung bercetak 3d dua bahagian sederhana yang dilekatkan bersama dan mempunyai melihat port untuk lampu penunjuk. Fail STL untuk percetakan dan fail.ipt asli ada di repo github. Saya tidak memodelkannya kerana saya tidak pasti bateri yang akan saya gunakan pada masa itu, tetapi saya secara manual membuat ceruk untuk bateri 120 mAh untuk duduk bersama dengan bahagian bawah casing. Bateri ini dianggarkan memberikan ~ 45mintime maksimum untuk sistem pada penggunaan kuasa ~ 200mA (Ini bergantung pada penggunaan pemproses dan tarikan daya untuk penghantaran data, SIM800L disebut untuk menarik 2A ke atas dalam pecah semasa komunikasi).

Langkah 7: Kesimpulannya

Projek ini adalah pelaksanaan yang cukup mudah dari dua sistem yang berasingan, memandangkan saya hanya menggunakan modul diskrit yang terdapat di Amazon, integrasi sistem keseluruhan agak kurang senang kerana ukuran keseluruhan projek ini cukup besar untuk apa yang dilakukannya. Melihat penawaran dari beberapa pengeluar, menggunakan SIP yang merangkumi kedua-dua selular dan GPS akan sangat mengurangkan ukuran pakej keseluruhan.

Saya yakin bahawa setelah menjalani ujian penerbangan lebih banyak, saya perlu membuat beberapa pengubahsuaian pada program ini dan pasti akan mengemas kini repo Github dengan sebarang perubahan.

Semoga anda menikmati projek ini, jangan ragu untuk menghubungi saya mengenai sebarang pertanyaan yang anda ada.

Disyorkan: