找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

使用单片机ACS712芯片测电流AD值一直跳变?

查看数: 5314 | 评论数: 16 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-6-30 19:29

正文摘要:

有一个负载需要监控电流 精度需要精确到0.1MA-0.01MA的程度 使用ACS712试一试,感觉是没问题的 至少在用万用表测的时候没有问题 然后使用STC8 AD采集 发现AD值一直在波动,波动幅度还很大 并了一个104电容效果 ...

回复

ID:883242 发表于 2022-7-4 19:59
一夜暴富 发表于 2022-7-4 19:51
隔离用串口光耦可以详细说一下吗,有点不是很理解,感谢!


ID:887186 发表于 2022-7-4 19:51
Hephaestus 发表于 2022-7-4 19:26
你要精度那么高还不如直接上采样电阻,如果需要隔离,那就单片机处理完毕后用串口光耦把数据传出来。

隔离用串口光耦可以详细说一下吗,有点不是很理解,感谢!
ID:883242 发表于 2022-7-4 19:26
一夜暴富 发表于 2022-7-4 19:01
感谢,那天是我口胡说错了。非常抱歉
让大佬费心查看资料了
其实我想说的是10ma左右的误差都是可以接受 ...

你要精度那么高还不如直接上采样电阻,如果需要隔离,那就单片机处理完毕后用串口光耦把数据传出来。
ID:887186 发表于 2022-7-4 19:01
wulin 发表于 2022-7-1 20:21
STC8系列单片机的ADC最高12位,理论上只能检出最小1mV电压(但实际是做不到的)。ACS712流过0.1mA电流只能 ...

感谢,那天是我口胡说错了。非常抱歉
让大佬费心查看资料了
其实我想说的是10ma左右的误差都是可以接受的
我看了下,大概有50ma左右的误差
还勉强可以靠软件中值中衡一下
ID:887186 发表于 2022-7-4 19:00
17337161031 发表于 2022-7-1 19:26
硬件过程中的那一部分布线可能也会影响

一般AD采集布线有什么原则需要遵循吗,大佬能否细说一下
ID:887186 发表于 2022-7-4 19:00
Y_G_G 发表于 2022-7-1 18:56
我的意思是ACS712不能检测到那么高精度的电流(OUTPUT输出是有问题的!!!!!!!!!)
单片机不能用ACS712检测 ...

sorry!大哥,我说错了,是10ma的精度,不是0.1ma,怪我说错了。
10ma我试了下,精度还勉强可以接受,加了RC滤波后跳变也比较稳定
ID:213173 发表于 2022-7-1 20:21
STC8系列单片机的ADC最高12位,理论上只能检出最小1mV电压(但实际是做不到的)。ACS712流过0.1mA电流只能输出0.0185mV电压,远小于单片机ADC分辨率。根据手册,ACS712零电流输出电压=1/2VCC。楼主“测出来的数是在0.00 0.03 0.12 0.20这四个数之间跳来跳去”说明硬件选择和软件编写都存在问题。

ACS712.pdf (642.19 KB, 下载次数: 10)


ID:329625 发表于 2022-7-1 19:26
硬件过程中的那一部分布线可能也会影响
ID:401564 发表于 2022-7-1 18:56
一夜暴富 发表于 2022-7-1 09:41
您的意思是,OUTPUT输出是没问题的,主要还是因为AD受到外部干扰了所以才跳动吗?

我的意思是ACS712不能检测到那么高精度的电流(OUTPUT输出是有问题的!!!!!!!!!)
单片机不能用ACS712检测到0.1mA的电流
你的单片机ADC出来的值只是ADC误差和干扰而已,跟电流压根就没有关系
你的理解,跟我说的,压根就是相反的!

如果是正负5A量程ACS712,那么,1A的输出电压就是185mV
0.1mA的输出就是185/10000=0.0185mV=18.5uV
你去看一下单片机的分辨率,你觉得还能测量到这么小的电流吗?
我不知道你"感觉没有问题"的依据是什么
ID:887186 发表于 2022-7-1 09:41
Y_G_G 发表于 2022-6-30 23:37
因为我不会英文,所以,以为这个是内置取样电阻的采样芯片
但这原理是一样的
你看数据手册就可以计算出0.1m ...

您的意思是,OUTPUT输出是没问题的,主要还是因为AD受到外部干扰了所以才跳动吗?
ID:887186 发表于 2022-7-1 09:39
Hephaestus 发表于 2022-6-30 21:13
去掉ACS712
两个电阻分压得到你想要的电压,并联104电容到这个电压上
把这个电压连接到单片机

你好,我试过了。如果用稳压源直接输入2.5V,他只会变化0.01V这样子。
但是用芯片的OUTPUT,就会波动的厉害
ID:401564 发表于 2022-6-30 23:37
因为我不会英文,所以,以为这个是内置取样电阻的采样芯片
但这原理是一样的
你看数据手册就可以计算出0.1mA能输出的电压有多少了
可以认为,acs712基本没有电压输出,单片机的ADC结果不过是ADC误差和基点一定干扰的结果而已,跟电流一点关系都没有
这个是acs712量程对应的输出电压
你参考一下


ID:401564 发表于 2022-6-30 23:30
Hephaestus 发表于 2022-6-30 23:24
说话要严禁,霍尔传感器哪来的取样电阻,只要是导线就有电阻,1.2 mΩ只是导线电阻而已。

好的,你是对的
ID:883242 发表于 2022-6-30 23:24
Y_G_G 发表于 2022-6-30 23:17
这个IC内部的取样电阻是1.2 mΩ
你用来测量0.01mA的电流,你计算过这个电流在在1.2 mΩ 上能有多少压降吗? ...

说话要严禁,霍尔传感器哪来的取样电阻,只要是导线就有电阻,1.2 mΩ只是导线电阻而已。
ID:401564 发表于 2022-6-30 23:17
这个IC内部的取样电阻是1.2 mΩ
你用来测量0.01mA的电流,你计算过这个电流在在1.2 mΩ 上能有多少压降吗?
5A的时候,这个芯片的输出电压是185mV,那0.1mA的时候,输出会是多少呢?
我感觉你单片机ADC结果跳动的数据只是外部的一点干扰而已,跟电流一点关系都没有
你可以试一下测量一个300mA或者1A的电流,验证一下程序
ID:883242 发表于 2022-6-30 21:13
去掉ACS712
两个电阻分压得到你想要的电压,并联104电容到这个电压上
把这个电压连接到单片机
观察是否还有跳变。

单片机本身是个大规模数字电路,是模拟信号的强干扰源,内部集成的ADC有跳变是正常的,能稳定才奇怪了。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表