STM32调试笔记:ADC读ACS724霍尔电流传感器

一、ACS724 datasheet相关内容

        ACS724不同的型号有着不同的量程和精度,我调试使用的是ACS724LLCTR-50AB-T,量程范围是-50~50A,测量精度是40mV/A(ADC采集电压每变化40mV电压,电流对应变化1A)

ACS724LLCTR-50AB-T参考以下信息:

        需要注意的是,电流为零时传感器的输出,对于双向器件,它理论上保持在0.5 × VCC,对于单向器件,它保持在0.1 × VCC。

二、原理图设计

        我采用5V供电,根据选型相关内容可以得知,当电流为0时,Vout理论值时Vcc*0.5 = 2.5V。并且在ADC处做了一个分压,VIOUT1 = 1/3 * VIOUT,以免电压过高烧坏主控芯片。

三、程序调试

void adc_test(void)
{
			uint16_t i; 
			float ADC_ConvertedValueLocal[NOFCHANEL],temp,data,cur;
			for(i = 0;i < 500;i++)
			{
				ADC_ConvertedValueLocal[0] =(float) ADC_ConvertedValue[0]/4096*3.3*3;
				temp = ADC_ConvertedValueLocal[0] + temp;
				delay_ms(10);
			}
			printf("\r\n temp value = %f V \r\n",temp);
			

            data = (float)temp /500;
			printf("\r\n data value = %f V \r\n",data);

			cur = (data - 2.5 - 0.065) / 0.04;
			printf("\r\n cur value = %f A \r\n",cur);
			temp = 0;

			delay_ms(1000);
			printf("\r\n\r\n");

}

        我测试的实验条件是负载24V、0~3A。芯片在测试电流前需要校准,我的供电5V不是精确的5V,实际测得的电压为5.1V左右,因此校准需要减去一个0.065~0.07的值才能比较准确。校准根据实际情况做数据处理即可,实际测得的电流精确度与规格书的误差是差不多的。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值