AD采样引起的抖动怎么办?

[复制链接]
5521|9
 楼主| jazzyfox 发表于 2008-5-26 09:00 | 显示全部楼层 |阅读模式
设置一个阀值,超过了P1.6工作;不足P1.7工作,
可是实际工作过程中,发生了P1.6,P1.7反复切换的问题,
各位有什么好办法,
我记得原来比较器有滞回的,不过MCU该怎么做?
jt4117 发表于 2008-5-26 09:10 | 显示全部楼层

阀值设置成一个段呗.取上下限

阀值设置成一点,在nb的 A/D 估计也会跳吧!
查查利用A/D做键盘的例子,就明白了!
computer00 发表于 2008-5-26 09:39 | 显示全部楼层

MCU做滞回要比硬件容易得多了!

if(a>Th)
{
 P1.7=0;
 P1.6=1;
}
else
{
 if(a<Tl)
 {
  P1.6=0;
  P1.7=1;
 }
}
 楼主| jazzyfox 发表于 2008-5-26 11:34 | 显示全部楼层

区域太宽,好像系统不工作了

if(a>2.0)  //th
{
P1.7=0;
P1.6=1;
}
else
{
if(a<1.2)   //Tl
{
  P1.6=0;
  P1.7=1;
}
}

系统不动作了,怎么办?
mxh0506 发表于 2008-5-26 12:30 | 显示全部楼层

你需要的切换阀值在什么范围内?

jt4117 发表于 2008-5-26 14:41 | 显示全部楼层

AD采样出来做个平均值啥的去抖啊.

suifeg 发表于 2008-5-26 19:46 | 显示全部楼层

你可以多采几次求平均值,或者弄个简单的平滑滤波

 
 楼主| jazzyfox 发表于 2008-5-28 11:36 | 显示全部楼层

想到了简单的办法

加上标志,许进不许出就可以了
gdlhh2008 发表于 2010-8-24 23:23 | 显示全部楼层
不知道哪位高手有AD中断采样求平均值的解决方法?
xieshenkui 发表于 2010-8-25 11:54 | 显示全部楼层
我就碰到这个问题了,电压在在采样后的值是变化的属正常现像,这才能体现出实时采样,可以在显示的方面做些功夫
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

1082

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部