打印

ADS7843之软件滤波问题

[复制链接]
3591|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myfaith|  楼主 | 2009-8-27 15:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADS7843连续读取一组触摸屏坐标值有时差异很大,需要对AD值进行处理。
一、用中值平均滤波:连续读取10组坐标,去掉最大值和最小值,余下的8组取算术平均值,但是效果仍不理想,表现在:
1。如果在触摸屏上某个位置轻轻的用触摸笔磨蹭或者轻按,会在较远的其它地方显示出这个点(程序中将触摸值变换为LCD坐标并显示出来,坐标变换部分应该没有问题),
2。如果爽快的用力的点在屏上也会出现上述情况,只是机率稍小一些;
3。我试了在手机的触摸屏不会出现这样的情况,不管轻按还是重按坐标都很准。

二、用XX滤波法:连续读取9组坐标,前三次(0,1,2)为一组,中三次(3,4,5)为一组,后三次(6,7,8)为一组,分别计算三组的平均值为m0,m1,m2,再将m0,m1,m2两两之间取差值得N01,N12,N20,如果这三个差值均大于某一个限定误差E(假设为3),则舍弃,否则取N01,N12,N20中最小的那两组的6次数据的平均值作为坐标。
这种屡波的问题:
1。当E比较小时,如E=3,不管是轻按磨蹭还是直截了当的重按,都不会出现偏离实际按的位置很远的情况,也就是说点显示的位置和按的位置高度吻合;但是却有另一个问题:要点N多次才能点出一个点来,大概要点六七次才能点出一个点。
2。当E设置比较大时,不会出现点很多次才能点出一个点的问题,但同时又会出现(一)所述的情况,也就是严重偏离实际点的位置的情况。

不知道各路侠客是否遇到过这类问题,对于触摸屏的防抖动及数据滤波有什么办法来解决上述问题?

相关帖子

沙发
香如故| | 2009-12-21 21:43 | 只看该作者
也遇到同样问题,不知道怎么解决.估计没有说

使用特权

评论回复
板凳
xymxym| | 2009-12-22 13:48 | 只看该作者
这个问题不在于你用的何种滤波方法,而是返回的多组坐标值存在离散性太大的问题。如果离散性很大,再滤波也不一定是对的,所以要从采集正确率上找原因。如果采集的准确率很高,只要取三次平均值就可以了。
你写个测试软件,当按住某一点时候,不断的向串口返回这一点的坐标值,正常的偏差值不会超过10的。我以前有碰到过,按住一点的时候,不断的返回值之间竟然最大的有超过256的,把彩色模组拔掉,马上误差变成个位数,原因是彩色模组上的MC34063开关电源引起的,后来给ADS7843电路的电源增加隔离滤波等才解决。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

468

帖子

0

粉丝