Skip to content

Repository files navigation

LOVELACE-2

Бортовой компьютер "Лавлейс-2" для модельной ракеты с Системой Телеметрии и Аварийного Спасения

Фото бортового компьютера "Лавлейс-2"

Версия проекта: 2.9
Дата завершения работ: октябрь 2025 Дата публикации в открытом доступе: июнь 2026

Система телеметрии и спасения для модельной ракеты на базе Arduino. Включает бортовая электронику (сбор данных, логирование, передача) и наземный приёмник.

Общая архитектура

Система состоит из трёх основных частей:

  1. Бортовой компьютер (Rocket Main) — Arduino Nano
    Собирает данные с датчиков, пишет на SD-карту, определяет момент раскрытия парашюта.

  2. Бортовой передатчик LoRa — второй Arduino Nano
    Принимает данные по SoftwareSerial от главного бортового компьютера и передаёт их по LoRa на землю.

  3. Наземный приёмник LoRa — Arduino (Uno/Nano)
    Принимает пакеты по LoRa и выводит их в Serial-порт (для компьютера/телефона с терминальной программой).

Схема работы

[Датчики + GPS] → Arduino Main → SD-карта ↓ (SoftwareSerial) Arduino LoRa TX → LoRa 433 МГц → LoRa RX (на земле) → Serial (ПК)


Бортовой компьютер (Rocket Main)

Файл: rocket_main.ino

Подключённые компоненты:

  • BMP280 — температура + высота (барометрическая)
  • GPS (u-blox) — широта, долгота
  • MPU6050 — акселерометр и гироскоп (в основном акселерометр по Y)
  • SD-карта (SPI) — логирование всех данных
  • Пьезо (пин 9) — звуковая сигнализация
  • Мортира 1 (пин 10) — основной сигнал на раскрытие парашюта
  • Мортира 2 (пин 3) — дублирующий сигнал (с задержкой 1.5 секунды)

Основные функции:

  • Определение апогея и спуска:

    • Отслеживается максимальная высота (max_alt).
    • Если высота упала более чем на 25 метров от максимума и максимум был ≥ 700 м — срабатывает descent().
  • Логирование:

    • Каждую итерацию loop() записывается строка на SD-карту в формате:
      millis();temp;lat;lon;alt;accelY;gyroX;gyroY;gyroZ
      
  • Передача телеметрии:

    • Каждые 500 мс отправляется по SoftwareSerial строка:
      lat;lon;alt
      
  • Система спасения:

    • При обнаружении спуска подаётся сигнал HIGH на пин 10.
    • Через 1.5 секунды дополнительно активируется пин 3.
    • Включается звуковая сирена.

Бортовой LoRa-передатчик

Файл: rocket_sender.ino

  • Принимает данные по SoftwareSerial (пин 5) от главного Arduino.
  • При получении полной строки (до \n) отправляет её одним пакетом LoRa (433 МГц).
  • Использует библиотеку LoRa.

Наземный приёмник LoRa

Файл: receiver.ino

  • Принимает пакеты LoRa.
  • Приводит строку к фиксированной длине 60 байт (дополняет ; при необходимости).
  • Выводит данные в Serial (115200).
  • Включает пищалку на пине 8 при приёме пакета.
  • Поддерживает мониторинг уровня сигнала (RSSI можно добавить).

Схема подключения компонентов "Лавлейс-2"

Принцип работы всей системы

  1. Ракета стартует.
  2. Главный Arduino постоянно читает датчики, пишет логи на SD и отправляет координаты + высоту каждые 500 мс.
  3. Второй Arduino упаковывает эти данные в LoRa-пакеты.
  4. На земле приёмник выводит данные в реальном времени в терминал.
  5. При достижении апогея и начале спуска (падение >25 м) автоматически срабатывают мортиры (электровоспламенители) для раскрытия парашюта.

Важный инцидент на реальном пуске

Во время настоящего пуска один из микроконтроллеров Arduino Nano отказал по неизвестной причине.

Последствия:

  • На землю передавались статичные (замороженные) данные.
  • Система определения спуска и команда на раскрытие парашюта не сработала с бортового компьютера.
  • Ракета вернулась без раскрытого парашюта (жёсткая посадка).

Выводы и рекомендации:

  • Использовать более надёжное питание (отдельные стабилизаторы, конденсаторы).
  • Дублировать критически важные функции (например, иметь независимый таймер/барометрический выключатель спасения).
  • Улучшить механическое крепление модулей и защиту от вибраций.
  • Рассмотреть переход на более мощный/надёжный микроконтроллер (ESP32 или STM32) для основной логики.

Требуемые библиотеки

  • Wire.h
  • Adafruit_BMP280
  • TinyGPS++
  • SoftwareSerial
  • SPI.h
  • SD
  • MPU6050
  • LoRa (by sandeep mistry)

Настройка

  1. Установите все библиотеки через Library Manager.
  2. Проверьте пины в коде под свою разводку.
  3. Для GPS — скорость 9600 бод.
  4. LoRa частота — 433E6 (проверьте разрешённую в вашем регионе).
  5. Задайте свой порог срабатывания системы спасения.

Автор: Александр Генералов
Лицензия: MIT / Open Source

Удачных полётов и мягких посадок! 🚀

Запуск ракеты "Квазар" с бортовым компьютером "Лавлейс-2"

About

Проект бортового компьютера "Лавлейс-2" для модельной ракеты "Квазар SE-4"

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages