[经验知识] 电路干扰如何避免?

[复制链接]
2157|22
 楼主 | 2020-1-2 11:30 | 显示全部楼层 |阅读模式
最近用到一个传感器,类似接近传感器,电平输出型。

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

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


目前碰到的问题如下:

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

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

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

大家有什么建议?


使用特权

评论回复

评论

szzw2004 2020-1-3 07:22 回复TA
最好不要用晶体管,晶体管驱动是需要带载能力的,用MOSFET才好。 
| 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
}

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

使用特权

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

899795e0da6b42aec8.png

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



使用特权

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

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

使用特权

评论回复
| 2020-1-2 16:45 | 显示全部楼层
VIn多少?信号电平?不可能一点带载能力都没有吧,哪怕uA级别。另外,你这个图.........

使用特权

评论回复
| 2020-1-2 18:45 | 显示全部楼层
本帖最后由 yhf311 于 2020-1-2 18:57 编辑

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

使用特权

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

使用特权

评论回复
| 2020-1-2 20:29 | 显示全部楼层
173975e0de21589a9b.png
高电平这样驱动,输入阻抗也低。

使用特权

评论回复

评论

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

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

使用特权

评论回复
 楼主 | 2020-1-3 08:38 | 显示全部楼层
yhf311 发表于 2020-1-2 18:45
确认下传感器输出方式,平时是低电平输出吗

平时是低电平输出。

使用特权

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

有道理。

使用特权

评论回复
| 2020-1-3 08:41 | 显示全部楼层
试试施密特触发器

使用特权

评论回复
 楼主 | 2020-1-3 09:05 | 显示全部楼层
ningling_21 发表于 2020-1-3 08:41
试试施密特触发器

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

使用特权

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

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

使用特权

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

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

使用特权

评论回复
| 2020-1-3 11:27 | 显示全部楼层
Vin?2M太大,看看传感器电路结构及驱动电流,更改电路吧。

使用特权

评论回复
 楼主 | 2020-1-3 13:09 | 显示全部楼层
fzh123 发表于 2020-1-3 11:27
Vin?2M太大,看看传感器电路结构及驱动电流,更改电路吧。

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

使用特权

评论回复
| 2020-1-4 16:48 | 显示全部楼层
叶春勇 发表于 2020-1-2 20:21
bc850,用电压跟随器? 3.3/2M=1.65ua,按datasheet这么小的电流三极管的β取300 基极,na级别就能驱动了。 ...

8楼 辛苦了。。

其实真不知道 原始设计人员是 没学过电子设计么?!

一个 射极跟随器 居然 用 2M电阻 ,
那还不如换场效应管。另外就是::


明知道 高阻抗的输入 很容易 被感应电 影响,
————他还 故意 这么 设计 。。。

使用特权

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

使用特权

评论回复
扫描二维码,随时随地手机跟帖
*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /2 下一条

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