Контроль и калибровка батареи

Контроль батареи

Контроль батареи позволяет измерять напряжение батареи и предсказывать с точностью до десяти минут оставшееся время непрерывной работы и время отключения трекера.

Эти данные можно увидеть в:

Razor_AHRS_5DOF_Calibrator, в режиме [Opentrack],


или в утилите Razor_Battery_Indicator.


Для контроля напряжения используется делитель из двух маломощных резисторов:

  • Rminus, сопротивлением 10kOm, между контактами A3 и GND Ардуино.

  • Rplus, сопротивлением 30kOm, между контактами A3 и VCC Ардуино.

Контроль батареи автоматически включается в скетче при выборе в файле Menu.h:

#define OUTPUT__HAS_RN_BLUETOOTH 1


Настройка файла Battery.h

Все настройки контроля батареи содержатся в файле Battery.h. Рассмотрим их подробнее.

Если вы будете питать трекер от повербанка, то контролировать батарею не имеет смысла. Отключить контроль батареи, можно заменив 1 на 0 в строке:

#define BATTERY_CONTROL 1


Можно подключать резисторный делитель не к A3, а к любому другому свободному входу АЦП:

#define Battary_ADC_pin A3


Сопротивления резисторов Rplus и Rminus, в килоОмах:

#define Rminus 10.0

#define Rplus 30.0


Напряжение внутреннего источника опорного напряжения Arduino, в Вольтах:

#define Uref 1.1


#define Alpha 0.1

В этой строке задаётся коэффициент сглаживающего экспоненциального фильтра напряжения (0.01 ... 1.0). Чем меньше этот коэффициент, тем больше сглаживание, но большее время установления значения. Фильтр уменьшает дрожание значений напряжения.

Но ещё лучше для этих целей зашунтировать резистор Rminus керамическим конденсатором 100 нФ. Конденсатор срежет наводки на вход АЦП от модуля Bluetooth.

#define Umin 3.60

При напряжении VCC, меньшем Umin, светодиод на пине 13 Arduino будет мигать, предупреждая, что заряд батареи меньше 10% и пора её зарядить.


Повышение точности измерения напряжения батареи

Если измерить напряжение VCC-GND тестером, то оно не совпадёт с показанным в программе. Это связано с разбросом параметров резисторов Rminus и Rplus, а также внутреннего источника опорного напряжения Arduino. На работу контроля напряжения это несовпадение не влияет, но неприятно. Проще всего добиться совпадения, введя поправочный множитель.

Допустим, тестер показывает напряжение 4,10V, а Razor_Battery_Indicator показывает 4,03V. Тогда нужно изменить строку

#define Uref 1.1

на

#define Uref (1.1 * 4.10 / 4.03)

Теперь, если ещё раз прошить скетч в Arduino, напряжение, показанное в программе, тоже будет 4,10V. Делать это следует до Калибровки батареи.


При запуске программ Razor_AHRS_5DOF_Calibrator и Razor_Battery_Indicator напряжение выводится, но нет ни процентов заряда, ни оставшегося времени работы? Чтобы они выводились, нужно выполнить Калибровку батареи.

Калибровка батареи.

Калибровку батареи не следует проводить сразу после сборки трекера. Нужно подождать, когда пройдёт несколько полных циклов разряда - заряда батареи, чтобы она вышла в рабочий режим.

Перед калибровкой необходимо полностью зарядить батарею и не забыть подключить модуль "Neck".

Запустим программу Razor_Battery_Calibrator.

Выберем COM-порт (исходящий порт Bluetooth модуля)

Нажимаем кнопку [ Connect ].

Начался процесс калибровки батареи. Один раз в минуту накопленные за минуту значения напряжения батареи усредняются и записываются в файл BatteryData.log.

График напряжения со временем приобретает такой вид:

В конце калибровки график разряда батареи будет таким:

Этот процесс длительный, занимающий много часов. Лучше оставить компьютер на всю ночь, чтобы к утру процесс калибровки завершился.

Калибровка считается завершённой при потере связи с трекером. При этом мы увидим на экране такое окно:

Нажимаем [OK] и видим результаты калибровки:

Получена монотонно убывающая усреднённая функция разряда, где каждому значению напряжения батареи соответствует оставшееся до отключения время работы трекера. Эти данные записаны в файл Battery.tab.

Калибровка батареи завершена. Закроем Razor_Battery_Calibrator.

Файл Battery.tab является входным для программ Razor_AHRS_5DOF_Calibrator и Razor_Battery_Indicator.

Теперь при запуске этих программ будут показаны:

  • Напряжение батареи в вольтах и процентах.

  • Оставшееся время непрерывной работы до отключения трекера (Time Left).

  • Время отключения трекера (Shutdown).


Перекалибровка батареи.

При длительной эксплуатации ёмкость батареи может измениться, и тогда её нужно перекалибровать. Для этого удалите файл BatteryData.log. Теперь можно повторить процедуру калибровки батареи.


Razor AHRS 5DOF [20190111]: Самодельный инерционный 5DOF трекер