Daftar Isi:

Telemetri Roket/Pelacak Posisi: 7 Langkah
Telemetri Roket/Pelacak Posisi: 7 Langkah

Video: Telemetri Roket/Pelacak Posisi: 7 Langkah

Video: Telemetri Roket/Pelacak Posisi: 7 Langkah
Video: Cara Kerja Peluru Kendali (Rudal) Anti Pesawat 2024, Juli
Anonim
Telemetri Roket/Pelacak Posisi
Telemetri Roket/Pelacak Posisi

Proyek ini dimaksudkan untuk mencatat data penerbangan dari modul sensor 9 DOF ke kartu SD, dan secara bersamaan mengirimkan lokasi GPS-nya melalui jaringan seluler ke server. Sistem ini memungkinkan roket ditemukan jika area pendaratan sistem berada di luar LOS.

Langkah 1: Daftar Bagian

Daftar Suku Cadang
Daftar Suku Cadang
Daftar Suku Cadang
Daftar Suku Cadang

Sistem Telemetri:

1x Mikrokontroler ATmega328 (Arduino UNO, Nano)

1x Micro SD Breakout -

1x Kartu Micro SD - (ukuran tidak masalah dengan format FAT 16/32) - Amazon Link

1x Gy-86 IMU - Tautan Amazon

Pelacakan Posisi:

1x Mikrokontroler ATmega328 (Arduino UNO, Nano) (setiap sistem membutuhkan mikronya sendiri)

1x Modul GPRS GSM Sim800L - Tautan Amazon

1x Kartu SIM (harus memiliki paket data) - https://ting.com/ (hanya dikenakan biaya untuk apa yang Anda gunakan)

1x NEO 6M Modul GPS - Amazon LINK

Bagian Umum:

Baterai lipo 1x3.7v

Konverter step-up 1x 3.7-5v (jika Anda tidak membuat PCB)

1x Raspberry pi, atau komputer apa pun yang dapat meng-host server php

-Akses ke printer 3D

-BOM untuk pcb tercantum dalam spreadsheet

-Gerber ada di github repo -

Langkah 2: Subsistem 1: Pelacakan Posisi

Pengujian:

Setelah Anda memiliki suku cadang untuk sistem (NEO-6M GPS, Sim800L), Anda perlu menguji fungsionalitas sistem secara mandiri sehingga Anda tidak perlu pusing untuk mencari tahu apa yang tidak berfungsi saat Anda mengintegrasikan sistem.

Pengujian GPS:

Untuk menguji penerima GPS, Anda dapat menggunakan perangkat lunak yang disediakan oleh Ublox (U-Center Software)

atau sketsa tes yang ditautkan di repo github (Tes GPS)

1. Untuk menguji dengan perangkat lunak U-center, cukup colokkan penerima GPS melalui USB dan pilih port com di U-center, sistem akan secara otomatis mulai melacak lokasi Anda setelah itu.

2. Untuk menguji dengan mikrokontroler, unggah sketsa pengujian GPS ke arduino melalui IDE. Kemudian sambungkan 5V dan GND ke pin berlabel di receiver ke arduino dan pin GPS RX ke digital 3 dan pin TX ke digital 4 di arduino. Terakhir buka serial monitor pada arduino IDE dan atur baud rate menjadi 9600 dan pastikan koordinat yang diterima sudah benar.

Catatan: Pengidentifikasi visual kunci satelit pada modul NEO-6M adalah bahwa indikator led merah akan berkedip setiap beberapa detik untuk menunjukkan koneksi.

Pengujian SIM800L:

Untuk menguji modul seluler, Anda harus memiliki kartu sim yang terdaftar dengan paket data aktif, saya sarankan Ting karena mereka hanya mengenakan biaya untuk apa yang Anda gunakan, bukan paket data bulanan.

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

1. Untuk menguji modul sel, masukkan kartu sim ke dalam modul dengan ujung talang menghadap ke luar

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

3. Unggah sketsa pass-through serial dari github untuk dapat mengirim perintah ke modul sel.

