Mündəricat:

Roket Telemetri/Mövqe İzləyicisi: 7 addım
Roket Telemetri/Mövqe İzləyicisi: 7 addım

Video: Roket Telemetri/Mövqe İzləyicisi: 7 addım

Video: Roket Telemetri/Mövqe İzləyicisi: 7 addım
Video: Self-Driving Cars 2024, Noyabr
Anonim
Roket Telemetri/Mövqe İzləyicisi
Roket Telemetri/Mövqe İzləyicisi

Bu layihə 9 DOF sensor modulundan SD karta uçuş məlumatlarını daxil etmək və eyni zamanda GPS yerini mobil şəbəkələr vasitəsilə bir serverə ötürmək üçün nəzərdə tutulmuşdur. Bu sistem, sistemin enmə sahəsi LOS -dan kənarda olarsa, raketin tapılmasına imkan verir.

Addım 1: Parça siyahısı

Parça siyahısı
Parça siyahısı
Parça siyahısı
Parça siyahısı

Telemetriya Sistemi:

1x ATmega328 Mikro nəzarətçi (Arduino UNO, Nano)

1x Micro SD Breakout -

1x Micro SD Kart - (ölçüsü FAT 16/32 formatında deyil) - Amazon Link

1x Gy -86 IMU - Amazon Link

Vəzifə İzləmə:

1x ATmega328 Mikrodenetleyici (Arduino UNO, Nano) (hər sistemin öz mikroları lazımdır)

1x Sim800L GSM GPRS Modulu - Amazon Link

1x SİM Kart (məlumat planı olmalıdır) - https://ting.com/ (yalnız istifadə etdiyiniz üçün ödəniş edilir)

1x NEO 6M GPS Modulu - Amazon LInk

Ümumi hissələr:

1x 3.7v lipo batareya

1x 3.7-5v artırıcı çevirici (pcb qurmasanız)

1x Raspberry pi və ya bir php serverinə sahib ola biləcək hər hansı bir kompüter

-3D printerə giriş

PCB üçün BOM elektron tabloda verilmişdir

-Gerbers github repo'dadır -https://github.com/karagenit/maps-gps

Addım 2: Alt Sistem 1: Mövqe İzləmə

Test:

Sistemin hissələri (NEO-6M GPS, Sim800L) əlinizdə olduqda, sistemlərin funksionallığını müstəqil olaraq yoxlamalısınız, belə ki, sistemləri birləşdirərkən nəyin işləmədiyini anlamağa çalışan baş ağrınız olmayacaq.

GPS Testi:

GPS qəbuledicisini sınamaq üçün ya Ublox (U-Center Software) tərəfindən verilən proqramdan istifadə edə bilərsiniz.

və ya github repo ilə əlaqəli test eskizi (GPS Testi)

1. U-mərkəzi proqramı ilə test etmək üçün GPS qəbuledicisini USB vasitəsi ilə bağlayın və U-mərkəzdəki com portunu seçin, bundan sonra sistem avtomatik olaraq yerinizi izləməyə başlamalıdır.

2. Mikro nəzarətçi ilə test etmək üçün GPS test eskizini IDE vasitəsi ilə bir arduinoya yükləyin. Sonra 5V və GND -ni alıcıdakı etiketli sancaqlara arduino və GPS RX pinini rəqəmsal 3 -ə və TX pinini arduino üzərindəki rəqəmsal 4 -ə bağlayın. Nəhayət, arduino IDE -də seriyalı monitoru açın və baud sürətini 9600 olaraq təyin edin və alınan koordinatların düzgün olduğunu yoxlayın.

Qeyd: NEO-6M modulundakı peyk kilidinin vizual identifikatoru, qırmızı led göstəricinin bir neçə saniyədə bir yanıb-sönməsini göstərərək əlaqəni göstərir.

SIM800L Testi:

Hüceyrə modulunu sınamaq üçün aktiv bir məlumat planında qeydiyyatdan keçmiş bir sim kartınız olmalıdır, Ting -i tövsiyə edirəm, çünki onlar yalnız aylıq məlumat planı əvəzinə istifadə etdiyiniz pulu alırlar.

Sim modulunun məqsədi, serverə GPS qəbuledicisinin qəbul etdiyi yerlə birlikdə HTTP GET sorğusu göndərməkdir.

1. Hüceyrə modulunu sınamaq üçün simkartı yivli ucu kənara baxaraq modula daxil edin

2. Sim modulunu GND və 3.7-4.2v mənbəyinə qoşun, 5v istifadə etməyin !!!! modul 5v -də işləyə bilməz. Sim modulu RX -ni Arduino -da Analog 2 -yə və TX -ı Analog 3 -ə qoşun

