搜索
bottom↓
回复: 31

求助,树莓派与PLC电平转换故障

[复制链接]

出0入4汤圆

发表于 2020-9-19 19:20:06 | 显示全部楼层 |阅读模式
在树莓派上写了一个Python程序,涉及到跟PLC的同步,PLC通过其输出口将使能信号发给树莓派的IO口上。由于树莓派的IO口电压与PLC的电压不一样,用PC817实现一个电平转换,树莓派的IO口设定为输入模式,并使能下拉电阻(10k)。电平转换功能正常,树莓派和PLC24小时运行,现在出现连续运行几天之后树莓派无法正常监测到PLC输出的电平改变,重启树莓派之后就没有问题了。出现问题的时候树莓派上的程序还在正常运行,就是不能识别电平。麻烦问一下可能是哪方面的原因。谢谢大家。
电平转换板的电路图如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2020-9-19 19:29:07 | 显示全部楼层
单纯从电路上看好像没问题。
感觉是系统程序死了,挂了,没响应了,就跟你上网时浏览器卡死一样。

出0入4汤圆

 楼主| 发表于 2020-9-19 19:37:55 | 显示全部楼层
电子喵星人 发表于 2020-9-19 19:29
单纯从电路上看好像没问题。
感觉是系统程序死了,挂了,没响应了,就跟你上网时浏览器卡死一样。 ...

程序没问题,因为有两路这样的从PLC发送到树莓派的io口,其中一路出问题的时候另外一路是工作正常的。

出0入10汤圆

发表于 2020-9-19 19:46:53 | 显示全部楼层
2分法, 确定是PC问题,还是PC817问题?

出0入4汤圆

 楼主| 发表于 2020-9-19 19:55:42 | 显示全部楼层
现在出了问题之后,退出树莓派的程序重新进入的话故障还是存在。重启树莓派的话故障就可以消除。

出615入1076汤圆

发表于 2020-9-19 20:35:34 来自手机 | 显示全部楼层
出問題的時候,命令行讀一下 GPIO 的輸入數據寄存器,排查一下數據。
如果數據一直是高電平,用鑷子短路 IO 到地試試。
看一下 raspberry cpu datasheet io 輸入低電平閾值是多少,懷疑 3 極管拉的不夠低,在臨界值,而且上拉電阻比較強。重啟可能讓 VCCIO 有所波動,所以正常一段時間。

出0入0汤圆

发表于 2020-9-19 20:37:23 | 显示全部楼层
树莓派不是单片机,实时性和稳定性都欠缺,GPIO如果是用于实际用途,不合适。
用串口会更好,但要适配通讯协议了。

出50入0汤圆

发表于 2020-9-19 20:40:37 | 显示全部楼层
你的PLC输出是24V吗,1.8K的限流电阻合适吗?

出0入4汤圆

 楼主| 发表于 2020-9-19 21:09:34 | 显示全部楼层
wangrwnyan123 发表于 2020-9-19 20:40
你的PLC输出是24V吗,1.8K的限流电阻合适吗?

PLC输出是24V,1.8K的限流电阻是根据手册来的,我也用万用表测过,高低电平的区分比较明显,符合树莓派的高低电平的判断标准。

出615入1076汤圆

发表于 2020-9-19 21:11:06 来自手机 | 显示全部楼层
thepresent 发表于 2020-9-19 21:09
PLC输出是24V,1.8K的限流电阻是根据手册来的,我也用万用表测过,高低电平的区分比较明显,符合树莓派的 ...

樹莓派低電平判斷標準是多少 V?

出0入4汤圆

 楼主| 发表于 2020-9-19 21:14:37 | 显示全部楼层
电子喵星人 发表于 2020-9-19 20:37
树莓派不是单片机,实时性和稳定性都欠缺,GPIO如果是用于实际用途,不合适。
用串口会更好,但要适配通讯 ...

对实时性没有太高要求,树莓派的GPIO的稳定性是受什么影响?Linux系统的稳定性还是CPU的稳定性?之前想过用串口来操作,不过后来觉的GPIO简单,所以用了GPIO。

出0入4汤圆

 楼主| 发表于 2020-9-19 21:23:16 | 显示全部楼层
dukelec 发表于 2020-9-19 21:11
樹莓派低電平判斷標準是多少 V?

https://www.raspberrypi.org/docu ... rypi/gpio/README.md
3.3V时 低电平为低于0.9V,高电平为高于1.6V

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2020-9-19 21:52:17 来自手机 | 显示全部楼层
工业应用光耦出来加一级施密特整形

出0入20汤圆

发表于 2020-9-20 13:11:39 | 显示全部楼层
树莓派用在现场还是推荐走通信,外面挂正经的远程IO做现场控制或者交互,哪怕假货宝上最便宜的远程IO板卡也比自己折腾的电平转换要来的靠谱.

出40入0汤圆

发表于 2020-9-22 08:25:48 | 显示全部楼层
r20 接10k的上拉,然后光耦的c级接树莓派的io就行了,树莓派内部的10k没必要了。

出0入16汤圆

发表于 2020-9-22 08:28:59 | 显示全部楼层
接下拉什么鬼

出0入4汤圆

 楼主| 发表于 2020-9-22 09:20:38 | 显示全部楼层

跟这个有关系吗?

出0入16汤圆

发表于 2020-9-25 08:32:26 | 显示全部楼层
thepresent 发表于 2020-9-22 09:20
跟这个有关系吗?

一般R20接个4.7K左右就不用下拉了,如果PLC光耦有变化,电平读不到有可能是软件问题

出0入16汤圆

