首先明白 串联电阻分压公式:U1=R1/(R1+R2)U
推理公式 串联电路电流处处相等 I1=I2 ----> u1/r1 = u2/r2 ----> u2=(r2 * u1)/r1
串联电路电压U = U1 + U2
带入U2 = U1 + (R2 * U1)/R1
提取公因式U1 = U1(1+R2/R1)
对括号内的式子通分 =U1*(R1+R2)/R1
图解:
ADC采集电池电压的原理就是 用串联分压电路
PA4 ADC采集的电压 = 1/(10+1) * VIN
求出VIN
应用在项目中
ADC采集电源电压 原理图
VOLP处(通道0)测量出电压
校准电压VCC (1.19v)
测量电压VIN
代码
/* 测量电源电压 */
for(i=0;i<numofsam;i++) //numofsam取样次数30次
{
powvol_average[i]=get_adc(vol_channel);//读取电源ADC值 通道0
}
for(i=0;i<numofsam;i++)
{
vcc+=(1.19*4096)/get_adc(vcc_channel);//测试内部 1.19V
}
vcc/=numofsam;
for(i=0;i<numofsam;i++)
{
powvol+=19*vcc*(powvol_average[i]/4096);
}
powvol/=numofsam;