3. Hüceyrə moduluna əmr göndərə bilmək üçün github-dan serial keçmə eskizini yükləyin.

4. bu təlimatı izləyin və ya HTTP GET funksionallığını sınamaq üçün AT Command Tester sınaqını yükləyin

İcra:

Hər iki sistemin müstəqil işlədiyini təsdiqlədikdən sonra tam eskizi mikro nəzarətçi github -a yükləməyə davam edə bilərsiniz. Sistemin veb serverə məlumat göndərdiyini yoxlamaq üçün serial monitoru 9600 baudda aça bilərsiniz.

*serverin ip və portunu özünüzə dəyişdirməyi və istifadə etdiyiniz hüceyrə təminatçısı üçün APN tapdığınızdan əmin olun.

Serveri qurduğumuz növbəti addıma keçin

Addım 3: Server Quraşdırması

Server Quraşdırması
Server Quraşdırması

Raketin yerini göstərmək üçün bir server qurmaq üçün ev sahibi olaraq bir moruq pi istifadə etdim, ancaq hər hansı bir kompüterdən istifadə edə bilərsiniz.

Bir RPI -də lightphp qurmaq üçün bu təlimatı izləyin və sonra php fayllarını github -dan RPI -nin/var/www/html qovluğuna kopyalayın. Yalnız əmrdən istifadə edin

sudo xidməti lighttpd yenidən yükləyin

serveri yenidən yükləmək üçün.

Məlumatlara uzaqdan daxil olmaq üçün marşrutlaşdırıcınızdakı serverlə əlaqəli portları yönləndirdiyinizə əmin olun. Rpi -də 80 portu olmalıdır və xarici port ixtiyari bir rəqəm ola bilər.

RPI üçün statik bir ip təyin etmək yaxşı bir fikirdir, buna görə irəli sürdüyünüz portlar həmişə RPI ünvanına işarə edir.

Addım 4: Alt Sistem 2: Telemetrik Giriş

Telemetriya proqramı, mövqe izləmə sistemindən ayrı bir mikrokontrolör üzərində işləyir. Bu qərar, hər iki proqramın bir sistemdə işləməsinə mane olan ATmega328 yaddaş məhdudiyyətləri səbəbindən verildi. Təkmilləşdirilmiş spesifikasiyalara malik başqa bir mikro nəzarətçi seçimi bu problemi həll edə bilər və bir mərkəzi prosessorun istifadəsinə icazə verə bilər, amma istifadə rahatlığı üçün əlimdə olan hissələrdən istifadə etmək istəyirdim.

Xüsusiyyətlər: Bu proqram burada tapdığım başqa bir nümunəyə əsaslanır.

  • Proqram yerli nisbi hündürlüyü (başlanğıcda sıfıra endirilən hündürlük), temperaturu, təzyiqi, X istiqamətindəki sürətlənməni (sensorun fiziki oriyentasiyasına əsaslanaraq oxunma sürətinin istiqamətini dəyişməli olacaqsınız) və vaxt damğasını (milisaniyədə) oxuyur.).
  • Başlatma səthində oturarkən və saxlama yerini israf edərkən məlumatların qeyd edilməsinin qarşısını almaq üçün, sistem yalnız yüksəklik dəyişikliyini (proqramda konfiqurasiya oluna bilər) algıladıqdan sonra məlumat yazmağa başlayacaq və raketin orijinal vəziyyətinə qayıtdığını aldıqdan sonra məlumat yazmağı dayandıracaq. yüksəklikdə və ya uçuşdan sonra 5 dəqiqəlik vaxt keçdi.
  • Sistem, tək bir göstərici LED vasitəsilə işlədiyini və məlumat yazdığını göstərəcək.

Test:

Sistemi sınamaq üçün əvvəlcə SD kartın qırılmasını bağlayın

Arduino SD kartı

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

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

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

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

İndi GY-86 sisteminə I^2C vasitəsilə qoşun

Arduino GY-86

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

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

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

SD kartda datalog.txt adlı əsas qovluqda bir fayl yaradın, bura sistem məlumat yazacaq.

Data_Logger.ino eskizini mikro nəzarətçiyə yükləməzdən əvvəl ALT_THRESHOLD dəyərini 0 olaraq dəyişdirin, beləliklə sistem test üçün yüksəkliyi görməyəcək. Yüklədikdən sonra, sistemin çıxışını görmək üçün 9600 baudda serial monitoru açın. Sistemin sensora qoşulduğundan və məlumatların SD karta yazıldığından əmin olun. Məlumatların kartda yazıldığını yoxlamaq üçün sistemi ayırın və SD kartı kompüterinizə daxil edin.

