王中旺+高陳亮+馬豪陽+姚齊國
摘 要: 針對中小型船舶安全性問題,設計了船舶走錨異地監視系統,包括硬件和軟件兩部分,以實現最基本的船舶走錨報警功能。系統硬件包括信號采集端和接收端,其中船舶信號采集端通過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).
(作者單位:浙江海洋學院)endprint
摘 要: 針對中小型船舶安全性問題,設計了船舶走錨異地監視系統,包括硬件和軟件兩部分,以實現最基本的船舶走錨報警功能。系統硬件包括信號采集端和接收端,其中船舶信號采集端通過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).
(作者單位:浙江海洋學院)endprint
摘 要: 針對中小型船舶安全性問題,設計了船舶走錨異地監視系統,包括硬件和軟件兩部分,以實現最基本的船舶走錨報警功能。系統硬件包括信號采集端和接收端,其中船舶信號采集端通過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).
(作者單位:浙江海洋學院)endprint