Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino 如何用esp32测量Lipo或lifepo4电池_Arduino_Esp32_Adc - Fatal编程技术网

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

Arduino 如何用esp32测量Lipo或lifepo4电池,arduino,esp32,adc,Arduino,Esp32,Adc,我的电池目前是lifepo4 3.32v。然后我开始 adc1\u配置\u宽度(ADC\u宽度\u 11位) adc1_配置_信道_atten(adc1_信道_0,ADC_atten_DB_11)//设置参考电压 所以,如果我应用3.9v,那么我将在监视器中使用se 2047。 测量adc值的代码 for (int i = 0; i < 500; i++) { sum += adc1_get_voltage(ADC1_CHANNEL_0); dela

我的电池目前是lifepo4 3.32v。然后我开始

adc1\u配置\u宽度(ADC\u宽度\u 11位)

adc1_配置_信道_atten(adc1_信道_0,ADC_atten_DB_11)//设置参考电压
所以,如果我应用3.9v,那么我将在监视器中使用se 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;
for(int i=0;i<500;i++)
{
总和+=adc1_获取_电压(adc1_通道_0);
延迟微秒(1000);
}
//计算电压
电压=总和/(浮点数)500;
但当我将lifepo4(3.2v)应用于GPIO36时,我总是看到2047?问题出在哪里?

来自

在11dB衰减时,最大电压受VDD_A限制,而非 满标度电压


检查VDD_A。

ESP是否直接由电池供电?我使用usb电缆供电,并使用GPIO36测量电池。但后来它将直接由电池供电。例如,lifepo4的最大电压为3.6,因此11db时的最大刻度为3.6?我也在其他论坛上问过,他们建议我总是使用分压器。VDD_A是施加在esp32板上的电压吗?因为我通过usb电缆或Vin通电,它总是3.3v?QuangMinhLêNo VDD_A是芯片引脚之一。但是,如果您的电路板由3.3V电压调节器供电,则该引脚最有可能连接到3.3V电压调节器。因此,测量值不能超过3.3V