郑文彬,曹 凌,代 磊,信光成,陈铭堃
(九江精密测试技术研究所,九江 332000)
船用稳定平台,是能隔离船舶波浪运动保持物体在惯性空间下方位不变的装置,在军事和民用领域发挥着重要作用:在军事方面,稳定平台可以隔绝船体干扰,提高舰载武器瞄准精度,实现精确瞄准和对目标的运动跟踪;在民用方面,可用于船上稳定手术室、雷达装置、直升机降落平台等领域。随着我国建设海洋强国战略步伐的不断迈进,对高精度船用稳定平台的需求变得更为迫切,船用稳定平台控制系统的研究有着广阔的应用前景,目前已成为高校和科研机构的研究热点[1]。
Stewart 平台是目前使用广泛的六自由度平台,由上台面、下台面、六个运动缸以及6 个虎克铰组成。平台可进行6 个自由度运动:横滚、偏摆、俯仰、横移、前后和升降[2]。因其在六个维度上的运动与船舶的波浪运动相同,常用作海上稳定平台。
稳定平台姿态调整的步骤;设定平台目标姿态;通过姿态反解求得各运动缸的目标位移;在控制器的作用下,使6 个运动缸同步平稳的运动到目标位置,完成平台的姿态调整[3]。
由于6 个运动缸需同步运动,目前广泛使用EtherCAT 总线对运动缸进行同步控制。由于Ethercat 使用了非标准的链路层,需要使用专用芯片来处理协议,相比于基于通用协议(比如TCP/IP/CAN)硬件成本较高[4],本文提出了一种在工业领域应用广泛、安全可靠的基于CAN 总线的分布式六自由度平台同步控制系统。
稳定平台在进行姿态运动时,需进行姿态反解以及六个运动缸的闭环控制,因此建立如图1 所示的分布式控制系统,该系统包括一个主控制器、六个从控制器、通信总线、同步脉冲信号:主控制器主要对平台进行整体控制,用以实现运动反解、人机交互、参数存储和更改等功能;从控制器分别控制运动缸的闭环运动,实现运动缸平稳运动控制、状态上报等功能;同步脉冲信号用以协调系统同步运行;通信总线用以连接主控制器和从控制器,实现主控制器的控制指令下发和从控制器的运动状态上报,通信总线采用CAN 总线。
图1 平台控制系统
CAN 是一种有效支持分布式控制和实时控制的串行通信网络,具有通信速率高、实现容易、性价比高等优点:CAN 总线的通讯方式灵活,可通过报文滤波实现点对点、一点对多点及全局广播等方式传送接收数据,提供高达1Mbps 的数据传输速率;CAN 总线采用短帧格式通信,传输时间短,受干扰概率低,具有极好的检错效果,每帧信息都有CRC 校验及其他检错措施,从而保证了数据通信的可靠性;CAN 总线采用非破坏性总线仲裁技术,大大节省了总线冲突仲裁时间,在网络负载很重的情况下也不会出现网络瘫痪情况。
同步脉冲信号为主控制器定时产生并发出高低电平脉冲信号,通过电缆传输至各从控制器上,从控制器在接收到同步脉冲信号时进行运动缸的伺服控制。由于同步脉冲信号是由统一由主控制器发出,因此各从控制器控制的运动缸得以保持运动同步。
控制器采用德州仪器(TI)公司生产的DSP 芯片TMS320F28 335(28 335)作为核心CPU,它是一款高性能的32 位CPU,包含单精度浮点运算单元(FPU),采用哈佛流水线结构,主频最高可达150 MHz,具有强大的运算处理能力;该芯片外设丰富,具有18 路PWM 功能输出模块、6 个事件捕获输入、2 个通道的正交调制模块(QEP),能够较好地完成电机控制以及测角信号接收;该芯片支持多种通信接口,包含2路CAN 模块、3 路UART 模块、1 路SPI 模块、1 个I2模块C。因此该芯片具有强大的运算处理、电机控制以及通信能力,可以满足项目的运算、通信和控制需求,主控制器和从控制器,均采用该芯片作为核心CPU。
TMS320F28 335 芯片需要2 种工作电压电源:3.3 V 电压为IO 供电电压,1.9 V 电压为内核供电电压。通过选型,电源采用TD6 821 型芯片,它可同时输出1.9 V 电压和3.3 V 电压。电源模块原理图,如图2 所示。
图2 电源模块设计
主控制器主要进行姿态反解、CAN 通信、人机交互以及系统固有参数的存储,包括CPU、CAN通信模块、EEPROM 模块、RS232 模块,其电路原理框图,如图3所示:
图3 主控制器原理框图
1)CAN 模块
采用TJA1040 型芯片实现CAN 通信收发功能;主控制器通过CAN 通信接口连接6 个从控制器,接收6个从控制器上报的运动状态以及发送运动指令至6 个运动缸;
2)EEPROM 模块
采用24C02型芯片实现系统固有参数的存储功能,28 335 型芯片通过I2C 总线与24C02 芯片通信完成数据的写入和读取;
3)RS232 模块
主控制器通过RS232 串口与上位机进行通信,RS232 串口采用28 335 的UART 模块,通过SP3232芯片实现RS232 串口收发器功能;主控制器可通过RS232 串口接收目标姿态指令以及上报六自由度平台的整体运行状态;主控制器通过28335 的定时器和GPIO 引脚产生同步脉冲信号,并发送至各从控制器,保证6 个运动缸同步运行。
从控制器主要进行运动缸闭环控制、CAN 通信以及固有参数的写入和存储,包括CAN 通信模块、CPU、EEPROM 模块以及DAC 模块,6 个从控制器采用相同的电路原理,如图4 所示:运动缸闭环控制需要进行电机驱动和反馈测角读取,从控制器在收到目标位置后,通过驱动器驱动电机转动;当电机转动后,时刻对比目标位置和反馈位置,当反馈位置与目标位置相差较大时输出较大控制量,当反馈位置靠近目标位置时则减小控制量,这样经过多个控制周期的迭代,运动缸到达目标位置;采用电机驱动器驱动电机转动,步骤为:控制器发出控制DA 到电机驱动器,电机驱动器根据控制DA 的大小调节输出PWM 的占空比调节电机转速[5];电动缸的电机上安装有多圈角度编码器,通过圈数和角度可计算得到电动缸当前位置;控制器采用主控制器相同的TJA1 040 芯片和24C02 芯片,实现CAN 通信的收发和固有参数的存储和更改。
图4 从控制器原理框图
DAC 模块采用TLV5 620 型芯片实现DA 转换和输出功能,28 335通过SPI总线与芯片通信传输数字信号,芯片把数字信号进行DA 转换生成相应的DA 值输出到电机驱动器上,电机驱动器根据输入的DA 值,产生相应占空比的PWM 波驱动电机转动。
从控制器使用TMS320F28 335正交调制模块(QEP)与多圈角度编码器通信,接收编码器的圈数和角度信息,通过圈数与角度信息解算出电动缸实际位置;从控制器接收主控制器的同步脉冲信号,以同步脉冲为控制周期进行电机闭环控制。
主控制器软件主要进行平台姿态反解、CAN 口通信、RS232 串口通信、同步脉冲的产生以及系统固有参数的存储;主控软件采用前后台的软件结构,前台为主函数,后台为中断服务函数,中断函数采用定时中断方式触发。
主控制器主函数主要进行系统的初始化、RS232串口数据接收以及CAN 信息的接收,程序流程如图5所示:系统上电时进行DSP 系统时钟初始化,再进行GPIO、CAN、I2C、SCI 模块初始化,接着通过I2C 总线从EEPROM 中读取固有参数,开启初始化定时中断,随后通过轮巡的方式接收串口指令和CAN 口信息;串口指令由上位机传来,主要分为姿态运动和参数存储指令。当接收的是姿态运动指令时,置位姿态反解标志;当接收的是参数指令时,则通过I2C 总线往EEPROM中写入参数。
图5 主控制器软件主函数程序流程图
中断函数主要进行同步脉冲信号的产生、姿态反解计算、六个运动缸的目标位置的发送以及系统状态上报,程序流程如图6 所示:首先是生成同步脉冲;接着查询是否需要进行姿态反解,若需要进行则先根据目标姿态进行姿态反解,计算得到6 个运动缸的目标位置;随后通过CAN 总线把目标位置发送到各个从控制器;最后通过RS232 串口发送系统运动状态至上位机,退出中断。
图6 主控制器软件中断函数流程图
从控制器软件,主要进行运动缸闭环控制、CAN通信以及系统固有参数的存储和更改:从控制器软件同样采用前后台的软件结构,前台为主函数,后台为中断服务函数,与主控制软件不同的是:从控制器软件的中断触发方式采用外部中断方式,外部中断源为主控制器产生的同步脉冲信号,6 个从控制器采用相同的控制软件。
主函数主要进行系统的初始化、参数读取以及指令接收,程序流程如图7 所示:首先初始化系统时钟;随后进行GPIO、CAN、I2C 模块初始化,读取固有参数,开启初始化外部中断;接着以查询的方式接收CAN 信息,包括参数指令和运动指令。当接收到参数指令时,通过I2C 接口往EEPROM 中写入控制参数;当接收到运动指令时,则置位走位标志。
图7 从控制器软件主函数流程图
中断函数主要进行运动缸的闭环伺服控制和运动状态的上报,程序流程如图8 所示:首先利用正交调制模块(QEP)读取多圈角度编码器的圈数和角度,再根据圈数和角度计算电动缸当前位置;随后判断走位标志是否置位,若已置位则根据目标位置和当前位置进行位置规划;若未置位则根据现有的位置规划计算得到当前控制周期的位置给定值;接着根据位置给定值和反馈值计算得到控制输出量DA 值,通过SPI 接口把DA 值写入到DAC 模块中;最后通过CAN 把当前运动状态上报至主控制器,退出中断函数。
图8 从控制器软件中断函数流程图
这样,通过主控制软件和从控制软件设计,系统在CAN 通信和同步脉冲的作用下,各个从控制器驱动运动缸同步的逐渐运动到目标位置,完成平台的姿态调整。
六自由度平台作为船用稳定平台下台面与船甲板固定,当船舶发生波浪摇摆运动时,下台面随着船舶发生波浪运动,通过调整六个运动缸的长度使得上平台保持水平状态。因此,在进行姿态反解计算时,取下台面姿态为船舶甲板姿态,设定上台面姿态为水平姿态,通过这两个台面姿态计算得到六个运动缸长度。
稳定平台姿态反解算法:分别以上下平台中心点Ot 和Ob 建立直角坐标系,如图9 所示。
图9 六自由度平台坐标系
图10 为下平台(左)和上平台(右)的平面坐标,图中:b1~b6表示下平台六个虎克铰,t1~t6表示上平台六个虎克铰,Rb和Rt表示下平台和上平台半径,rb、rt表示下、上平台两相邻近虎克铰间一半夹角,Sb、St表示下、上平台两相邻近虎克铰一半间距。
根据平台半径、半角可以计算得到上下平台各个虎克铰的坐标,把各虎克铰的平面坐标加上Z 轴纵坐标,即可得到b1~b6、t1~t6在图9 中的三维坐标,其中b1~b6的纵坐标为0,t1~t6的纵坐标为平台处于中立位时的高度。由此可得出每个运动缸的向量值:
对向量取模,可以计算得到各运动缸的初始长度:
当船舶发生波浪运动时,由于下平台是与船甲板相连,因此下平台6 个虎克铰的位置坐标均会发生变化,由bn移动到,波浪运动后的下平台虎克铰位置为:
式中:R(a,φ,ψ)为旋转矩阵;a、φ、ψ分别为船舶的横摇角、纵摇角和艏摇角;c为平移向量。
由此可以计算出波浪运动后的各运动缸的向量为:
对向量取模,可以计算得到各运动缸的实际长度为:
通过式(2)和式(5),可以计算得到各运动缸的伸长/收缩量为:
至此,完成稳定平台波浪补偿的姿态反解。
控制系统在完成设计和调试后进行了平台控制,性能良好;随后进行了相关验证实验,包括:定幅值和频率的横摇和纵摇正弦运动,摆幅角为13°,频率为0.2 Hz。试验时利用上位机采集各运动缸位置和速度信息,观察六个运动缸的运动情况。
试验结构表明:6 个运动缸的同步性能较好。由此说明该控制系统具有较高的伺服性能,系统实时同步性较高,能够满足船用六自由度稳定平台的控制要求。
本文设计了一种基于CAN 总线的分布式船用六自由度稳定平台同步控制系统。该系统包括一个主控制器、六个分控制器、CAN 总线、同步脉冲信号:主、分控制器之间通过CAN 总线通信,系统设置了同步信号以保证伺服系统的实时性和同步性。
本文基于CAN 总线的分布式六自由度运动平台同步控制系统设计,分别从硬件和软件方面介绍了控制系统的设计思路,介绍了稳定平台姿态反解算法,最后通过试验对控制系统性能进行验证。试验结果表明,控制系统具有较高的伺服性能,系统实时同步性较高,能够满足六自由度平台控制要求。