找回密码
 立即注册
楼主: newlined

今天 关于ADC,遇到一个奇怪的问题【已解决】

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:411
  • 最近打卡:2025-07-01 07:43:33

37

主题

199

回帖

1181

积分

金牌会员

积分
1181
发表于 2023-11-7 15:03:24 | 显示全部楼层
神*** 发表于 2023-11-7 14:51
讨论ADC, 你应该贴出你的 原理图的 PDF, 或者清晰的原理图图片,如我发的

好的,我现在正在测试,如果再不行,就贴出原理图,请您和大家帮忙,谢谢。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-07-01 11:02:39

75

主题

6171

回帖

1万

积分

超级版主

积分
12990
发表于 2023-11-7 16:27:31 | 显示全部楼层
梁*** 发表于 2023-11-6 17:22
楼主程序判断2个点ADC值相差3,并且没有任何滤波措施,所以一点干扰或误差,就会导致错误。
并且ADC转换也 ...

应该使用10位或12位ADC,这样两个判断点的ADC能拉开比较大的距离。
使用适当、合理的数字滤波,是指软件滤波,比如平均值、一阶低通滤波等等。
楼主可以下载官方例子测试,串口直接观察ADC值。
也可以采样几百值,用EXCEL表分析你的干扰情况。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:411
  • 最近打卡:2025-07-01 07:43:33

37

主题

199

回帖

1181

积分

金牌会员

积分
1181
发表于 2023-11-8 14:08:01 | 显示全部楼层
梁*** 发表于 2023-11-7 16:27
应该使用10位或12位ADC,这样两个判断点的ADC能拉开比较大的距离。
使用适当、合理的数字滤波,是指软件 ...

梁工你好,按照您昨天的提示,我跟踪了下,的确存在干扰,但现在产品成本压缩的厉害,更改电路不可能,
我采取了多次采样的办法,比如说在一次采样中测到电压小于1.48V,马上连续采样20次,如果这20次都小于1.48V,则终止充电。这个程序用了可能10几年了,我也不好做大的改动。按照前边的方法,到现在程序运行稳定,这几天我再测试下,如果不出问题,就算问题解决了,如果再出问题,再请您和大家帮忙,谢谢。

点评

你这种情况,使用数字一阶低通滤波是比较好的,就是不知道你要求的相应速度。或者使用平均值滤波也可以,使用12位的ADC值,比如1ms采样一次,采样100次平均。  详情 回复 发表于 2023-11-8 16:14
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-07-01 11:02:39

75

主题

6171

回帖

1万

积分

超级版主

积分
12990
发表于 2023-11-8 16:14:31 | 显示全部楼层
newl*** 发表于 2023-11-8 14:08
梁工你好,按照您昨天的提示,我跟踪了下,的确存在干扰,但现在产品成本压缩的厉害,更改电路不可能,
...

你这种情况,使用数字一阶低通滤波是比较好的,就是不知道你要求的相应速度。或者使用平均值滤波也可以,使用12位的ADC值,比如1ms采样一次,采样100次平均。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:411
  • 最近打卡:2025-07-01 07:43:33

37

主题

199

回帖

1181

积分

金牌会员

积分
1181
发表于 2023-11-9 14:42:16 | 显示全部楼层
本帖最后由 newlined 于 2023-11-9 15:02 编辑
梁*** 发表于 2023-11-8 16:14
你这种情况,使用数字一阶低通滤波是比较好的,就是不知道你要求的相应速度。或者使用平均值滤波也可以, ...

梁工您好,您说的“数字一阶低通滤波”,我看了下,编程还比较复杂,这个产品对相应速度没有要求,几秒或者几分钟都可以。按照您昨天的提示,我采用多次采样的办法从今天上午开始,用了三块测试的板子,都没有问题了。我想问题应该解决了,非常感谢。

点评

“数字一阶低通滤波,就是计算 Y(n) = Y(n-1) * (1-a) + adc*a,这是一阶RC的数字滤波形式,选择合适的a值,a越小,惯性越大,响应越慢,截止频率越低,输出越稳定。  详情 回复 发表于 2023-11-9 16:53
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-07-01 11:02:39

75

主题

6171

回帖

1万

积分

超级版主

积分
12990
发表于 2023-11-9 16:53:35 | 显示全部楼层
newl*** 发表于 2023-11-9 14:42
梁工您好,您说的“数字一阶低通滤波”,我看了下,编程还比较复杂,这个产品对相应速度没有要求,几秒或 ...

“数字一阶低通滤波,就是计算 Y(n) = Y(n-1) * (1-a) + adc*a,这是一阶RC的数字滤波形式,选择合适的a值,a越小,惯性越大,响应越慢,截止频率越低,输出越稳定。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2024-12-13 14:06:47

0

主题

3

回帖

42

积分

新手上路

积分
42
发表于 2023-11-9 17:10:18 | 显示全部楼层
来学习学习,很好的经验
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-7-2 13:59 , Processed in 0.116979 second(s), 85 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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