本文简要介绍了基于PC104嵌入式工业控制计算机某小型远程自主水下航行器制导系统的设计要求和软硬件实现方法,该制导系统己成功应用于学校211工程建设的自主水下航行器上。
西北工业大学航海工程学院研制的水下航行器,是一种小型、远航程、低速航行、电动力推进、主要从事科学研究的水下航行器,其研制始于1998年。由于其体积小,而且要求其航程远,除了采用低阻外型及高效稀土永磁推进电机外,要求其制导系统的功耗要低,体积要小。由于科研经费限制,制导系统的成本要求要低。
1制导系统的硬件设计考虑到客观条件对制导的实际需要,制导系统的硬件设备主要包括:PC104工控机、电子罗盘、GPS、深度传感器、舵机,其结构原理图如所示。
水下航行器的PC104工控机主要有CPU模、A/D转换板及D/A转换板、串口并口扩展板几部分。
1)CPU模块采用深圳盛博公司的80486DX系列,它与标准的PC100兼容,含有14个中断通道8259兼容),7个DMA通道8237兼容),3个可编程计数器/定时器8254兼容),2个16550兼容的RS232口。
A/D转换板采用实时设备公司生产的DM5406,它的主要性能指标为:输入电源+5V;8路差分或16路单端输入A/D通道,分辨率12位,转换时间5微秒;3个16位定时器/计数器,其中2个计数器串联用作A/D采样的同步时钟;2路12位D/A,可通过编程输出。
D/A转换板采用实时设备公司生产的DM5604,它的主要性能指标为:输入电源+5V;功耗2.35W;8路12位D/A,可通过编程输出24路TTL/CMOS兼容的8255数字I/O.串口并口扩展板采用深圳盛博公司生产的MSP-I系统扩展模块,含有两个PC兼容RS232C串行口默认端口地址为3E8h和2E8h,中断号为IRQ11和丨RQ10),―个PC兼容双向并行口,PC104标准尺寸,+5V操作电压,低功耗CMOS设计,与PC104CPU模块直接接。
电子罗盘采用美国导航公司研制的TCM2-20,它是一个具有新技术的低功耗、高性能的传感器模块,它将一个三轴磁强计和一个高性能的二轴倾斜传感器结合封装在一起,使其具有比当今其它类型的罗盘更小的体积和功耗。
始化,同时可以跟踪12个卫星,并可进行快速定位。
深度传感器采用宝鸡仪表厂生产的CS-PT系统高精度压力变送器。
舵机作为航行器的执行机构,主要执行元件为步进电机,传动机构为蜗轮、蜗杆。步进电机的工作方式为四相四拍。在该舵机控制系统中仅需控制电机运转脉冲数及运转方向,就可达到控制舵角的目的。舵机控制系统采用单片机和功率放大器混合驱动步进电机。
步进电机驱动脉冲使用软件分配,每台电机使用专门的正反转程序,通过对A/D采样值的计算,得到电机的驱动脉冲数,可实现一个单片机对三台电机的驱动。
步进电机的驱动电源采用大功率场效应管,它具有驱对上式积分得到航行器的航向角指令为动功率小,无二次击穿等优点。
2制导系统的软件设计控制方案1)水下航行器纵向运动的控制方案:水下航行器纵向运动是一个不稳定的非小相位系统1,为了提高其定深航行的稳定性,其控制方案的结构图如所示。,——航行器纵向运动控制方案结构图其中y为由深度传感器测量到的航行器的航行深度,y为设定航行深度,为自由角,为横舵角指令,ky和为比例系数,为深度变化率的估计值。为了提高!估计的精度和响应速度,提高抗干扰性,我们采用变带宽微分跟踪器,其表达式为n(y-y)系数为带宽。其中的表达式为水下航行器航向运动的控制方案:采用位置输出反馈控制方案,其控制方案的结构图如所示。
其中为由磁罗盘测量到的航行器的航向角,为由制导律计算出的航向角指令,k为比例系数,为垂直舵角指令。
水下航行器横滚运动的控制方案:采用位置输出反馈控制方案,其控制方案的结构图如所示。
为比例系数,为差动舵角指令。
4)舵角分配规律:由于水下航行器采用全动舵结构配置,并采用水平差动,因此水平左舵和右舵的分配规律为制导律采用方位线3humb-Line)导航方案。所谓方位线Rhumb-Line)即是地球表面上与所有子午线以相同角度相交的交点之间的连线,如所示。
在中,(,))为由GPS测量到的航行器的当前经炜度,(+,)+)为航行器就位点的经炜度。当A(=(+-(,A)=)厂)9,足够小时,由可得为了便于程序的维护升级,制导系统软件采用C++语言。由于制导系统中的电子罗盘、GPS的输出一般都是采用串行数字输出,其格式符合美国国家海洋电子协会为海用电子设备制定的标准NMEA-0183.为此,我们开发了PC104工控机与这些设备之间进行串行中断通讯的C++通用软件。它主要由两个基本类组成。一是bufferClass类,该类主要是将串行中断通讯接收到的数据放入缓冲器中,以便对接收到的数据进行处理和转化。另一类是serialPortClass类,该类主要完成对串行通讯接口进行设置,并将接收的数据存入缓冲器内。在此基础上,分别针对电子罗盘、GPS定义了两个派生类。以电子罗盘为例,一个派生类为compBufferClass,存放电子罗盘输出的整串数据,另一个派生类为compassPortClass,设置电子罗盘断口地址、中断号及串行通讯格式。由于篇幅所限,不能在本文中详细介绍,可参阅。此外,为下转第53页)服务器数据标签与PLC6的寄存器数据标签内容吻合。证明服务器数据交换正常。当检查PLC6与PLC2通讯时,发现PLC1、PLC2的MODBUSPLUSE的通讯指示灯闪烁均不正常,而PLC6的闪烁正常。按理说PLC6、PLC2、PLC1之间为柜间线,也无人接触不该导致通讯中断。经简单目视检查后,没有发现问题。由于PLC1、PLC2同处于网路后半段,遂认为有因素在影响整个网路后半段。立即前往距离约50米外的网路后半段终端点-电气值班室。经检查MODBUSPLUSE网络终端电阻接线接触不良,引起短路,导致网络阻抗不匹配,信号反射率上升,引起波形失真,从而影响到网路后半段近的3个节点不能正常工作。
重新接线后,系统立即恢复正常。事后询问得知,电气值班室这几日一直在装修,白天屡屡搬动设备,可能就是因为设备移动导致终端电阻时好时坏,这也解释了为何故障从不发生在深夜的疑问。
3改进措施现在网络化工业控制在工业生产中处于至关重要的地位,其通讯安全理应得到足够的重视。一些次重要或可有可无的网络节点应尽量减少或做分段处理。布线点一定要确保网路安全可靠。这一点尤其在总线式网络上特别突出。从而在根源上减少甚至杜绝故障。除了在硬件设置上进行了重新安置,还在网络故障软件诊断上,下了很大功夫。经过反复论证,实现了网路故障的即时诊断。即使出问题的不单单是网路线路,还包括电源中断、CPU损坏、通讯辅助设备损坏等,也能够在极短的时间内判断故障点及故障范围。具体做法如下:在PLC1~6以及服务器分别设置一个动态变化的位寄存器和位数据标签,它们不断地以1秒一次的频率变化,由0!1再由1!0.这样在C1~C10上可以清楚的看到PLC1~6以及服务器中,谁与工作站通讯中断了。同时配合PLC以及服务器的状态字传输,可以方便的得到通讯故障原因,如果应用数据库技术还可以进行网络故障的历史记录和查询。