STM32HAL库ADC采集电池剩余电量

1、ADC参照电压Vref的理解

由STM32的数据手册上的ADC章节可知,参考电压Vref是已经接到Vadd引脚上面的,因此Vref=Vadd=3.3V,通常情况,AD采集到的电量值是实际电池电压的1/2分压,这样的话以12位AD为例,测得电压值 = 测得值 /4096  *  参考电压  ;实际电压值 = 测得电压值 * 2,这里的二就是采样电路的分压比。

由上面的公式可以看出,测得电压值得最大值为参考电压,常用的单片机都是3.3或5V供电,所以如果要采集的模拟量比较大,比如12V、24V,就需要通过改变采样电路的分压比来实现。

2、ADC通道转换模式的理解

STM32的ADC有单次转换和连续转换2种模式,这两种模式又可以选择是否结合扫描模式。

单通道:

(1)CONT=0,SCAN=0   单次转换模式  (CONT为连续转换使能位,SCAN为扫描模式使能位)

举例:ADC1,通常规则通道的顺序为CH0,CH1,CH2,CH3;那么这种模式就是只转换这4个通道其中的一个通道,转换完成后,就停止转换。等待ADC的下一次启动

(2)CONT=1,SCAN=0   单次连续转换模式

举例:ADC1,通常规则通道的顺序为CH0,CH1,CH2,CH3;那么这种模式就是只转换这4个通道其中的一个通道,连续转换扫描这一个通道。

多通道:

(3)CONT=0,SCAN=1   多通道扫描转换模式

举例:ADC1,通常规则通道的顺序为CH0,CH1,CH2,CH3;那么这种模式就是以上的这4个通道,依次从CH0开始转换,转换完成后又开始转换CH1,直到所有的ADC规则通道序列都扫描转换一次,最后就停止转换。等待ADC的下一次启动

(4)CONT=1,SCAN=1   多通道连续扫描转换模式

举例:ADC1,通常规则通道的顺序为CH0,CH1,CH2,CH3;那么这种模式就是以上的这4个通道,依次从CH0开始转换,转换完成后又开始转换CH1,直到所有的ADC规则通道序列都扫描转换一次后,再从第一个CH0通道循环。连续扫描一组

PS:一般多通道采集都会结合DMA来传输数据,不会使用中断来传输数据,以此,来节约CPU资源的占用。

 

 

 

你可能感兴趣的:(ADC)