时间:2024-05-04
武俊鹏 刘书勇 张国印
文章编号:1672-5913(2009)10-0154-06
摘要:创新能力的培养越来越受到国内外教育机构的重视,本文通过阐述如何设计和实现一个创新型的多学科交叉的嵌入式应用系统实验项目,涉及嵌入式操作系统定制、外围电路设计、硬件驱动开发、嵌入式应用软件设计等嵌入式设计核心技术,希望对学生设计和实现创新性课题具有引导作用,并能帮助学生提高创新和实践能力。
关键词:创新性实验;水域环境监测;太阳能供电;短波通信;GPS导航
中图分类号:G642
文献标识码:B
1项目概述
1.1系统背景
目前,能源危机,环境污染,粮食短缺给人类生存带来了巨大的挑战。环境的可持续开发利用已经成为21世纪人类发展的重大课题,而海洋的全面开发与利用是重中之重。
为了更好地开发利用海洋,需要有一种可以对海洋环境进行实时监测及对海洋资源进行准确监测的装置。现有的海洋监测方式,如勘探船、卫星监测、机载监测和固定点监测等存在监测成本高,监测精度低,监测范围有限等缺陷,大大制约着海洋开发及利用工作开展的深度和广度。可见,开发一种可以为海洋环保部门及渔业部门等海洋开发单位提供实时、准确、全面的海洋信息的监测平台具有十分重要的意义。
近年来,嵌入式技术不断发展,基于嵌入式系统平台的开发设计占据了越来越重要的地位。Intel Xscale PXA 270处理器以其高性能、低功耗、多功能等特点在很多领域得到了广泛应用。因此,采用基于Intel Xscale PXA 270的嵌入式开发平台,结合Windows CE 5.0系统设计制作,主要应用于海洋、湖泊等水域的监测平台。
1.2系统特点
该水域监测平台由数据采集端(简称监测器)和数据接收处理端(简称主控台)两大部分组成。监测器载体为船体,船体采用双体船设计,兴波阻力小并具有良好的抗摇摆能力。监测器以太阳能为动力,可以对海洋、湖泊进行实时监测,为环保部门做出正确的水域保护决策提供数据保障。另外,它可监测鱼群分布、暗礁分布等,为渔业部门提供渔业资源信息,为轮船躲避暗礁等提供帮助。
监测器采用GPS导航和短波通信技术,具有自主监测能力。GPS导航,可以对该监测器的位置进行实时追踪,通过比较目标位置及当前位置,来随时调整航向,实现自动导航;短波通信,可以通过短波发送控制命令,接收温度、视频等信号,实现远程控制。
因此,与传统的监测手段相比,它节约了监测成本,缩短了监测周期,而且具有良好的灵活性,同时大大扩展了监测范围。最重要的是,该水域监测平台具有很强的功能扩展性。通过在监测器上装载不同的探测工具,可满足不同人群对海洋、湖泊等水域开发利用的需要。装载温度传感器可以监测水温,了解水温变化情况;装载摄像头可以对海洋进行视频监控,了解水域基本状况;装载水样采集设备可以提取水样等。
2项目设计
本系统总体上分为数据采集端和数据接收处理端。数据采集端主要负责采集船体GPS坐标、障碍物位置、水样、水温、视频等信号,通过短波传输给数据接收处理端;同时,接收数据接收处理端发送来的指令,执行调整航向,避障,采集水样,采集视频,探测水温,投掷浮标,发出警告等操作。数据接收处理端主要负责对采集到的数据进行处理,同时根据需要向船体发送各种控制命令。
2.1数据采集端方案
数据采集端包括通讯系统、能源系统、动力系统、数据采集系统、控制系统和船体。
通讯系统的主体为无线信号发射器。通信系统将数据采集系统搜集到的数据通过短波发送给主控台,同时,将主控台发送来的控制命令传给监测器。
能源系统为整个系统提供电力,主要分为发电模块、贮能模块和控制模块三个模块。太阳能电池板将光能转化为电能储存到锂电池中。锂电池分为主电池组和后备电池组。主电池组提供日常的动力和其他设备所需的能源,后备电池组用于突发应急事件。控制电路控制各部件的能源分配以及主电池组和后备电池组的使用。
动力系统采用双螺旋桨,双舵机结构。在发动机的选择上,选用低能耗,高转速,高扭矩的无刷电机,配以合适的变速齿轮组带动螺旋桨,推动船体前进。当传感器发现障碍物时,舵机能在单片机控制下自动转向,躲避障碍。
数据采集系统分为两个部分。一部分为用于定位导航的GPS系统,另一部分则是根据应用需要配备的信号采集设备和传感器。GPS数据通过串口与控制台连接,利用编制的导航软件控制行进。数据采集系统针对不同的应用需求配置不同的接口装备,从而执行不同的监测任务。
控制系统以单片机为主,主要通过串口传输数据和指令,与主控台进行通信,同时进行整个系统的电源管理。
船体作为系统运行的载体,采用玻璃钢作为船体制作材料,重量轻、强度高;双体结构设计,并且重心低,船体的稳定性好;细长的船首,能劈开水面,减小前进的阻力。整个船体具有良好的流线型,航行快。
2.2数据接收处理端方案
数据接收处理端的核心部件是UP-TECH PXA 270嵌入式平台,辅助部件是短波收发器。通过在该平台上移植Windows CE 5.0系统,用C#编写软件来实现所需的各种功能。该平台上软件分为两部分。一部分负责远程控制数据采集端,通过短波收发器向船体发送控制命令,控制船体执行调整航向、避障、采集水样、采集视频、探测水温、投掷浮标,发出警告等操作;另一部分负责对数据采集端采集到的数据进行接收和分析,接收GPS坐标、水温、视频等信号。同时,绘制水温变化曲线,船体航行轨迹示意图等。
2.3系统功能
(1) 实时数据采集。该系统能将温度等传感器监测的数据通过无线传输系统发回主控台,进行储存和分析处理。可以通过程序控制数据采集的频率,通过监测器搭载的单片机提供的多种接口方便地实现监测种类和功能的扩展。
(2) 水样采集。该系统可在主控台控制下,最多对六个任意观测点进行水样采集,方便环保工作者对水体水质进行灵活全面的分析。
(3) 视频监控。此功能由视频采集摄像机和主控台共同完成,可对水面漂浮物、船只、鸟类等进行观测和研究。
(4) 自动巡航。用户可以对监测器进行巡航路径定制,监测器通过自带的GPS卫星定位系统获取当前坐标位置,经过导航程序处理,实现自动巡航。
(5) 特殊点定位。通过传回的GPS坐标可对监测器监测过程中发现的污染源、事故发生地等特殊点的进行精确定位,方便相关人员前往处理。
(6) 浮标投放。监测器可以在主控台控制下,投放浮标或定点监测设备,具有定位准确、实现方便等特点。
(7) 警告提醒。监测器装有报警灯、警笛和音频回放设备,可在主控台控制下对违章作业、破坏环境等行为进行警告提醒。
(8) 水上救生。通过在监测器上搭载救生圈,在GPS导航下,监测器可以将救生圈及时送给落水者,实现水上救生功能。
2.4设计指标
(1) 实时监控视频传输,可根据需要扩充为多路视频源;
(2) 视频监控最大延迟不超过0.5s;
(3) 视频数据采集文件大小120MB/h±20MB/h(标准清晰度);
(4) 主控台在无220V交流电时可在汽车电池供电情况下正常工作;
(5) 监测器能在光照条件理想的情况下,在内置电池和太阳能电池的驱动下连续工作12小时以上;
(6) 主控台能与监测器远程双向通信并完成相关功能;
(7) 监测器船体航行稳定,有一定的抗风浪能力,能在静水水域安全工作;
(8) 监测器船体具有较好的强度和抗腐蚀能力,能在水质恶劣情况下进行无人监测;
(9) 监测器船体具有10千克以上的储备浮力,同时具有TTL、RS232/485、USB等较为全面的接口,可搭载其他监测设备实现系统设备扩展;
(10) 能实现自动避障功能,可实现实时航向控制和自动巡航功能。
3系统实现
3.1数据采集端硬件实现
该系统整体上分为数据采集端和数据接收处理端两大部分,硬件整体结构框图如图1所示:
图1系统硬件整体结构框图
3.1.1船体材料
船体由环氧树脂和玻璃纤维布在常温中固化而成,环氧树脂玻璃钢是一种常用玻璃钢,其颜色为浅色半透明体。它具有较好的耐腐蚀性,机械强度高和粘结力强等特点,并具有一定的电绝缘性和耐碱能力。
3.1.2控制系统
控制系统由两个单片机系统组成,负责数据采集端的系统控制功能,负责控制数据接收处理端的无线通信、接收处理数据采集系统所采集的数据、电源的智能控制以及船体的导航和壁障等内容。
另外,控制系统还负责报警及自排水控制任务。探测器内部主要为各种控制芯片,一旦进水将造成系统短路,后果不堪设想。船体在设计上是全密封的,但是考虑到意外情况存在的可能性,我们安装了自排水系统。该控制板接有湿敏探头,工作电压为独立隔离的12V,当因为某种原因使船舱进水后,将触发湿敏探头,信号经过放大后驱动水泵将积水排出船舱外,当水排尽时,自动停止。水泵工作电压12V,功耗4.8W,排水量为3.5L/min;当接收到主控制台的报警信号时,驱动高亮闪光器,发出灯光信号。
3.1.3能源系统
(1) 锂电池
动力系统和其它配件组成系统后功耗较大,对电源的设计提出了巨大的挑战,考虑到系统的稳定性、功耗以及便携性等多方面要求,系统中采用了锂离子电池组作为后备电源。搭载30AH锂离子电池。最高电压12.6V,输出电流不大于15A,每个分组均有保护电路板,整体设计有平衡充电接口,保证电池寿命和容量。电池组设有扩展接口,可以在需要时增加电池容量,以便扩展更多外围设备。
(2) 太阳能电池板
为实现较高的自主能力和具有较高的灵活程度,采用太阳能电池板给后备电池组进行充电。太阳能电池板选用单晶硅高效率型号,在非阳光直射的早晨与黄昏也有一定的功率输出。峰值电压21.5V峰值电流5.7A,平均发电功率约为105W。电池板采用铝合金框架支撑,重量轻强度高。电池板整体进行了严格的密封处理,防止海水侵蚀。在一般工作强度之下,如果日间光照充足,可以实现全天候不间断工作。
(3) 电源控制板
电源控制板负责探测器的电源供给与管理。其一,将太阳能电池板输出的15.5V-19.5V电压经过转换为电池组充电,当充至饱和电压12.6V时,自动断开,防止过冲电;其二,监控锂电池组输出电流,当电流超过15A时,自动保护,并在故障排除时自动恢复供电;其三,监控电池组电量,当电池因长期天气不佳等原因耗尽,电压低于9.8V时,自动断开负载,防止过放电,在电池具有一定电量,达到11.5V时恢复供电,同时为主控台提供启动信号,恢复正常工作。其四,将电池组的电压变换为+12V,+5V,+8V,隔离12V等电压,为各个组件供电。
3.1.4动力系统
(1) 舵机控制器。舵机控制器拥有16 路舵机PWM脉冲信号输出,可以同时对16 个舵机进行任意角度的控制,使用灵活、高效。
① 规格参数
●工作温度:0-85度
●工作湿度:5%-90%RH不凝结
●额定电源:DC7V-12V
●输出路数:16路
●定时精度:0.5us
●控制精度:0.05度
●指定精度:0.01度
② 接口及按键说明
●串口指示灯:指示串口工作状态,闪动为串口正在接受或发送数据,一个代表接收,一个代表发送数据。
●简化串口插针:为减少系统体积设立,该接口也为RS232电平,以最靠边的一脚算起分别是地、接收、发送端。
●DB9 串口头:用于和控制板通讯的正式接口,标准的RS232接口,母头DB9插头。
●复位按键:用于给控制器复位,重新启动控制器,由于该型号控制器没有掉电恢复功能,所以按下复位键后所有舵机PWM输出为开机初始脉冲,需要重新发送命令指定舵机角度。
●简易电源插针:用于接驳电源,输入电压范围和标准电源插座一样应为7V-12V。
●标准电源插针:用于接驳电源,给系统供电,输入电压范围应为7V-12V。
●电源指示灯:该灯用于指示电源工作状态,亮则代表供电正常。
●+5V 电源插针,用于+5V 电源给系统供电,靠近标准电源接头的一端为地线。
●舵机保留控制输出,供以后扩展使用。
●安装螺丝:用于固定安装舵机控制器。
●第1 路舵机控制输出,共有3 组线,其中外侧是地端,中间那个是电源端,内侧是信号端。跟据不同的舵机选择不同的接法。其相应的控制命令应为#00Axx! 。
●第16 路舵机控制输出,端口定义和第1 路一样。
(2) L298N电机驱动模块
L298N电机驱动模块(图2)是专用驱动集成电路,属于H桥集成电路,其输出电流为2A,最高电流10A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,其输入端可以与单片机直接相联,从而很方便地受单片机控制。电路图见图3。
图2L298N电机驱动模块
图3L 298N电机驱动模块电路图
3.1.5通讯系统
本系统采用短波技术实现远距离无线通信。无线数据收发机负责整个系统与外界的通讯,发射频率在VHF波段450.5MHz时,可以实现约60Km的范围内通讯。
该收发机在5V电压下,空载功耗为1.2W,接收功耗为2W,发射功耗为12W。发送数据时,数据通过RS-232输出,经过调制器转换,传给车载电台发射出去。接收数据时,车载台将收到的数据传给解调器,通过串口输入到主控制台。数据的调制解调过程中加入了多位数据校验位,防止数据传输错误。同时,具有16个传输频道并经过掩码加密,防止非法数据窃取。
3.1.6数据采集系统
(1) GPS模块。GPS模块为SiRF主控芯片,具有12通道接收能力,在3D定位状态下,误差约为5m。定位准确度较高,5V电压下功耗不大于0.25W,设计传输速率9600bps。输出TTL电平标准NMEA-0183语句,并可定制输出格式和速率,方便程序设计。
(2) 数据转换器
数据转换器主要由单片机最小系统和RS232-TTL电平转换电路两部分组成。数据转换器能将超声波探测器探测到的障碍信号和DS18B20传回的温度信号转换成RS232串信号发给主控台,主控台发出控制信号经相关电路处理后传给电机驱动模块,控制电机转向,实现船体的前进、后退。调制PWN波形控制舵机的转动,实现船体转向。
RS-232 通信中逻辑电平与TTL电路的定义有所不同,使用MAX232A进行相应的电平转换。其中,网络标号TX接单片机的TXD脚,网络标号TXRX_232接单片机的RXD脚。RS232_T和RS232_R分别接DB9串口头的第2、3针。
(3) 温度传感器
常用的温度传感器有很多,各有各的特点,经过各种传感器的比较及结合系统的具体情况,系统选择了DALLAS公司的单线数字温度传感器DS18B20作为本系统的测温元件。
(4) 超声波探测模块
船体共有三组超声波探头主要参数如下:
●使用电压:DC6-12V
●静态电流:小于2mA
●电平输出:高5V
●电平输出:低0V
●感应角度:不大于15度
●感应距离:2毫米-8米
(5) 水样采集系统
水样采集系统由舵机、传动装置、试管架和水泵组成。当系统收到采水指令时,舵机控制器控制舵机转到相应位置,然后接通水泵抽水5秒,自动断开。舵机能实现0~180°精确定位,传动装置采用的是1∶2的皮带轮组,可实现试管架360°旋转。水样采集系统一次可采集六份水样。
(6) 视频监控系统
监控摄象机在电机的带动下可做水平350°物理旋转。在摄像机广角镜头的作用下保证监控视无死角。探测船和控制中心采用数传电台进行通信,得到运行指令后,主控板控制电机按要求进行动作。
云台设计为二个自由度,即绕中心以-175°~+175°水平转动,以-15°~+105°俯仰转动。驱动云台使用标准云台,并配合相应的解码控制电路。为了不使电机干扰控制电路,电机和驱动板之间使用了光耦隔离,还对电源进行了处理,使之基本互不干扰。
3.2软件实现
3.2.1监测器主程序
(1) GPS数据分析及自动导航
根据系统需要,对GPS模块进行定制,使其输出语句的格式为最小输出语句,其输出的格式如下所示:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
$GPRMC语句各部分的含义为:
●UTC时间,hhmmss(时分秒)格式
●定位状态,A=有效定位,V=无效定位
●纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
●纬度半球N(北半球)或S(南半球)
●经度dddmm.mmmm(度分)格式(前面的0也将被传输)
●经度半球E(东经)或W(西经)
●地面速率(0~999.9节,前面的0也将被传输)
●地面航向(0~359.9度,以真北为参考基准,前面的0也将被传输)
●UTC日期,ddmmyy(日月年)格式
●磁偏角(000.0~180.0度,前面的0也将被传输)
●磁偏角方向,E(东)或W(西)
●模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
GPS与电脑通讯时,通过串口每秒钟发送2条数据。考虑到船航行的速度并不是很快,没有必要每秒获取2次坐标信息,因此,通过设置,控制台每10秒获取一次GPS数据,并根据系统的需要,提取出其中的经度,纬度,和航向角的字段,通过目标点和现在的实际坐标点,算出一个相对正北方向的角度,与航向角相比较,得出船是否偏离航线,并通过导航算法矫正船的航行方向。与此同时,将获取的GPS数据处理成“GPS,ddd.mmmmmm,W/E,dd. mmmmmm,N/S”的数据格式,通过串口三发回系统主控台。
(2) 温度障碍物信息采集及自动避障
串口二通过与单片机相连,考虑到船的航速大概为2m/s,超声波探测器的探测距离为8m,因此,控制台程序每2秒获取温度和障碍物信息。由于单片机传来的数据二进制的数据,为了使观察方便,通过ByteArrayToHexString (byte[] data)函数,将二进制数转换成十六进制,其输出的格式为“XX XX XX”,这条语句所代表的含义为:前两个十六进制数为采集温度数据,单位为摄氏度,第一个十六进制数为温度的整数部分,第二个数据为小数部分。第三个数据为避障信息,高五位全为零,后三位分别代表左中右三个超声波探测器探测到的障碍物信号,“1”代表此方向有障碍物,“0”代表此方向无障碍物。自动避障程序根据采集的障碍物信息实现自动避障,与此同时,将采集的温度信号处理成“temprature,XX,XX”的数据格式,通过串口三发回主控台。
(3) 控制信息接收及处理
通过串口三接收到的数据分为两种格式,分别为“target,X,ddd.mmmmmm,W/E,dd.mmmmmm,N/S”和“control,XX”。
target,X,ddd.mmmmmm,W/E,dd.mmmmmm,N/S语句表示目标点信息,其具体含义为:
X:第几个目标点(十进制整数,最大为20)
ddd.mmmmmm,W/E:经度,W/E代表东西经
dd .mmmmmm,N/S:纬度,N/S代表南北纬
control,XX为控制信息,控制船的航行,XX为十六进制数,探测器的各种控制命令如表1所示。
3.2.2主控台程序
主控台分析串口中传回的数据是坐标数据还是温度数据,交给相应的处理程序处理,同时,可以向探测下达任务信息和控制船的航行。
(1) 探测器航行轨迹电子地图显示
系统中使用位图作为电子地图,通过放大缩小与坐标的变换,在位图上标定出受监控对象所在位置。
为了实现地图上的点和实际的GPS获取的经度纬度相对应,采用地图上的一个像素代表一定的经度纬度的方法,在建立地图时,设每个像素代表的经纬度大小为(△X, △Y),地图的大小为经度(lx1,ly1)和纬度(lx2,ly2),因此地图某坐标点(X,Y)的实际经纬度为(PX,PY),则有:
lx1+X*△X=PX(3.1)
ly1+Y*△Y=PY(3.2)
但是,考虑到地图经纬度的标定方法和探测的目标点位置可能跨越南北半球,东西半球。因此,要根据地图的实际情况,采用不同计算公式来计算经纬度和地图上的点的映射关系。
(2) 采集数据分析
将采集到的温度数据进行存储,当达到一定的量的时候,以折线图的形式呈现给用户。考虑到数据显示的美观性,将采集到的温度数据取一个最小值Min和最大值Max,根据显示界面的大小,算出合适的实际值与图上像素值的比,使折线图以适当的大小显示。
(3) 任务设置和控制
为探测器下达任务指令,设置目标点经度和纬度的时候,为了能观测到船体的实际航行情况,应考虑到设置的目标点应该在地图的范围之内,所以当用户设置的目标点位置不在地图显示的范围内的时候,应视为无效的任务并提醒用户重新设置。
主控台设有控制命令控制船的前进、左转、右转、倒退、停机等指令。在船体控制台的自动导航、自动避障程序失效或者遇到一些其他的突发事件时,人工干预船体的运行。
4结语
培养创新能力已经是现代大学生能力培养的重要方面,而高校创新性可示范的实验项目较少。基于此,本文设计了一个融合了当今热点社会问题(能源利用、污染防治等)的创新性实验项目,提出了一套可行的解决方案,实现了系统原型,学生可通过本创新性实验项目的制作,启发创新思维,加强综合运用多学科知识和技术的能力,为提高其创新能力起到推动作用。
参考文献:
[1] 江肖. 小型太阳能供电板的制作[J]. 无线电,2008(10).
[2] 杨健,杜银昌,刘树慰. 太阳能供电系统在海上平台的应用[J]. 中国造船,2007(B11).
[3] 葛俊峰,呼和满都拉. 影响短波通信的主要因素[J]. 集宁师专学报,2007(4).
[4] 罗明,肖燕勋,魏铭,等. GPS导航与对抗技术[J]. 舰船电子对抗, 2008,31(3).
[5] 张思恩,高明煜,徐超群. 嵌入式车载GPS导航系统的设计[J]. 杭州电子科技大学学报,2007,27(06).
[6] 王祥磊,刘明光. 嵌入式Windows CE 5.0驱动程序开发及测试[J]. 计算机系统应用,2007(07).
[7] 陈晓明,王治森,董伯麟,等. 基于Windows CE5.0的嵌入式数控系统实时性研究[J]. 工业仪表与自动化装置,2007(06).
[8] Christian Nagel, Bill Evjen, Jay Glynn. Professional C# 2005[M]. Beijing: Tsinghua University Press, 2006.
[9] Jesse Liberty. Programming C# Building .NET Applications[M]. Beijing: Publishing House of Electronics Industry, 2007.
[10] 胡中豫. 现代短波通信[M]. 北京:国防工业出版社, 2005.
[11] 张冬泉,谭南林,王雪梅,等. Windows CE 实用开发技术[M]. 北京:电子工业出版社. 2006.
[12] 陈章龙. 嵌入式技术与系统:Intel Xscale结构与开发[M]. 北京:北京航空航天大学出版社,2004.
[13] 陈云志,张应辉,李丹. 基于C#的Windows CE程序开发实例教程[M].北京:清华大学出版社,2008.
[14] 蔡厚平. 船舶设计基础[M]. 哈尔滨:哈尔滨工程大学出版社,2006.
[15] 熊志昂,李红瑞,赖顺香. GPS技术与工程应用[M]. 北京:国防工业出版社,2005.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!