STM32 ACS712电流采集计算方法解析

Acs712数据手册地址 :https://item.szlcsc.com/45473.html

需要测量的参数

0 实际电流值 : ACS712_A

1  acs712供电电压 : Vin   

2  ACS 输出电压 : 712_OUT_V

3  ACS 输出电压, 经过分压电阻后送到ADC引脚的电压 : R_OUT_V

4 单片机12位ADC读出的原始值 :adc_data

5 分压低端电阻: R1  (10k ) 高端电阻 :R2   (5.1k)

6 acs712 中点电压 = 供电vin*0.5      例 :5*0.5=2.5v

7 分压比  712_OUT_V/R_OUT_V = (R1+R2)/R1   

思路: 1 进调试查看获得adc_data

1  adc_data/4095*3.3= 采集的ADC引脚电压    用万用表测量应该等于 R_OUT_V 电压如不相等需进行比例修正. (ADC采集的准确度有偏差或基准电压3.3v有问题),一般调整公式的3.3v 基准电压值使计算的数和测量的数相等.

2  (采集的ADC端口电压/R1)*(R1+R2)=ACS 输出电压   用万用表测量应该等于 712_OUT_V电压如不相等需进行比例修正.(电阻精度不够,带来的分压偏差),一般调整公式的分压电阻值(实际测量一下电阻值)使计算的数和测量的数相等.

3  05B 灵敏度 185mv/A  :

(ACS 输出电压 -acs712 中点电压)/0.185= 实际电流值

   20A 灵敏度 100mv/A  :

 (ACS 输出电压 -acs712 中点电压)/0.1  = 实际电流值

20A :融合后公式 ACS712_A =(((adc_data/4095*3.3)/R1)*(R1+R2)-acs712 中点电压)/0.1

05B :融合后公式 ACS712_A =(((adc_data/4095*3.3)/R1)*(R1+R2)-acs712 中点电压)/0.185

续:如果想继续提高精度,还可以根据温度系数来修正检测灵敏度

物联沃分享整理
物联沃-IOTWORD物联网 » STM32 ACS712电流采集计算方法解析

发表评论