Talaan ng mga Nilalaman:

Rocket Telemetry / Position Tracker: 7 Mga Hakbang
Rocket Telemetry / Position Tracker: 7 Mga Hakbang

Video: Rocket Telemetry / Position Tracker: 7 Mga Hakbang

Video: Rocket Telemetry / Position Tracker: 7 Mga Hakbang
Video: Inside the Ohka Manned Missile 2024, Hulyo
Anonim
Rocket Telemetry / Position Tracker
Rocket Telemetry / Position Tracker

Ang proyektong ito ay inilaan upang mag-log data ng flight mula sa isang module ng 9 DOF sensor sa isang SD card, at sabay na ipadala ang lokasyon ng GPS nito sa pamamagitan ng mga cellular network sa isang server. Pinapayagan ng system na ito na matagpuan ang rocket kung ang landing area ng system ay lampas sa LOS.

Hakbang 1: Listahan ng Mga Bahagi

Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi

Telemetry System:

1x ATmega328 Microcontroller (Arduino UNO, Nano)

1x Micro SD Breakout -

1x Micro SD Card - (ang laki ay hindi mahalaga FAT 16/32 format) - Amazon Link

1x Gy-86 IMU - Link ng Amazon

Pagsubaybay sa Posisyon:

1x ATmega328 Microcontroller (Arduino UNO, Nano) (ang bawat system ay nangangailangan ng sarili nitong micro)

1x Sim800L GSM GPRS Module - Link ng Amazon

1x SIM Card (dapat mayroong data plan) - https://ting.com/ (ting singil lang para sa kung ano ang ginagamit mo)

1x NEO 6M GPS Module - Amazon LInk

Pangkalahatang Mga Bahagi:

1x 3.7v lipo na baterya

1x 3.7-5v step-up converter (kung hindi mo itatayo ang pcb)

1x Raspberry pi, o anumang computer na maaaring mag-host ng isang php server

-Access sa 3D printer

-BOM para sa pcb ay nakalista sa spreadsheet

-Gerbers ay nasa github repo -

Hakbang 2: Subsystem 1: Pagsubaybay sa Posisyon

Pagsubok:

Kapag mayroon ka ng mga bahagi para sa system (NEO-6M GPS, Sim800L) sa kamay, kailangan mong subukan ang pagpapaandar ng mga system nang nakapag-iisa upang magkaroon ka ng sakit ng ulo na sinusubukan mong malaman kung ano ang hindi gumagana kapag isinasama mo ang mga system.

Pagsubok sa GPS:

Upang subukan ang tagatanggap ng GPS, maaari mong gamitin ang software na ibinigay ng Ublox (U-Center Software)

o ang test sketch na naka-link sa github repo (GPS Test)

1. Upang subukan sa U-center software, i-plug lamang ang GPS receiver sa pamamagitan ng USB at piliin ang com port sa U-center, dapat awtomatikong simulan ng system ang pagsubaybay sa iyong lokasyon pagkatapos nito.

2. Upang subukan sa isang micro-controller, i-upload ang GPS-test sketch sa isang arduino sa pamamagitan ng IDE. Pagkatapos ay ikonekta ang 5V at GND sa mga may label na mga pin sa tatanggap sa arduino at GPS RX pin sa digital 3 at TX pin sa digital 4 sa arduino. Panghuli buksan ang serial monitor sa arduino IDE at itakda ang baud rate sa 9600 at i-verify na tama ang natanggap na mga coordinate.

Tandaan: Ang isang visual identifier ng satellite lock sa NEO-6M module ay ang pulang tagapagpahiwatig na humantong ay kumikislap bawat ilang segundo upang ipahiwatig ang isang koneksyon.

Pagsubok ng SIM800L:

Upang subukan ang module ng cellular kakailanganin mong magkaroon ng isang sim card na nakarehistro sa isang aktibong plano ng data, inirerekumenda ko si Ting dahil sisingilin lang sila para sa iyong ginagamit sa halip na isang buwanang plano ng data.

Ang layunin para sa module ng Sim ay upang magpadala ng isang kahilingan sa HTTP GET sa server na may lokasyon na natanggap ng tatanggap ng GPS.

1. Upang subukan ang module ng cell ipasok ang simcard sa modyul na may nakaharap na dulo ng chamfered

2. Ikonekta ang module ng sim sa GND at isang mapagkukunan na 3.7-4.2v, huwag gumamit ng 5v !!!! ang module ay hindi kayang tumakbo sa 5v. Ikonekta ang Sim module na RX sa Analog 2 at TX sa Analog 3 sa Arduino

3. I-upload ang serial pass-through sketch mula sa github upang makapagpadala ng mga utos sa module ng cell.

4. sundin ang tutorial na ito, o i-download ang pagsubok ng AT Command Tester upang subukan ang pagpapaandar ng HTTP GET

Pagpapatupad:

Kapag napatunayan mo na ang parehong mga system ay gumagana nang nakapag-iisa, maaari kang magpatuloy sa pag-upload ng buong sketch sa microcontroller github. maaari mong buksan ang serial monitor sa 9600 baud upang mapatunayan na ang system ay nagpapadala ng data sa webserver.

* huwag kalimutang baguhin ang server ip at port sa iyong sarili at tiyaking hanapin ang APN para sa cell provider na iyong ginagamit.

Lumipat sa susunod na hakbang kung saan na-set up namin ang server

Hakbang 3: Pag-setup ng Server

Pag-setup ng Server
Pag-setup ng Server

Upang mag-set up ng isang server upang maipakita ang lokasyon ng rocket, gumamit ako ng isang raspberry pi bilang host, ngunit maaari kang gumamit ng anumang computer.

Sundin ang tutorial na ito sa pagse-set up ng lightphp sa isang RPI at pagkatapos ay kopyahin ang mga php file mula sa github papunta sa / var / www / html folder ng iyong RPI. Pagkatapos gamitin lamang ang utos

sudo service lighttpd force-reload

upang mai-reload ang server.

Tiyaking ipasa ang mga port na nauugnay sa server sa iyong router upang ma-access mo ang data mula sa malayo. Sa rpi dapat itong maging port 80, at ang panlabas na port ay maaaring isang di-makatwirang numero.

Magandang ideya na magtakda ng isang static ip para sa RPI kaya't ang mga port na isusulong mo ay laging tumuturo patungo sa address ng RPI.

Hakbang 4: Subsystem 2: Pag-log sa Telemetry

Ang programa ng telemetry ay tumatakbo sa isang hiwalay na microcontroller mula sa system sa pagsubaybay sa posisyon. Ang desisyon na ito ay ginawa dahil sa mga limitasyon ng memorya sa ATmega328 na pumipigil sa parehong mga programa na maaring tumakbo sa isang system. Ang isa pang pagpipilian ng microcontroller na may pinahusay na mga pagtutukoy ay maaaring malutas ang isyung ito at payagan ang paggamit ng isang gitnang processor, ngunit nais kong gamitin ang mga bahagi na nasa kamay ko para sa madaling paggamit.

Mga Tampok: Ang program na ito ay batay sa isa pang halimbawang nahanap kong online dito.

  • Ang programa ay likas na nagbabasa ng kamag-anak na altitude (pagbasa ng altitude na zero sa pagsisimula), temperatura, presyon, pagpabilis sa direksyon ng X (kakailanganin mong baguhin ang direksyon ng pagbasa ng pagbilis batay sa pisikal na oryentasyon ng sensor), at isang timestamp (sa millis).
  • Upang maiwasan ang pag-log ng data habang nakaupo sa launchpad at nasasayang ang espasyo ng imbakan, magsisimula lamang ang system ng pagsusulat ng data sa sandaling makita ang isang pagbabago sa altitude (mai-configure sa programa) at titigil sa pagsusulat ng data sa sandaling makita na ang rocket ay bumalik sa orihinal. altitude, o pagkatapos ng isang oras ng paglipad na 5 minuto ay lumipas.
  • Ipapahiwatig ng system na ito ay pinalakas at sumusulat ng data sa pamamagitan ng isang solong LED na tagapagpahiwatig.

Pagsubok:

Upang subukan ang system unang kumonekta sa breakout ng SD card

Arduino SD Card

I-pin ang 4 ---------------- CS

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

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

Pin 12 ----------------- GAWIN

Ikonekta ngayon ang GY-86 sa system sa pamamagitan ng I ^ 2C

Arduino GY-86

I-pin ang A4 ----------------- SDA

I-pin ang A5 ----------------- SCL

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

Sa SD card lumikha ng isang file sa pangunahing direktoryo na pinangalanang datalog.txt narito kung saan sususulat ang system ng data.

Bago i-upload ang Data_Logger.ino sketch sa microcontroller baguhin ang halaga ng ALT_THRESHOLD sa 0 upang balewalain ng system ang altitude para sa pagsubok. Matapos ang pag-upload, buksan ang serial monitor sa 9600 baud upang matingnan ang output ng system. Tiyaking makakonekta ang system sa sensor at ang data ay nakasulat sa SD card. I-unplug ang system at ipasok ang SD card sa iyong computer upang mapatunayan na ang data ay nakasulat sa card.

Hakbang 5: Pagsasama ng System

Pagsasama ng System
Pagsasama ng System
Pagsasama ng System
Pagsasama ng System

Matapos mapatunayan na ang bawat bahagi ng system ay gumagana sa parehong pagsasaayos na ginamit sa pangunahing PCB oras nito upang maipagsama ang lahat at maghanda para sa paglunsad! Isinama ko ang mga Gerbers at EAGLE file para sa PCB at eskematiko sa github. kakailanganin mong i-upload ang mga gerbers sa isang tagagawa tulad ng OSH park o JLC upang magawa ang mga ito. Ang mga board na ito ay dalawang layer at sapat na maliit upang magkasya sa karamihan sa mga kategoryang 10cmx10cm para sa mga murang board.

Sa sandaling maibalik mo ang mga board mula sa paggawa ng oras nito upang maghinang ng lahat ng mga sangkap na matatagpuan sa spreadsheet at mga listahan ng mga bahagi sa pisara.

Programming:

Matapos solder ang lahat kakailanganin mong i-upload ang mga programa sa dalawang microcontrollers. Upang makatipid ng puwang sa board Hindi ko isinama ang anumang pagpapaandar ng USB ngunit iniwan ang ICSP at mga serial port na nasira upang maaari mo pa ring mai-upload at masubaybayan ang programa.

  • Upang mai-upload ang programa sundin ang tutorial na ito sa paggamit ng isang Arduino board bilang isang programmer. I-upload ang SimGpsTransmitter.ino sa port ng ICSP_GPS at ang Data_Logger.ino sa port ng ICSP_DL (Ang ICSP port sa PCB ay pareho ang layout tulad ng kung ano ang matatagpuan sa karaniwang Arduino UNO boards).
  • Kapag na-upload na ang lahat ng mga programa maaari mong paganahin ang aparato mula sa pag-input ng baterya gamit ang 3.7-4.2V at gamitin ang 4 na mga ilaw ng tagapagpahiwatig upang ma-verify na gumagana ang system.

    • Ang unang dalawang ilaw na 5V_Ok at VBATT_OK ay nagpapahiwatig na ang baterya at 5v rails ay pinapagana.
    • Ang pangatlong ilaw na DL_OK ay magpapikit bawat 1 segundo upang ipahiwatig na ang pag-log ng telemetry ay aktibo.
    • Ang huling ilaw na SIM_Transmit ay bubukas sa sandaling nakakonekta ang mga module ng cellular at GPS at ipinapadala ang data sa server.

Hakbang 6: Enclosure

Enclosure
Enclosure

Ang rocket na aking dinidisenyo sa proyektong ito sa paligid ay may panloob na lapad na 29mm, upang maprotektahan ang electronics at payagan ang pagpupulong upang magkasya sa loob ng silindro na katawan ng rocket gumawa ako ng isang simpleng dalawang bahagi na naka-print na kaso na 3d na naka-bolt na magkasama at mayroong pagtingin sa mga port para sa mga ilaw ng tagapagpahiwatig. Ang mga STL file para sa pagpi-print at orihinal na.ipt file ay nasa github repo. Hindi ko ito na-modelo dahil hindi ako sigurado sa baterya na gagamitin ko sa oras, ngunit manu-mano akong lumikha ng isang pahinga para sa isang 120 mAh na baterya upang mapaupo ang flush sa ilalim ng kaso. Ang baterya na ito ay tinatayang magbibigay ~ 45mins maximum na runtime para sa system sa ~ 200mA power konsumo (Ito ay nakasalalay sa paggamit ng processor at pagguhit ng kuryente para sa paghahatid ng data, ang SIM800L ay naka-quote upang gumuhit ng paitaas ng 2A sa mga pagsabog habang nasa komunikasyon).

Hakbang 7: Konklusyon

Ang proyektong ito ay isang simpleng prangko na pagpapatupad ng dalawang magkakahiwalay na mga system, na ibinigay na gumagamit lamang ako ng mga discrete na module na matatagpuan sa Amazon ang pangkalahatang pagsasama ng system ay medyo walang kakayahan dahil ang pangkalahatang sukat ng proyekto ay malaki para sa kung ano ang ginagawa nito. Ang pagtingin sa mga handog mula sa ilang mga tagagawa, ang paggamit ng isang SIP na may kasamang parehong cellular at GPS ay lubos na mabawasan ang pangkalahatang laki ng package.

Sigurado ako na pagkatapos ng higit pa sa pagsubok sa flight kailangan kong gumawa ng ilang mga pagbabago sa programa at tiyaking i-update ang Github repo sa anumang mga pagbabago.

Inaasahan kong nasiyahan ka sa proyektong ito, huwag mag-atubiling makipag-ugnay sa akin tungkol sa anumang mga katanungan na maaaring mayroon ka.

Inirerekumendang: