如何解决gpio的信号干扰

发布于 2022-08-29 16:56:11 字数 200 浏览 17 评论 0

各位, 请教个问题

最近做了一个应用, 通过GPIO的两个引脚 引出2根线接到一个工业按钮上,, 每次按下按钮,就出发后台的一个python程序,

现在的问题是,没有按按钮的情况下,Pi有时候会自动触发python程序, 怀疑是信号干扰所致, 有什么好的建议吗?

一根线接pwr, 一根线接GPIO24 , 两个一对接就相当于短路

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

娇纵 2022-09-05 16:56:11

我觉得干扰的问题存在,工业环境甚至可能很严重,但一般也没那么可怕,并且绝对是可以简单克服的。

  1. 电路连接不要有基本的错误!这样连接GPIO,如果断开时GPIO的引脚状态是FLOAT浮动,感知的电平是不定的,当然出问题了!
  2. 数字IO是电平传感而不是通断传感。正确的接法应该是3线的:(附图)
  3. 我不知道你是否看过《感悟设计》这本书。请借一本,去看10.1《低阻抗!低阻抗!》一节。R的阻值一定要小,才能确保数字IO连接点的电压足够稳定,不易受外界干扰!(当然也别太小了)
  4. 如果连接线比较长,按钮离主机比较远,必要情况下就要加屏蔽措施了。用屏蔽线取代散线连接,并将屏蔽线连接GND接地,会起到非常好的效果。
  5. 如果加屏蔽,原则是:屏蔽线两端拆开屏蔽去焊接的部分越短越好。

附图:

5V0 ----+
        |
    R1 [ ]
        |
GPIO ---+--+
        |  |
    R2 [ ] = Push Button
        |  |
GND ----+--+

呆头 2022-09-05 16:56:11

最好这么接。把GPIO设置为上拉模式,然后触发靠判断GPIO电平为0.
不要用输入状态,用输入状态一定要接一个上拉电阻确保电平稳定

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文