修正了分压系数:根据满电电压4.2V和ADC读数更新电池电量

This commit is contained in:
Rdzleo 2026-01-29 10:06:38 +08:00
parent a54773f71a
commit ea5050309e
2 changed files with 11 additions and 10 deletions

View File

@ -1228,16 +1228,17 @@ public:
} }
average_voltage_mv /= adc_values_.size(); average_voltage_mv /= adc_values_.size();
float battery_voltage = average_voltage_mv / 1000.0f * 2.0f; // 修正分压系数根据满电电池电压4.2V和ADC读数967mV计算得出
float battery_voltage = average_voltage_mv / 1000.0f * 4.34f;
// 使用固定电压阈值 // 使用锂电池典型电压阈值
const float kVoltage100Percent = 4.0f; // 满电电压 const float kVoltage100Percent = 4.2f; // 锂电池满电电压
const float kVoltage75Percent = 3.6f; // 75%电量电压 const float kVoltage75Percent = 3.9f; // 75%电量电压
const float kVoltage50Percent = 3.3f; // 50%电量电压(功放驱动电压) const float kVoltage50Percent = 3.7f; // 50%电量电压
const float kVoltage25Percent = 3.0f; // 25%电量电压 const float kVoltage25Percent = 3.5f; // 25%电量电压
const float kVoltage0Percent = 0.0f; // 0%电量电压 const float kVoltage0Percent = 3.2f; // 0%电量电压(保护电压)
// 基于固定电压计算电量百分比 // 基于锂电池典型电压计算电量百分比
int battery_percentage; int battery_percentage;
if (battery_voltage >= kVoltage100Percent) { if (battery_voltage >= kVoltage100Percent) {
battery_percentage = 100; battery_percentage = 100;
@ -1255,8 +1256,8 @@ public:
battery_level_ = battery_percentage; battery_level_ = battery_percentage;
ESP_LOGI(TAG, "ADC: %d, 电压: %.2fV, 电量: %d%%, 满电电压: %.2fV", ESP_LOGI(TAG, "ADC: %d, 原始电压: %.2fV, 计算电池电压: %.2fV, 电量: %d%%, 满电电压: %.2fV",
average_voltage_mv, battery_voltage, battery_percentage, kVoltage100Percent); average_voltage_mv, average_voltage_mv / 1000.0f, battery_voltage, battery_percentage, kVoltage100Percent);
// 打印Wi-Fi的Mac地址 // 打印Wi-Fi的Mac地址
ESP_LOGI("WiFiMAC", "Wi-Fi MAC Address: %s", SystemInfo::GetMacAddress().c_str());// 生产测试打印 ESP_LOGI("WiFiMAC", "Wi-Fi MAC Address: %s", SystemInfo::GetMacAddress().c_str());// 生产测试打印