宋 辉
(中国船舶重工集团公司第七一三研究所,河南 郑州 450015)
随着大功率驱动和多轴伺服技术发展,传统机械部件完成的功能可以由伺服系统实现,越来越多的机构动作被伺服控制所取代,多轴之间无需通过硬性的机械啮合联接,可以实现快速、高精度的多轴伺服及同步控制。在舰炮装备上,除瞄准、稳定以及引信测合等随动系统以外,摆输弹机构、补供弹机构等也可广泛采用伺服控制,实现舰炮、弹库的全电驱动和多轴化伺服控制,大大简化了舰炮系统机械结构。
工业现场总线技术的发展,站点间总线刷新率大幅提高,伺服轴传输信息得到及时更新,为分布式驱动控制提供了保障。CAN总线是应用最广泛的现场总线之一,主要用于各种设备监测及控制。它是一种有效支持分布式控制的串行通信网络,具有多主通信的灵活通信方式,具有实时性强、传输距离远、抗干扰性强、成本低的特点[1]。
舰炮控制系统采用CAN总线连接各伺服机构和IO设备,可以满足舰炮系统多轴化和实时性伺服控制需要,实现了现场设备的灵活分布式部署,大大减少了伺服控制和伺服驱动器之间的大量接线。舰炮采用现场总线连接,方便系统硬件扩展,当伺服系统轴数增加时,对系统硬件结构没有影响,便于控制系统的扩充和裁减。
本文针对舰炮伺服控制需要和分布式控制节点规模数量,给出单级、两级CAN总线分布式伺服控制系统方案,以及设计出双CAN总线接口伺服控制模块,分析了CAN总线数据传输机理和实时性要求,通过试验验证CAN总线分布式伺服控制满足舰炮控制需要。
舰炮伺服控制系统包含方位、高低瞄准伺服系统、摆输弹伺服系统、以及补供弹伺服系统,由系列伺服控制模块和伺服驱动器完成伺服控制,并采用CAN总线互连实现分布式控制。根据分布式控制需要和CAN总线互连节点数量,伺服系统结构有单级、两级CAN总线互连2种结构方案。
如图1所示,该方案可以实现传统舰炮方位、高低瞄准系统分布式伺服控制。系统所有节点,包括显示控制模块、伺服控制模块和伺服驱动器,均采用单级CAN总线互连[2 - 3]。节点0显示控制模块是上位机单元,作用是对各伺服控制模块发送位置控制指令及位置状态显示,节点1和节点2伺服控制模块也采用该CAN总线给相应伺服驱动器发送启动和速度指令,并反馈驱动器运行状态。单级CAN总线传输数据包含位置控制指令、位置状态、速度控制指令和驱动器状态等,信息类别多,数据传输量大,节点数量增加,CAN总线传输数据容易拥堵,适用于舰炮伺服控制系统CAN节点数量少场合。
图1 单级CAN总线分布式伺服控制系统结构图Fig.1 Single CAN bus for distributed servo control system diagram
图2 两级CAN总线分布式伺服控制系统结构图Fig.2 Double CAN bus for distributed servo control system diagram
针对伺服控制节点多场合,除瞄准伺服系统以外,还要实现摆输弹、补供弹伺服控制功能,系统结构采用两级CAN总线互连方案(见图2)。节点0~n采用一级CAN总线互连,节点1~n伺服控制模块为相同硬件的标准化模块,伺服控制模块与伺服驱动器之间采用二级CAN总线分布互连。其中,节点1伺服控制模块实现方位、高低瞄准伺服控制系统位置环控制,并由CAN总线发送速度指令控制伺服驱动器1和驱动器2。节点2伺服控制模块实现摆弹和输弹伺服系统控制,节点3伺服控制模块实现补供弹系统的供弹、扬弹和推弹伺服控制,并由CAN总线发送速度指令控制相应驱动器。该方案将伺服控制系统数据交互分解到两级CAN总线传输,每路CAN总线控制节点和数据量减少,提高了扩展性,适用于舰炮伺服控制系统规模大、CAN总线节点数量多场合。
伺服系统由伺服控制模块、伺服驱动器和显示控制模块硬件等组成,伺服控制模块是围绕舰炮伺服控制设计标准化伺服控制模块,伺服驱动器和显示控制模块均为具备CAN总线接口通用化硬件单元。因此,主要介绍标准伺服控制模块和CAN总线接口设计。
伺服系统单级、两级CAN总线分布式控制方案均采用标准伺服控制模块,伺服控制模块硬件电路如图3所示。伺服控制模块具备两路CAN总线接口,以DSP为主控制芯片,选用可编程逻辑器件CPLD作为模块接口逻辑控制。DSP芯片内部集成1路CAN总线控制器,并用独立CAN控制器芯片SJA1000扩展另外1路CAN接口。伺服控制模块的SDC输入通道、D/A通道以及16路并行数据通道均通过CPLD配置端口。其他辅助电路包含电源适配电路、时钟振荡电路和存储电路[4]。
图3 伺服控制模块主要电路组成图Fig.3 Servo control module main circuit diagram
CAN总线接口设计包括集成CAN总线接口和独立CAN控制器接口设计方法。
集成CAN接口由DSP集成增强型控制器区域网路(eCAN)模块和驱动器接口电路组成。CAN总线采用独立电源及隔离器件与外部通信,提高了CAN通信可靠性和抗干扰性。CAN总线通信接口电路如图4所示,总线收发器选用UC5350器件,采用磁场隔离器件对CAN通信信号CANH,CANL进行隔离,相比传统光电隔离器件,具备更高和更稳定的传输速率。
独立CAN控制器设计选用控制器SJA1000[5],该芯片提供的微处理器接口方式为地址数据多路复用总线模式,而DSP芯片总线接口方式采用地址和数据分离的形式。SJA1000与DSP之间总线接口采用CPLD控制,SJA1000芯片地址数据线总线复用采用CPLD编程实现总线缓冲器件功能[6]。扩展接口电路图如图5所示。
图4 CAN 总线通信接口接口图Fig.4 CAN Bus communication interface diagram
图5 SJA1000 扩展接口电路Fig.5 SJA1000 expansion interface circuit
CAN总线分布式伺服控制结构,既要求高的数据通信速率,而且要求数据传输实时性,通过合理的通信协议设计降低伺服控制对网络带宽的依赖,提高实时性[7 - 8]。CAN 总线网络采用“一主多从”总线型结构,每个伺服控制节点作为网络中从节点,显示控制模块作为网络唯一主节点,除发送指令和状态显示外,同时负责整个网络通信调度和运动时序控制。相比多主节点CAN总线工作方式,该方式避免了通过报文标识符竞争总线访问优先权,以及逐位仲裁造成的传输延迟。另外,显示控制模块向各伺服控制模块发送周期为20 ms的时间同步基准信号,通信节点分时占用总线,减少了CAN总线数据量过大造成的堵塞,保证了通信实时性,
CAN总线通信报文格式如图6所示,标识为29位标识符,b28,b27最高位固定为1,b24~b26为发送节点的节点号,b20~b23位表示报文数量从0开始,b0~b19位每一位表示一个接收节点,b19位代表显示控制模块接收节点,b18、b17、b16分别代表方位、高低、摆弹伺服控制模块接收节点,未用的均为0。显示控制模块发送给方位、高低、摆弹伺服控制模块的数据报文标识为1A03 1000H。
图6 CAN 总线邮箱消息数据格式Fig.6 CAN bus mailbox message data format
以显示控制模块与CAN总线传输为例,传输数据格式如表1所示。舰炮方位、高低、摆弹运动角度及反馈数据长度16位,有效位15位,符号位为最高位,最低有效位180°/215,数据范围-180°~+180°,方位、高低、摆弹前馈数据采用,16位2进制无符号数,有效数字为:0x0000~0x7FFF,表示速度范围为0~60°/s。输入输出信号为二进制数据,代表输出控制指令和状态反馈代码。
舰炮具备方位、高低、摆弹和输弹等多个伺服控制节点,系统采用两级CAN总线分布式互连。CAN总线传输速率设定512 kBit/s,方位、高低、摆弹以及输弹等伺服机构在速度为30°/s等速跟踪运动的实测误差曲线如图7~图10所示。
表1 显示模块与伺服控制模块CAN总线传输数据格式Tab.1 Monitor and servo control module cAN data format
图7 方位瞄准等速跟踪的误差曲线Fig.7 Horizontal system constant velocity error curve
图8 高低瞄准等速运动误差曲线Fig.8 Vertical system constant velocity error curve
图9 摆弹机构等速误差曲线Fig.9 Swing gear constant velocity i error curve
图10 输弹机构等速误差曲线Fig.10 Projectile mechanism constant velocity error curve
伺服控制中断数据处理周期设定Tc=10 ms,当CAN总线传输速率大于125 kbit/s时,数据报文延迟Tr<1.0 ms,远小于系统中断周期,伺服系统实时性和控制精度都能保证。从试验结果可以看出,伺服系统等速误差均满足系统给定指标要求:等速误差1.5 mrad(1.0 mrad≈0.057°)。
综上所述,分布式控制系统,关键需要解决伺服控制实时性问题。CAN总线分布式网络取代传统并行信号连接,采用数字化实时通信取代传统模拟信号,实现网络闭环控制。本文设计出了基于CAN总线分布式伺服控制系统,当CAN总线传输速率大于125 kbits/s时,CAN总线分布式伺服控制系统,实时性和控制精度满足使用要求。