Настройка Betaflight для грузового квадрокоптера 13″ (8S, 500-550KV)
⚠️ Важное примечание: Если вы действительно планируете использовать Betaflight для крупного грузового дрона, учтите, что эта прошивка оптимизирована для лёгких гоночных/фристайл-квадрокоптеров. Для грузовых задач с приоритетом на надёжность и долговечность ArduPilot или INAV могут быть более подходящими решениями. Тем не менее, ниже приведена подробная инструкция по настройке Betaflight под ваши требования.
Исходные данные конфигурации
| Параметр | Значение |
|---|---|
| Рама | Квадрокоптер (по умолчанию) |
| Пропеллеры | 13 дюймов |
| Моторы | 500–550 KV |
| Напряжение | 8S (29.6–33.6 В) |
| ESC | BLHeli_32 или Bluejay (с поддержкой Bi-Dir DShot) |
| FC | F405/F722/H7 с гироскопом BMI270/MPU6000 |
| Нагрузка | Грузовая, приоритет: долговечность, стабильность |
1. Базовая конфигурация Betaflight
Вкладка Configuration
# PID Loop
set gyro_sync_denom = 1 # 8kHz gyro
set pid_process_denom = 2 # 4kHz PID loop (оптимально для крупных рам)
# ESC Protocol
set motor_pwm_protocol = DSHOT300 # DSHOT300 надёжнее на 4kHz для 8S
# Motor Poles (магниты на колоколе мотора)
set motor_poles = 14 # Проверьте по спецификации мотора!
# Bidirectional DShot (ОБЯЗАТЕЛЬНО для RPM-фильтра)
set dshot_bidir = ON
# Scheduler optimization (для стабильного луп-тайма)
set scheduler_optimize_rate = ON
Настройка DSHOT и RPM-фильтрации критична для стабильной работы.
Вкладка Motors → Проверка
- Подключите аккумулятор после USB.
- Убедитесь, что в столбце
E:(ошибки) отображается 0% для всех моторов. - При вращении моторов вручную должны отображаться значения RPM.
2. PID-параметры (стартовые значения для крупного грузового квада)
⚠️ Начинайте с заниженных значений и повышайте постепенно после тестовых полётов. Проверяйте температуру моторов!
Вкладка PID Tuning → Basic
| Ось | P | I | D | FF |
|---|---|---|---|---|
| Roll | 35 | 85 | 22 | 90 |
| Pitch | 38 | 90 | 25 | 95 |
| Yaw | 30 | 100 | 0 | 30 |
Пояснения:
- P (Proportional): Низкие значения (30–40) предотвращают высокочастотные вибрации на крупных пропеллерах.
- I (Integral): Повышенные значения (80–100) обеспечивают удержание курса при ветре и под нагрузкой.
- D (Derivative): Умеренные значения (20–25) гасят перерегулирование без перегрева моторов.
- Yaw D = 0: На оси рыскания D-терм обычно не используется, чтобы избежать осцилляций.
D_min (динамический D-терм)
set d_min_roll = 15
set d_min_pitch = 17
set d_min_yaw = 0
set d_min_boost_gain = 25
set d_min_advance = 30
D_min позволяет использовать низкий D в спокойном полёте (меньше шума) и повышать его при резких манёврах.
I-term Relax (для грузовых задач)
set iterm_relax = RP # Отключить на Yaw
set iterm_relax_type = GYRO # Лучше для плавного полёта
set iterm_relax_cutoff = 7 # Низкое значение для крупных рам
3. Фильтры для 13″ пропеллеров (Betaflight 4.0+)
⚠️ Для пропеллеров 7″+ стандартные настройки фильтров слишком агрессивны. Используйте сниженные частоты.
CLI-сниппет для крупных пропеллеров:
# Dynamic Gyro Lowpass (адаптивный фильтр)
set dyn_lpf_gyro_min_hz = 70
set dyn_lpf_gyro_max_hz = 350
# Dynamic Notch (для резонансов рамы)
set dyn_notch_range = LOW
set dyn_notch_min_hz = 100
set dyn_notch_width_percent = 0
set dyn_notch_q = 200
# Dynamic D-term Lowpass
set dyn_lpf_dterm_min_hz = 70
set dyn_lpf_dterm_max_hz = 150
# Статические фильтры
set dterm_lowpass2_type = PT1
set dterm_lowpass2_hz = 120
set d_yaw = 0
# Gyro RPM Filter (автоматически включается при dshot_bidir=ON)
# Убедитесь, что Harmonics = 3 (по умолчанию)
Почему такие значения?
- Низкие минимальные частоты (70 Гц): Крупные пропеллеры вращаются медленнее (~3000–4500 RPM = 50–75 Гц), фильтры должны отслеживать эти частоты.
- RPM-фильтр: Удаляет шум моторов с хирургической точностью, позволяя снизить задержку других фильтров.
- PT1 вместо Biquad: Меньше задержка, лучше отклик на пропвош.
4. Рейты (Rates) для грузового полёта
Вкладка PID Tuning → Rates
| Параметр | Значение | Комментарий |
|---|---|---|
| Roll/Pitch Rate | 45–55 °/s | Низкие рейты для плавного управления грузом |
| Yaw Rate | 35–45 °/s | Ограниченное рыскание для стабильности |
| Roll/Pitch Expo | 0.30–0.40 | Смягчение реакции около центра стика |
| Yaw Expo | 0.35 | Плавное управление рысканием |
| RC Rate | 1.0 | Базовая чувствительность |
💡 Для кинематографичных съёмок можно дополнительно включить RC Smoothing:
set rc_smoothing = ON
set rc_smoothing_type = FILTER
set rc_smoothing_input_cutoff = 30
set rc_smoothing_derivative_cutoff = 40
5. Дополнительные настройки для долговечности
Throttle & Motor Settings
# Dynamic Idle (предотвращает десинхронизацию на низких оборотах)
set dynamic_idle_min_rpm = 1200 # ~1000-1500 RPM для 13" пропеллеров [[35]](https://www.dronetrest.com/t/activating-betaflight-dynamic-idle-a-step-by-step-guide/10791)
# Anti-Gravity (компенсация наклона при резком газе)
set anti_gravity_gain = 80
set anti_gravity_cutoff_hz = 10
# TPA (Throttle PID Attenuation) — только D-терм
set tpa_mode = D
set tpa_rate = 60
set tpa_breakpoint = 1300
# Ограничение газа (защита моторов и груза)
set throttle_limit_type = SCALE
set throttle_limit_percent = 85
Protection Features
# Защита от десинхронизации
set dshot_idle_value = 200 # Минимальный сигнал для моторов
set motor_pwm_rate = 400 # Частота ШИМ (ниже = меньше нагрева)
# Fail-safe
set failsafe_throttle = 1000 # Отключение моторов при потере связи
set failsafe_switch_mode = STAGE2
6. Пошаговая процедура настройки
- Подготовка:
- Установите последнюю стабильную версию Betaflight (4.4+).
- Обновите ESC до BLHeli_32 32.8+ или Bluejay.
- Проверьте балансировку пропеллеров и жёсткость рамы.
- Первый запуск:
- Залейте базовые настройки из разделов выше.
- Отключите все дополнительные функции (Blackbox, OSD-телеметрию) для снижения нагрузки на CPU.
- Проверьте в CLI:
tasks— загрузка CPU < 75%.
- Тестовый полёт (без груза):
- Взлёт в режиме Angle (если настроен) или аккуратный в Acro.
- Проверьте: отсутствие вибраций, стабильность висения, отклик на стики.
- После посадки: проверьте температуру моторов (должны быть тёплыми, не горячими).
- Корректировка:
- Если есть медленные осцилляции → немного ↑ P.
- Если перерегулирование после манёвров → ↑ D или D_min.
- Если дрон «плывёт» под нагрузкой → ↑ I.
- Если моторы греются → ↓ фильтры или ↑ TPA.
- Финальные тесты с грузом:
- Постепенно увеличивайте нагрузку.
- Проверяйте поведение при резком наборе высоты и торможении.
7. Диагностика через Blackbox
Для точной настройки рекомендуется вести логи:
set debug_mode = GYRO_SCALED
set blackbox_device = SPIFLASH
set blackbox_rate = 1/2
Анализ в PID Toolbox:
- Вкладка Spectrogram: убедитесь, что пики шума моторов подавлены RPM-фильтром.
- Вкладка PIDs: PID-error должен быть минимальным при плавном полёте.
- Вкладка Motors: отсутствие резких скачков и перегрева.
Практическое руководство по PID-тюнингу поможет в анализе.
🔗 Полезные ссылки
- Официальный гайд по PID-тюнингу Betaflight
- Настройка RPM-фильтра
- Фильтрация для крупных пропеллеров (BF 4.0+)
- Гайд по тюнингу от Oscar Liang
- Динамический Idle: пошаговая настройка
- Сравнение ArduPilot vs Betaflight для грузовых БПЛА
