找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2057|回复: 14
打印 上一主题 下一主题
收起左侧

关于STC15F2A60S2单片机的ADC滤波方式哪种好?

[复制链接]
跳转到指定楼层
#
VCC 为电脑 USB 口,431 反推的电压在5.00--5.07 之间变化




图片为采集7次,扔掉前两次,去大去小取的平均值,
先试过采集10次,扔掉前两次,取8次的平均值,变化少些,5.01--5.06
哪种用的多些?谢谢


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

14#
ID:955673 发表于 2021-11-17 20:44 | 只看该作者
188610329 发表于 2021-11-17 20:07
亲身体验,5V电压,STC15W204S, 擦写7K8 次多点,寿终正寝,所以,玩5000次左右就差不多,可以考虑正儿八 ...

感谢你的宝贵实测数据,贴个标签记录在锁紧座上
回复

使用道具 举报

13#
ID:624769 发表于 2021-11-17 20:07 | 只看该作者
冰火风轮 发表于 2021-11-17 19:31
确实是闲的,小玩一下,STC 号称擦写 10万次以上,怎么也得用掉几千次吧,免得浪费
这次画板顺手 ...

亲身体验,5V电压,STC15W204S, 擦写7K8 次多点,寿终正寝,所以,玩5000次左右就差不多,可以考虑正儿八经写个程序进去长用,然后换一片新的再玩,比较合算。
回复

使用道具 举报

12#
ID:955673 发表于 2021-11-17 19:31 | 只看该作者
Y_G_G 发表于 2021-11-17 00:05
如果你想用这小玩意搞示波器,那就太无聊了,功能鸡肋得要命,所谓的波形和功能实在是看不下去,最主要是太花 ...

确实是闲的,小玩一下,STC 号称擦写 10万次以上,怎么也得用掉几千次吧,免得浪费
这次画板顺手把 OLED 和 LCD 接口预留了,现在记录才 200 多次
回复

使用道具 举报

11#
ID:401564 发表于 2021-11-17 00:05 | 只看该作者
冰火风轮 发表于 2021-11-16 23:30
谢谢,显波纹不能取平均值,试了一条直线,放主过程是特意的,想看看51到底跑多快
这几天一直乌龙,用的 ...

如果你想用这小玩意搞示波器,那就太无聊了,功能鸡肋得要命,所谓的波形和功能实在是看不下去,最主要是太花时间了
想DIY示波器,推荐你用串口屏,淘晶驰的还可以
用了串口屏,你就会发现OLED实在是太弱了,串口屏对于OLED简直就是另一个世界,就是有点不便宜
回复

使用道具 举报

10#
ID:955673 发表于 2021-11-16 23:30 | 只看该作者
Y_G_G 发表于 2021-11-16 21:07
ADC采用中断方式进行
128累加,然后取平均值,什么算法都不需要,包你稳
不要在主函数中等待ADC完成,这样 ...

谢谢,显波纹不能取平均值,试了一条直线,放主过程是特意的,想看看51到底跑多快
这几天一直乌龙,用的STC15,看的STC12的数据,老觉得算的不对
回复

使用道具 举报

9#
ID:401564 发表于 2021-11-16 21:07 | 只看该作者
冰火风轮 发表于 2021-11-16 19:39
谢谢,现在的差不多是阶梯叠加法,采集5次叠加平移取顶,再复杂估计51跑不动了,
OLED 可以看见刷不动, ...

ADC采用中断方式进行
128累加,然后取平均值,什么算法都不需要,包你稳
不要在主函数中等待ADC完成,这样主程序跑都跑不动,别说是51,什么单片机都不是在主程序等待ADC完成的,而且还有那么多算法
直接中断完事
不信你试一下就知道我说的对不对
回复

使用道具 举报

8#
ID:955673 发表于 2021-11-16 19:39 | 只看该作者
188610329 发表于 2021-11-15 21:51
要波形平滑的话,一般是用阶梯累加法,比如12位ADC 累加16次,得到一个16位值,就是一个比较均衡的16位ADC, ...

谢谢,现在的差不多是阶梯叠加法,采集5次叠加平移取顶,再复杂估计51跑不动了,
OLED 可以看见刷不动, LCD12864 直接看到一个点一个点蹦,几秒才画完
回复

使用道具 举报

7#
ID:624769 发表于 2021-11-15 21:51 | 只看该作者
要波形平滑的话,一般是用阶梯累加法,比如12位ADC 累加16次,得到一个16位值,就是一个比较均衡的16位ADC, 然后根据需要,换算出显示的数值存入显示buf后,把这个中间累加得到的16位中间值,右移一位,再累加8次新的12位ADC值,得到新的16位ADC中间值。换算出新的显示值,存入新的显示buf后,再右移一位,累加新的8次12位ADC值,周而复始,ADC的值就会非常的平滑,在显示ADC变化的时候,会比较舒服。
回复

使用道具 举报

6#
ID:955673 发表于 2021-11-15 21:30 | 只看该作者
谢谢各位,测电压我打算把第一种循环 10 次,再取平均值

这次取速度



小屏看不出啥,好玩
回复

使用道具 举报

5#
ID:81196 发表于 2021-11-15 18:01 | 只看该作者
先排序,然后掐头去尾,求平均,次数自己定
回复

使用道具 举报

地板
ID:908826 发表于 2021-11-15 14:41 | 只看该作者
试试第二种吧,多采集一些样本,再进行输出。
回复

使用道具 举报

板凳
ID:277550 发表于 2021-11-15 09:52 | 只看该作者
被检测端,足够电容支持
回复

使用道具 举报

沙发
ID:420836 发表于 2021-11-15 01:09 | 只看该作者
如果时间允许,请使用更多采样,以便获得更好的平均值。
回复

使用道具 举报

楼主
ID:401564 发表于 2021-11-14 23:20 | 只看该作者
采用后者
如果程序不着急做别的事的话,可以采样多一点,34次,或者更多次数的ADC
我一般中断进行是66次,去掉最大和最小值,再平均,但这意义并不大,最多只是不想让显示跳来跳去而已
通过TL431反推VCC,5.00-5.07这个值实际上在ADC的误差范围之内的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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