如图,用一个ARM的上位机来控制三个相同下位机(都是弱电系统),上位机用MAX3485与下位机MAX485通讯,并且下位机的MAX485都是隔离电源+5V独立供电的,与MCU不共地,三个下位机输出匹配阻抗用的都是120欧姆,上位机输出匹配阻抗用的也是120欧姆,测试过程发现了如下问题:
1.正常情况下上位机通过按键发出启动指令,下位机收到相关指令,下位机顺利完成启动继电器等相关逻辑动作;当上位机检测到相应故障信号,发出关机指令,下位机顺利执行关闭继电器等相关逻辑动作。
2.测试过程分别试了15次开机指令和模拟故障指令,发现模拟发生故障的时候下位机有2次没有执行关机动作,依然正常运转,不知道是因为上位机没发出关机指令还是下位机没有收到指令导致。
3.后来有同事建议,因为4个节点都是120欧姆电阻并联,并联阻抗大概围30欧姆,偏小了,最佳节点阻抗为60欧姆,阻抗太小会导致通讯驱动能力不够,出现通讯异常,后来我将上位机120欧姆换成1K,节点阻抗变成了40欧姆,然后再次开机以及模拟发生故障各15次,一切都正常,以为就这样搞定了。
4.但是今天测试的时候,发现又出现了发生故障的时候下位机不能关机异常现象,有同事建议将下位机其中两个节点电阻去除,保留一个120欧姆,然后将上位机改为120欧姆,这样保证节点阻抗为60欧姆得到最佳阻抗匹配。
请大家帮忙分析一下问题出现在那里?该从哪里入手排除?谢谢
|