Оглавление:
- Шаг 1: Список деталей
- Шаг 2: Подсистема 1: Отслеживание местоположения
- Шаг 3: Настройка сервера
- Шаг 4: Подсистема 2: Ведение журнала телеметрии
- Шаг 5: Системная интеграция
- Шаг 6: корпус
- Шаг 7: Заключение
Видео: Ракетная телеметрия / трекер местоположения: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Этот проект предназначен для записи полетных данных с модуля датчика с 9 степенями свободы на SD-карту и одновременной передачи своего местоположения GPS через сотовые сети на сервер. Эта система позволяет обнаружить ракету, если зона приземления системы находится за пределами прямой видимости.
Шаг 1: Список деталей
Система телеметрии:
1x микроконтроллер ATmega328 (Arduino UNO, Nano)
1x Micro SD Breakout -
1x Micro SD Card - (размер не имеет значения, формат FAT 16/32) - Amazon Link
1x Gy-86 IMU - ссылка на Amazon
Отслеживание позиции:
1x микроконтроллер ATmega328 (Arduino UNO, Nano) (каждой системе нужен свой микроконтроллер)
1x Sim800L GSM GPRS модуль - Amazon Link
1x SIM-карта (требуется тарифный план на передачу данных) - https://ting.com/ (взимается плата только за то, что вы используете)
1x модуль GPS NEO 6M - Amazon LInk
Общие части:
1x 3,7 в липо аккумулятор
1x 3,7-5В повышающий преобразователь (если вы не собираете печатную плату)
1x Raspberry pi или любой компьютер, на котором может размещаться php-сервер
-Доступ к 3D-принтеру
-Спецификация для печатной платы указана в электронной таблице
-Герберы находятся в репозитории github -
Шаг 2: Подсистема 1: Отслеживание местоположения
Тестирование:
Когда у вас есть части для системы (NEO-6M GPS, Sim800L), вам необходимо протестировать функциональность систем независимо, чтобы у вас не было головной боли, пытаясь выяснить, что не работает, когда вы интегрируете системы.
Тестирование GPS:
Чтобы проверить GPS-приемник, вы можете использовать программное обеспечение Ublox (U-Center Software).
или тестовый скетч, связанный в репозитории github (GPS Test)
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 Тестирование:
Чтобы протестировать сотовый модуль, вам понадобится SIM-карта, зарегистрированная с активным тарифным планом. Я рекомендую Ting, потому что они взимают плату только за то, что вы используете, а не за ежемесячный тарифный план.
Цель модуля Sim - отправить HTTP-запрос GET на сервер с указанием местоположения, полученного приемником GPS.
1. Чтобы проверить модуль ячейки, вставьте сим-карту в модуль скошенным концом наружу.
2. Подключите sim-модуль к GND и источнику 3,7-4,2 В, не используйте 5 В !!!! модуль не может работать при 5в. Подключите модуль Sim RX к Analog 2 и TX к Analog 3 на Arduino.
3. Загрузите скетч последовательного сквозного подключения из github, чтобы иметь возможность отправлять команды модулю ячейки.
4. следуйте этому руководству или загрузите пробную версию AT Command Tester, чтобы проверить функциональность HTTP GET.
Реализация:
Убедившись, что обе системы работают независимо, можно переходить к загрузке полного скетча на github микроконтроллера. вы можете открыть монитор последовательного порта на скорости 9600 бод, чтобы убедиться, что система отправляет данные на веб-сервер.
* не забудьте изменить IP-адрес и порт сервера на свои собственные и не забудьте найти APN для провайдера сотовой связи, которого вы используете.
Переходим к следующему шагу, где мы настраиваем сервер
Шаг 3: Настройка сервера
Чтобы настроить сервер для отображения местоположения ракеты, я использовал Raspberry Pi в качестве хоста, но вы можете использовать любой компьютер.
Следуйте этому руководству по настройке lightphp на RPI, а затем скопируйте файлы php из github в папку / var / www / html вашего RPI. После просто используйте команду
sudo service 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.
Ардуино 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,2 В и использовать 4 световых индикатора для проверки работы системы.
- Первые два индикатора 5V_Ok и VBATT_OK указывают на то, что батарея и шины 5v запитаны.
- Третий индикатор DL_OK будет мигать каждую 1 секунду, указывая на то, что ведение журнала телеметрии активно.
- Последний индикатор SIM_Transmit загорится, когда сотовый и GPS-модули будут подключены и данные будут отправлены на сервер.
Шаг 6: корпус
Ракета, вокруг которой я проектирую этот проект, имеет внутренний диаметр 29 мм, чтобы защитить электронику и позволить сборке поместиться внутри цилиндрического корпуса ракеты, я сделал простой двухкомпонентный корпус с 3D-печатью, который скреплен болтами и имеет смотровые отверстия для световых индикаторов. Файлы STL для печати и исходные файлы.ipt находятся в репозитории github. Я не моделировал это, так как не был уверен в том, какую батарею я буду использовать в то время, но я вручную создал выемку для батареи на 120 мАч, чтобы она располагалась заподлицо с нижней частью корпуса. Эта батарея, по оценкам, обеспечивает максимальное время работы системы ~ 45 минут при потребляемой мощности ~ 200 мА (это зависит от использования процессора и потребляемой мощности для передачи данных, SIM800L рассчитан на импульсное потребление до 2 А во время связи).
Шаг 7: Заключение
Этот проект представлял собой довольно простую реализацию двух отдельных систем, учитывая, что я просто использовал отдельные модули, найденные на Amazon, общая системная интеграция немного тусклая, поскольку общий размер проекта довольно велик для того, что он делает. Если посмотреть на предложения некоторых производителей, то использование SIP, включающего как сотовую связь, так и GPS, значительно уменьшит общий размер упаковки.
Я уверен, что после дополнительных летных испытаний мне придется внести некоторые изменения в программу и обязательно обновлю репозиторий Github с любыми изменениями.
Надеюсь, вам понравился этот проект, не стесняйтесь обращаться ко мне по любым вопросам, которые могут у вас возникнуть.
Рекомендуемые:
Ракетная установка с голосовым управлением на основе Alexa: 9 шагов (с изображениями)
Ракетная установка с голосовым управлением на базе Alexa: по мере приближения зимнего сезона; наступает то время года, когда отмечается фестиваль огней. Да, мы говорим о Дивали, настоящем индийском фестивале, отмечаемом во всем мире. В этом году Дивали уже закончился, и люди
Настольный трекер COVID19 с часами! Трекер на базе Raspberry Pi: 6 шагов
Настольный трекер COVID19 с часами! Трекер на базе Raspberry Pi: мы знаем, что можем умереть в любой момент, даже я могу умереть, пока пишу этот пост, в конце концов, я, ты, все мы смертные. Весь мир потрясла пандемия COVID19. Мы знаем, как это предотвратить, но эй! мы знаем, как молиться и зачем молиться, не так ли
Беспроводная безопасная ракетная установка: 8 шагов
Беспроводная безопасная ракетная установка: Привет, я сделал интересный проект беспроводной ракетной установки, и я надеюсь, вам, ребята, она обязательно понравится. Четырехканальная релейная плата используется для запуска четырех ракет-петард по беспроводной сети или за один раз без риска. одного рунни
Поиск местоположения GPS: 5 шагов
GPS Location Finder: Привет всем! Сегодня давайте посмотрим, как создать GPS Location Finder с помощью GPS-модуля NEO-6m и Arduino. Сначала давайте посмотрим, что такое GPS
Отслеживание местоположения с NodeMCU ESP8266: 10 шагов
Отслеживание местоположения с NodeMCU ESP8266: Вам интересно, как NodeMCU может отслеживать ваше местоположение? Можно даже без модуля GPS и без дисплея. На выходе будут координаты вашего местоположения, которые вы увидите на своем последовательном мониторе. Следующая установка была