UR机器人的一个设计理念是模块化,因此不管是控制箱IO还是工具端IO,都可以理解为独立的模块。工具端IO存在于工具端PCB电路中,这块工具端PCB的主要作用就是提供24V/12V电源,处理IO信号和加速度计(脚本中有个读工具端加速度的功能就来自于它)信号,并将他们封装成UR专有的RS485协议发送给控制箱;而控制箱IO存在于安全控制PCB板上,其在电路原理上属于独立的部分,通过板上总线发送给安全控制板和主板。通常机器人弹出“SPI错误”之类的异常时,通常就是控制箱上PWR端子和24V端子没有正常连接,造成IO部分无法工作造成。
-
- PNP与NPN
UR机器人数字输出IO采用了两种形式的结构,即PNP和NPN,得名于控制输入输出的三极管类型,见图 1。PNP输出中,控制信号为高时,将激活三极管,使得24V与输出导通;而控制信号为低时,三极管阻断,24V与输出隔绝,输出为悬浮态(即不确定态,如果与输出连接的是上拉电阻,那么输出端就是高电平,相反如果是下拉电阻,则输出是低电平)。NPN输出中,控制信号为高时,控制信号为高时,三极管激活,输出与GND导通;而控制信号为低时,三极管阻断,输出处于悬浮态。
与输出对应的是PNP和NPN输入,如图 2。输入信号经过限流电阻R驱动光耦,从而让内部电路检测到。PNP输入与NPN输入不同的地方在于PNP输入的一端连接GND,而NPN输入的一端连接的是24V。之所以这样设计,主要是为了与图 1中的PNP输出和NPN输出相对应。PNP输出只能连接PNP输入而NPN输出只能连接NPN输入。</