基于GPS的自动巡航监测船系统的设计与实现
2017-09-11姜少杰刘海敌王宪
姜少杰,刘海敌,王宪
(上海海洋大学 工程学院,上海 201306)
基于GPS的自动巡航监测船系统的设计与实现
姜少杰,刘海敌,王宪
(上海海洋大学 工程学院,上海 201306)
针对海洋牧场水质参数监测成本高、灵活性差等问题,开发了一种基于GPS的具有自动巡航功能的水质监测船,该船以Arduino单片机作为船体的控制模块,结合GPS定位技术和无线通信技术,实现了监测船的自动巡航功能。利用船体搭载各种传感器模块,实现了水质参数的多点移动测量功能,并将采集的数据进行分析处理,传输和发布。开发的上位机软件能够实时获取船体的运动状态,查看其运动轨迹和位置信息,并能通过无线网络向船体发送控制指令,实现了对船体的有效控制。监测船在大幅减少监测设备的同时提高了检测精度和检测效率,降低了监测成本,对于精准化水产养殖起到了积极的促进作用。
GPS定位系统;自动巡航;监测船;海洋牧场
0 引 言
海洋环境监测是从事海洋学研究的基础,建立先进的海洋环境监测系统对于合理开发海洋资源,保护海洋环境,从事海洋科学研究等都有着十分重要的意义[1]。对于海洋牧场数据监测设备的研究,国外起步较早,一些国家通过先进的传感器技术,数据处理技术和物联网技术建立起监测平台,实现了对海洋牧场生态环境的实时远程监测,保证了海洋牧场的健康可持续发展。经过这些年的发展,我国在水产养殖监测系统方面也取得了丰硕的成果,其中比较典型的成果有:蒋建明等人提出了一种基于Zigbee 无线传感网络用于水质的监测[2],该网络通过改进型低能耗分层分群协议并结合PLC 的含氧量调节系统,实现了海水中的含氧量始终适合鱼类的活动。宦娟等人设计了一种水产养殖水质无线监控系统[3],实现了对水温等多项数据的监测功能,并通过无线网络实现了传感器节点之间数据迅速、精准的传输,进而对多参数进行实时远程监测。黄建清等人开发的基于无线传感器网络的水产养殖水质监测系统解决了目前水产养殖水质自动监测系统存在布线困难、灵活性差和成本高等问题[4]。
随着物联网技术的发展,无线远程监测已经成为海洋牧场环境监测的一种趋势,而移动测量也开始进入了研究范围,大部分的监测系统都是固定式的测量系统,单点测量范围有限,多点测量成本较高,无法普及到普通用户[5-7]。为了实现低成本大面积的测量海洋牧场水质环境,本文提出一种基于GPS导航的自动巡航监测船,依托GPS定位系统进行自主巡航,利用船体搭载各种传感器设备,结合无线传输技术,可实现对海洋牧场水质参数的持续准确的监测,同时可以把接收的环境信息参数进行整合,完成对渔业信息的有效传输、发布和监测。
1 监测船的硬件系统
本文的自动巡航船采用模块化、集成化的架构进行设计,具有体积小、易操控、使用方便、成本低、抗干扰性强等优点。系统采用单片机控制技术,GPS定位技术和GPRS通信技术相结合实现对水质的实时精准监测,并可以通过上位机等终端设备实现对监测船的远程监测和控制。自动巡航监测船按功能分主要分为四部分:能够实现自动巡航功能的船体,有多种传感器构成的环境信息采集模块,为监测船提供定位和导航用的GPS定位模块以及连接船体与上位机的无线通讯模块。设备的硬件组成和分布特征如图1所示。
图1 自动巡航监测船的系统结构
2 船体驱动模块的组成
整个船体的中央控制器由两块开源的Arduino单片机组成。Arduino是一种开源的单片机控制器,它使用Atmel AVR单片机,采用基于开放源代码的软硬件平台,构建开放源代码的simple I/O接口板,使用JAVA,C语言的Processing Wiring 开发环境,开发环境和开发语言简单、易理解[8]。两个单片机一个负责信息的采集与数据的分析,另一个负责接受远程的控制指令,并结合GPS定位模块对船体的运动进行控制。两块单片机之间采用SPI串行外接口进行通信,系统以双体式船体为载体,如图2所示,选择高速微型直流电机作为船体的动力来源,电机在额定电压下最高转速可达到2 000转以上,能够快速响应北斗系统出的位置指令。选用以L298N双H桥直流电机的驱动芯片为核心驱动板来驱动电机,其原理图如图3所示,其中芯片上的引脚IN1和引脚IN2 为左电机驱动信号输入,负责左电机的正反转的控制指令,引脚IN3和引脚IN4 为右电机驱动信号输入,负责右电机的正反转控制指令,引脚ENA和引脚ENB 为输入信号使能端,引脚OUT1和引脚OUT2 为左电机驱动输出信号,引脚OUT3和引脚OUT4 为右电机驱动输出信号,两个电机通过接受的指令相互配合完成船体的前行和转向等动作;VSS 接+5 V 为驱动板供电,VS 接12 V作为电机的驱动电压。
图2 双体式自动巡航监测船
图3 L298N双H桥直流电机的驱动芯片原理图
3 水质参数采集模块
环境参数采集模块分为水质参数采集部分和地理信息采集部分,其中水质参数采集部分主要负责海水温度、PH值、含氧量等水质参数的测量,地理信息的采集使用GPS定位模块,将传感器和GPS定位模块通过总线连接到GSM模块,再有GSM模块将数据传送到上位机服务器处理。服务器记录下测量船体的运动轨迹和所要测量点的位置信息后向测量船体发出指令,控制其按设定路线进行水质采集,同时,服务器将接受到的水质参数存入数据库,并将数据发送到移动客户端,客户端能够实时查看监测数据,也能够对船体运动轨迹进行微量调节。服务器定时接收来自GPS定位系统的位置信息,记录船体的运动路线,当接收目标点设定指令后,记录下目标点的位置,建立目标点查询表。
4 导航系统的组成
自动巡航监测船上设计的导航系统主要包括GPS定位模块、GSM无线通信模块、单片机控制模块以及上位机模块,如图4所示。监测船在运行时,用户通过上位机监测平台设置自主巡航区域、航行时间、航行速度等指令,通过网络向单片机的接收模块远程发送目的位置数据等指令,该模块接收到指令后对其进行处理后传送给GPS定位模块,GPS定位模块根据收到的指令配置其波特率并开始请求连接卫星,GPS模块与卫星连接后开始接收来自GPS卫星的位置数据并将其传送给单片机模块,单片机模块通过程序解析出当前的经纬度等位置信息,将其和目的地数据进行不断比较从而控制船体自动巡航到达指定区域。待船舶到达指定区域后,自动打开监测功能,完成监控任务后巡航至下一监测点。
图4 导航系统的组成示意图
4.1 GPS控制电路的设计
GPS控制电路的主要功能是接收来自卫星的数据信息,并对采集的GPS数据信息进行解析处理,使其转化为$GPGGA卫星定位格式的数据。为提高定位精度、减小延迟等的影响,在电路中,GPS模块处理的模块采用台湾环天公司生产的EM-408模块,该模块所采用的芯片组为SIRF Star Ⅲ芯片组,SIRF芯片其具有高性能和高水准的整合能力,具有体积小,功耗低等优点,是目前被大多数接收机所采用的系统,同时与Arduino单片机连接在一起就可以实现GPS的定位功能。EM-408采用3.3 V的供电模式,由标准服务(SPS)提供其导航时的精度,它可以在同一时间连接12颗卫星,其所能达到的定位精度和速度精度都非常的的高。
EM-408开启后即开始自行检测,并借助其输出模块发布其检测结果。完成检测后,卫星接收到检测结果后即开始检测和跟踪,整个的连接过程不需要人为干涉,都是自动完成的,一般情况下,EM-408模块在很短的的时间内就可以接收到其定位数据,然后利用其输出模块向上位机传送经度、纬度、速度、方向等数据以及接收器的状态等信息。同时EM-408会自动更新卫星轨道数据。EM-408模块一共有5个引脚,如图5所示,与其他定位模块相比其提供了一个使能引脚(Enable),必须给这个引脚高电位才能启动GPS模块,由于本次使用没有特殊要求,因此只需要将这个引脚与第五个引脚连接在一起,也即是说,当电源开启后,GPS模块便能直接使能,开始搜寻、定位、输出信号,因此本系统的电路非常简单。
图5 EM-408引脚图
4.2 单片机控制电路
单片机控制电路是本次导航系统的核心,其主要功能是接收GPS控制模块输出的$GPGGA格式信息,并从接收到的信息中解析出速度、经度、纬度、方向等位置数据[9]。Arduino单片机与EM-408之间没有相应兼容的接点,因此必须单独做一条连接两者的连接线来传递GPS的数据信息和单片机的控制指令。将Arduino单片机上的ATMEGA微处理器去除,把EM-408的TX和RX接到Arduino单片机内置UART的TX和RX上,这样就可以通过无线通信模块在上位机上查看GPS的信息。内部的晶振频率为16 MHz,由于程序运行时可能出现延迟等问题,故其时钟存在一定的误差,为提高其时钟的精度,为Arduino单片机添置了一个外围晶振,极大的提高单片机时钟的准确性,减小了其串口通信误差。Arduino单片机拥有14路数字输入、输出接口,其中六路可作为PWM输出,能够保证GPS信息的接收和处理要求,为保证电源信号的平滑而是单片机稳定的运行,同时为了保护电路,该控制电路在设计时把单片机的VIN接口和GND接口进行了连接,并在电源线路中串联入滤波器以过滤掉电源中的一些波峰。
4.3 通信电路的设计
为了给用户提供方便舒适的工作环境以及高效的管理方式,使用户可以通过在计算机或手持终端中安装远程监测平台,建立计算机、手持终端与监测船之间的通信,Arduino将采集到的各种数据通过GSM模块发送到管理人员的手机上。另外管理人员也可以通过GSM模块将控制信号发送给Arduino,随时可以控制监测船的运动状态,从而实现对船体的远程控制。本设计用到的GSM模块是和Arduino配套使用的GSM拓展板,Arduino的GSM拓展板使Arduino能够连接到网络、发送和接收短信。GSM是全球移动通信系统的简称,也被称为2G,因为它是一个第二代蜂窝网络,所以要使用GPRS互联网接入才能够为Arduino提供网络服务,但是需要从网络运营处获得接入点名称和一个用户密码。GSM模块连接Arduino主控器的示意图如图6所示。
图6 GSM模块连接Arduino主控器的示意图
5 系统软件的设计与实现
本系统的软件设计主要包括单片机程序设计和上位机软件设计。其中单片机软件的开发环境为Arduino IDE,其是以AVR-GCC和其他一些开源软件为基础,采用JAVA编写,界面友好,语法简单。GPS数据采用$GPGGA 格式,其中包含经度、纬度和高度信息。当单片机经过接收和检测之后确认$GPGGA有效,即将位置数据进行分离[10]。例如:“ $GPGGA,104050.123, 1234.1234, N,12345,W,1,09,1.0,8,M,,,,”,其中GGA是信息标头,104050.123为标准定位时间(时时分分秒秒.秒秒), 1234.1234为纬度信息,N为北半球等,这些数据经过单片机解析后重新编帧,通过无线传输模块上传到上位机。
上位机软件的工作流程如图7所示。计算机接收到单片机发来的数据以后,将接收到的数据进行存储,并把接收到的原始数据显示在数据框里。为了提高定位的精度,在软件设计时采用卡尔曼滤波器对接收的数据进行过滤[11],除去上位机接收到的不规则数据,该方式具有移植性好、操作简单、成本低等优点;对处理后的数据进行相对误差和方差误差分析,并将卡尔曼滤波器处理后的数据和误差分析结果通过上位机界面同步显示。
为了分析自动巡航监测船的性能,选择上海海洋大学校园中的一处人工湖进行船体的自动巡航实验,通过向船体远程发送控制指令,船体能够按照预先设置的路线进行巡航和水质参数的采集,实验结果如图8所示。经过分析发现船体实际运行路线与提前设定的路线之间存在一定的误差,经度平均误差约为0.005′,纬度平均误差约为0.004′,高度误差相差3 m,由此可见,系统的位置数据误差较小,定位精度较高,能够满足自动巡航监测船的定位精度要求。监测船在人工湖中进行两周的运行测试,期间各传感器运行正常,没有发生系统崩溃等情况,因此该系统具有一定的稳定性,能够为后期监测船的改进升级提供一定的参考价值。
图7 上位机软件的工作流程如图
图8 上位机船体控制主界面
6 结束语
本文设计的基于GPS的自动巡航监测船能够按照上位机预先设定的监测位置进行自动巡航,完成监测任务,同时能够在上位机上实时获取水温、PH值、含氧量等水质参数,而且也可以实时获取监测船的运动轨迹和船体的位置等参数,并能够远程向船体发送控制指令,来控制船体的运动,实现了多点移动测量的功能,提高了监测范围和监测的灵活性,减少了海洋牧场水质参数监测的成本。下一步将从系统能耗和定位精度两方面对监测船进行优化,在测试过程中发现系统能耗较大,系统补充电能的频率高,难以满足长时间水质监测的需求,初步计划为系统增加休眠模块和太阳能发电模块以延长系统的续航能力;另一方面系统将通过算法的改进和硬件的升级进一步提升监测船的定位精度,达到精细化监测的目的。
[1] 梅海彬,张明华,黄冬梅. 基于无线传感器网络的实时近海环境监测系统设计[J]. 计算机应用与软件, 2015,32(1):110-113.
[2] 蒋建明,史国栋,李正明,等. 基于无线传感器网络的节能型水产养殖自动监控系统[J]. 农业工程学报,2013,29(13):166-174.
[3] 宦娟,刘星桥,程立强,等. 基于ZigBee的水产养殖水环境无线监控系统设计[J]. 渔业现代化,2012, 39(1):34-39..
[4] 黄建清,王卫星,姜晟,等. 基于无线传感器网络的水产养殖水质监测系统开发与试验[J]. 农业工程学报,2013,29(4):183-190.
[5] 李飞飞. 遥控式移动水质监测系统[D]. 杭州:浙江大学,2011.
[6] 金英连,王斌锐,严天宏,等. 自主湖水环境监测船的运动控制系统设计[J]. 计算机工程,2012,38(22):240-243.
[7] 王卫星,高奕龙,陈彬彬,等. 无人驾驶自动导航水质监测船[J]. 信息技术与信息化,2014(5):36-38.
[8] 蔡睿妍. Arduino的原理及应用[J]. 电子设计工程, 2012, 20(16):155-157.
[9] 张涛. C8051F020单片机与GPS接收板串行通信的设计[J].计算机与数学工程,2011(8):9-191.
[10]马兰,袁卫. 基于GPS的数据采集处理系统设计[J]. 现代电子技术,2010,33(15):171-172.
[11]滕云龙,陈小平,唐应辉. 提高GPS定位精度的改进卡尔曼滤波算法研究[J]. 现代电子技术,2008, 31(3):4-6.
Design and Research of Automatic Cruise Monitoring Ship Based on GPS
JIANG Shaojie,LIU Haidi,WANG Xian
(SchoolofEngineering,ShanghaiOceanUniversity,Shanghai201306,China)
In view of the high cost and poor flexibility of the water quality parameters of marine ranching, a water quality monitoring ship with automatic cruise function based on GPS is developed. This ship uses Arduino microcontroller as the ship`s controlling module, combined with GPS positioning technology and wireless communication technology to achieve the ship`s automatic cruise function. The multipoint mobile measurement function of water quality parameters is realized by using a variety of sensor modules, Analyze and process the collected data to complete the transmission and release. The developed software is able to obtain the motion state of the ship in real time, view the track and position information of the ship, and send the control commands to the ship through the wireless network to achieve the effective control of the ship's hull. Monitoring ship greatly reduces the number of monitoring equipment at the same time improve the detection accuracy and detection efficiency, reduce the cost of monitoring, it played a positive role in promoting the precision of aquaculture.
GPS positioning system; automatic cruise; monitoring ship; marine ranching
10.13442/j.gnss.1008-9268.2017.03.016
2016-12-05
TN967.1
A
1008-9268(2016)03-0077-05
姜少杰 (1963-),女,副教授,主要从事海洋工程装备研究。
刘海敌 (1991-),男,硕士研究生,研究方向为渔业机械。
王宪 (1993-),男,硕士研究生,研究方向为渔业机械。
联系人: 刘海敌 E-mail: liu_haidy@163.com