辣条 发表于 2023-1-12 11:37:14

关于远距离的按键信号引入单片机,大家是如何处理的?

如题,早些年刚工作的时候,经验不足把单片机IO引出去两米接按钮,结果就悲剧了,死机复位怀疑人生,还是抗干扰优秀的AVR,自此对IO处理(远距离)小心谨慎

用过三极管基极加强上下拉分压引出去,用过共地光耦,倒是没出过什么问题,但觉得电路不够精简成本也高,套路不对劲,这个问题纠结了好一阵

不知大家都是如何处理远距离的按键信号的,望不吝赐教

PPS 发表于 2023-1-12 11:41:10

外部按键接入MCU,不是一个光耦就行了吗?还需要什么三极管?现在低速光耦也便宜,两三毛。

Xujuango 发表于 2023-1-12 11:42:11

你不会是把 单片机管脚上的信号延伸了2米吧?你用光耦隔离,电压抬高,几十米应该也没问题。

hxled123 发表于 2023-1-12 11:42:40

加个PC817, 2毛钱的事情,可靠稳定

辣条 发表于 2023-1-12 11:47:42

Xujuango 发表于 2023-1-12 11:42
你不会是把 单片机管脚上的信号延伸了2米吧?你用光耦隔离,电压抬高,几十米应该也没问题。 ...
(引用自3楼)

嗯,就是单片机引脚引出去2M,当时刚刚参加工作懵懂无知,也没个师傅带,唉。。。
光耦的方法是一直用的,但总觉得不够优雅,杀鸡牛刀,好在现在光耦便宜,但隐隐中感觉有成本更低的方法,这不求助来了{:lol:}

czzhouyun 发表于 2023-1-12 12:16:51

辣条 发表于 2023-1-12 11:47
嗯,就是单片机引脚引出去2M,当时刚刚参加工作懵懂无知,也没个师傅带,唉。。。
光耦的方法是一直用的 ...
(引用自5楼)

长距离不要省成本,曾用245将键盘线扩展出去10米,当然还有其他逻辑芯片,效果还不错,但后继项目改成单片机+485了,想拉多少米都可以,一对线上接十几二十个键盘,运行很稳定

rclong 发表于 2023-1-12 12:56:15

2米数字信号,要用差分传输吧
或者电流环

alding123 发表于 2023-1-12 13:14:57

2米远么?我们做ttl 3v通信这点距离很常见啊

cwei 发表于 2023-1-12 13:26:33

2毛钱的光耦就可以了

a312835782 发表于 2023-1-12 13:32:49

我们现在都很少用有线了,还要布线,麻烦

jssd 发表于 2023-1-12 13:52:30

楼主是用在游戏机上面的吗?我们之前是用光耦的,但光耦在布板是实在太大,所以后来改成电阻电容了,后面最好再接一个门电路再到主芯片,要注意,不要让主芯片处于和外部直接连接中,比如,如果外部不小心接了个12V进来,主芯片不能死,最坏的情况是坏掉外设,

locky_z 发表于 2023-1-12 15:12:00

低阻抗一般比较抗干扰。
加个2K欧以内的上拉或者下拉电阻。

cctv02 发表于 2023-1-12 15:20:27

jssd 发表于 2023-1-12 13:52
楼主是用在游戏机上面的吗?我们之前是用光耦的,但光耦在布板是实在太大,所以后来改成电阻电容了,后面最 ...
(引用自11楼)

出口再加上TVS不是更稳么

辣条 发表于 2023-1-12 15:33:40

alding123 发表于 2023-1-12 13:14
2米远么?我们做ttl 3v通信这点距离很常见啊
(引用自8楼)

别小看2M,电磁环境复杂得话,这大天线带来的影响是可观的
更糟的是,有时候还不好复现,等你不去管它时,给你找事儿

zhcj66 发表于 2023-1-12 15:39:21

参考PLC准没错

alding123 发表于 2023-1-12 15:51:38

用串口屏的有个1~2米的通讯线都很正常啊,你想好些的串口屏也不支持啊