4. ikuti tutorial ini, atau unduh uji coba AT Command Tester untuk menguji fungsionalitas HTTP GET

Penerapan:

Setelah Anda memverifikasi bahwa kedua sistem bekerja secara independen, Anda dapat melanjutkan dengan mengunggah sketsa lengkap ke mikrokontroler github. Anda dapat membuka monitor serial pada 9600 baud untuk memverifikasi bahwa sistem mengirim data ke server web.

*jangan lupa ubah ip dan port server menjadi milik Anda dan pastikan untuk menemukan APN untuk penyedia seluler yang Anda gunakan.

Pindah ke langkah berikutnya di mana kami menyiapkan server

Langkah 3: Pengaturan Server

Pengaturan Server
Pengaturan Server

Untuk menyiapkan server untuk menampilkan lokasi roket, saya menggunakan raspberry pi sebagai host, tetapi Anda dapat menggunakan komputer mana pun.

Ikuti tutorial ini tentang menyiapkan lightphp pada RPI dan kemudian salin file php dari github ke folder /var/www/html RPI Anda. Setelah hanya menggunakan perintah

sudo service lighttpd force-reload

untuk memuat ulang server.

Pastikan untuk meneruskan port yang terkait dengan server di router Anda sehingga Anda dapat mengakses data dari jarak jauh. Pada rpi itu harus menjadi port 80, dan port eksternal dapat berupa nomor arbitrer.

Sebaiknya atur ip statis untuk RPI sehingga port yang Anda teruskan selalu mengarah ke alamat RPI.

Langkah 4: Subsistem 2: Pencatatan Telemetri

Program telemetri berjalan pada mikrokontroler terpisah dari sistem pelacakan posisi. Keputusan ini dibuat karena keterbatasan memori pada ATmega328 yang mencegah kedua program dapat berjalan pada satu sistem. Pilihan mikrokontroler lain dengan spesifikasi yang ditingkatkan dapat mengatasi masalah ini dan memungkinkan penggunaan satu prosesor pusat, tetapi saya ingin menggunakan suku cadang yang saya miliki untuk kemudahan penggunaan.

Fitur: Program ini didasarkan pada contoh lain yang saya temukan online di sini.

  • Program secara native membaca ketinggian relatif (pembacaan ketinggian dipusatkan pada startup), suhu, tekanan, akselerasi dalam arah X (Anda perlu mengubah arah pembacaan akselerasi berdasarkan orientasi fisik sensor), dan stempel waktu (dalam milis).
  • Untuk mencegah data dicatat saat duduk di landasan peluncuran dan membuang-buang ruang penyimpanan, sistem hanya akan mulai menulis data setelah mendeteksi perubahan ketinggian (dapat dikonfigurasi dalam program) dan akan berhenti menulis data setelah mendeteksi roket telah kembali ke aslinya ketinggian, atau setelah waktu penerbangan 5 menit telah berlalu.
  • Sistem akan menunjukkan bahwa ia dihidupkan dan menulis data melalui LED indikator tunggal.

Pengujian:

Untuk menguji sistem, pertama-tama hubungkan pelarian kartu SD

Kartu SD Arduino

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

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

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

Pin 12 -------------- LAKUKAN

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

Arduino GY-86

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

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

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

Pada kartu SD buat file di direktori utama bernama datalog.txt di sinilah sistem akan menulis data.

Sebelum mengupload sketsa Data_Logger.ino ke mikrokontroler ubah nilai ALT_THRESHOLD menjadi 0 sehingga sistem akan mengabaikan ketinggian untuk pengujian. Setelah mengunggah, buka monitor serial pada 9600 baud untuk melihat output sistem. Pastikan sistem dapat terhubung ke sensor dan data sedang ditulis ke kartu SD. Cabut sistem dan masukkan kartu SD ke komputer Anda untuk memverifikasi bahwa data tertulis di kartu.

Langkah 5: Integrasi Sistem

Integrasi sistem
Integrasi sistem
Integrasi sistem
Integrasi sistem

Setelah memverifikasi bahwa setiap bagian dari sistem bekerja dalam konfigurasi yang sama yang digunakan pada PCB utama, saatnya untuk menyatukan semuanya dan bersiap-siap untuk diluncurkan! Saya telah menyertakan file Gerbers dan EAGLE untuk PCB dan skema di github. Anda perlu mengunggah gerber ke produsen seperti OSH park atau JLC agar dapat diproduksi. Papan ini terdiri dari dua lapisan dan cukup kecil untuk masuk ke sebagian besar kategori manufaktur 10cmx10cm untuk papan murah.

Setelah Anda mendapatkan papan kembali dari pembuatan, saatnya untuk menyolder semua komponen yang ditemukan di spreadsheet dan daftar bagian ke papan.

Pemrograman:

Setelah semuanya disolder, Anda perlu mengunggah program ke dua mikrokontroler. Untuk menghemat ruang papan, saya tidak menyertakan fungsionalitas USB apa pun tetapi membiarkan ICSP dan port serial rusak sehingga Anda masih dapat mengunggah dan memantau program.

  • Untuk mengunggah program, ikuti tutorial ini tentang menggunakan papan Arduino sebagai programmer. Unggah SimGpsTransmitter.ino ke port ICSP_GPS dan Data_Logger.ino ke port ICSP_DL (Port ICSP pada PCB memiliki tata letak yang sama dengan yang ditemukan pada papan Arduino UNO standar).
  • Setelah semua program diunggah, Anda dapat menyalakan perangkat dari input baterai dengan 3.7-4.2V dan menggunakan 4 lampu indikator untuk memverifikasi bahwa sistem berfungsi.

    • Dua lampu pertama 5V_Ok dan VBATT_OK menunjukkan bahwa baterai dan rel 5v diberi daya.
    • Lampu ketiga DL_OK akan berkedip setiap 1 detik untuk menunjukkan bahwa telemetri logging aktif.
    • Lampu terakhir SIM_Transmit akan menyala setelah modul seluler dan GPS terhubung dan data sedang dikirim ke server.

Langkah 6: Kandang

Lampiran
Lampiran

Roket yang saya rancang untuk proyek ini memiliki diameter internal 29mm, untuk melindungi elektronik dan memungkinkan rakitan muat di dalam badan silinder roket. Saya membuat dua bagian kotak cetak 3d sederhana yang dibaut bersama dan memiliki melihat port untuk lampu indikator. File STL untuk pencetakan dan file.ipt asli ada di repo github. Saya tidak memodelkan ini karena saya tidak yakin dengan baterai yang akan saya gunakan pada saat itu, tetapi saya secara manual membuat reses untuk baterai 120 mAh agar rata dengan bagian bawah kasing. Baterai ini diperkirakan memberikan waktu kerja maksimum ~45 menit untuk sistem pada konsumsi daya ~200mA (Ini tergantung pada penggunaan prosesor dan penarikan daya untuk transmisi data, SIM800L dikutip untuk menarik lebih dari 2A dalam semburan selama komunikasi).

Langkah 7: Kesimpulan

Proyek ini adalah implementasi yang cukup sederhana dari dua sistem yang terpisah, mengingat bahwa saya hanya menggunakan modul diskrit yang ditemukan di Amazon, integrasi sistem keseluruhan agak kurang bersemangat karena ukuran keseluruhan proyek cukup besar untuk apa yang dilakukannya. Melihat penawaran dari beberapa produsen, memanfaatkan SIP yang mencakup seluler dan GPS akan sangat mengurangi ukuran paket secara keseluruhan.

Saya yakin bahwa setelah lebih banyak dalam pengujian penerbangan saya harus membuat beberapa modifikasi pada program dan pasti akan memperbarui repo Github dengan perubahan apa pun.

Semoga Anda menikmati proyek ini, jangan ragu untuk menghubungi saya tentang pertanyaan apa pun yang mungkin Anda miliki.

Direkomendasikan: