Betaflight | Мониторинг напряжения аккумулятора
Betaflight поддерживает функцию мониторинга состояния аккумулятора. Напряжение основного аккумулятора может измеряться системой и использоваться для активации предупреждений о низком заряде: звуковой сигнал, мигание встроенного светодиода или эффекты на ленте LED-подсветки.
Предупреждения о разряде батареи позволяют:
- обеспечить достаточно времени для безопасной посадки аппарата;
- сохранить ресурс и безопасность LiPo/LiFe аккумуляторов, которые не следует разряжать ниже рекомендованных производителем значений.
Можно задать минимальное и максимальное напряжение на одну ячейку, и эти значения используются для автоматического определения количества ячеек в батарее при первом подключении.
Важно: мониторинг по каждой отдельной ячейке не поддерживается, так как для измерения напряжения батареи используется только один аналогово-цифровой преобразователь (АЦП).
Поддерживаемые платформы
Почти все полетные контроллеры поддерживают мониторинг напряжения батареи, за исключением тех, где это явно не указано.
Подключение
Измерьте напряжение аккумулятора и только после этого подключайте к пилотному контроллеру (FC). Подача питания на FC с неправильным напряжением или обратной полярностью может привести к выходу платы из строя. Убедитесь, что пилотный контроллер имеет делитель напряжения, способный измерять напряжение конкретной батареи.
Пример 1. Полетный контроллер "Naze32"
Пилотный контроллер Naze32 имеет встроенный делитель напряжения для батареи. Просто подключите основной аккумулятор к разъёму VBAT.
Тщательно проверьте полярность перед подключением батареи. Неправильное подключение может полностью уничтожить полетный контроллер и подключённые к нему устройства (ESC, GPS, приёмник и т.д.).
Пример 2. Полетный контроллер "CC3D"
Пилотный контроллер CC3D не имеет встроенного делителя напряжения. Чтобы использовать мониторинг батареи, необходимо собрать внешний делитель, выходное напряжение которого не превышает 3,3 В при полностью заряженной батарее. Подключите выход делителя к контакту S5_IN/PA0/RC5.

Настройка функции мониторинга состояния аккумулятора
Для корректной работы мониторинга аккумулятора (VBAT) в Betaflight (или подобной прошивке), выполните следующие шаги:
-
Активируйте функцию мониторинга батареи
Убедитесь, что функция VBAT включена в настройках. Обычно эта опция находится в разделе Power and Battery, пункт Battery Voltage Monitoring. -
Откройте CLI (командную строку контроллера)
В конфигураторе Betaflight зайдите во вкладку CLI. -
Внесите параметры
Используйте следующие команды для установки основных параметров мониторинга аккумулятора:
set vbat_scale = 110 set vbat_max_cell_voltage = 430 set vbat_min_cell_voltage = 330 set vbat_warning_cell_voltage = 340 set vbat_hysteresis = 10 set vbat_duration_for_warning = 60 set vbat_duration_for_critical = 20 save
Описание параметров:
Параметр | Назначение | Пример |
---|---|---|
vbat_scale | Коррекция показаний напряжения, чтобы они соответствовали действительным значениям батареи. | 110 |
vbat_max_cell_voltage | Максимальное напряжение на ячейку (0,01В), используется для автоопределения числа ячеек. | 430 = 4,30В |
vbat_min_cell_voltage | Минимальное напряжение на ячейку (0,01В), при котором выводится КРИТИЧЕСКОЕ предупреждение. | 330 = 3,30В |
vbat_warning_cell_voltage | Пороговое напряжение для предупреждения о разряде (0,01В). | 340 = 3,40В |
vbat_hysteresis | Гистерезис (0,01В) для предупреждений – предотвращает частое срабатывание. | 10 = 0,10В |
vbat_duration_for_warning | Сколько времени (в десятых долях секунды) напряжение должно быть ниже warning, чтобы активировать его | 60 = 6,0 сек |
vbat_duration_for_critical | Время (в десятых долях секунды) для крит. предупреждения | 20 = 2,0 сек |
Важные моменты:
- vbat_scale: Требует калибровки, чтобы напряжение, отображаемое в ОСД и Betaflight, совпадало с реальным (измеренным мультиметром). Не забудьте проверить корректность после установки!
- vbat_max/min/warning_cell_voltage: Для LiPo 4,2В — полностью заряженная ячейка, 3,3–3,4В — пороги для предупреждения о низком заряде.
- Гистерезис и время срабатывания: Позволяют сделать предупреждения максимально информативными и избежать ложных срабатываний при кратковременных провалах напряжения.
После внесения всех изменений обязательно введите команду save для сохранения параметров и перезагрузки контроллера.
Совет:
Рекомендую вручную измерять напряжение аккумулятора мультиметром и при необходимости корректировать параметр vbat_scale для точного отображения.
Используйте эти параметры как базовые и, если нужно, адаптируйте их под свои требования к батареям и стилю полётов.
Мониторинг тока
Мониторинг тока (ампеража) поддерживается при подключении датчика тока к соответствующему аналоговому входу АЦП (см. документацию к вашей плате).
При включении функции рассчитываются и используются следующие значения в системах телеметрии и отображения на OLED-экране:
- Ток (А)
- Потрачено мА·ч
- Остаток ёмкости
Настройка
- Включите мониторинг тока командой CLI:
feature CURRENT_METER
- Выберите тип датчика тока с помощью параметра amperage_meter_type:
Значение | Тип датчика |
---|---|
NONE | Нет |
ADC | Аппаратный датчик (АЦП) |
VIRTUAL | Виртуальный датчик |
- Установите ёмкость батареи с помощью параметра bat_capacity (в мА·ч).
- Если вы используете OSD, которому требуется выходной сигнал тока в формате MultiWii, установите параметр multiwii_amperage_meter_output в положение ON (это умножит значение тока, передаваемое через MSP, на 10 и обрежет отрицательные значения).
Аппаратный датчик (ADC)
Датчик тока необходимо откалибровать так, чтобы значение, считываемое с аналогового входа АЦП (ADC), соответствовало реальному потреблению тока. Как и для калибровки напряжения, которое обычно достаточно точное «из коробки», измерение тока сильно варьируется от платы к плате и требует обязательной калибровки.
Для измерения тока используется линейный датчик, преобразующий протекающий ток в напряжение, которое считывается АЦП платы. Максимальное напряжение, которое может считать плата — 3,3 В (3300 мВ), что обычно определяет максимальный измеряемый ток. Большинство датчиков используют шунтирующий резистор, но встречаются и датчики на эффекте Холла.
Плата использует следующую формулу для преобразования измеренного напряжения АЦП в значение тока:
Ток (А) = АЦП (мВ) / amperage_meter_scale × 10 + amperage_meter_offset / 1000
где параметры калибровки:
- amperage_meter_scale — масштабный коэффициент в мВ/10А
- amperage_meter_offset — смещение (офсет) в мА
Формула соответствует линейному уравнению y = x/m + b. Проведя несколько измерений, можно точно откалибровать любую комбинацию датчика тока и платы управления.
Калибровка с помощью амперметра
- Безопасность
Перед началом испытаний обязательно снимите пропеллеры с моторов! - Использование калькулятора
Возьмите копию специального Google-документа (таблицы) для расчётов. Этот калькулятор автоматически обработает ваши данные и рассчитает новые параметры калибровки. - Подключение амперметра
Включите амперметр последовательно между квадрокоптером и полностью заряженной батареей. Обычно для этого делают удлинитель XT60 с одним разрезанным (расключённым) проводом. Это позволит амперметру показывать точное значение потребляемого тока. - Проверка начальных параметров
Откройте конфигуратор, подключитесь к FC, проверьте или внесите текущие калибровочные значения в таблицу. - Подача тока через моторы
Во вкладке конфигуратора «Motors» установите режим оборотов так, чтобы потребляемый ток был около 1A (точное значение не принципиально). - Запись данных
На вкладке «Power and Battery» скопируйте показания амперметра («Измеренный ток») и показания Flight Controller («Ток в полётном контроллере») из конфигуратора в соответствующие столбцы Google-таблицы (обе величины — в амперах, с двумя знаками после запятой). - Многократные измерения
Повторите шаги 5–6 три и более раз с разными уровнями потребления (рекомендуется диапазон 0–5A), не превышая допустимый предел амперметра. - Проверка графика и регрессии
После ввода всех данных убедитесь, что точечный график лежит на прямой, а коэффициент регрессии окрашен в зелёный цвет. Если всё верно, новые параметры калибровки можно переносить в контроллер. - Обновление параметров
Измените значения калибровки («amperage_meter_scale» и «amperage_meter_offset») на рассчитанные. - Особенности разных типов датчиков
Метод одинаково подходит как для датчиков на эффекте Холла, так и для шунтов. Для шунтов смещение (offset) обычно не превышает ±1,000мА, у датчиков Холла часто больше. - Ограничения метода
Даже при точной калибровке возможна ситуация, когда при максимальной нагрузке измеряемый ток превысит лимит. В этом случае показания тока достигнут предела и вычисленная ёмкость (мА·ч) может быть занижена. Контролируйте и напряжение батареи. - Альтернативный способ без Google-таблицы
Если вы не пользуетесь Google-таблицей, воспользуйтесь любым инструментом линейной регрессии. Корректировка:- Умножьте исходное значение «amperage_meter_scale» на найденный угловой коэффициент (slope),
- Из значения «amperage_meter_offset» вычтите перехват (intercept, в мА), чтобы получить обновлённые параметры.
Виртуальный датчик
Виртуальный датчик оценивает ток на основе положения газа. Это полезно, когда физический датчик отсутствует. Параметры калибровки:
Параметр | Описание |
---|---|
amperage_meter_scale | Масштабный коэффициент по газу (1/100 А) |
amperage_meter_offset | Ток на нулевом газе (при отключенных моторах) (в сантиамперах) |
Настройка по реальным измерениям тока
Если вы знаете потребление тока на холостом ходу (Imin) и на максимальном газе (Imax), рассчитайте параметры по формулам:
amperage_meter_scale = (Imax - Imin) * 100000 / (Tmax + (Tmax * Tmax / 50)) amperage_meter_offset = Imin * 100
Пример: максимальный ток — 34,2 А, минимальный — 2,8 А, max_throttle = 1850:
amperage_meter_scale = (Imax - Imin) * 100000 / (Tmax + (Tmax * Tmax / 50)) = (34.2 - 2.8) * 100000 / (850 + (850 * 850 / 50)) = 205 amperage_meter_offset = Imin * 100 = 2.8 * 100 = 280
Измерение Imax требует аккумулятор и ESC, способные выдержать максимальный ток, что чревато большими погрешностями. В качестве альтернативы можно измерить ток на меньшем газе и учесть это в расчётах.
Пример при 30% газа: измеренный ток Ibench = 6 А, газ 30% (1255 в моторах, так как (0,3 * (1850 - 1000)) + 1000 = 1255)
Tbench = Tmax * bench_throttle = Tmax * 0.3 = 850 * 0.3 = 255 amperage_meter_scale = (Ibench - Imin) * 100000 / (Tbench + (Tbench * Tbench / 50)) = (6 - 2.8) * 100000 / (255 + (255 * 255 / 50)) = 205 amperage_meter_offset = Imin * 100 = 2.8 * 100 = 280
Настройка по данным зарядного устройства
Если вы не можете измерить ток напрямую, можно приблизительно определить его по данным зарядного устройства.
Общий метод:
- Полностью зарядите аккумулятор.
- Совершите полёт, используя более 50% ёмкости батареи (оценочно).
- Запишите значение израсходованных мА·ч, показанное в Betaflight.
- Снова полностью зарядите аккумулятор и запишите количество восстановленных мА·ч (данные с зарядного устройства).
- Откорректируйте amperage_meter_scale по формуле ниже.
- Повторите при необходимости.
Формула пересчёта:
amperage_meter_scale = old_amperage_meter_scale * (reported_mAh_drawn / mAh_recharged)
Пример:
- Восстановлено: 1500 мА·ч
- Показано: 2000 мА·ч
- Исходное значение amperage_meter_scale: 400 (по умолчанию)
amperage_meter_scale = old_amperage_meter_scale * (reported_mAh_drawn / mAh_recharged) = 400 * (2000 / 1500) = 533
