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

时间:2019-07-03 14:06:20

标签: arduino esp32 adc

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

adc1_config_width(ADC_WIDTH_11Bit);

adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_DB_11); //设置参考电压 因此,如果我使用3.9v,那么我将在显示器中看到2047。 measyre 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吗?问题出在哪里?

1 个答案:

答案 0 :(得分:1)

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

  

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

检查VDD_A。