船舶走锚异地监视系统设计
王中旺+高陈亮+马豪阳+姚齐国
摘 要: 针对中小型船舶安全性问题,设计了船舶走锚异地监视系统,包括硬件和软件两部分,以实现最基本的船舶走锚报警功能。系统硬件包括信号采集端和接收端,其中船舶信号采集端通过GPS模块读取自身经纬度信号,由51单片机判断其距离,经GSM模块发送警告到用户手机端。其中GPS和GSM模块使用现成产品,51单片机处理程序和电路板自行设计。
关键词:走锚监测 远程控制 嵌入式系统
我国海域锚地众多,但是船舶走锚监测技术相对落后。由此带来的船舶走锚问题较为严峻。尤其是在台风登陆以及某些恶劣天气条件时,船舶走锚的可能性和危险系数都相应增大。各种安全事故例如撞船,撞桥更容易发生。本次设计着眼于个体,基于成本的考虑,着力将功能简化。在所设计的系统中,每个个体都是一个监测端,用于单一船舶的异地走锚监测。整体趋于简洁而不失实用,是一种力求简单的解决办法。同时,系统采取模块化设计,从软件和硬件两方面都能做到独立调试,让整套装置的实现能够循序渐进。
船舶走锚异地监视系统的组成
系统组成如图1所示。
图1 系统组成框图
在该系统中,设备端和用户端被GSM网络分成两大部分。用户端以手机接收短信,由于目前大部分人都已经拥有一部或者多部手机,故此处的成本将会省去。设备端以51单片机为主控电路,控制GPS模块接收经纬度数据,控制GSM模块以在需要的时候能够发送短信到手机端,同时,主控电路完成数据处理和计算功能。
1、硬件构成
系统硬件主要有五个部分,分别是印制电路板,51单片机,SIM900A GSM模块,GPS模块,锂电池,如图2所示。印制电路板通过感光蓝油法制作,抛去热转印所需要的仪器,能使电路板精度更高,但是本电路要求不是太高,故差别不大。51单片机插于电路板上的插槽,这对程序调试带来较大方便,但是如若作为成品出产,则留下隐患。SIM900A和GPS 模块可以用热熔胶直接固定,固定效果很不错。至于锂电池,为了适应GSM模块对于瞬间大电流的要求,锂电池的最大电流必须达到2A,电压则只要标准的3.7v即可。
图2 系统硬件结构图
2、软件构成
软件的构成也是基于模块化思想的。对于GPS模块来说,其启动完成并接收到一定的卫星信号,就会输出字符串,以$为开始符号,以“,”为定界符,由此便能够依据“,”来获取数据。获取到的数据存于一个名为GPS的结构体中,依次赋值。并且把该结构体声明为全局变量,方面在main()函数文件中使用。关于GSM,需要了解AT指令,将对应的字符指令同过串口输出到GSM模块引脚就能使用固定的功能,在软件的具体实现中,由于GPS是同过定时器终端来获取数据的,故如果要使用GSM模块,需要重置波特率,发送AT指令,这段实践GPS的信号无法获取,直到波特率再次重置。在单片机主程序中,使用while语句不断调用接收GPS信号的函数,从而将数据填充到GPS结构体中。同时,一旦数据有效,则记录当前经纬度,作为初始比较值。然后通过判断当前经纬度和初始经纬度的差,经过处理,便能得到距离值,一旦距离值超过某个数值,则触发GSM发送函数。
主程序大致如下:
While(1){
GET_INFO();//获取gps信息,信息存放于GPS这个结构体,结构体在此文件申明,在GPS.H里面定义
if(GPS.NS=='N' ) {
if(jljw==1){
latt1=GPS.latitude_Second;
lngg1=GPS.longitude_Second;
jljw=2;
}
}
//以上if里面的语句,用以在开机并且gps正常工作后,记录一次经度和纬度
if(distance1 >15) {
distance1= 600-distance1 ;
}
if(distance2 >15) {
distance2= 600-distance2 ;
}
term= (int)sqrt(distance1*distance1+distance2*distance2)
//此处用粗略的算法算出经纬度差值的平方和,结合实际测试时的距离显示,能够粗略了解移动距离和该值的关系。
if ((term >3) && (term <10)){ //通过改判断条件,确定是否发送短信。
if(1){ //GPS.NS=='N'
if(send_one==1){
Uart_init1(); //gsm中断
send_flag=1;
sendmeg();
Uart_Init(); //gps中断
send_flag=0;
send_one=2;
}
}
测试结果
在完成上述船舶走锚异地监视系统设计后,我们小组于2014年6月5号到10号在学校进行了3次测试和调试。
第一次发现电路板的大电流走线部分未设置好,导致GSM模块很难正常运行。第二次调试时,由于在原有电路板上进行了修改,电源部分调试通过。但是发现信号接收过慢,但是这个问题只是在启动时出现,不影响使用。另外一个问题是有一定的概率在自己还未移动时便会发送短信给用户,一旦出现此问题,只能重启。重启完成后若正常运行,则可以完成5到15米间的精度控制,即最少偏移5米,最大偏移15米,GSM信号能够给用户发送预警短信。此处的偏移并未加上GSM的响应时间5秒。
结语
本系统最大特色是成本较低,如若批量生产,可以更低。至此,一个面向中小型渔船的船舶走锚监测系统设计完成,将使渔民能够方便地监管自己的船舶。本系统仍然有许多有待改进之处,但是从不同视角将渔船监控付诸实践,是对监测系统的一种补充。
参考文献:
[1]刘广宝.浅析船舶走锚后的漂移速度[J].天津航海,2009,22(2):17-19.
[2]刘涛.浅谈船舶的走锚事故[C].中国航海科技优秀论文集,2010:19-31.
[3]杨林家,杨佐昌.船舶走锚预警系统 [J].大连海事大学学报,2005,31(2):29-32.
[4]刘玉良,周佐谕.船舶锚泊可视化远程测控系统设计[J].自动化与仪表仪器,2012,23(3):74-75.
[5]彭国均,虞金仁,黄金焰.中国海监船舶导航与监控系统的研究[J].海洋开发与管理,2006,17(4):64-69.
[6]楼苗然.51系列单片机原理及设计实例[M].北京:航空航天大学出版社,2010.
基金项目: 浙江省大学生科技创新活动计划(新苗人才计划)项目(2014R411014).
(作者单位:浙江海洋学院)
摘 要: 针对中小型船舶安全性问题,设计了船舶走锚异地监视系统,包括硬件和软件两部分,以实现最基本的船舶走锚报警功能。系统硬件包括信号采集端和接收端,其中船舶信号采集端通过GPS模块读取自身经纬度信号,由51单片机判断其距离,经GSM模块发送警告到用户手机端。其中GPS和GSM模块使用现成产品,51单片机处理程序和电路板自行设计。
关键词:走锚监测 远程控制 嵌入式系统
我国海域锚地众多,但是船舶走锚监测技术相对落后。由此带来的船舶走锚问题较为严峻。尤其是在台风登陆以及某些恶劣天气条件时,船舶走锚的可能性和危险系数都相应增大。各种安全事故例如撞船,撞桥更容易发生。本次设计着眼于个体,基于成本的考虑,着力将功能简化。在所设计的系统中,每个个体都是一个监测端,用于单一船舶的异地走锚监测。整体趋于简洁而不失实用,是一种力求简单的解决办法。同时,系统采取模块化设计,从软件和硬件两方面都能做到独立调试,让整套装置的实现能够循序渐进。
船舶走锚异地监视系统的组成
系统组成如图1所示。
图1 系统组成框图
在该系统中,设备端和用户端被GSM网络分成两大部分。用户端以手机接收短信,由于目前大部分人都已经拥有一部或者多部手机,故此处的成本将会省去。设备端以51单片机为主控电路,控制GPS模块接收经纬度数据,控制GSM模块以在需要的时候能够发送短信到手机端,同时,主控电路完成数据处理和计算功能。
1、硬件构成
系统硬件主要有五个部分,分别是印制电路板,51单片机,SIM900A GSM模块,GPS模块,锂电池,如图2所示。印制电路板通过感光蓝油法制作,抛去热转印所需要的仪器,能使电路板精度更高,但是本电路要求不是太高,故差别不大。51单片机插于电路板上的插槽,这对程序调试带来较大方便,但是如若作为成品出产,则留下隐患。SIM900A和GPS 模块可以用热熔胶直接固定,固定效果很不错。至于锂电池,为了适应GSM模块对于瞬间大电流的要求,锂电池的最大电流必须达到2A,电压则只要标准的3.7v即可。
图2 系统硬件结构图
2、软件构成
软件的构成也是基于模块化思想的。对于GPS模块来说,其启动完成并接收到一定的卫星信号,就会输出字符串,以$为开始符号,以“,”为定界符,由此便能够依据“,”来获取数据。获取到的数据存于一个名为GPS的结构体中,依次赋值。并且把该结构体声明为全局变量,方面在main()函数文件中使用。关于GSM,需要了解AT指令,将对应的字符指令同过串口输出到GSM模块引脚就能使用固定的功能,在软件的具体实现中,由于GPS是同过定时器终端来获取数据的,故如果要使用GSM模块,需要重置波特率,发送AT指令,这段实践GPS的信号无法获取,直到波特率再次重置。在单片机主程序中,使用while语句不断调用接收GPS信号的函数,从而将数据填充到GPS结构体中。同时,一旦数据有效,则记录当前经纬度,作为初始比较值。然后通过判断当前经纬度和初始经纬度的差,经过处理,便能得到距离值,一旦距离值超过某个数值,则触发GSM发送函数。
主程序大致如下:
While(1){
GET_INFO();//获取gps信息,信息存放于GPS这个结构体,结构体在此文件申明,在GPS.H里面定义
if(GPS.NS=='N' ) {
if(jljw==1){
latt1=GPS.latitude_Second;
lngg1=GPS.longitude_Second;
jljw=2;
}
}
//以上if里面的语句,用以在开机并且gps正常工作后,记录一次经度和纬度
if(distance1 >15) {
distance1= 600-distance1 ;
}
if(distance2 >15) {
distance2= 600-distance2 ;
}
term= (int)sqrt(distance1*distance1+distance2*distance2)
//此处用粗略的算法算出经纬度差值的平方和,结合实际测试时的距离显示,能够粗略了解移动距离和该值的关系。
if ((term >3) && (term <10)){ //通过改判断条件,确定是否发送短信。
if(1){ //GPS.NS=='N'
if(send_one==1){
Uart_init1(); //gsm中断
send_flag=1;
sendmeg();
Uart_Init(); //gps中断
send_flag=0;
send_one=2;
}
}
测试结果
在完成上述船舶走锚异地监视系统设计后,我们小组于2014年6月5号到10号在学校进行了3次测试和调试。
第一次发现电路板的大电流走线部分未设置好,导致GSM模块很难正常运行。第二次调试时,由于在原有电路板上进行了修改,电源部分调试通过。但是发现信号接收过慢,但是这个问题只是在启动时出现,不影响使用。另外一个问题是有一定的概率在自己还未移动时便会发送短信给用户,一旦出现此问题,只能重启。重启完成后若正常运行,则可以完成5到15米间的精度控制,即最少偏移5米,最大偏移15米,GSM信号能够给用户发送预警短信。此处的偏移并未加上GSM的响应时间5秒。
结语
本系统最大特色是成本较低,如若批量生产,可以更低。至此,一个面向中小型渔船的船舶走锚监测系统设计完成,将使渔民能够方便地监管自己的船舶。本系统仍然有许多有待改进之处,但是从不同视角将渔船监控付诸实践,是对监测系统的一种补充。
参考文献:
[1]刘广宝.浅析船舶走锚后的漂移速度[J].天津航海,2009,22(2):17-19.
[2]刘涛.浅谈船舶的走锚事故[C].中国航海科技优秀论文集,2010:19-31.
[3]杨林家,杨佐昌.船舶走锚预警系统 [J].大连海事大学学报,2005,31(2):29-32.
[4]刘玉良,周佐谕.船舶锚泊可视化远程测控系统设计[J].自动化与仪表仪器,2012,23(3):74-75.
[5]彭国均,虞金仁,黄金焰.中国海监船舶导航与监控系统的研究[J].海洋开发与管理,2006,17(4):64-69.
[6]楼苗然.51系列单片机原理及设计实例[M].北京:航空航天大学出版社,2010.
基金项目: 浙江省大学生科技创新活动计划(新苗人才计划)项目(2014R411014).
(作者单位:浙江海洋学院)
摘 要: 针对中小型船舶安全性问题,设计了船舶走锚异地监视系统,包括硬件和软件两部分,以实现最基本的船舶走锚报警功能。系统硬件包括信号采集端和接收端,其中船舶信号采集端通过GPS模块读取自身经纬度信号,由51单片机判断其距离,经GSM模块发送警告到用户手机端。其中GPS和GSM模块使用现成产品,51单片机处理程序和电路板自行设计。
关键词:走锚监测 远程控制 嵌入式系统
我国海域锚地众多,但是船舶走锚监测技术相对落后。由此带来的船舶走锚问题较为严峻。尤其是在台风登陆以及某些恶劣天气条件时,船舶走锚的可能性和危险系数都相应增大。各种安全事故例如撞船,撞桥更容易发生。本次设计着眼于个体,基于成本的考虑,着力将功能简化。在所设计的系统中,每个个体都是一个监测端,用于单一船舶的异地走锚监测。整体趋于简洁而不失实用,是一种力求简单的解决办法。同时,系统采取模块化设计,从软件和硬件两方面都能做到独立调试,让整套装置的实现能够循序渐进。
船舶走锚异地监视系统的组成
系统组成如图1所示。
图1 系统组成框图
在该系统中,设备端和用户端被GSM网络分成两大部分。用户端以手机接收短信,由于目前大部分人都已经拥有一部或者多部手机,故此处的成本将会省去。设备端以51单片机为主控电路,控制GPS模块接收经纬度数据,控制GSM模块以在需要的时候能够发送短信到手机端,同时,主控电路完成数据处理和计算功能。
1、硬件构成
系统硬件主要有五个部分,分别是印制电路板,51单片机,SIM900A GSM模块,GPS模块,锂电池,如图2所示。印制电路板通过感光蓝油法制作,抛去热转印所需要的仪器,能使电路板精度更高,但是本电路要求不是太高,故差别不大。51单片机插于电路板上的插槽,这对程序调试带来较大方便,但是如若作为成品出产,则留下隐患。SIM900A和GPS 模块可以用热熔胶直接固定,固定效果很不错。至于锂电池,为了适应GSM模块对于瞬间大电流的要求,锂电池的最大电流必须达到2A,电压则只要标准的3.7v即可。
图2 系统硬件结构图
2、软件构成
软件的构成也是基于模块化思想的。对于GPS模块来说,其启动完成并接收到一定的卫星信号,就会输出字符串,以$为开始符号,以“,”为定界符,由此便能够依据“,”来获取数据。获取到的数据存于一个名为GPS的结构体中,依次赋值。并且把该结构体声明为全局变量,方面在main()函数文件中使用。关于GSM,需要了解AT指令,将对应的字符指令同过串口输出到GSM模块引脚就能使用固定的功能,在软件的具体实现中,由于GPS是同过定时器终端来获取数据的,故如果要使用GSM模块,需要重置波特率,发送AT指令,这段实践GPS的信号无法获取,直到波特率再次重置。在单片机主程序中,使用while语句不断调用接收GPS信号的函数,从而将数据填充到GPS结构体中。同时,一旦数据有效,则记录当前经纬度,作为初始比较值。然后通过判断当前经纬度和初始经纬度的差,经过处理,便能得到距离值,一旦距离值超过某个数值,则触发GSM发送函数。
主程序大致如下:
While(1){
GET_INFO();//获取gps信息,信息存放于GPS这个结构体,结构体在此文件申明,在GPS.H里面定义
if(GPS.NS=='N' ) {
if(jljw==1){
latt1=GPS.latitude_Second;
lngg1=GPS.longitude_Second;
jljw=2;
}
}
//以上if里面的语句,用以在开机并且gps正常工作后,记录一次经度和纬度
if(distance1 >15) {
distance1= 600-distance1 ;
}
if(distance2 >15) {
distance2= 600-distance2 ;
}
term= (int)sqrt(distance1*distance1+distance2*distance2)
//此处用粗略的算法算出经纬度差值的平方和,结合实际测试时的距离显示,能够粗略了解移动距离和该值的关系。
if ((term >3) && (term <10)){ //通过改判断条件,确定是否发送短信。
if(1){ //GPS.NS=='N'
if(send_one==1){
Uart_init1(); //gsm中断
send_flag=1;
sendmeg();
Uart_Init(); //gps中断
send_flag=0;
send_one=2;
}
}
测试结果
在完成上述船舶走锚异地监视系统设计后,我们小组于2014年6月5号到10号在学校进行了3次测试和调试。
第一次发现电路板的大电流走线部分未设置好,导致GSM模块很难正常运行。第二次调试时,由于在原有电路板上进行了修改,电源部分调试通过。但是发现信号接收过慢,但是这个问题只是在启动时出现,不影响使用。另外一个问题是有一定的概率在自己还未移动时便会发送短信给用户,一旦出现此问题,只能重启。重启完成后若正常运行,则可以完成5到15米间的精度控制,即最少偏移5米,最大偏移15米,GSM信号能够给用户发送预警短信。此处的偏移并未加上GSM的响应时间5秒。
结语
本系统最大特色是成本较低,如若批量生产,可以更低。至此,一个面向中小型渔船的船舶走锚监测系统设计完成,将使渔民能够方便地监管自己的船舶。本系统仍然有许多有待改进之处,但是从不同视角将渔船监控付诸实践,是对监测系统的一种补充。
参考文献:
[1]刘广宝.浅析船舶走锚后的漂移速度[J].天津航海,2009,22(2):17-19.
[2]刘涛.浅谈船舶的走锚事故[C].中国航海科技优秀论文集,2010:19-31.
[3]杨林家,杨佐昌.船舶走锚预警系统 [J].大连海事大学学报,2005,31(2):29-32.
[4]刘玉良,周佐谕.船舶锚泊可视化远程测控系统设计[J].自动化与仪表仪器,2012,23(3):74-75.
[5]彭国均,虞金仁,黄金焰.中国海监船舶导航与监控系统的研究[J].海洋开发与管理,2006,17(4):64-69.
[6]楼苗然.51系列单片机原理及设计实例[M].北京:航空航天大学出版社,2010.
基金项目: 浙江省大学生科技创新活动计划(新苗人才计划)项目(2014R411014).
(作者单位:浙江海洋学院)