发表于 2020-9-25 08:34:24 | 显示全部楼层
初音之恋 发表于 2020-9-25 08:32
一般R20接个4.7K左右就不用下拉了,如果PLC光耦有变化,电平读不到有可能是软件问题 ...

带仿真跑,监视一下寄存器变化,看看输入口寄存器有没有发生变化,再量量电压

出0入4汤圆

 楼主| 发表于 2020-9-25 08:54:10 | 显示全部楼层
初音之恋 发表于 2020-9-25 08:34
带仿真跑,监视一下寄存器变化,看看输入口寄存器有没有发生变化,再量量电压 ...

树莓派怎么带仿真跑啊?要自己改写驱动程序吗?我在python程序里面用print把相关信息都打印出来了。

出130入30汤圆

发表于 2020-9-25 08:54:23 | 显示全部楼层
thepresent 发表于 2020-9-22 09:20
跟这个有关系吗?

树莓派和PLC是通过接插件连接的?

出0入4汤圆

 楼主| 发表于 2020-9-25 09:01:01 | 显示全部楼层
本帖最后由 thepresent 于 2020-9-25 09:18 编辑
cheng-8yang 发表于 2020-9-25 08:54
树莓派和PLC是通过接插件连接的?


对,左边通过排线连到树莓派,右边通过接插件连到PLC

出130入30汤圆

发表于 2020-9-25 09:04:35 | 显示全部楼层
thepresent 发表于 2020-9-25 09:01
对,左边通过排线连到树莓派,右边通过接插件连到PLC

在树莓派的输入接3.3V的ESD管试下?ESD静电管,SOD-523,ESD3V3D5-TP

出0入4汤圆

 楼主| 发表于 2020-9-25 09:11:18 | 显示全部楼层
cheng-8yang 发表于 2020-9-25 09:04
在树莓派的输入接3.3V的ESD管试下?ESD静电管,SOD-523,ESD3V3D5-TP

麻烦问一下,加ESD管的作用是什么啊?我之前从淘宝上买了一个电平转换板,上面的电路基本上跟当前的一样,也没有加ESD管,这个ESD是必要的吗?

出40入45汤圆

发表于 2020-9-25 09:27:49 | 显示全部楼层
PC817 是线性光耦。
一路可以,一路不可以,现象很诡异。
可以交换一下接线来测试,另外,还可以换个板子的来测试。
一个板子,说明不了啥。

出130入30汤圆

发表于 2020-9-25 09:30:17 | 显示全部楼层
thepresent 发表于 2020-9-25 09:11
麻烦问一下,加ESD管的作用是什么啊?我之前从淘宝上买了一个电平转换板,上面的电路基本上跟当前的一样 ...

在实际的产品上,IO连接插件的都会加ESD或TVS的,你这个是和PLC连接的,我觉得需要。但也不确定是不是这个问题,我只是提个建议,如果你找不到其他问题可以试下。

出0入4汤圆

 楼主| 发表于 2020-9-25 10:20:21 | 显示全部楼层
cheng-8yang 发表于 2020-9-25 09:30
在实际的产品上,IO连接插件的都会加ESD或TVS的,你这个是和PLC连接的,我觉得需要。但也不确定是不是这 ...

好的,谢谢了

出0入4汤圆

 楼主| 发表于 2020-9-25 10:30:40 | 显示全部楼层
矩阵时间 发表于 2020-9-25 09:27
PC817 是线性光耦。
一路可以,一路不可以,现象很诡异。
可以交换一下接线来测试,另外,还可以换个板子的 ...

现在这个故障出现的频率也不高,连续24小时运行,一个月出了两次。下次出问题了再仔细分析一下。
目前是在PLC的程序里里面增加一个检验,树莓派检测到电平变化后会往PLC输出一个标志位的变化,PLC检查标志位,如果与当前的PLC的输出不符的话就报警,这样使用的话问题也不大,主要是不明白这是什么原因造成的。

出40入45汤圆

发表于 2020-9-25 10:36:18 | 显示全部楼层
thepresent 发表于 2020-9-25 10:30
现在这个故障出现的频率也不高,连续24小时运行,一个月出了两次。下次出问题了再仔细分析一下。
目前是 ...

你没有注意到 线性 这两个字吗?
电压落在临界区,就会检测不到。但是,三用表放上去,临界条件就会改变,因此,借助仪器,看不到。
检测到变化,发标识去确认,如果检测不到呢?
你们现在的问题就是检测不到啊。

出0入4汤圆

 楼主| 发表于 2020-9-25 13:10:04 | 显示全部楼层
本帖最后由 thepresent 于 2020-9-25 13:12 编辑
矩阵时间 发表于 2020-9-25 10:36
你没有注意到 线性 这两个字吗?
电压落在临界区,就会检测不到。但是,三用表放上去,临界条件就会改变 ...


你说的临界区是什么原因造成的?PLC的电压不正常造成的吗?我理解的是如果PLC的输入电压不变,树莓派的电压也不变,经过光耦的电压应该是一致的吧?
另外说检测不到的问题,我说的是现在在找不到原因的情况下采取的方案。如果树莓派检测不到电压,树莓派发往PLC的信号就不会有变化,PLC知道自己的输出和输入是什么,PLC检测不到变化就报警,就停止后续的程序执行,提醒维护人员重启设备。

出0入0汤圆

发表于 2020-9-25 15:37:00 | 显示全部楼层
去掉下拉R21,增大R20到1K、4.7K、10K试一试

出0入4汤圆

 楼主| 发表于 2020-9-25 17:33:08 | 显示全部楼层
bigharpoon 发表于 2020-9-25 15:37
去掉下拉R21,增大R20到1K、4.7K、10K试一试

好的,现在PLC程序还没有修改,等修改完成之后试一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 03:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表