Советы
1. Следите за напряжением батареи
Производительность моторов напрямую зависит от заряда аккумулятора. Если напряжение падает, робот может вести себя иначе (например, не доезжать или поворачивать медленнее).
Хотя Pybricks использует PID-регуляторы для компенсации просадок напряжения, полезно знать текущий уровень заряда перед запуском программы.
Код для проверки заряда
Этот код вычисляет примерный процент заряда, основываясь на диапазоне напряжения от 6.0В (разряжен) до 8.4В (полностью заряжен). Номинальное значение 7.4 В, что равно 60%.
# Получаем напряжение в милливольтах и переводим в вольты
voltage = hub.battery.voltage() / 1000
# Вычисляем процент (приблизительная формула)
# 6.0V - 0%, 8.4V - 100%
percentage = round(((voltage - 6) / (8.4 - 6)) * 100, 1)
print("Battery =", voltage, "V / 8.4 V |", percentage, "%\n")
Зависимость напряжения от емкости
На графике ниже показано, как напряжение литий-ионного аккумулятора падает по мере разряда (синяя линия - реальное значение, красная линия - как показывает код). Обратите внимание, что падение не линейно.

Важно
Приведенная формула является упрощенной. Реальная кривая разряда Li-Ion аккумуляторов нелинейна, но для быстрой оценки состояния батареи на соревнованиях этого достаточно.