Съдържание:
- Стъпка 1: Списък на частите
- Стъпка 2: Подсистема 1: Проследяване на позицията
- Стъпка 3: Настройка на сървъра
- Стъпка 4: Подсистема 2: Телеметрично регистриране
- Стъпка 5: Системна интеграция
- Стъпка 6: Приложение
- Стъпка 7: Заключение
Видео: Ракетна телеметрия/Проследяване на позицията: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Този проект е предназначен за регистриране на полетни данни от 9 DOF сензорен модул към SD карта и едновременно предаване на GPS местоположението му чрез клетъчни мрежи към сървър. Тази система позволява ракетата да бъде намерена, ако зоната за кацане на системата е извън LOS.
Стъпка 1: Списък на частите
Телеметрична система:
1x микроконтролер ATmega328 (Arduino UNO, Nano)
1x Micro SD Breakout -
1x Micro SD карта - (размерът няма значение FAT 16/32 форматиран) - Amazon Link
1x Gy -86 IMU - Amazon Link
Проследяване на позицията:
1x микроконтролер ATmega328 (Arduino UNO, Nano) (всяка система се нуждае от свой собствен микро)
1x SIM800L GSM GPRS модул - Amazon Link
1x SIM карта (трябва да има план за данни) - https://ting.com/ (ting таксува само това, което използвате)
1x GPS модул NEO 6M - Amazon LInk
Общи части:
1x 3.7v липо батерия
1x 3.7-5v стъпков конвертор (ако не изграждате печатната платка)
1x Raspberry pi или всеки компютър, който може да хоства php сървър
-Достъп до 3D принтер
-BOM за печатни платки е посочен в електронна таблица
-Герберите са в github repo -https://github.com/karagenit/maps-gps
Стъпка 2: Подсистема 1: Проследяване на позицията
Тестване:
След като имате частите за системата (NEO-6M GPS, Sim800L) в ръка, трябва да тествате функционалността на системите независимо, за да не ви боли глава, опитвайки се да разберете какво не работи, когато интегрирате системите.
GPS тестване:
За да тествате GPS приемника, можете да използвате софтуера, предоставен от Ublox (софтуер U-Center)
или тестовата скица, свързана в github repo (GPS тест)
1. За да тествате със U-center софтуер, просто включете GPS приемника през USB и изберете com порта в U-center, системата трябва автоматично да започне да проследява вашето местоположение след това.
2. За да тествате с микроконтролер, качете скицата за GPS-тестване в arduino чрез IDE. След това свържете 5V и GND към обозначените щифтове на приемника към arduino и GPS RX щифт към цифров 3 и TX щифт към цифров 4 на arduino. Накрая отворете серийния монитор на arduino IDE и задайте скоростта на предаване на 9600 и проверете дали получените координати са правилни.
Забележка: Визуален идентификатор на сателитно заключване на модула NEO-6M е, че червеният светодиоден индикатор ще мига на всеки няколко секунди, за да покаже връзка.
SIM800L Тестване:
За да тествате клетъчния модул, ще трябва да имате регистрирана сим карта с активен план за данни, препоръчвам Ting, защото те таксуват само това, което използвате, вместо месечен план за данни.
Целта на модула Sim е да изпрати HTTP GET заявка до сървъра с местоположението, което е получено от GPS приемника.
1. За да тествате клетъчния модул, поставете SIM картата в модула с скосения край навън
2. Свържете SIM модула към GND и източник на 3.7-4.2v, не използвайте 5v !!!! модулът не може да работи при 5v. Свържете Sim модула RX към Analog 2 и TX към Analog 3 на Arduino
3. Качете серийната скица за преминаване от github, за да можете да изпращате команди към клетъчния модул.
4. следвайте този урок или изтеглете пробната версия на AT Command Tester, за да тествате HTTP GET функционалността
Изпълнение:
След като се уверите, че и двете системи работят независимо, можете да преминете към качване на пълната скица в github на микроконтролера. можете да отворите серийния монитор на 9600 бода, за да проверите дали системата изпраща данни към уеб сървъра.
*не забравяйте да промените ip и порта на сървъра на свой собствен и не забравяйте да намерите APN за мобилния оператор, който използвате.
Преминете към следващата стъпка, където настройваме сървъра
Стъпка 3: Настройка на сървъра
За да настроя сървър за показване на местоположението на ракетата, използвах малиново пи като хост, но можете да използвате всеки компютър.
Следвайте този урок за настройка на lightphp на RPI и след това копирайте php файловете от github в папката/var/www/html на вашия RPI. След това просто използвайте командата
sudo услуга lighttpd принудително презареждане
за презареждане на сървъра.
Не забравяйте да препратите портовете, свързани със сървъра на вашия рутер, за да имате достъп до данните от разстояние. На rpi това трябва да е порт 80, а външният порт може да бъде произволен номер.
Добра идея е да зададете статичен ip за RPI, така че портовете, които препращате, винаги да сочат към адреса на RPI.
Стъпка 4: Подсистема 2: Телеметрично регистриране
Програмата за телеметрия работи на отделен микроконтролер от системата за проследяване на позицията. Това решение е взето поради ограниченията на паметта на ATmega328, които не позволяват и двете програми да работят на една система. Друг избор на микроконтролер с подобрени спецификации би могъл да реши този проблем и да позволи използването на един централен процесор, но аз исках да използвам частите, които имах под ръка за по -лесна употреба.
Характеристики: Тази програма се основава на друг пример, който намерих онлайн тук.
- Програмата първоначално чете относителната надморска височина (отчитане на височината, нулирана при стартиране), температура, налягане, ускорение в посока X (ще трябва да промените посоката на отчитане на ускорението въз основа на физическата ориентация на сензора) и времева отметка (в мили).
- За да се предотврати регистрирането на данни, докато седите на стартовата площадка и губите място за съхранение, системата ще започне да записва данни само след като открие промяна на височината (конфигурируема в програмата) и ще спре да записва данни, след като открие, че ракетата се е върнала в оригинала си надморска височина или след изтичане на полетно време от 5 минути.
- Системата ще покаже, че е включена и записва данни чрез един индикатор.
Тестване:
За да тествате системата, първо свържете пробива на SD картата
SD карта Arduino
ПИН 4 ---------------- CS
ПИН 11 -------------- DI
ПИН 13 -------------- SCK
ПИН 12 -------------- DO
Сега свържете GY-86 към системата чрез I^2C
Arduino GY-86
ПИН A4 -------------- SDA
ПИН A5 -------------- SCL
ПИН 2 ---------------- INTA
На SD картата създайте файл в главната директория с име datalog.txt, където системата ще записва данни.
Преди да качите скицата Data_Logger.ino в микроконтролера, променете стойността на ALT_THRESHOLD на 0, така че системата да игнорира надморската височина за тестване. След качване отворете серийния монитор на 9600 бода, за да видите изхода на системата. Уверете се, че системата може да се свърже със сензора и че данните се записват на SD картата. Изключете системата и поставете SD картата в компютъра си, за да проверите дали данните са записани на картата.
Стъпка 5: Системна интеграция
След като се уверите, че всяка част от системата работи в една и съща конфигурация, използвана на основната платка, е време да събере всичко и да се подготви за стартиране! Включих файловете Gerbers и EAGLE за печатни платки и схеми в github. ще трябва да качите герберите на производител като OSH park или JLC, за да ги произведете. Тези плоскости са на два слоя и са достатъчно малки, за да се поберат в повечето производители с категория 10 см х 10 см за евтини плоскости.
След като върнете дъските от производството, е време да запоите всички компоненти, намиращи се в електронната таблица и списъка с части, върху дъската.
Програмиране:
След като всичко е запоено, ще трябва да качите програмите на двата микроконтролера. За да спестя място на платката, не включих никаква USB функция, но оставих ICSP и серийните портове разбити, така че все още можете да качвате и наблюдавате програмата.
- За да качите програмата, следвайте този урок за използване на дъска Arduino като програмист. Качете SimGpsTransmitter.ino на порта ICSP_GPS и Data_Logger.ino на порта ICSP_DL (Портът ICSP на печатната платка е със същото оформление като това, което се намира на стандартните платки Arduino UNO).
-
След като всички програми бъдат качени, можете да захранвате устройството от входа на батерията с 3.7-4.2V и да използвате 4-те индикаторни лампи, за да проверите дали системата работи.
- Първите две светлини 5V_Ok и VBATT_OK показват, че батерията и 5v релсите са захранени.
- Третата светлина DL_OK ще мига на всеки 1 секунда, за да покаже, че телеметричното регистриране е активно.
- Последната светлина SIM_Transmit ще се включи, след като клетъчните и GPS модулите са свързани и данните се изпращат към сървъра.
Стъпка 6: Приложение
Ракетата, около която проектирам този проект, има вътрешен диаметър 29 мм, за да защити електрониката и да позволи на монтажа да се побере в цилиндричното тяло на ракетата, направих прост корпус от две части с 3D печат, който е закрепен заедно и има преглед на портовете за индикаторните светлини. STL файлове за печат и оригинални.ipt файлове са в github репо. Аз не моделирах това, тъй като не бях сигурен за батерията, която ще използвам по това време, но ръчно създадох вдлъбнатина за 120 mAh батерия, която да седи на едно ниво с долната част на кутията. Изчислено е, че тази батерия осигурява ~ 45 минути максимално време за работа на системата при консумация на енергия ~ 200 mA (Това зависи от използването на процесора и потреблението на енергия за предаване на данни, SIM800L се цитира за извличане на 2A при изблици по време на комуникация).
Стъпка 7: Заключение
Този проект беше доста ясна реализация на две отделни системи, като се има предвид, че просто използвах отделни модули, открити в Amazon, цялостната системна интеграция е малко неясна, тъй като общият размер на проекта е доста голям за това, което прави. Разглеждайки предложения от някои производители, използването на SIP, който включва както клетъчни, така и GPS, би намалило значително общия размер на пакета.
Сигурен съм, че след повече полетни тестове ще трябва да направя някои промени в програмата и със сигурност ще актуализирам репо Github с всички промени.
Надявам се, че този проект ви е харесал, не се колебайте да се свържете с мен за всякакви въпроси, които може да имате.
Препоръчано:
Система за обратна връзка за позицията на серво с Arduino: 4 стъпки
Система за обратна връзка за позицията на серво с Arduino: Здравей, това е първата ми инструкция. Моят проект ви позволява да получите позицията на вашето серво на вашия сериен монитор или сериен плотер на вашата Arduino IDE. Това улеснява програмирането на arduino роботи, които използват серво мотори като хуманоидни роботи bip
Проследяване и проследяване за малки магазини: 9 стъпки (със снимки)
Проследяване и следене за малки магазини: Това е система, създадена за малки магазини, която трябва да се монтира на електронни велосипеди или електронни тротинетки за доставки на къси разстояния, например пекарна, която иска да доставя сладкиши. Какво означава Track and Trace? Проследяване и проследяване е система, използвана от ca
DC двигател и енкодер за контрол на позицията и скоростта: 6 стъпки
DC двигател и енкодер за контрол на позицията и скоростта: Въведение Ние сме група от студенти от UQD10801 (Robocon I) от Университета Tun Hussei Onn Малайзия (UTHM). Имаме 9 групи в този курс. Моята група е група 2. Дейността на нашата група е DC двигател и енкодер за контрол на позицията и скоростта. Обектът на нашата група
Направи си сам интелигентен робот за проследяване на комплекти за кола Проследяване на фоточувствителна кола: 7 стъпки
DIY Smart Robot Tracking Car Kits Проследяване на автомобил Фоточувствителен: Дизайн от SINONING ROBOT Можете да закупите от проследяващ робот car Теорът LM393 сравнете двата фоторезистора, когато има един страничен фоторезистор LED на БЯЛО, страната на двигателя ще спре веднага, другата страна на двигателя завърти се, така че
Ракетна лампа: 11 стъпки (със снимки)
Ракетна лампа: Имам идея за тази ракетна лампа от известно време. Мисля, че видях изображение на нещо подобно в мрежата и ми остана. Това, което ме спираше, беше истинската ракета. Първоначално исках да направя такъв от дърво и да използвам струг за