Isi kandungan:
- Langkah 1: Senarai Bahagian
- Langkah 2: Subsistem 1: Penjejakan Kedudukan
- Langkah 3: Persediaan Pelayan
- Langkah 4: Subsistem 2: Pembalakan Telemetri
- Langkah 5: Integrasi Sistem
- Langkah 6: Kandang
- Langkah 7: Kesimpulannya
Video: Penjejak Roket Telemetri / Kedudukan: 7 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
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
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
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
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
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:
Roda Stering Custom (periuk sebagai Sensor Kedudukan): 10 Langkah
Custom Stering Wheel (pot As Position Sensor): penafian: jangan salahkan saya kerana tidak menunjukkan langkah demi langkah ini sepatutnya menjadi rujukan dan saya hanya mengatakan apa yang saya buat dan hasilnya, ia mempunyai beberapa kelemahan inti seperti kebisingan jadi jangan lakukan seperti yang saya lakukan dan harapkan hasil yang luar biasa, dan
Sistem Maklum Balas Kedudukan Servo Dengan Arduino: 4 Langkah
Sistem Maklum Balas Kedudukan Servo Dengan Arduino: Hai mereka, Ini adalah arahan pertama saya. Projek SAYA membolehkan anda menerima kedudukan servo anda pada monitor bersiri atau plotter bersiri dari Arduino IDE anda. Ini memudahkan program arduino robot yang menggunakan motor servo seperti robot humanoid bip
Cara Menukar PWM 8Ch ke Modulasi Kedudukan Nadi: 4 Langkah
Cara Menukar 8Ch PWM ke Modulasi Kedudukan Nadi: Kami akan mengkaji 2 format isyarat output Penerima radio untuk model yang dikendalikan radio (atau model RC). Jenis isyarat Penerima tradisional dan paling biasa adalah PWM, dan biasanya PWM hanya memerlukan satu wayar setiap saluran. Pemberian isyarat PPM kini semakin
DC Motor dan Encoder untuk Kedudukan dan Kawalan Kelajuan: 6 Langkah
DC Motor and Encoder for Position and Speed Control: Pengenalan Kami adalah sekumpulan pelajar UQD10801 (Robocon I) dari Universiti Tun Hussei Onn Malaysia (UTHM). Kami mempunyai 9 kumpulan dalam kursus ini. Kumpulan saya adalah kumpulan 2. Aktiviti kumpulan kami adalah DC motor dan pengekod untuk kawalan kedudukan dan kelajuan. Objek kumpulan kami
Kawalan Kedudukan Motor DC: 5 Langkah
Kawalan Kedudukan Motor DC: Arahan ini akan menunjukkan cara mengawal kedudukan motor melalui rangkaian web tempatan. Sekarang anda boleh menggunakan telefon pintar atau iPad yang disambungkan ke rangkaian, kemudian taipkan alamat pelayan web tempatan motor Dari sini, kita dapat mengawal cakera kedudukan motor dengan memutar