想要了解嵌入式行业经济发展 & 欧盟工业发展趋势吗?速点>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 这个硬件电路的干扰,如何通过MCU软件来解决呢?

共14条 1/2 1 2 跳转至

这个硬件电路的干扰,如何通过MCU软件来解决呢?

助工
2020-01-06 17:20:49    评分
最近用到一个传感器,类似接近传感器,电平输出型。

探测到东西接近时,输出高电平,会持续一段时间(最大2S),,无负载能力。输出接三极管基极,进行电平转换,然后进MCU的外部中断引脚,实现外部中断,MCU响应中断处理函数。

MCU引脚设置为上升沿触发。


目前碰到的问题如下:

偶尔会有误触发,MCU响应中断,造成不必要的处理过程,给用户使用带来困扰。

最开始想着是电源干扰,但是电池供电,不存在干扰。

目前软件上的做法是做防抖。但还是偶尔会出现。

大家有什么建议?如何解决呢? 





关键词: 干扰     MCU     软件    

助工
2020-01-06 22:22:58    评分
2楼

要根据传感器特性做防抖,另外最好找一找干扰源是啥。。。


助工
2020-01-06 22:32:38    评分
3楼

我软件滤波都是这么弄,如下:

程序用状态机,只在某个状态去读取。其他状态就是不要的。
如果是上限和下限,防碰撞之类的。不用中断,用软件去判断,例如持续100ms的的高电平,是有效的。持续100ms的低电平是有效的,进行滤波。

if(gpio) 
{
   if(++high_acc>T_SET_High)   x=1;
   low_acc=0;
}
else
{
   if(++low_acc>T_SET_Low) x=0;
   high_acc=0
}

另外,你那个电平转换的三极管,下拉电阻多少的。电阻要下降。电路图有吗?



助工
2020-01-06 22:47:20    评分
4楼

谢谢以上大家的热心解答,我的电路如下。其中,图中左侧为进入MCU引脚触发中断,右侧为传感器输出信号,兼容两种不同传感器。

image.png


菜鸟
2020-01-07 08:11:09    评分
5楼

换成P管试试


助工
2020-01-07 21:24:24    评分
6楼

Vin多少?信号电平?不可能一点带载能力都没有吧,哪怕uA级别。另外,你这个图.........


助工
2020-01-07 21:25:55    评分
7楼

看了你的电路图,请问bc850,用电压跟随器? 3.3/2M=1.65ua,按datasheet这么小的电流三极管的β取300 基极,na级别就能驱动了。输入阻抗太高了。很容易受干扰的。况且这个电路如果输入电压高于3.3,估计得倒灌到3.3V上去。这电路没看懂。


电平转换,应该是共射放大电路吧。这种输入阻抗低些!


助工
2020-01-07 21:30:03    评分
8楼

最直接的办法应该先要弄清干扰源是啥吧


助工
2020-01-11 15:42:19    评分
9楼

学习下大家的方法


助工
2020-01-11 15:50:38    评分
10楼

看大家的经验


共14条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]