Addım 5: Sistem İnteqrasiyası

Sistem İnteqrasiyası
Sistem İnteqrasiyası
Sistem İnteqrasiyası
Sistem İnteqrasiyası

Sistemin hər bir hissəsinin əsas PCB -də istifadə olunan eyni konfiqurasiyada işlədiyini yoxladıqdan sonra hamısını bir araya gətirmək və işə salmaq üçün hazır olmaq vaxtıdır! PCB üçün Gerbers və EAGLE fayllarını github -a daxil etdim. Gerberləri istehsal etmək üçün OSH parkı və ya JLC kimi bir istehsalçıya yükləməlisiniz. Bu lövhələr iki təbəqədən ibarətdir və ucuz lövhələr üçün əksər istehsalçılar 10cmx10cm kateqoriyasına sığacaq qədər kiçikdir.

Lövhələri istehsaldan geri qaytardıqdan sonra, elektron tabloda olan bütün komponentləri və hissələr siyahısını lehimləmə vaxtı gəldi.

Proqramlaşdırma:

Hər şey lehimləndikdən sonra proqramları iki mikro nəzarətçiyə yükləməlisiniz. Lövhə boşluğuna qənaət etmək üçün heç bir USB funksiyası daxil etmədim, ancaq proqramı yükləyə və izləyə biləcəyiniz üçün ICSP -ni və serial portlarını sındırdım.

  • Proqramı yükləmək üçün Arduino lövhəsini proqramçı kimi istifadə etmək üçün bu təlimatı izləyin. SimGpsTransmitter.ino'yu ICSP_GPS portuna və Data_Logger.ino'yu ICSP_DL limanına yükləyin (PCB üzərindəki ICSP portu, standart Arduino UNO lövhələrində olduğu kimi düzülür).
  • Bütün proqramlar yükləndikdən sonra cihazı batareyanın girişindən 3.7-4.2V ilə təchiz edə və sistemin işlədiyini yoxlamaq üçün 4 göstərici işıqdan istifadə edə bilərsiniz.

    • İlk iki işıq 5V_Ok və VBATT_OK, batareyanın və 5v raylarının işlədiyini göstərir.
    • Üçüncü işıq DL_OK, hər 1 saniyədə bir yanıb -sönərək telemetrik qeydlərin aktiv olduğunu göstərir.
    • SIM_Transmit son işığı mobil və GPS modulları qoşulduqda və məlumatlar serverə göndərildikdə açılacaq.

Addım 6: Qapaq

Mühafizə
Mühafizə

Bu layihəni hazırladığım raket, elektronikanı qorumaq və qurğunun raketin silindrik gövdəsinə daxil olmasını təmin etmək üçün daxili diametri 29 mm -dir, bir -birinə bərkidilmiş və iki hissədən ibarət olan 3D çaplı korpus düzəltdim. göstərici işıqlar üçün portlara baxmaq. Çap üçün STL sənədləri və orijinal.ipt faylları github repo -dadır. O zaman istifadə edəcəyim batareyadan əmin olmadığım üçün bunu model etmədim, amma 120 mAh batareya üçün korpusun dibinə uyğun oturmaq üçün əl ilə bir girinti yaratdım. Bu batareyanın ~ 200mA enerji istehlakı ilə sistem üçün ~ 45 dəqiqəlik maksimum işləmə müddəti verəcəyi təxmin edilir (Bu, məlumat ötürülməsi üçün prosessorun istifadəsindən və gücün çəkilməsindən asılıdır, ünsiyyət zamanı partlayışlarda SIM800L 2A -dan yuxarı çəkilir).

Addım 7: Nəticə

Bu layihə, Amazon -da olan ayrı -ayrı modullardan istifadə etdiyimi nəzərə alaraq, iki ayrı sistemin olduqca sadə bir şəkildə həyata keçirilməsidir, çünki layihənin ümumi ölçüsü gördüyü işlərə görə olduqca böyükdür. Bəzi istehsalçıların təkliflərinə baxaraq həm mobil, həm də GPS daxil olan bir SIP -dən istifadə etmək ümumi paketin ölçüsünü xeyli azaldar.

Əminəm ki, uçuş testlərindən sonra proqramda bəzi dəyişikliklər etməli olacağam və hər hansı bir dəyişikliklə Github repo -nu yeniləyəcəyimə əminəm.

Ümid edirəm bu layihədən zövq aldınız, suallarınız olarsa mənimlə əlaqə saxlaya bilərsiniz.

Tövsiyə: