王中旺+高陳亮+馬豪陽+姚齊國
摘 要: 針對中小型船舶安全性問題,設(shè)計了船舶走錨異地監(jiān)視系統(tǒng),包括硬件和軟件兩部分,以實現(xiàn)最基本的船舶走錨報警功能。系統(tǒng)硬件包括信號采集端和接收端,其中船舶信號采集端通過GPS模塊讀取自身經(jīng)緯度信號,由51單片機判斷其距離,經(jīng)GSM模塊發(fā)送警告到用戶手機端。其中GPS和GSM模塊使用現(xiàn)成產(chǎn)品,51單片機處理程序和電路板自行設(shè)計。
關(guān)鍵詞:走錨監(jiān)測 遠程控制 嵌入式系統(tǒng)
我國海域錨地眾多,但是船舶走錨監(jiān)測技術(shù)相對落后。由此帶來的船舶走錨問題較為嚴峻。尤其是在臺風登陸以及某些惡劣天氣條件時,船舶走錨的可能性和危險系數(shù)都相應(yīng)增大。各種安全事故例如撞船,撞橋更容易發(fā)生。本次設(shè)計著眼于個體,基于成本的考慮,著力將功能簡化。在所設(shè)計的系統(tǒng)中,每個個體都是一個監(jiān)測端,用于單一船舶的異地走錨監(jiān)測。整體趨于簡潔而不失實用,是一種力求簡單的解決辦法。同時,系統(tǒng)采取模塊化設(shè)計,從軟件和硬件兩方面都能做到獨立調(diào)試,讓整套裝置的實現(xiàn)能夠循序漸進。
船舶走錨異地監(jiān)視系統(tǒng)的組成
系統(tǒng)組成如圖1所示。
圖1 系統(tǒng)組成框圖
在該系統(tǒng)中,設(shè)備端和用戶端被GSM網(wǎng)絡(luò)分成兩大部分。用戶端以手機接收短信,由于目前大部分人都已經(jīng)擁有一部或者多部手機,故此處的成本將會省去。設(shè)備端以51單片機為主控電路,控制GPS模塊接收經(jīng)緯度數(shù)據(jù),控制GSM模塊以在需要的時候能夠發(fā)送短信到手機端,同時,主控電路完成數(shù)據(jù)處理和計算功能。
1、硬件構(gòu)成
系統(tǒng)硬件主要有五個部分,分別是印制電路板,51單片機,SIM900A GSM模塊,GPS模塊,鋰電池,如圖2所示。印制電路板通過感光藍油法制作,拋去熱轉(zhuǎn)印所需要的儀器,能使電路板精度更高,但是本電路要求不是太高,故差別不大。51單片機插于電路板上的插槽,這對程序調(diào)試帶來較大方便,但是如若作為成品出產(chǎn),則留下隱患。SIM900A和GPS 模塊可以用熱熔膠直接固定,固定效果很不錯。至于鋰電池,為了適應(yīng)GSM模塊對于瞬間大電流的要求,鋰電池的最大電流必須達到2A,電壓則只要標準的3.7v即可。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖
2、軟件構(gòu)成
軟件的構(gòu)成也是基于模塊化思想的。對于GPS模塊來說,其啟動完成并接收到一定的衛(wèi)星信號,就會輸出字符串,以$為開始符號,以“,”為定界符,由此便能夠依據(jù)“,”來獲取數(shù)據(jù)。獲取到的數(shù)據(jù)存于一個名為GPS的結(jié)構(gòu)體中,依次賦值。并且把該結(jié)構(gòu)體聲明為全局變量,方面在main()函數(shù)文件中使用。關(guān)于GSM,需要了解AT指令,將對應(yīng)的字符指令同過串口輸出到GSM模塊引腳就能使用固定的功能,在軟件的具體實現(xiàn)中,由于GPS是同過定時器終端來獲取數(shù)據(jù)的,故如果要使用GSM模塊,需要重置波特率,發(fā)送AT指令,這段實踐GPS的信號無法獲取,直到波特率再次重置。在單片機主程序中,使用while語句不斷調(diào)用接收GPS信號的函數(shù),從而將數(shù)據(jù)填充到GPS結(jié)構(gòu)體中。同時,一旦數(shù)據(jù)有效,則記錄當前經(jīng)緯度,作為初始比較值。然后通過判斷當前經(jīng)緯度和初始經(jīng)緯度的差,經(jīng)過處理,便能得到距離值,一旦距離值超過某個數(shù)值,則觸發(fā)GSM發(fā)送函數(shù)。
主程序大致如下:
While(1){
GET_INFO();//獲取gps信息,信息存放于GPS這個結(jié)構(gòu)體,結(jié)構(gòu)體在此文件申明,在GPS.H里面定義
if(GPS.NS=='N' ) {
if(jljw==1){
latt1=GPS.latitude_Second;
lngg1=GPS.longitude_Second;
jljw=2;
}
}
//以上if里面的語句,用以在開機并且gps正常工作后,記錄一次經(jīng)度和緯度
if(distance1 >15) {
distance1= 600-distance1 ;
}
if(distance2 >15) {
distance2= 600-distance2 ;
}
term= (int)sqrt(distance1*distance1+distance2*distance2)
//此處用粗略的算法算出經(jīng)緯度差值的平方和,結(jié)合實際測試時的距離顯示,能夠粗略了解移動距離和該值的關(guān)系。
if ((term >3) && (term <10)){ //通過改判斷條件,確定是否發(fā)送短信。
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;
}
}
測試結(jié)果
在完成上述船舶走錨異地監(jiān)視系統(tǒng)設(shè)計后,我們小組于2014年6月5號到10號在學校進行了3次測試和調(diào)試。
第一次發(fā)現(xiàn)電路板的大電流走線部分未設(shè)置好,導(dǎo)致GSM模塊很難正常運行。第二次調(diào)試時,由于在原有電路板上進行了修改,電源部分調(diào)試通過。但是發(fā)現(xiàn)信號接收過慢,但是這個問題只是在啟動時出現(xiàn),不影響使用。另外一個問題是有一定的概率在自己還未移動時便會發(fā)送短信給用戶,一旦出現(xiàn)此問題,只能重啟。重啟完成后若正常運行,則可以完成5到15米間的精度控制,即最少偏移5米,最大偏移15米,GSM信號能夠給用戶發(fā)送預(yù)警短信。此處的偏移并未加上GSM的響應(yīng)時間5秒。
結(jié)語
本系統(tǒng)最大特色是成本較低,如若批量生產(chǎn),可以更低。至此,一個面向中小型漁船的船舶走錨監(jiān)測系統(tǒng)設(shè)計完成,將使?jié)O民能夠方便地監(jiān)管自己的船舶。本系統(tǒng)仍然有許多有待改進之處,但是從不同視角將漁船監(jiān)控付諸實踐,是對監(jiān)測系統(tǒng)的一種補充。
參考文獻:
[1]劉廣寶.淺析船舶走錨后的漂移速度[J].天津航海,2009,22(2):17-19.
[2]劉濤.淺談船舶的走錨事故[C].中國航海科技優(yōu)秀論文集,2010:19-31.
[3]楊林家,楊佐昌.船舶走錨預(yù)警系統(tǒng) [J].大連海事大學學報,2005,31(2):29-32.
[4]劉玉良,周佐諭.船舶錨泊可視化遠程測控系統(tǒng)設(shè)計[J].自動化與儀表儀器,2012,23(3):74-75.
[5]彭國均,虞金仁,黃金焰.中國海監(jiān)船舶導(dǎo)航與監(jiān)控系統(tǒng)的研究[J].海洋開發(fā)與管理,2006,17(4):64-69.
[6]樓苗然.51系列單片機原理及設(shè)計實例[M].北京:航空航天大學出版社,2010.
基金項目: 浙江省大學生科技創(chuàng)新活動計劃(新苗人才計劃)項目(2014R411014).
(作者單位:浙江海洋學院)endprint
摘 要: 針對中小型船舶安全性問題,設(shè)計了船舶走錨異地監(jiān)視系統(tǒng),包括硬件和軟件兩部分,以實現(xiàn)最基本的船舶走錨報警功能。系統(tǒng)硬件包括信號采集端和接收端,其中船舶信號采集端通過GPS模塊讀取自身經(jīng)緯度信號,由51單片機判斷其距離,經(jīng)GSM模塊發(fā)送警告到用戶手機端。其中GPS和GSM模塊使用現(xiàn)成產(chǎn)品,51單片機處理程序和電路板自行設(shè)計。
關(guān)鍵詞:走錨監(jiān)測 遠程控制 嵌入式系統(tǒng)
我國海域錨地眾多,但是船舶走錨監(jiān)測技術(shù)相對落后。由此帶來的船舶走錨問題較為嚴峻。尤其是在臺風登陸以及某些惡劣天氣條件時,船舶走錨的可能性和危險系數(shù)都相應(yīng)增大。各種安全事故例如撞船,撞橋更容易發(fā)生。本次設(shè)計著眼于個體,基于成本的考慮,著力將功能簡化。在所設(shè)計的系統(tǒng)中,每個個體都是一個監(jiān)測端,用于單一船舶的異地走錨監(jiān)測。整體趨于簡潔而不失實用,是一種力求簡單的解決辦法。同時,系統(tǒng)采取模塊化設(shè)計,從軟件和硬件兩方面都能做到獨立調(diào)試,讓整套裝置的實現(xiàn)能夠循序漸進。
船舶走錨異地監(jiān)視系統(tǒng)的組成
系統(tǒng)組成如圖1所示。
圖1 系統(tǒng)組成框圖
在該系統(tǒng)中,設(shè)備端和用戶端被GSM網(wǎng)絡(luò)分成兩大部分。用戶端以手機接收短信,由于目前大部分人都已經(jīng)擁有一部或者多部手機,故此處的成本將會省去。設(shè)備端以51單片機為主控電路,控制GPS模塊接收經(jīng)緯度數(shù)據(jù),控制GSM模塊以在需要的時候能夠發(fā)送短信到手機端,同時,主控電路完成數(shù)據(jù)處理和計算功能。
1、硬件構(gòu)成
系統(tǒng)硬件主要有五個部分,分別是印制電路板,51單片機,SIM900A GSM模塊,GPS模塊,鋰電池,如圖2所示。印制電路板通過感光藍油法制作,拋去熱轉(zhuǎn)印所需要的儀器,能使電路板精度更高,但是本電路要求不是太高,故差別不大。51單片機插于電路板上的插槽,這對程序調(diào)試帶來較大方便,但是如若作為成品出產(chǎn),則留下隱患。SIM900A和GPS 模塊可以用熱熔膠直接固定,固定效果很不錯。至于鋰電池,為了適應(yīng)GSM模塊對于瞬間大電流的要求,鋰電池的最大電流必須達到2A,電壓則只要標準的3.7v即可。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖
2、軟件構(gòu)成
軟件的構(gòu)成也是基于模塊化思想的。對于GPS模塊來說,其啟動完成并接收到一定的衛(wèi)星信號,就會輸出字符串,以$為開始符號,以“,”為定界符,由此便能夠依據(jù)“,”來獲取數(shù)據(jù)。獲取到的數(shù)據(jù)存于一個名為GPS的結(jié)構(gòu)體中,依次賦值。并且把該結(jié)構(gòu)體聲明為全局變量,方面在main()函數(shù)文件中使用。關(guān)于GSM,需要了解AT指令,將對應(yīng)的字符指令同過串口輸出到GSM模塊引腳就能使用固定的功能,在軟件的具體實現(xiàn)中,由于GPS是同過定時器終端來獲取數(shù)據(jù)的,故如果要使用GSM模塊,需要重置波特率,發(fā)送AT指令,這段實踐GPS的信號無法獲取,直到波特率再次重置。在單片機主程序中,使用while語句不斷調(diào)用接收GPS信號的函數(shù),從而將數(shù)據(jù)填充到GPS結(jié)構(gòu)體中。同時,一旦數(shù)據(jù)有效,則記錄當前經(jīng)緯度,作為初始比較值。然后通過判斷當前經(jīng)緯度和初始經(jīng)緯度的差,經(jīng)過處理,便能得到距離值,一旦距離值超過某個數(shù)值,則觸發(fā)GSM發(fā)送函數(shù)。
主程序大致如下:
While(1){
GET_INFO();//獲取gps信息,信息存放于GPS這個結(jié)構(gòu)體,結(jié)構(gòu)體在此文件申明,在GPS.H里面定義
if(GPS.NS=='N' ) {
if(jljw==1){
latt1=GPS.latitude_Second;
lngg1=GPS.longitude_Second;
jljw=2;
}
}
//以上if里面的語句,用以在開機并且gps正常工作后,記錄一次經(jīng)度和緯度
if(distance1 >15) {
distance1= 600-distance1 ;
}
if(distance2 >15) {
distance2= 600-distance2 ;
}
term= (int)sqrt(distance1*distance1+distance2*distance2)
//此處用粗略的算法算出經(jīng)緯度差值的平方和,結(jié)合實際測試時的距離顯示,能夠粗略了解移動距離和該值的關(guān)系。
if ((term >3) && (term <10)){ //通過改判斷條件,確定是否發(fā)送短信。
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;
}
}
測試結(jié)果
在完成上述船舶走錨異地監(jiān)視系統(tǒng)設(shè)計后,我們小組于2014年6月5號到10號在學校進行了3次測試和調(diào)試。
第一次發(fā)現(xiàn)電路板的大電流走線部分未設(shè)置好,導(dǎo)致GSM模塊很難正常運行。第二次調(diào)試時,由于在原有電路板上進行了修改,電源部分調(diào)試通過。但是發(fā)現(xiàn)信號接收過慢,但是這個問題只是在啟動時出現(xiàn),不影響使用。另外一個問題是有一定的概率在自己還未移動時便會發(fā)送短信給用戶,一旦出現(xiàn)此問題,只能重啟。重啟完成后若正常運行,則可以完成5到15米間的精度控制,即最少偏移5米,最大偏移15米,GSM信號能夠給用戶發(fā)送預(yù)警短信。此處的偏移并未加上GSM的響應(yīng)時間5秒。
結(jié)語
本系統(tǒng)最大特色是成本較低,如若批量生產(chǎn),可以更低。至此,一個面向中小型漁船的船舶走錨監(jiān)測系統(tǒng)設(shè)計完成,將使?jié)O民能夠方便地監(jiān)管自己的船舶。本系統(tǒng)仍然有許多有待改進之處,但是從不同視角將漁船監(jiān)控付諸實踐,是對監(jiān)測系統(tǒng)的一種補充。
參考文獻:
[1]劉廣寶.淺析船舶走錨后的漂移速度[J].天津航海,2009,22(2):17-19.
[2]劉濤.淺談船舶的走錨事故[C].中國航??萍純?yōu)秀論文集,2010:19-31.
[3]楊林家,楊佐昌.船舶走錨預(yù)警系統(tǒng) [J].大連海事大學學報,2005,31(2):29-32.
[4]劉玉良,周佐諭.船舶錨泊可視化遠程測控系統(tǒng)設(shè)計[J].自動化與儀表儀器,2012,23(3):74-75.
[5]彭國均,虞金仁,黃金焰.中國海監(jiān)船舶導(dǎo)航與監(jiān)控系統(tǒng)的研究[J].海洋開發(fā)與管理,2006,17(4):64-69.
[6]樓苗然.51系列單片機原理及設(shè)計實例[M].北京:航空航天大學出版社,2010.
基金項目: 浙江省大學生科技創(chuàng)新活動計劃(新苗人才計劃)項目(2014R411014).
(作者單位:浙江海洋學院)endprint
摘 要: 針對中小型船舶安全性問題,設(shè)計了船舶走錨異地監(jiān)視系統(tǒng),包括硬件和軟件兩部分,以實現(xiàn)最基本的船舶走錨報警功能。系統(tǒng)硬件包括信號采集端和接收端,其中船舶信號采集端通過GPS模塊讀取自身經(jīng)緯度信號,由51單片機判斷其距離,經(jīng)GSM模塊發(fā)送警告到用戶手機端。其中GPS和GSM模塊使用現(xiàn)成產(chǎn)品,51單片機處理程序和電路板自行設(shè)計。
關(guān)鍵詞:走錨監(jiān)測 遠程控制 嵌入式系統(tǒng)
我國海域錨地眾多,但是船舶走錨監(jiān)測技術(shù)相對落后。由此帶來的船舶走錨問題較為嚴峻。尤其是在臺風登陸以及某些惡劣天氣條件時,船舶走錨的可能性和危險系數(shù)都相應(yīng)增大。各種安全事故例如撞船,撞橋更容易發(fā)生。本次設(shè)計著眼于個體,基于成本的考慮,著力將功能簡化。在所設(shè)計的系統(tǒng)中,每個個體都是一個監(jiān)測端,用于單一船舶的異地走錨監(jiān)測。整體趨于簡潔而不失實用,是一種力求簡單的解決辦法。同時,系統(tǒng)采取模塊化設(shè)計,從軟件和硬件兩方面都能做到獨立調(diào)試,讓整套裝置的實現(xiàn)能夠循序漸進。
船舶走錨異地監(jiān)視系統(tǒng)的組成
系統(tǒng)組成如圖1所示。
圖1 系統(tǒng)組成框圖
在該系統(tǒng)中,設(shè)備端和用戶端被GSM網(wǎng)絡(luò)分成兩大部分。用戶端以手機接收短信,由于目前大部分人都已經(jīng)擁有一部或者多部手機,故此處的成本將會省去。設(shè)備端以51單片機為主控電路,控制GPS模塊接收經(jīng)緯度數(shù)據(jù),控制GSM模塊以在需要的時候能夠發(fā)送短信到手機端,同時,主控電路完成數(shù)據(jù)處理和計算功能。
1、硬件構(gòu)成
系統(tǒng)硬件主要有五個部分,分別是印制電路板,51單片機,SIM900A GSM模塊,GPS模塊,鋰電池,如圖2所示。印制電路板通過感光藍油法制作,拋去熱轉(zhuǎn)印所需要的儀器,能使電路板精度更高,但是本電路要求不是太高,故差別不大。51單片機插于電路板上的插槽,這對程序調(diào)試帶來較大方便,但是如若作為成品出產(chǎn),則留下隱患。SIM900A和GPS 模塊可以用熱熔膠直接固定,固定效果很不錯。至于鋰電池,為了適應(yīng)GSM模塊對于瞬間大電流的要求,鋰電池的最大電流必須達到2A,電壓則只要標準的3.7v即可。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖
2、軟件構(gòu)成
軟件的構(gòu)成也是基于模塊化思想的。對于GPS模塊來說,其啟動完成并接收到一定的衛(wèi)星信號,就會輸出字符串,以$為開始符號,以“,”為定界符,由此便能夠依據(jù)“,”來獲取數(shù)據(jù)。獲取到的數(shù)據(jù)存于一個名為GPS的結(jié)構(gòu)體中,依次賦值。并且把該結(jié)構(gòu)體聲明為全局變量,方面在main()函數(shù)文件中使用。關(guān)于GSM,需要了解AT指令,將對應(yīng)的字符指令同過串口輸出到GSM模塊引腳就能使用固定的功能,在軟件的具體實現(xiàn)中,由于GPS是同過定時器終端來獲取數(shù)據(jù)的,故如果要使用GSM模塊,需要重置波特率,發(fā)送AT指令,這段實踐GPS的信號無法獲取,直到波特率再次重置。在單片機主程序中,使用while語句不斷調(diào)用接收GPS信號的函數(shù),從而將數(shù)據(jù)填充到GPS結(jié)構(gòu)體中。同時,一旦數(shù)據(jù)有效,則記錄當前經(jīng)緯度,作為初始比較值。然后通過判斷當前經(jīng)緯度和初始經(jīng)緯度的差,經(jīng)過處理,便能得到距離值,一旦距離值超過某個數(shù)值,則觸發(fā)GSM發(fā)送函數(shù)。
主程序大致如下:
While(1){
GET_INFO();//獲取gps信息,信息存放于GPS這個結(jié)構(gòu)體,結(jié)構(gòu)體在此文件申明,在GPS.H里面定義
if(GPS.NS=='N' ) {
if(jljw==1){
latt1=GPS.latitude_Second;
lngg1=GPS.longitude_Second;
jljw=2;
}
}
//以上if里面的語句,用以在開機并且gps正常工作后,記錄一次經(jīng)度和緯度
if(distance1 >15) {
distance1= 600-distance1 ;
}
if(distance2 >15) {
distance2= 600-distance2 ;
}
term= (int)sqrt(distance1*distance1+distance2*distance2)
//此處用粗略的算法算出經(jīng)緯度差值的平方和,結(jié)合實際測試時的距離顯示,能夠粗略了解移動距離和該值的關(guān)系。
if ((term >3) && (term <10)){ //通過改判斷條件,確定是否發(fā)送短信。
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;
}
}
測試結(jié)果
在完成上述船舶走錨異地監(jiān)視系統(tǒng)設(shè)計后,我們小組于2014年6月5號到10號在學校進行了3次測試和調(diào)試。
第一次發(fā)現(xiàn)電路板的大電流走線部分未設(shè)置好,導(dǎo)致GSM模塊很難正常運行。第二次調(diào)試時,由于在原有電路板上進行了修改,電源部分調(diào)試通過。但是發(fā)現(xiàn)信號接收過慢,但是這個問題只是在啟動時出現(xiàn),不影響使用。另外一個問題是有一定的概率在自己還未移動時便會發(fā)送短信給用戶,一旦出現(xiàn)此問題,只能重啟。重啟完成后若正常運行,則可以完成5到15米間的精度控制,即最少偏移5米,最大偏移15米,GSM信號能夠給用戶發(fā)送預(yù)警短信。此處的偏移并未加上GSM的響應(yīng)時間5秒。
結(jié)語
本系統(tǒng)最大特色是成本較低,如若批量生產(chǎn),可以更低。至此,一個面向中小型漁船的船舶走錨監(jiān)測系統(tǒng)設(shè)計完成,將使?jié)O民能夠方便地監(jiān)管自己的船舶。本系統(tǒng)仍然有許多有待改進之處,但是從不同視角將漁船監(jiān)控付諸實踐,是對監(jiān)測系統(tǒng)的一種補充。
參考文獻:
[1]劉廣寶.淺析船舶走錨后的漂移速度[J].天津航海,2009,22(2):17-19.
[2]劉濤.淺談船舶的走錨事故[C].中國航??萍純?yōu)秀論文集,2010:19-31.
[3]楊林家,楊佐昌.船舶走錨預(yù)警系統(tǒng) [J].大連海事大學學報,2005,31(2):29-32.
[4]劉玉良,周佐諭.船舶錨泊可視化遠程測控系統(tǒng)設(shè)計[J].自動化與儀表儀器,2012,23(3):74-75.
[5]彭國均,虞金仁,黃金焰.中國海監(jiān)船舶導(dǎo)航與監(jiān)控系統(tǒng)的研究[J].海洋開發(fā)與管理,2006,17(4):64-69.
[6]樓苗然.51系列單片機原理及設(shè)計實例[M].北京:航空航天大學出版社,2010.
基金項目: 浙江省大學生科技創(chuàng)新活動計劃(新苗人才計劃)項目(2014R411014).
(作者單位:浙江海洋學院)endprint