📚 Техническая документация

Полное руководство по сборке, настройке и эксплуатации конструктора БПЛА ThunderLight.

📖 Начать чтение Исходный код

📌 Введение

Данная документация представляет собой полное техническое руководство по сборке, настройке и эксплуатации образовательного конструктора БПЛА ThunderLight.

📦 Версия документации

Версия 1.0 от 2026 года. Актуально для комплекта ThunderLight VRD FC.

Последнее обновление: 4 сентября 2026

О проекте

ThunderLight — это открытая образовательная экосистема для изучения систем управления беспилотными летательными аппаратами. В основе конструктора лежит гибридная архитектура управления, состоящая из двух уровней:

  • Нижний уровень (Low_LV) — на базе Arduino Nano (ATmega328P) отвечает за чтение датчиков, стабилизацию и управление исполнительными механизмами в реальном времени.
  • Верхний уровень (Hight_LV) — на базе Raspberry Pi 3 отвечает за планирование траектории, диагностику, визуализацию и адаптацию алгоритмов.

Для кого эта документация

  • Для учащихся — пошаговые инструкции по сборке и программированию.
  • Для педагогов — методические материалы и лабораторные работы.
  • Для инженеров — технические характеристики, схемы и исходные коды.

Состав документации

  • Спецификация — полный перечень компонентов с характеристиками.
  • Смета и амортизация — подробный расчёт стоимости.
  • Схемы подключения — электрические схемы и распиновка.
  • Инструкция по сборке — пошаговое руководство с пояснениями.
  • Чек-лист сборки — интерактивный список для контроля.
  • Руководство по прошивке — загрузка кода в Arduino и Raspberry Pi.
  • Руководство по калибровке — настройка датчиков, ESC и ПИД-регулятора.
  • Инструкция по первому полёту — подготовка и запуск.
  • Технические данные — характеристики и результаты испытаний.
  • Таблица совместимости — проверка компонентов.
  • Правила безопасности — обязательные требования.
  • Руководство по обслуживанию — уход и ремонт.

📋 Спецификация компонентов

Полный перечень деталей и электронных компонентов конструктора.

Электронные компоненты

Полётный контроллер (нижний уровень)Arduino Nano (ATmega328P)
Вычислительный модуль (верхний уровень)Raspberry Pi 3
Датчик инерциальный (IMU)MPU-6050 (6 DOF)
СервоприводыMG-90S × 4
Регуляторы скорости (ESC)20A × 4
Бесколлекторные двигатели2212 1000kV × 4
Аккумуляторная батареяLi-Po 3S 2200mAh (11.1V)
Пропеллеры10 × 4.5 (комплект)
Приёмник (опционально)FlySky FS-iA6 (PPM)
GPS-модуль (опционально)NEO-6M

Конструкционные детали

Рама (3D-печать)PLA-пластик
Размер рамы (диагональ)250 мм
КрепёжВинты M3, нейлоновые стойки
Кабельная обвязкаНейлоновые стяжки

Программное обеспечение

Среда разработки (Arduino)Arduino IDE v1.8.19+
Язык (нижний уровень)C++ (Arduino)
Язык (верхний уровень)Python 3.9+
Библиотеки Pythonpyserial, numpy, matplotlib
Библиотеки ArduinoWire, MPU6050, Servo
Протокол связиUART (115200 бод)
📦 Ориентировочная стоимость комплекта

~ 12 000 ₽

Стоимость может варьироваться в зависимости от поставщиков и региона.

💰 Смета и амортизация

Детальный расчёт стоимости комплекта с учётом амортизации оборудования.

Стоимость компонентов

КомпонентКол-воЦена за шт.Стоимость
Arduino Nano1500 ₽500 ₽
Raspberry Pi 313 500 ₽3 500 ₽
IMU MPU-60501300 ₽300 ₽
ESC 20A4900 ₽3 600 ₽
Мотор 2212 1000kV41 800 ₽7 200 ₽
Аккумулятор 3S 2200mAh13 200 ₽3 200 ₽
Пропеллеры 10×4.5 (комплект)1800 ₽800 ₽
Рама (3D-печать)1300 ₽300 ₽
Крепёж и провода—500 ₽500 ₽
Итого компоненты19 900 ₽

Амортизация оборудования

ОборудованиеСтоимостьСрок службыАмортизация на проект
3D-принтер (использование)25 000 ₽5 лет~200 ₽
Паяльная станция3 000 ₽5 лет~20 ₽
Мультиметр1 500 ₽5 лет~10 ₽
Итого амортизация~230 ₽
📊 Итоговая стоимость

~ 20 130 ₽

Включая амортизацию оборудования.

🔌 Схемы подключения

Электрические схемы соединения всех компонентов системы управления.

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

Система управления построена по гибридной архитектуре с разделением на два уровня.

                ┌───────────────────────────────────────────────────────────────────────┐
                │                          VRD FLIGHT CONTROLLER                       │
                │                       Гибридная двухуровневая архитектура            │
                ├───────────────────────────────────────────────────────────────────────┤
                │                                                                       │
                │  ┌─────────────────────┐         ┌─────────────────────┐             │
                │  │   НИЖНИЙ УРОВЕНЬ     │  UART   │   ВЕРХНИЙ УРОВЕНЬ   │             │
                │  │   (Real-time)        │◄───────►│   (Planning)        │             │
                │  │   Arduino Nano       │  115200 │   Raspberry Pi 3    │             │
                │  │   ATmega328P         │  бод    │   Python 3          │             │
                │  └──────────┬──────────┘         └──────────┬──────────┘             │
                │             │                               │                         │
                │             ▼                               ▼                         │
                │  ┌─────────────────────┐         ┌─────────────────────┐             │
                │  │   ДАТЧИКИ           │         │   ВИЗУАЛИЗАЦИЯ      │             │
                │  │   MPU-6050 (IMU)    │         │   Телеметрия        │             │
                │  │   (I2C)             │         │   Графики           │             │
                │  └─────────────────────┘         └─────────────────────┘             │
                │             │                                                         │
                │             ▼                                                         │
                │  ┌─────────────────────┐                                             │
                │  │   ИСПОЛНИТЕЛЬНЫЕ     │                                             │
                │  │   МЕХАНИЗМЫ         │                                             │
                │  │   ESC × 4 (PWM)     │                                             │
                │  │   Сервоприводы      │                                             │
                │  └─────────────────────┘                                             │
                └───────────────────────────────────────────────────────────────────────┘
                        

Подключение Arduino Nano

MPU-6050 (I2C)A4 (SDA), A5 (SCL)
ESC 1 (PWM)D3
ESC 2 (PWM)D5
ESC 3 (PWM)D6
ESC 4 (PWM)D9
Приёмник (PPM)D2
UART (Raspberry Pi)D0 (RX), D1 (TX)
Питание5V, GND

Подключение Raspberry Pi

UART (Arduino)GPIO14 (TX), GPIO15 (RX)
Питание5V, GND (GPIO)
Дисплей/мониторHDMI (опционально)
СетьWi-Fi / Ethernet
⚠️ Важно
  • Все соединения должны быть выполнены качественными проводами.
  • Проверьте полярность подключения питания!
  • Для силовых цепей используйте провода сечением не менее 0.5 мм².

🔧 Инструкция по сборке

Пошаговое руководство по механической сборке аппарата.

Этап 1: Подготовка деталей

Перед началом сборки убедитесь, что у вас есть все компоненты из спецификации. Подготовьте рабочее место с хорошим освещением и необходимыми инструментами:

  • Набор отвёрток (крестовая и плоская)
  • Пинцет для работы с проводами
  • Паяльник с тонким жалом (для пайки проводов)
  • Мультиметр для проверки соединений
  • Нейлоновые стяжки для кабельной обвязки

Этап 2: Сборка рамы

Рама поставляется в виде набора 3D-печатных деталей. Следуйте инструкции:

  1. Центральная плата: Установите центральную плату на ровную поверхность.
  2. Плечи рамы: Прикрепите четыре плеча к центральной плате с помощью винтов M3.
  3. Крепление двигателей: Установите двигатели на концах плечей.
  4. Крепление ESC: Закрепите регуляторы скорости на плечах с помощью нейлоновых стяжек.

Этап 3: Монтаж электроники

  1. Установите Arduino Nano на центральную плату с помощью нейлоновых стоек.
  2. Закрепите Raspberry Pi на центральной плате рядом с Arduino.
  3. Установите IMU MPU-6050 в центре платы, строго параллельно плоскости.
  4. Установите приёмник (опционально).

Этап 4: Электрические соединения

  1. Подключите аккумулятор к распределителю питания. Проверьте полярность!
  2. Подключите сигнальные провода ESC к выходам Arduino (D3, D5, D6, D9).
  3. Подключите MPU-6050 к Arduino по шине I2C.
  4. Соедините Arduino и Raspberry Pi по UART.

Этап 5: Установка пропеллеров

  1. Установите пропеллеры на валы двигателей.
  2. Важно: Убедитесь, что направление вращения соответствует схеме.
  3. Закрепите пропеллеры гайками.
⚠️ Критическое предупреждение
  • Перед установкой пропеллеров обязательно откалибруйте ESC.
  • Никогда не включайте питание без установленных пропеллеров.

✅ Чек-лист сборки

Интерактивный список для контроля выполнения всех этапов сборки.

Все компоненты распакованы и проверены
Рама собрана и затянута
Двигатели установлены и закреплены
ESC закреплены на плечах
Arduino Nano установлена
Raspberry Pi установлена
IMU MPU-6050 установлена
Все электрические соединения выполнены
Пропеллеры установлены правильно
Визуальный осмотр завершён
📊 Прогресс сборки

Выполнено: 0 из 10

💾 Прошивка и программное обеспечение

Инструкция по загрузке прошивки в Arduino и настройке Raspberry Pi.

Установка ПО на компьютер

  1. Arduino IDE: Скачайте и установите Arduino IDE с официального сайта (версия 1.8.19 или новее).
  2. Библиотеки Arduino: Установите необходимые библиотеки через менеджер библиотек:
    • Wire — для работы с I2C
    • MPU6050 — для работы с датчиком
    • Servo — для управления сервоприводами
  3. Python: Установите Python 3.9 или новее на Raspberry Pi.
  4. Библиотеки Python: Установите необходимые пакеты:
    pip install pyserial numpy matplotlib

Загрузка прошивки в Arduino

// VRD Flight Controller — Low Level (Arduino Nano) // Версия 1.0 — базовая стабилизация #include <Wire.h> #include <MPU6050.h> #include <Servo.h> MPU6050 imu; Servo esc1, esc2, esc3, esc4; // ПИД-коэффициенты float kp = 1.2, ki = 0.3, kd = 0.4; float integral = 0, lastError = 0; void setup() { Serial.begin(115200); Wire.begin(); imu.initialize(); esc1.attach(3); esc2.attach(5); esc3.attach(6); esc4.attach(9); calibrateESC(); } void loop() { imu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); calculateAngles(ax, ay, az, gx, gy, gz); float output = pidCalculate(targetAngle, currentAngle); esc1.writeMicroseconds(output); esc2.writeMicroseconds(output); esc3.writeMicroseconds(output); esc4.writeMicroseconds(output); sendTelemetry(); delay(10); }

Настройка Raspberry Pi

  1. Подключитесь к Raspberry Pi через SSH.
  2. Склонируйте репозиторий:
    git clone https://github.com/LightRain-K/ThunderLight.git
  3. Запустите Python-скрипт:
    cd ThunderLight/firmware/python python3 telemetry.py

🧪 Калибровка

Настройка датчиков и регуляторов скорости.

Калибровка IMU (MPU-6050)

Датчик MPU-6050 требует калибровки для компенсации смещений.

  1. Установите аппарат на абсолютно ровную горизонтальную поверхность.
  2. Загрузите в Arduino калибровочный скетч.
  3. Откройте монитор порта на скорости 115200 бод.
  4. Запишите значения смещения.
  5. Внесите значения в основной скетч.

Калибровка ESC

⚠️ Важно

Перед калибровкой ESC обязательно снимите пропеллеры!

  1. Отключите аккумулятор.
  2. Загрузите калибровочный скетч ESC.
  3. Установите максимальный сигнал (2000 мкс).
  4. Подключите аккумулятор — ESC издадут звуковой сигнал.
  5. Установите минимальный сигнал (1000 мкс).
  6. Калибровка завершена.

🎯 Настройка ПИД-регулятора

Руководство по настройке коэффициентов ПИД-регулятора.

Что такое ПИД-регулятор

  • Пропорциональная (P) — реагирует на текущую ошибку.
  • Интегральная (I) — накапливает ошибку во времени.
  • Дифференциальная (D) — реагирует на скорость изменения ошибки.

Рекомендуемый порядок настройки

  1. Начните с Kp: Установите Ki = 0, Kd = 0. Увеличивайте Kp до появления колебаний, затем уменьшите на 20-30%.
  2. Добавьте Kd: Увеличивайте Kd, пока колебания не будут погашены.
  3. Добавьте Ki: Увеличивайте Ki для устранения статической ошибки.
  4. Проверьте в динамике: Подайте возмущение и наблюдайте за возвратом.

Стартовые значения

Kp1.2
Ki0.3
Kd0.4
Частота ПИД100 Гц
🔗 Используйте симулятор

Для предварительной настройки используйте интерактивный симулятор ПИД-регулятора.

✈️ Первый полёт

Подготовка и проведение первого испытательного полёта.

Предполётная проверка

  • Визуальный осмотр: Проверьте все винтовые соединения.
  • Балансировка: Центр тяжести должен быть в центре аппарата.
  • Направление вращения: Все двигатели должны вращаться правильно.
  • ПИД-коэффициенты: Параметры ПИД загружены в контроллер.
  • Аккумулятор: Уровень заряда ≥ 11.4 В для 3S.

Процедура запуска

  1. Установите аппарат на ровную поверхность.
  2. Включите питание (подключите аккумулятор).
  3. Дождитесь инициализации датчиков.
  4. Медленно увеличивайте газ до отрыва.
  5. Зафиксируйте аппарат на высоте 0.5-1 м.
⚠️ Критическое предупреждение
  • При первых признаках нестабильности — немедленно снижайте газ.
  • Никогда не летайте над людьми или транспортными средствами.

📊 Технические данные

Характеристики аппарата и результаты испытаний системы управления.

Общие характеристики

Общая масса~550 г
Диагональ рамы250 мм
Время полёта~12 мин
Макс. скорость~65 км/ч
Тяговооружённость2.8
Дальность управления~500 м

Результаты испытаний

Ошибка стабилизации≤ 1.2°
Время реакции0.35 с
Время восстановления0.7 с
Отклонение от траектории0.82%
✅ Все требования выполнены с запасом

Система управления показала стабильную работу во всех режимах испытаний.

🔗 Таблица совместимости компонентов

Проверка совместимости компонентов друг с другом.

Arduino Nano
✅ Совместим
с MPU-6050, ESC, RPi
Raspberry Pi 3
✅ Совместим
с Arduino, Python, Wi-Fi
MPU-6050
✅ Совместим
с Arduino (I2C)
ESC 20A
✅ Совместим
с моторами 2212
Мотор 2212 1000kV
✅ Совместим
с ESC 20A, винтами 10"
Аккумулятор 3S
✅ Совместим
с ESC, моторами
⚠️ Рекомендация

Перед покупкой компонентов проверьте их спецификации на совместимость по напряжению и току.

🛡️ Правила безопасности

Обязательные правила безопасной работы с БПЛА и аккумуляторами.

Общие правила

  • Всегда проверяйте целостность конструкции перед каждым запуском.
  • Запускайте аппарат только на открытой площадке.
  • Никогда не приближайтесь к вращающимся пропеллерам.
  • Не летайте в дождь, снег или сильный ветер.

Правила работы с Li-Po

⚠️ Li-Po аккумуляторы пожароопасны
  • Заряжайте только специальным Li-Po зарядным устройством.
  • Не оставляйте заряжающиеся аккумуляторы без присмотра.
  • Храните в огнеупорных контейнерах.
  • Не используйте повреждённые аккумуляторы.

Экстренные ситуации

  • При неконтролируемом полёте — отключите питание.
  • При пожаре аккумулятора — используйте песок или сухой огнетушитель.
  • При падении — отойдите на безопасное расстояние.

🔧 Обслуживание и ремонт

Рекомендации по уходу, обслуживанию и ремонту аппарата.

Регулярное обслуживание

  • После каждых 10 полётов: Проверяйте затяжку винтов и состояние пропеллеров.
  • Ежемесячно: Проверяйте калибровку датчиков IMU.
  • При вибрациях: Проверьте балансировку пропеллеров.

Замена пропеллеров

  1. Снимите гайку крепления пропеллера.
  2. Снимите повреждённый пропеллер.
  3. Установите новый пропеллер, соблюдая направление вращения.
  4. Закрепите гайкой. Не перетягивайте!

Запасные части

  • Комплект пропеллеров (4 шт.)
  • Комплект нейлоновых стяжек
  • Запасной двигатель (1 шт.)
  • Запасной ESC (1 шт.)

Хранение

  • Храните аппарат в сухом, прохладном месте.
  • Не храните с установленным аккумулятором.
  • Защищайте от прямых солнечных лучей.