Სარჩევი:

სარაკეტო ტელემეტრია/პოზიციის მაძიებელი: 7 ნაბიჯი
სარაკეტო ტელემეტრია/პოზიციის მაძიებელი: 7 ნაბიჯი

ვიდეო: სარაკეტო ტელემეტრია/პოზიციის მაძიებელი: 7 ნაბიჯი

ვიდეო: სარაკეტო ტელემეტრია/პოზიციის მაძიებელი: 7 ნაბიჯი
ვიდეო: 10 Najpotężniejszych czołgów na świecie 2024, ივლისი
Anonim
სარაკეტო ტელემეტრია/პოზიციის მაძიებელი
სარაკეტო ტელემეტრია/პოზიციის მაძიებელი

ეს პროექტი მიზნად ისახავს ფრენის მონაცემების შეყვანას 9 DOF სენსორული მოდულიდან SD ბარათზე და ერთდროულად გადასცემს მის GPS ადგილმდებარეობას ფიჭური ქსელების საშუალებით სერვერზე. ეს სისტემა იძლევა რაკეტის აღმოჩენის შესაძლებლობას, თუ სისტემის სადესანტო ტერიტორია LOS– ს მიღმაა.

ნაბიჯი 1: ნაწილების სია

ნაწილების სია
ნაწილების სია
ნაწილების სია
ნაწილების სია

ტელემეტრიული სისტემა:

1 x ATmega328 მიკროკონტროლი (Arduino UNO, ნანო)

1x Micro SD Breakout -

1x მიკრო SD ბარათი - (ზომას არ აქვს მნიშვნელობა FAT 16/32 ფორმატირებული) - Amazon Link

1x Gy -86 IMU - ამაზონის ბმული

პოზიციის თვალყურის დევნება:

1x ATmega328 მიკროკონტროლი (Arduino UNO, Nano) (თითოეულ სისტემას სჭირდება საკუთარი მიკრო)

1x Sim800L GSM GPRS მოდული - Amazon Link

1x SIM ბარათი (უნდა ჰქონდეს მონაცემთა გეგმა) - https://ting.com/ (იხდის მხოლოდ იმას, რასაც იყენებთ)

1x NEO 6M GPS მოდული - Amazon LInk

ზოგადი ნაწილები:

1x 3.7 ვ ლიპო ბატარეა

1x 3.7-5v შემდგომი გადამყვანი (თუ არ ააშენებთ კომპიუტერს)

1x Raspberry pi, ან ნებისმიერი კომპიუტერი, რომელსაც შეუძლია php სერვერის განთავსება

-3D პრინტერზე წვდომა

-BOM for pcb ჩამოთვლილია ცხრილში

-გერბერები არიან github repo– ში -https://github.com/karagenit/maps-gps

ნაბიჯი 2: ქვესისტემა 1: პოზიციის თვალყურის დევნება

ტესტირება:

მას შემდეგ რაც თქვენ გაქვთ სისტემის ნაწილები (NEO-6M GPS, Sim800L), თქვენ უნდა შეამოწმოთ სისტემების ფუნქციონირება დამოუკიდებლად, ასე რომ თქვენ არ გექნებათ თავის ტკივილი, როდესაც ცდილობთ გაარკვიოთ რა არ მუშაობს სისტემების ინტეგრაციისას.

GPS ტესტირება:

GPS მიმღების შესამოწმებლად შეგიძლიათ გამოიყენოთ Ublox– ის მიერ მოწოდებული პროგრამული უზრუნველყოფა (U-Center Software)

ან საცდელი ესკიზი, რომელიც დაკავშირებულია github repo– ში (GPS ტესტი)

1. U- ცენტრის პროგრამული უზრუნველყოფის შესამოწმებლად, უბრალოდ შეაერთეთ GPS მიმღები USB– ით და შეარჩიეთ კომ პორტი U ცენტრში, ამის შემდეგ სისტემა ავტომატურად უნდა დაიწყოს თქვენი მდებარეობის თვალყურის დევნება.

2. მიკროკონტროლერის შესამოწმებლად, ატვირთეთ GPS- ტესტირების ესკიზი არდუინოში IDE საშუალებით. შემდეგ დაუკავშირეთ 5V და GND მიმღების მარკირებულ პინებს არდუინოსთან და GPS RX პინ ციფრულ 3 -თან და TX პინ ციფრულ 4 -ს არდუინოზე. საბოლოოდ გახსენით arduino IDE– ს სერიული მონიტორი და დააყენეთ baud მაჩვენებელი 9600 – ზე და შეამოწმეთ მიღებული კოორდინატები სწორია.

