基于PC104水下检测特种车控制系统设计*
2013-08-02高玉香田佳平
高玉香,田佳平,连 漪
(1.华晨汽车集团控股有限公司,辽宁 沈阳 110044;2.华晨汽车工程研究院 ,辽宁 沈阳 110141)
1 引言
水下检测特种车是为了满足水下环境监测与测量的需要,将浮标、潜标技术与特种车技术结合,研制出的一种无外挂推进系统,依靠自身浮力驱动[1],沿锯齿型航迹航行的新型水下检测特种车。通过浮力调节系统来调整载体的排水量,使水下检测特种车交替出现正浮力与负浮力状态。同时依靠内部的执行机构改变载体的质量分布,以改变载体的重心位置,通过重力来改变检测特种车的姿态。水下检测特种车采用内置的姿态调整机构和无外挂的驱动装置,使得载体外置装置减少,避免了对载体线型的破坏、大大改善了载体的水动力特性。在我国,对于水下检测特种车的研究还处于起步阶段。
笔者以实验室研究的水下检测特种车为研究对象,重点研究了基于PC104的工控机的水下检测特种车的控制系统。首先简要介绍了水下检测特种车控制系统总体方案,然后分别从控制系统的硬件与软件进行了深入的研究。
2 水下检测特种车控制系统总体方案
控制系统是水下检测特种车的核心,其决定了水下检测特种车的功能实现。图1为水下检测特种车控制系统总体示意图。从图中可以看出水下检测特种车下水前,拆下脐带电缆,水面计算机通过无线电信道与水下控制系统进行通信,水下所有设备和传感器的数据、状态都可显示在水面计算机上。水下控制系统接受水面控制系统的命令开始工作。当检测特种车返回水面后,建立无线电通讯信道,回传水下检测特种车在水下工作时的使命执行信息。通过遥控操作也可以上传水下记录和下传新的指令。
图1 水下检测特种车控制系统总体示意图
3 控制系统的硬件设计
考虑到客观条件对控制系统的实际需要,控制系统的硬件设备主要包括:PC104工控机、电子罗盘、GPS、深度传感器、高度计、RADIO、舵机,其结构原理图如图2所示。
图2 水下滑翔检测特种车控制系统结构原理示意图
水下检测特种车航行器的PC104工控机主要有CPU模块、AD/DA模块、串口扩展板、外部设备扩展板几部分。
CPU模块要求性能稳定、运算速度快、具有看门狗设置、耗电小、操作简单。CPU板是深圳盛博公司生产的SysCentreModuleTM-7018B主板,该主板是一种高度集成、自栈结构、IBM-PC/AT兼容、单+5V供电的PC/104 CPU模块。它对于控制系统来说结构简单,具有二次开发方便,带有的串并口能方便的输入,输出程序。
AD/DA模块需要开关量为26路,至少具有3个计数器。选择的是深圳盛博公司生产的SysExpan-Module/ADT650,是一个基于PC/104的扩展板,具有24路开关量输入输出。选择此板后将多出的2路开关量控制转由D/A输出。同时由于控制系统的的AD和DA输出的路数少,选择的ADT650自带的ADDA接口满足要求,节省成本。
由于CPU板的串口只有两个,但需要5个通过串口的输入量。故选择一串口扩展板。它有4个独立的串行接口,RS232/422/485方式可选。
确定了必要的PC104模块后,要根据模块完善外部电路设备,形成完善的控制系统。外部电路设备包括,给PC104及传感器供电;传感器前端采集信号处理;实现硬件设备开关动作的功能,将开关量信号放大,消除干扰后驱动传感器工作。
传感器主要有:GPS、电子罗盘、高度计、深度计、RADIO、舵机。为确定水下机构的位置,选择GPS传感器,通过数据确定水下载体机构的物理位置。GPS传感器发送的是符合NMEA标准的ASCALL字符串。要求其重量轻、体积功耗小。选择合适的传感器后为了获得更好的接受效果,将GPS的电子接受模块与GPS天线分别放置。在水下载体的运动过程中,控制其姿态很重要,姿态的信息反馈越快,越能有效的避免意外情况发生。选择电子罗盘要求响应速度要快、延时要短。选择美国精确导航公司研制的TCM3,它是一个具有最新技术的低功耗、高性能的传感器模块,它将一个三轴磁强计和一个高性能的二轴倾斜传感器结合封装在一起,使其具有比当今其它类型的罗盘更小的体积和功耗[2]。
当水下载体在运动过程中,需实时将载体距离海床高度反馈给控制系统,高度计具有纯模拟输出、纯数字输出、自由连续输出、查询输出等多种输出模式可选,本设计选择模拟与数字同时输出模式。
深度传感器主要用于检测水下检测特种车距水面的距离,选择的是一种可补偿的硅压力传感器,密封为316SS结构。
水下载体的运动控制是嵌入到控制系统的软件控制,当执行完一定的任务,许浮出水面,通过无线电的串口将数据发回给岸上主机,同时将主机的信号反馈给控制控制系统,便于执行下次任务。选择的RADIO是利用先进的单片机技术,无线射频技术,数字处理技术设计的功率较大,体积较小的模块式半双工数传电台。能实现设计的控制要求。
水下载体的运动过程需要实现前进、后退、左右倾斜、上浮下潜等功能,舵机作为航行器的执行机构,主要执行元件为步进电机和直线电机,传动机构为螺杆。
4 控制系统系统软件设计
为了便于程序的维护移值升级,控制系统系统软件采用C语言。由于控制系统中的电子罗盘、GPS、高度计、RADIO的输出一般都是采用串行数字输出。
通过串口1接收的GPS信号遵守NMEA协议,是一串ASCALL码,它包括字头、数据位、结束符、校验符[3]。数据位包括了时间、日期、经纬度、卫星数量、磁偏角、有效位等。由于我们只需要知道水下滑翔检测特种车的位置,故只截收了GPGGA。
通过串口2接收电子罗盘信号,电子罗盘选用的是3轴的TCM3,TCM3发出的是2进制数,串口连接好后,首先向串口发出一个控制字和一个开始命令符,TCM3接收后向串口发回一串2进制代码,以后每次向串口发一开始命令符,TCM3发回一串2进制代码。
通过串口3接受的高度计信号为ASCALL字符,最大量程为50.00 m。
通过串口4接收的RADIO电台信号没有自己的通讯协议,在收发过程中,人工定义NMEA-0183通讯协议。信息包必须有包含位置信息格式的正确的数据标题;信息必须包含有效的校验位;必须有结束位[4]。
以GPS为例说明通过串口采集传感器数据的过程。在每个时钟取样信号时刻,测量值锁定在相应数据寄存器里,同时产生中断信号。微处理器运行在循环等待状态,发生中断后,处理器将读取相应数据寄存器的测量值,然后进行数据运算处理,处理完毕后,输出结果,最后返回到循环等待状态,等待下一次中断[5]。中断处理流程图如图3所示。
图3 中断处理流程图
对串口进行初始化,程序如下:
将数据提取前需要通过验证码校验有效值。
通过串口将传感器发送的数据接收出来,对应每一个串口,将串口的基地址改变,设置好合适的波特率。编程方案相似。
5 实验结果及讨论
控制系统系统硬件平台搭建好,编写出扩展串口的通讯驱动程序使整个系统能够通讯。串口接收GPS程序后显示如图4所示。
图4 程序结果显示图
在图示中体现出了GPGGA的字符串,$GPGGA是包头,*是包尾。中间是数据位,将数据位拆包,将经度、纬度、时间提炼出来。
其它的传感器与GPS类比,都是通过串口将数据读出。在此过程中需要注意TCM3传感器,它的数据传输形式是计算机先发给TCM3一个控制二进制字符,TCM3发回一个反馈二进制字符串,然后计算机再发给TCM3命令字符串,TCM3接收验证后通过串口发给计算机数据。故需要首先提取TCM3的控制二进制字符。通过计算机串口先向TCM3发出的命令字为:
{0x00,0x09,0x03,0x03,0x05,0x18,0x19,0xDF,0xDE}
然后每次再发命令字{0x00,0x05,0x04,0xbf,0x71}
当TCM3接收一次就将传回一次姿态数据。其余雷同与正常的串口通讯。
6 结语
导航系统是水下航行器的重要组成部分,对航行器能够圆满的完成预定任务具有重要意义。本文给出了以PC104工控计算机为核心的水下航行器导航系统的设计方案,给出了导航系统的基本硬件组成,介绍了导航软件的工作原理以及GPS、TCM3等传感器与主控计算机进行通讯的各个软件模块的功能,本导航系统设计方案通过移植可以适用于不同类型的水下航行器,具有很大的通用性和灵活性。
[1] 蒋新松,封锡盛,王隶棠.水下机器人[M].沈阳:辽宁科学技术出版社,2000.
[2] Meck.H.R.A survey of methods of stability analysis of ring-stiffened sylinders under hydrostatic pressure[J].Trans.ASME.Ser.B.Jour.Eng.Industry,2007.
[3] 龚建伟.Visual C++/Turbo C串口通信编程实践[M].北京:电子工业出版社,2005.
[4] 严卫生,徐德民,宋保维,等.PC104工控机串行中断通讯软件的软件开发与应用[J].工业控制计算机,2007(1):17-20.
[5] 薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用[J].清华大学学报(自然科学版),2002(4):50-61.