📌 Введение
Данная документация представляет собой полное техническое руководство по сборке, настройке и эксплуатации образовательного конструктора БПЛА 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 Nano | 1 | 500 ₽ | 500 ₽ |
| Raspberry Pi 3 | 1 | 3 500 ₽ | 3 500 ₽ |
| IMU MPU-6050 | 1 | 300 ₽ | 300 ₽ |
| ESC 20A | 4 | 900 ₽ | 3 600 ₽ |
| Мотор 2212 1000kV | 4 | 1 800 ₽ | 7 200 ₽ |
| Аккумулятор 3S 2200mAh | 1 | 3 200 ₽ | 3 200 ₽ |
| Пропеллеры 10×4.5 (комплект) | 1 | 800 ₽ | 800 ₽ |
| Рама (3D-печать) | 1 | 300 ₽ | 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-печатных деталей. Следуйте инструкции:
- Центральная плата: Установите центральную плату на ровную поверхность.
- Плечи рамы: Прикрепите четыре плеча к центральной плате с помощью винтов M3.
- Крепление двигателей: Установите двигатели на концах плечей.
- Крепление ESC: Закрепите регуляторы скорости на плечах с помощью нейлоновых стяжек.
Этап 3: Монтаж электроники
- Установите Arduino Nano на центральную плату с помощью нейлоновых стоек.
- Закрепите Raspberry Pi на центральной плате рядом с Arduino.
- Установите IMU MPU-6050 в центре платы, строго параллельно плоскости.
- Установите приёмник (опционально).
Этап 4: Электрические соединения
- Подключите аккумулятор к распределителю питания. Проверьте полярность!
- Подключите сигнальные провода ESC к выходам Arduino (D3, D5, D6, D9).
- Подключите MPU-6050 к Arduino по шине I2C.
- Соедините Arduino и Raspberry Pi по UART.
Этап 5: Установка пропеллеров
- Установите пропеллеры на валы двигателей.
- Важно: Убедитесь, что направление вращения соответствует схеме.
- Закрепите пропеллеры гайками.
⚠️ Критическое предупреждение
- Перед установкой пропеллеров обязательно откалибруйте ESC.
- Никогда не включайте питание без установленных пропеллеров.
✅ Чек-лист сборки
Интерактивный список для контроля выполнения всех этапов сборки.
Все компоненты распакованы и проверены
Двигатели установлены и закреплены
Все электрические соединения выполнены
Пропеллеры установлены правильно
Визуальный осмотр завершён
📊 Прогресс сборки
Выполнено: 0 из 10
💾 Прошивка и программное обеспечение
Инструкция по загрузке прошивки в Arduino и настройке Raspberry Pi.
Установка ПО на компьютер
- Arduino IDE: Скачайте и установите Arduino IDE с официального сайта (версия 1.8.19 или новее).
- Библиотеки Arduino: Установите необходимые библиотеки через менеджер библиотек:
Wire — для работы с I2C
MPU6050 — для работы с датчиком
Servo — для управления сервоприводами
- Python: Установите Python 3.9 или новее на Raspberry Pi.
- Библиотеки Python: Установите необходимые пакеты:
pip install pyserial numpy matplotlib
Загрузка прошивки в Arduino
#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
- Подключитесь к Raspberry Pi через SSH.
- Склонируйте репозиторий:
git clone https://github.com/LightRain-K/ThunderLight.git
- Запустите Python-скрипт:
cd ThunderLight/firmware/python
python3 telemetry.py
🧪 Калибровка
Настройка датчиков и регуляторов скорости.
Калибровка IMU (MPU-6050)
Датчик MPU-6050 требует калибровки для компенсации смещений.
- Установите аппарат на абсолютно ровную горизонтальную поверхность.
- Загрузите в Arduino калибровочный скетч.
- Откройте монитор порта на скорости 115200 бод.
- Запишите значения смещения.
- Внесите значения в основной скетч.
Калибровка ESC
⚠️ Важно
Перед калибровкой ESC обязательно снимите пропеллеры!
- Отключите аккумулятор.
- Загрузите калибровочный скетч ESC.
- Установите максимальный сигнал (2000 мкс).
- Подключите аккумулятор — ESC издадут звуковой сигнал.
- Установите минимальный сигнал (1000 мкс).
- Калибровка завершена.
🎯 Настройка ПИД-регулятора
Руководство по настройке коэффициентов ПИД-регулятора.
Что такое ПИД-регулятор
- Пропорциональная (P) — реагирует на текущую ошибку.
- Интегральная (I) — накапливает ошибку во времени.
- Дифференциальная (D) — реагирует на скорость изменения ошибки.
Рекомендуемый порядок настройки
- Начните с Kp: Установите Ki = 0, Kd = 0. Увеличивайте Kp до появления колебаний, затем уменьшите на 20-30%.
- Добавьте Kd: Увеличивайте Kd, пока колебания не будут погашены.
- Добавьте Ki: Увеличивайте Ki для устранения статической ошибки.
- Проверьте в динамике: Подайте возмущение и наблюдайте за возвратом.
Стартовые значения
Kp1.2
Ki0.3
Kd0.4
Частота ПИД100 Гц
✈️ Первый полёт
Подготовка и проведение первого испытательного полёта.
Предполётная проверка
- Визуальный осмотр: Проверьте все винтовые соединения.
- Балансировка: Центр тяжести должен быть в центре аппарата.
- Направление вращения: Все двигатели должны вращаться правильно.
- ПИД-коэффициенты: Параметры ПИД загружены в контроллер.
- Аккумулятор: Уровень заряда ≥ 11.4 В для 3S.
Процедура запуска
- Установите аппарат на ровную поверхность.
- Включите питание (подключите аккумулятор).
- Дождитесь инициализации датчиков.
- Медленно увеличивайте газ до отрыва.
- Зафиксируйте аппарат на высоте 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.
- При вибрациях: Проверьте балансировку пропеллеров.
Замена пропеллеров
- Снимите гайку крепления пропеллера.
- Снимите повреждённый пропеллер.
- Установите новый пропеллер, соблюдая направление вращения.
- Закрепите гайкой. Не перетягивайте!
Запасные части
- Комплект пропеллеров (4 шт.)
- Комплект нейлоновых стяжек
- Запасной двигатель (1 шт.)
- Запасной ESC (1 шт.)
Хранение
- Храните аппарат в сухом, прохладном месте.
- Не храните с установленным аккумулятором.
- Защищайте от прямых солнечных лучей.