შენიშვნა: სატელიტური დაბლოკვის ვიზუალური იდენტიფიკატორი NEO-6M მოდულზე არის ის, რომ წითელი led ინდიკატორი ყოველ წამში აციმციმდება კავშირის საჩვენებლად.

SIM800L ტესტირება:

ფიჭური მოდულის შესამოწმებლად დაგჭირდებათ SIM ბარათი რეგისტრირებული აქტიური მონაცემების გეგმით, მე გირჩევთ Ting- ს, რადგან ისინი იხდიან მხოლოდ იმას, რასაც თქვენ იყენებთ ყოველთვიური მონაცემთა გეგმის ნაცვლად.

Sim მოდულის მიზანია HTTP GET მოთხოვნის გაგზავნა სერვერზე იმ ადგილმდებარეობით, რომელსაც მიიღებს GPS მიმღები.

1. უჯრედის მოდულის შესამოწმებლად ჩადეთ სიმქარდი მოდულში მოდუნებული ბოლოთი გარეთ

2. შეაერთეთ სიმ მოდული GND და 3.7-4.2v წყაროსთან, არ გამოიყენოთ 5 ვ !!!! მოდულს არ შეუძლია 5 ვ -ზე გაშვება. შეაერთეთ Sim მოდული RX ანალოგ 2 -თან და TX ანალოგ 3 -ზე Arduino– ზე

3. ატვირთეთ სერიული გადასვლის ესკიზი github– დან, რათა შეძლოთ ბრძანებების გაგზავნა უჯრედის მოდულში.

4. მიჰყევით ამ სახელმძღვანელოს, ან გადმოწერეთ AT Command Tester- ის ტესტირება HTTP GET ფუნქციონირების შესამოწმებლად

განხორციელება:

მას შემდეგ რაც დადასტურდება, რომ ორივე სისტემა დამოუკიდებლად მუშაობს, შეგიძლიათ გადახვიდეთ მიკროკონტროლერის გიტუბზე სრული ესკიზის ატვირთვაზე. თქვენ შეგიძლიათ გახსნათ სერიული მონიტორი 9600 baud– ზე, რომ გადაამოწმოთ, რომ სისტემა მონაცემებს უგზავნის ვებ სერვერს.

*არ უნდა დაგვავიწყდეს, რომ შეცვალოთ სერვერის ip და პორტი თქვენს პირადზე და დარწმუნდით, რომ იპოვით APN უჯრედის პროვაიდერს, რომელსაც თქვენ იყენებთ.

გადადით შემდეგ საფეხურზე, სადაც ჩვენ დავაყენებთ სერვერს

ნაბიჯი 3: სერვერის დაყენება

სერვერის დაყენება
სერვერის დაყენება

რაკეტის ადგილმდებარეობის ჩვენების სერვერის დასაყენებლად მე მასპინძლად ჟოლოს პი გამოვიყენე, მაგრამ თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი კომპიუტერი.

მიჰყევით ამ გაკვეთილს lightphp– ის დაყენებაზე RPI– ზე და შემდეგ დააკოპირეთ php ფაილები github– დან თქვენი RPI– ს/var/www/html საქაღალდეში. შემდეგ უბრალოდ გამოიყენეთ ბრძანება

sudo სერვისი lighttpd იძულებითი გადატვირთვა

სერვერის გადატვირთვა.

დარწმუნდით, რომ გადაგზავნეთ სერვერთან დაკავშირებული პორტები თქვენს როუტერზე, რათა შეძლოთ მონაცემების დისტანციური წვდომა. Rpi– ზე უნდა იყოს პორტი 80, ხოლო გარე პორტი შეიძლება იყოს თვითნებური რიცხვი.

კარგი იდეაა დააყენოთ სტატიკური ip RPI– სთვის, რათა პორტები, რომლებსაც თქვენ წინ მიიწევთ, ყოველთვის მიუთითებდეს RPI მისამართისკენ.

ნაბიჯი 4: ქვესისტემა 2: ტელემეტრიული აღრიცხვა

ტელემეტრიის პროგრამა მუშაობს ცალკეულ მიკროკონტროლერზე პოზიციის თვალთვალის სისტემიდან. ეს გადაწყვეტილება მიღებულ იქნა ATmega328 მეხსიერების შეზღუდვის გამო, რაც ხელს უშლიდა ორივე პროგრამის ერთ სისტემაზე მუშაობას. მიკროკონტროლერის კიდევ ერთმა არჩევანმა გაძლიერებული სპეციფიკაციებით შეიძლება გადაჭრას ეს საკითხი და დაუშვას ერთი ცენტრალური პროცესორის გამოყენება, მაგრამ მე მინდოდა გამოვიყენო ის ნაწილები, რაც მე მქონდა მოსახერხებლად.

მახასიათებლები: ეს პროგრამა ემყარება სხვა მაგალითს, რომელიც მე აქ ინტერნეტში ვიპოვე.

  • პროგრამა მშობლიურ ენაზე კითხულობს ნათესავის სიმაღლეს (სიმაღლე კითხულობს ნულოვანი გაშვებისას), ტემპერატურა, წნევა, აჩქარება X მიმართულებით (თქვენ უნდა შეცვალოთ აჩქარების წაკითხვის მიმართულება სენსორის ფიზიკური ორიენტაციის საფუძველზე) და დროის ნიშნული (მილიში).
  • გაშვების დაფაზე ჯდომისას და შენახვის სივრცის დაკარგვის თავიდან ასაცილებლად, სისტემა დაიწყებს მონაცემების წერას მხოლოდ მას შემდეგ, რაც აღმოაჩენს სიმაღლის ცვლილებას (კონფიგურირებადია პროგრამაში) და შეწყვეტს მონაცემების წერას, როდესაც აღმოაჩენს, რომ რაკეტა დაუბრუნდა საწყისს. სიმაღლეზე, ან ფრენის 5 წუთის გასვლის შემდეგ.
  • სისტემა მიუთითებს, რომ ის იკვებება და წერს მონაცემებს ერთი ინდიკატორის LED- ის საშუალებით.

ტესტირება:

სისტემის შესამოწმებლად, ჯერ დააკავშირეთ SD ბარათის გარღვევა

არდუინოს SD ბარათი

პინი 4 ---------------- CS

პინი 11 -------------- DI

პინი 13 -------------- SCK

პინი 12 -------------- გააკეთე

ახლა დააკავშირეთ GY-86 სისტემასთან I^2C საშუალებით

Arduino GY-86

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

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

პინი 2 ---------------- INTA

SD ბარათზე შექმენით ფაილი მთავარ დირექტორიაში სახელწოდებით datalog.txt, სადაც სისტემა წერს მონაცემებს.

მიკროკონტროლერზე Data_Logger.ino სკეტჩის ატვირთვამდე შეცვალეთ ALT_THRESHOLD მნიშვნელობა 0 -მდე, ასე რომ, სისტემა იგნორირებას უკეთებს ტესტის სიმაღლეს. ატვირთვის შემდეგ, გახსენით სერიული მონიტორი 9600 baud სისტემის გამოყვანის სანახავად. დარწმუნდით, რომ სისტემას შეუძლია სენსორთან დაკავშირება და მონაცემები იწერება SD ბარათზე. გათიშეთ სისტემა და ჩადეთ SD ბარათი თქვენს კომპიუტერში, რომ გადაამოწმოთ მონაცემები ბარათზეა ჩაწერილი.

ნაბიჯი 5: სისტემის ინტეგრაცია

Სისტემის ინტეგრაცია
Სისტემის ინტეგრაცია
Სისტემის ინტეგრაცია
Სისტემის ინტეგრაცია

მას შემდეგ რაც გადამოწმდება, რომ სისტემის თითოეული ნაწილი მუშაობს იმავე კონფიგურაციით, რომელიც გამოიყენება ძირითად PCB- ზე, დროა ეს ყველაფერი ერთად შეიკრიბოს და მოემზადოს გაშვებისთვის! მე ჩავრთე გერბერის და EAGLE ფაილები PCB– სთვის და სქემატური github– ში. თქვენ დაგჭირდებათ გერბერების ატვირთვა მწარმოებელზე, როგორიცაა OSH პარკი ან JLC, რომ მოხდეს მათი წარმოება. ეს დაფები ორი ფენაა და საკმარისად მცირე ზომის, რომ მოერგოს უმეტეს მწარმოებლებს 10 სმ x 10 სმ კატეგორიაში იაფი დაფებისთვის.

მას შემდეგ რაც დაფები დააბრუნეთ წარმოებიდან, დროა შეაერთოთ ცხრილში არსებული ყველა კომპონენტი და ნაწილების სია დაფაზე.

პროგრამირება:

მას შემდეგ, რაც ყველაფერი შედუღდება, თქვენ დაგჭირდებათ პროგრამების ატვირთვა ორ მიკროკონტროლერზე. დაფის სივრცის შესანახად მე არ ჩავრთე რაიმე USB ფუნქციონირება, მაგრამ დავტოვე ICSP და სერიული პორტები გატეხილი, ასე რომ თქვენ კვლავ შეგიძლიათ ატვირთოთ და გააკონტროლოთ პროგრამა.

  • პროგრამის ასატვირთად მიჰყევით ამ სახელმძღვანელოს Arduino დაფის პროგრამისტად გამოყენების შესახებ. ატვირთეთ SimGpsTransmitter.ino ICSP_GPS პორტში და Data_Logger.ino ICSP_DL პორტში (PCB– ზე ICSP პორტი არის იგივე განლაგება, რაც სტანდარტული Arduino UNO დაფებზეა ნაპოვნი).
  • მას შემდეგ, რაც ყველა პროგრამა აიტვირთება, თქვენ შეგიძლიათ ააწყოთ მოწყობილობა ბატარეის შეყვანისგან 3.7-4.2V და გამოიყენოთ 4 ინდიკატორი, რომ შეამოწმოთ სისტემის მუშაობა.

    • პირველი ორი ნათურა 5V_Ok და VBATT_OK მიუთითებს იმაზე, რომ ბატარეა და 5 ვ რელსები იკვებება.
    • მესამე სინათლე DL_OK აციმციმდება ყოველ 1 წამში იმის მითითებით, რომ ტელემეტრიული ჩანაწერი აქტიურია.
    • ბოლო შუქნიშანი SIM_Transmit ჩაირთვება მას შემდეგ რაც ფიჭური და GPS მოდულები შეერთდება და მონაცემები გაიგზავნება სერვერზე.

ნაბიჯი 6: დანართი

დანართი
დანართი

რაკეტას, რომლის გარშემოც მე ამ პროექტს ვგეგმავ, აქვს შიდა დიამეტრი 29 მმ, ელექტრონიკის დასაცავად და რაკეტის ცილინდრული სხეულის შიგნით შეთავსების მიზნით, მე გავაკეთე მარტივი ორ ნაწილად 3D დაბეჭდილი ქეისი, რომელიც ერთმანეთთან არის შეკრული და აქვს მაჩვენებელი შუქების მაჩვენებელი პორტები. STL ფაილები დასაბეჭდად და ორიგინალური.ipt ფაილები github repo- შია. მე არ მოვახერხე მოდელირება, რადგან არ ვიყავი დარწმუნებული იმ ბატარეაში, რომელსაც მაშინ გამოვიყენებდი, მაგრამ ხელით შევქმენი ჩამონგრევა 120 mAh ბატარეისათვის, რომ ჩამსხვრეულიყო საქმის ბოლოში. ეს ბატარეა იძლევა სისტემის მუშაობის ხანგრძლივობას min 45 წთ at 200mA ენერგიის მოხმარებით (ეს დამოკიდებულია პროცესორის მოხმარებაზე და მონაცემთა გადაცემის ენერგიაზე, SIM800L არის ციტირებული, რომ 2A -მდე აღწევს კომუნიკაციის დროს).

ნაბიჯი 7: დასკვნა

ეს პროექტი იყო ორი ცალკეული სისტემის საკმაოდ პირდაპირი განხორციელება, იმის გათვალისწინებით, რომ მე უბრალოდ ვიყენებდი ამაზონზე ნაპოვნი დისკრეტულ მოდულებს, სისტემის საერთო ინტეგრაცია ცოტა არ იყოს, რადგან პროექტის საერთო ზომა საკმაოდ დიდია იმისთვის, რასაც აკეთებს. ზოგიერთი მწარმოებლის შეთავაზებების დათვალიერება, SIP- ის გამოყენება, რომელიც მოიცავს როგორც ფიჭურს, ასევე GPS- ს, მნიშვნელოვნად შეამცირებს პაკეტის საერთო ზომას.

დარწმუნებული ვარ, რომ ფრენის ტესტირების შემდეგ მე მომიწევს პროგრამის გარკვეული ცვლილებები და დარწმუნებული ვარ, რომ Github– ის რეპოს განახლება ნებისმიერი ცვლილებით.

ვიმედოვნებ, რომ მოგეწონათ ეს პროექტი, მოგერიდებათ დამიკავშირდეთ ნებისმიერ შეკითხვაზე, რომელიც შეიძლება გქონდეთ.

გირჩევთ: