隋美娥
(青島港灣職業(yè)技術(shù)學(xué)院 信息與電氣工程學(xué)院,山東青島,266404)
輪胎式龍門(mén)起重機(jī),簡(jiǎn)稱輪胎吊,作為港口集裝箱堆場(chǎng)裝卸的主要設(shè)備之一,其工作效率直接關(guān)乎海側(cè)的橋吊和集卡的協(xié)同作業(yè),影響船舶進(jìn)出港的效率。以青島前灣集裝箱碼頭有限公司二期堆場(chǎng)為例,如圖1所示。由于地理位置限制,部分堆場(chǎng)區(qū)域較小,而輪胎吊體積大、成本高,通常堆場(chǎng)配置的輪胎吊數(shù)量小于堆場(chǎng)分區(qū)數(shù)[1]。
圖1 青島前灣集裝箱碼頭有限公司二期堆場(chǎng)圖
多輪胎吊在箱區(qū)間調(diào)度,經(jīng)常會(huì)出現(xiàn)輪胎吊轉(zhuǎn)動(dòng)輪胎90度實(shí)現(xiàn)轉(zhuǎn)場(chǎng)的需求。輪胎吊轉(zhuǎn)場(chǎng)緩慢,每次轉(zhuǎn)場(chǎng)都要花費(fèi)8~10min,為了節(jié)能減排,在實(shí)際調(diào)度中,為使輪胎吊移動(dòng)距離和轉(zhuǎn)場(chǎng)次數(shù)較少,調(diào)度員通常會(huì)就近安排輪胎吊進(jìn)行作業(yè)。而目前,輪胎吊只有在工作時(shí)根據(jù)PLC傳回的信號(hào)才知道所在的場(chǎng)區(qū),如果輪胎吊停機(jī),調(diào)度室無(wú)法得知其位置,對(duì)現(xiàn)場(chǎng)實(shí)時(shí)調(diào)度造成很大困擾。為進(jìn)一步提高生產(chǎn)效率,降低生產(chǎn)成本,方便輪胎吊的實(shí)時(shí)調(diào)度管理,使管理者可以在電子地圖上遠(yuǎn)程監(jiān)視集裝箱堆場(chǎng)內(nèi)所有輪胎吊的工作狀態(tài)和位置,成為亟待解決的問(wèn)題。
本文為解決上述問(wèn)題,利用Arduino Mega2560單片機(jī)結(jié)合定位模塊,設(shè)計(jì)實(shí)現(xiàn)了輪胎吊實(shí)時(shí)位置監(jiān)測(cè)顯示,并進(jìn)行了實(shí)際硬件測(cè)試。
測(cè)控系統(tǒng)單元安裝在每一個(gè)輪胎吊的駕駛室上,監(jiān)控系統(tǒng)運(yùn)行于原來(lái)的箱控室內(nèi),監(jiān)控系統(tǒng)以無(wú)線通訊的方式與每一個(gè)運(yùn)動(dòng)的測(cè)控單元保持?jǐn)?shù)據(jù)雙向傳輸。堆場(chǎng)箱區(qū)與輪胎吊定位示意圖如圖2所示。在箱控室內(nèi)的操作人員可以通過(guò)監(jiān)控系統(tǒng)遠(yuǎn)程讀取目標(biāo)輪胎吊的位置信息,同時(shí),可實(shí)時(shí)發(fā)送控制命令或作業(yè)任務(wù)至輪胎吊駕駛室。當(dāng)無(wú)新的作業(yè)任務(wù)下達(dá)時(shí),監(jiān)控系統(tǒng)實(shí)時(shí)讀取輪胎吊的位置和狀態(tài)信息,并將整個(gè)工作區(qū)的輪胎吊位置顯示在電子地圖上。當(dāng)有新的作業(yè)任務(wù)時(shí),操作人員可以利用監(jiān)控系統(tǒng)的人機(jī)交互功能,向系統(tǒng)下達(dá)裝載任務(wù)。監(jiān)控系統(tǒng)可以根據(jù)作業(yè)目標(biāo)箱區(qū)的位置和各輪胎吊的實(shí)時(shí)位置和狀態(tài),根據(jù)設(shè)定的目標(biāo)要求計(jì)算出最佳的調(diào)度方案[2]。
圖2 堆場(chǎng)箱區(qū)與輪胎吊定位示意圖
測(cè)控系統(tǒng)的主要任務(wù)為通過(guò)LCD顯示屏和上位機(jī)軟件進(jìn)行輪胎吊位置信號(hào)的實(shí)時(shí)顯示。這里,要完成控制系統(tǒng)任務(wù),主要分定位檢測(cè),控制處理,顯示監(jiān)視等功能,其系統(tǒng)整體框圖如圖3所示。通過(guò)GPS天線收集衛(wèi)星信號(hào),GPS模塊獲得衛(wèi)星數(shù)據(jù)并進(jìn)行解析,從而得到經(jīng)度、維度、時(shí)間等重要信息,通過(guò)上位機(jī)接口與高德地圖進(jìn)行連接,從而獲得可視化的地理信息[3]。
圖3 系統(tǒng)整體設(shè)計(jì)框圖
(1)定位模塊:輪胎吊的位置和狀態(tài)關(guān)乎調(diào)度的有效性和科學(xué)性,因此,輪胎吊的定位研究是本項(xiàng)目的主要內(nèi)容之一。室外的運(yùn)動(dòng)物體的定位方式大多是基于GPS或北斗系統(tǒng),GPS差分的定位方式精準(zhǔn),但需要建立專用的基站,價(jià)格貴成本高。另外,單GPS模塊的價(jià)格根據(jù)定位精度不同也有很大的差別,為最大程度的降低成本,本項(xiàng)目擬采用中科微電子ATGM336H的射頻基帶一體化導(dǎo)航芯片,體積小,功耗低,定位模塊標(biāo)稱定位精度為2 5mCEP,意思有50%的概率能定在半徑為2 5m的圓內(nèi),可以滿足現(xiàn)場(chǎng)需求。且此模塊支持 BDS(北斗衛(wèi)星導(dǎo)航系統(tǒng))+GPS(美國(guó)全球定位系統(tǒng))雙模聯(lián)合定位。多模聯(lián)合定位與單 GPS 定位相比,可有效改善惡劣環(huán)境,如小區(qū)、高架等的衛(wèi)星遮擋問(wèn)題,使得定位更準(zhǔn)確,定位率更高[4]。
(2)控制模塊:控制處理采用Arduino系列的Mega2560單片機(jī),其具有54路數(shù)字輸入輸出端口,可實(shí)現(xiàn)串口通信,增加了兩個(gè)管腳SDA和SCL支持I2C接口,方便與GPS進(jìn)行通信及后續(xù)的顯示電路連接。
(3)顯示模塊:顯示單元主要完成經(jīng)緯度的顯示,這里,為使控制系統(tǒng)接線簡(jiǎn)單,這里,采用帶I2C總線的LCD1602液晶屏,不需要占用太多接口,后續(xù)隨著項(xiàng)目復(fù)雜度提高,顯示的信息增多,可以再將其替換為T(mén)FT144 128×128液晶顯示屏。
本項(xiàng)目硬件電路主要用到的模塊為,單片機(jī)Mega2560,定位模塊ATGM336H,帶I2C總線的LCD1602液晶屏,項(xiàng)目所需要用到的管腳和他們之間的連接,如表1所示,這里,Mega2560的RXD(IO0)與定位模塊的TXD連接,而定位模塊的RXD在實(shí)物連接時(shí)可以不接,但在Proteus時(shí)需連接到Mega2560的TXD(IO1)端口。帶I2C總線的LCD1602液晶顯示屏,利用芯片PF8574和LCD1602組成,集成之后,只需4根線(VCC,GND,SDA,SCL)就可以完成顯示,其中,SCL為時(shí)鐘控制線,SDA為數(shù)據(jù)線,分別接到Mega2560的SCL(IO21),SDA(IO20),其硬件接線圖如圖4所示。
表1 模塊管腳線路連接
圖4 基于Mega2560的GPS定位系統(tǒng)硬件接線圖
軟件的設(shè)計(jì)內(nèi)容包括串口通訊模塊,GPS數(shù)據(jù)的提取算法,GPS數(shù)據(jù)的保存,GPS位置的顯示。其中,GPS信號(hào)的定位檢測(cè)以及如何在LCD上顯示相應(yīng)的經(jīng)緯度信息,其軟件的控制程序流程圖,如圖5所示。
圖5 GPS信號(hào)讀取顯示程序流程圖
2.3.1 GPS 信號(hào)讀取及解析
本設(shè)計(jì)選用GPRMC格式的數(shù)據(jù)作為定位數(shù)據(jù),主要包括定位狀態(tài)判斷,經(jīng)緯度數(shù)據(jù)的提取,數(shù)據(jù)的記錄及實(shí)時(shí)顯示。為方便說(shuō)明將GPRMC格式簡(jiǎn)介如下:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>
(1)標(biāo)準(zhǔn)定位時(shí)間(UTC time)格式:時(shí)時(shí)分分秒秒 秒秒秒(hhmmss sss)。
(2)定位狀態(tài),A = 數(shù)據(jù)可用,V = 數(shù)據(jù)不可用。
(3)緯度,格式:度度分分 分分分分(ddmm mmmm)。
(4)緯度區(qū)分,北半球(N)或南半球(S)。
(5)經(jīng)度,格式:度度分分 分分分分。
(6)經(jīng)度區(qū)分,東(E)半球或西(W)半球
對(duì)于本設(shè)計(jì),用到第2~6組數(shù)據(jù),當(dāng)?shù)?組數(shù)據(jù)為字符A時(shí),說(shuō)明當(dāng)前定位是有效的,此時(shí)第3~6組數(shù)據(jù)分別是緯度信息和經(jīng)度信息。在程序?qū)崿F(xiàn)時(shí),定義Save Data 的struct結(jié)構(gòu)體將需要保存的數(shù)據(jù)進(jìn)行定義,如下所示:
struct {
char GPS_Buffer[80];
bool isGetData; //是否獲取到GPS數(shù)據(jù)
bool isParseData; //是否解析完成
char UTCTime[11]; //UTC時(shí)間
char latitude[11]; //維度
char N_S[2]; //N/S
char longitude[12]; //經(jīng)度
char E_W[2]; //E/W
bool isUsefull; //定位信息是否有效
}Save_Data;
第3組數(shù)據(jù)為維度(latitude),第4組數(shù)據(jù)為維度分區(qū)(N_S),第5組數(shù)據(jù)為經(jīng)度(longitude),第6組數(shù)據(jù)為經(jīng)度分區(qū)(E_W)。如果第2組數(shù)據(jù)是字符V時(shí),說(shuō)明當(dāng)前是無(wú)效定位。
2.3.2 LCD 顯示經(jīng)緯度信息
完成經(jīng)緯度的提取后,這一組數(shù)據(jù)被保存到電腦中的一個(gè)文件中,同時(shí),這組數(shù)據(jù)經(jīng)相應(yīng)的轉(zhuǎn)換后,被映射到地圖的相應(yīng)的位置上,這樣就實(shí)現(xiàn)了實(shí)時(shí)在線的可視顯示。LCD1602實(shí)現(xiàn)經(jīng)緯度顯示的部分代碼如下所示:
lcd setCursor(0,0); // LCD的第一行
lcd print("LAT:"); // LCD 顯示“LAT:”
lcd print(Save_Data latitude);//GPS 的緯度值
lcd print(Save_Data N_S); //GPS 的維度分區(qū)
lcd setCursor(0,1); // LCD的第二行
lcd print("LGT:"); // LCD 顯示“LGT:”
lcd print(Save_Data longitude);// //GPS 的經(jīng)度值
lcd print(Save_Data E_W); //GPS 的經(jīng)度分區(qū)
delay(10); //延時(shí)
為了驗(yàn)證設(shè)計(jì)方案的有效性,搭建了實(shí)物硬件電路并進(jìn)行了測(cè)試,實(shí)驗(yàn)場(chǎng)所為學(xué)校實(shí)驗(yàn)室,圖6為實(shí)際硬件電路與實(shí)驗(yàn)效果圖。通過(guò)實(shí)際硬件測(cè)試,LCD屏幕上可以準(zhǔn)確顯示當(dāng)前位置的經(jīng)緯度信息,將當(dāng)時(shí)實(shí)際的經(jīng)緯度與高德地圖的API接口連接,可以實(shí)時(shí)顯示其地理位置,很好的解決了定位問(wèn)題。
圖6 實(shí)際硬件電路與實(shí)驗(yàn)效果圖
本項(xiàng)目利用BDS+GPS雙模定位模塊和Mega2560單片機(jī),解決了當(dāng)前輪胎吊實(shí)時(shí)調(diào)度時(shí),無(wú)法準(zhǔn)確獲知其具體位置的難題,采用虛擬仿真和硬件實(shí)物兩種不同載體,分別驗(yàn)證了文中所述方法的有效性,為一步調(diào)度員進(jìn)行優(yōu)化調(diào)度奠定基礎(chǔ)。