打印
[经验知识]

电路干扰如何避免?

[复制链接]
3372|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近用到一个传感器,类似接近传感器,电平输出型。

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

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


目前碰到的问题如下:

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

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

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

大家有什么建议?


使用特权

评论回复
评论
szzw2004 2020-1-3 07:22 回复TA
最好不要用晶体管,晶体管驱动是需要带载能力的,用MOSFET才好。 

相关帖子

沙发
zchong| | 2020-1-2 12:54 | 只看该作者
要根据传感器特性做防抖,另外最好找一找干扰源是啥

使用特权

评论回复
板凳
叶春勇| | 2020-1-2 15:55 | 只看该作者
程序用状态机,只在某个状态去读取。其他状态就是不要的。
如果是上限和下限,防碰撞之类的。不用中断,用软件去判断,例如持续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
}

我软件滤波都是这么弄。
至于硬件,你那个电平转换的三极管,下拉电阻多少的。电阻要下降。电路图有吗。

使用特权

评论回复
地板
songchenping|  楼主 | 2020-1-2 16:16 | 只看该作者
叶春勇 发表于 2020-1-2 15:55
程序用状态机,只在某个状态去读取。其他状态就是不要的。
如果是上限和下限,防碰撞之类的。不用中断,用 ...



图中左侧为进入MCU引脚触发中断,右侧为传感器输出信号,兼容两种不同传感器。



使用特权

评论回复
5
songchenping|  楼主 | 2020-1-2 16:18 | 只看该作者
叶春勇 发表于 2020-1-2 15:55
程序用状态机,只在某个状态去读取。其他状态就是不要的。
如果是上限和下限,防碰撞之类的。不用中断,用 ...

一开始传感器输出信号是加下拉电阻的,但是发现加了后电平高不上去。所以去掉了。

使用特权

评论回复
6
fzh123| | 2020-1-2 16:45 | 只看该作者
VIn多少?信号电平?不可能一点带载能力都没有吧,哪怕uA级别。另外,你这个图.........

使用特权

评论回复
7
yhf311| | 2020-1-2 18:45 | 只看该作者
本帖最后由 yhf311 于 2020-1-2 18:57 编辑

确认下传感器输出方式,平时是低电平输出吗

使用特权

评论回复
8
叶春勇| | 2020-1-2 20:21 | 只看该作者
bc850,用电压跟随器? 3.3/2M=1.65ua,按datasheet这么小的电流三极管的β取300 基极,na级别就能驱动了。输入阻抗太高了。很容易受干扰的。况且这个电路如果输入电压高于3.3,估计得倒灌到3.3V上去。这电路没看懂。
电平转换,应该是共射放大电路吧。这种输入阻抗低。

使用特权

评论回复
9
叶春勇| | 2020-1-2 20:29 | 只看该作者

高电平这样驱动,输入阻抗也低。

使用特权

评论回复
评论
lihui567 2020-1-6 13:27 回复TA
这个是经常用的 
10
songchenping|  楼主 | 2020-1-3 08:38 | 只看该作者
fzh123 发表于 2020-1-2 16:45
VIn多少?信号电平?不可能一点带载能力都没有吧,哪怕uA级别。另外,你这个图......... ...

这个图是看着有点别扭吧?这同事画的。我也看着别扭,

使用特权

评论回复
11
songchenping|  楼主 | 2020-1-3 08:38 | 只看该作者
yhf311 发表于 2020-1-2 18:45
确认下传感器输出方式,平时是低电平输出吗

平时是低电平输出。

使用特权

评论回复
12
songchenping|  楼主 | 2020-1-3 08:39 | 只看该作者
叶春勇 发表于 2020-1-2 20:21
bc850,用电压跟随器? 3.3/2M=1.65ua,按datasheet这么小的电流三极管的β取300 基极,na级别就能驱动了。 ...

有道理。

使用特权

评论回复
13
ningling_21| | 2020-1-3 08:41 | 只看该作者
试试施密特触发器

使用特权

评论回复
14
songchenping|  楼主 | 2020-1-3 09:05 | 只看该作者
ningling_21 发表于 2020-1-3 08:41
试试施密特触发器

这个一开始有考虑,但是低功耗应用,根本就不允许放置更多的器件。

使用特权

评论回复
15
wh6ic| | 2020-1-3 10:42 | 只看该作者
这个传感器如果离板较远,应该采取抗干扰措施(不要以为电池供电就没有干扰)。
   看图,Gnd直接到传感器去了,这个不应该。-- 肚皮不能亮给别人看的
      可以试试 三个引脚各串 200 ~ 1K 电阻,插座的Vin,Gnd并 104 电容,R13、Gnd也并一粒 104,看它 抗干扰的效果。

另外:P1、P3 引脚不同,做了防呆吗?

使用特权

评论回复
16
songchenping|  楼主 | 2020-1-3 11:26 | 只看该作者
wh6ic 发表于 2020-1-3 10:42
这个传感器如果离板较远,应该采取抗干扰措施(不要以为电池供电就没有干扰)。
   看图,Gnd直接到传感器去 ...

别人画的图,看实物并没有做防呆设计。

使用特权

评论回复
17
fzh123| | 2020-1-3 11:27 | 只看该作者
Vin?2M太大,看看传感器电路结构及驱动电流,更改电路吧。

使用特权

评论回复
18
songchenping|  楼主 | 2020-1-3 13:09 | 只看该作者
fzh123 发表于 2020-1-3 11:27
Vin?2M太大,看看传感器电路结构及驱动电流,更改电路吧。

正在研究传感器的电路结构。

使用特权

评论回复
19
gyc198215| | 2020-1-6 13:59 | 只看该作者
首先你这个电路P1是输入接口你用NPN当做开关就不对。NPN时,你输入相当于接了一个电阻分压,中间串联的一个二极管,这本身就设计不合理。你最好用光耦。用PNP管也可以,但是三极管驱动电流很小就可以动作,建议你用光耦,同时注意自己信号的频率再加电容电阻滤波。

使用特权

评论回复
20
yanwen217| | 2020-1-10 09:49 | 只看该作者
songchenping 发表于 2020-1-3 13:09
正在研究传感器的电路结构。

传感器的内部电路架构,供应商应该是可以提供的

使用特权

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

本版积分规则

个人签名:技术合作可以通过以下方式: QQ:745995275 非技术合作恕不回复。

317

主题

11996

帖子

78

粉丝