如何使用 esp32 测量 Lipo 或 lifepo4 电池

问题描述 投票:0回答:2

我的电池目前是lifepo4 3.32v。然后我设置

adc1_config_width(ADC_WIDTH_11Bit);

adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_DB_11);
//设置参考电压 因此,如果我应用 3.9v,那么我将在监视器中看到 2047。 测量 adc 值的代码

for (int i = 0; i < 500; i++)
    {
        sum += adc1_get_voltage(ADC1_CHANNEL_0);
        delayMicroseconds(1000);
    }
    // calculate the voltage
    voltage = sum / (float)500;

但是当我将 lifepo4 (3.2v) 应用于 GPIO36 时,我总是看到 2047?问题出在哪里?

arduino esp32 adc
2个回答
1
投票

来自https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/adc.html

11dB 衰减时,最大电压受 VDD_A 限制,而不是 满量程电压。

检查 VDD_A。


0
投票

根据您提供的信息,当您将 LiFePO4 电池应用于 GPIO36 时,ADC 读数似乎没有变化。这可能有几个原因。

© www.soinside.com 2019 - 2024. All rights reserved.