辣条 发表于 2023-1-12 15:55:45

jssd 发表于 2023-1-12 13:52
楼主是用在游戏机上面的吗?我们之前是用光耦的,但光耦在布板是实在太大,所以后来改成电阻电容了,后面最 ...
(引用自11楼)

不是用在游戏机上。真的感觉光耦又贵又笨重,不够优雅
直连是肯定不能直连的
尝试过用NPN的B串电阻做输入,强下拉,分压,高压来了有BE节拦着,只是零点几V的开启电压总感觉界限不是很清晰
门电路可能是个不错的选择,带一级施密特信号能干净一些,如果芯片输入端带二极管钳位或者自带TVS就更完美了{:lol:}

辣条 发表于 2023-1-12 16:21:21

alding123 发表于 2023-1-12 15:51
用串口屏的有个1~2米的通讯线都很正常啊,你想好些的串口屏也不支持啊
(引用自16楼)

串口屏,一两米,TTL串口在波特率比较低的时候确实可以工作
但仍难保证不丢包,丢一次就意味着一次操作或一次界面更新失败,有亲身经历
这样设计,真的很难放心用在电磁环境糟烂的场合

dog 发表于 2023-1-12 16:38:01

如果只是2米,又不需要支持单身三十年,任天堂超级手速用户,用双绞线,上升沿,下降沿都用RC除抖就可以了。

qd118118 发表于 2023-1-12 19:28:35

ad采样,电阻分压,下端电阻尽量小,再加104电容

jssd 发表于 2023-1-12 19:29:55

本帖最后由 jssd 于 2023-1-12 19:35 编辑

辣条 发表于 2023-1-12 15:55
不是用在游戏机上。真的感觉光耦又贵又笨重,不够优雅
直连是肯定不能直连的
尝试过用NPN的B串电阻做输入 ...
(引用自17楼)

那个图是我们批量用在游戏机上的,游戏机上的按键线也是很长,长的会有几米,而且很多线跟电机线束在一起的,几年了没说过有问题,很稳定。上拉电阻不要大于4.7K,这个主要是增大电流抗干扰,不要用内部上拉,串联的4.7k主要是防座子短接12V甚至更高的电压,限流保护后面电路,电容如果是案件,可以大一些,比如用0.1uF,这个用来滤掉一些毛刺尖波。我们用这个电路还有一个非常重要的原因,是因为我们插座是牛角插座,2.54双排的那种,这几个东西(0603)刚好一对一排在插座后面,不多不少很整齐。另外,这个电路也是从日本的游戏机上参考的……

jssd 发表于 2023-1-12 19:37:57

cctv02 发表于 2023-1-12 15:20
出口再加上TVS不是更稳么
(引用自13楼)

其实还真不需要这个东西,布板不好布了,看楼上说明

辣条 发表于 2023-1-12 23:50:01

jssd 发表于 2023-1-12 19:29
那个图是我们批量用在游戏机上的,游戏机上的按键线也是很长,长的会有几米,而且很多线跟电机线束在一起 ...
(引用自21楼)

确实,很工整,强迫症福音{:lol:}

jssd 发表于 2023-1-12 23:59:59

辣条 发表于 2023-1-12 23:50
确实,很工整,强迫症福音
(引用自23楼)

被上面的光耦压了一下位置,要不更工整^_^

dellric 发表于 2023-1-13 09:48:28

在单片机输入口并小电阻,比如10欧姆,然后并联TVS,小电容,串联磁珠(直插),线缆用双绞,有钱加屏蔽

mrf245 发表于 2023-1-13 13:37:40

100K电阻+0.1uF电容+TVS,我们经常这么干

辣条 发表于 2023-1-13 15:06:13

dellric 发表于 2023-1-13 09:48
在单片机输入口并小电阻,比如10欧姆,然后并联TVS,小电容,串联磁珠(直插),线缆用双绞,有钱加屏蔽 ...
(引用自25楼)

嗯,总结很全面
页: [1]
查看完整版本: 关于远距离的按键信号引入单片机,大家是如何处理的?