哈爾濱工程大學自動化學院 高淑芬 張 影 丁聰聰
特種船作業(yè)時需要操船人員既能觀察目標,又能操船,兩者協(xié)調(diào)配合達到最佳作業(yè)效果;手操盒系統(tǒng)作為一套特殊的船控操作系統(tǒng),使操縱人員攜帶手操盒,到船旁觀察目標,根據(jù)目標離船的距離操縱船舶運動,滿足上述作業(yè)要求。手操盒通過網(wǎng)絡接收來自于傳感器系統(tǒng)DGPS、羅經(jīng)和風傳感器的信號,同時,手操盒與推力器系統(tǒng)有接口,可單獨的對船舶推力器系統(tǒng)進行控制。手操盒系統(tǒng)包括操作終端、主操縱終端等。其系統(tǒng)結(jié)構(gòu)圖如圖1所示。手操盒可根據(jù)需要通過接線端子,連接到任何一個操作終端,行使對船的操縱控制。
手操盒系統(tǒng)可實現(xiàn)的操作模式有:手動控制模式、自動艏向控制模式、自動定位模式等,甚至可以將自動舵模式加入其中。手動控制模式即人工模式,在該方式下:操縱人員通過手柄操縱船舶前進、后退、左移、右移、左旋、右旋等運動;考慮到作業(yè)區(qū)域外部環(huán)境非常復雜,極有可能超出手動控制系統(tǒng)的控制范圍,為了保證船舶的工作,需要操縱人員進入手操盒自動艏向控制模式和自動定位模式操作,主要是根據(jù)水動力和船舶的運動特性同時考慮風、流等因素的綜合影響制訂控制方法,如定向、定位等控制功能。
系統(tǒng)的控制處理器,接收來自于傳感器系統(tǒng)的信號,經(jīng)過處理后作為控制器的控制依據(jù),生成控制命令,一方面把信號傳遞給推進器系統(tǒng),另一方面通過以太網(wǎng)把信息傳遞給主操作終端在主控制室顯示相關(guān)信息;如果操作人員按下操作終端請求信號,首先通過CAN網(wǎng)絡向主操縱桿操作終端發(fā)出請求信號,主控制室將允許信號返回操作終端,這時候手操盒便可進入工作模式,選擇手動控制模式、自動艏向控制模式、自動定位模式。
手操盒是一個包括界面顯示、按鍵、指示燈、操縱桿和艏向輪的人機交互設備終端,專門為在駕駛艙外實時控制的工作人員而設計的一個控制終端設備。相對于主操縱終端系統(tǒng),其功能相對簡潔,主要包括操縱桿控制以及自動艏向輪的控制這兩個功能,除了與主操縱桿配合應用,另一方面通過CAN總線與其他的操作終端形成CAN總線網(wǎng)絡,并作為一個單獨的操作終端。
手操盒設備包括:操縱按鍵、按鍵指示燈、控制偏差報警器、船舶運動信息液晶顯示器、船舶運動操縱三軸操縱桿、方位操縱手輪/ID接口、信息通訊CAN總線接口。其硬件框如圖2。
手操盒在操縱桿系統(tǒng)中通過CAN總線與其他設備進行通信,考慮到硬件設計簡便性與穩(wěn)定性等方面因素,采用ATMEL公司的AT90CAN128系列單片機。由于船用電源為24V,一方面通過整流電源模塊把24V轉(zhuǎn)化為5V,為操作終端提供電源。同時,系統(tǒng)會時刻接收來自于按鍵、三軸操縱桿的信號,進行及時處理。
面板的按鍵為矩陣鍵盤,通過單片機對鍵值進行定時掃描,從而確定操作員輸入的命令;三軸操縱桿的縱向位移、橫向位移、轉(zhuǎn)動角度所對應的模擬信號通過單片機集成的10位AD轉(zhuǎn)化為數(shù)字量,得到相應的位置和角度信息。指示燈可由單片機I/O直接驅(qū)動,報警器電路則采用三極管驅(qū)動蜂鳴器來完成;界面采用TFT液晶進行顯示,顯示內(nèi)容為船舶的當前艏向和操作員設置的艏向,初始化信息,報警信息,工作模式等相關(guān)信息。
手操盒操作終端和主操操作終端通過CAN總線連接在起來。需要采用手操盒控制模式時,操作人員將手操盒連接到操作終端接線盒上,按下手操盒上的請求按鍵,通過CAN總線向主操操作終端主機發(fā)送請求信號,得到主操作終端的允許后,進入手操盒控制方式。手操盒操作終端進行處理,最終操作終端把所有信息顯示在手操盒液晶屏上。其控制流程如圖3所示。
本手操盒采用TFT6448BS-5.7液晶顯示器,采用5.7英寸、分辨率為640*480的真彩TFT屏,提供一個簡單的高速8位總線與單片機連接,支持256色,可直接與AVR相連,并且直接輸入X、Y坐標,無須計算地址。
該液晶采用并行總線方式,數(shù)據(jù)總線D[7:0]、地址總線A[1:0]、片選/CS、讀/RD、寫/WR,顯示屏中每個點影射顯示存儲器中的一個字節(jié),顯示屏上的X、Y坐標與顯示存儲器的地址一一對應。因此,只需輸入X、Y坐標便可直接讀寫相應點數(shù)據(jù),不用計算像素點在顯示存儲器中的地址,寫入數(shù)據(jù)后X坐標自動加1,寫滿一行后自動換行,用戶也可實現(xiàn)Y坐標自動加1。顯示存儲器的一個字節(jié)由8位構(gòu)成,顯示器屏幕上的一個“像素”點由R、G、B三個“點”來組成。一個字節(jié)對應一個像素,位分配原則是是R3-G3-B2,也就是紅色占高三位,綠色占中間三位,藍色為低2位。因此,共可顯示8種紅色,8種綠色,4種藍色。通過紅、綠、藍的混合,總共可以得到256種顏色。其基本原理如圖,DC/DC電壓變換器產(chǎn)生液晶顯示所需要的各種驅(qū)動電壓,背光驅(qū)動電路則產(chǎn)生LED背光燈所需要的供電電源。邏輯控制電路采用CPLD器件,自主研制的優(yōu)化邏輯,利用獨有的緩沖技術(shù),讓顯示與寫入數(shù)據(jù)同時進行,完全杜絕雪花現(xiàn)象,實現(xiàn)了畫面的高速更新,且互不干擾。
本系統(tǒng)采用的單片機是AVR系列單片機中功能最強的AT90CAN128。該單片機具有豐富的片內(nèi)資源如128k的Flash,4kB的內(nèi)部SRAM,51個I/O端口,可尋址64KB的地址,支持ISP下載和JTAG仿真等。由于液晶的顯示緩沖區(qū)里的內(nèi)容是不能讀出的,為了保存寫入的數(shù)據(jù),在外面還外擴了一片AT24C04,由于本單片機的資源有限,須借助外擴存儲器。AT90CAN128采用IIC總線對EEPROM進行讀寫操作,上電后首先發(fā)送保存在片內(nèi)的數(shù)據(jù),然后接受PC發(fā)送過來的數(shù)據(jù)并保存起來,再次讀取數(shù)據(jù)返回給PC,斷電后數(shù)據(jù)不丟失。IIC總線對EEPROM進行讀寫操作,其過程如下:
1)發(fā)送START信號,通過對TWCR寫入特定值,指示TWI硬件發(fā)送START信號。
2)START信號被發(fā)送之后,TWCR寄存器的TWINT標志位置位,TWCR更新為新的狀態(tài)碼,表示START信號成功發(fā)送。
圖1 手操盒系統(tǒng)組成
圖2 手操盒設備組成
圖3 控制流程圖
3)應用程序應檢驗TWSR,確定START信號已成功發(fā)送,TWINT清零,啟動地址包的傳送。
4)地址包發(fā)送后,TWCR寄存器的TWINT標志位置位,TWDR更新為新的狀態(tài)碼,表示地址包成功發(fā)送。
5)應用程序應檢驗TWSR,確認地址包已成功發(fā)送、ACK為期望值。
6)一旦TWINT清零,TWI啟動數(shù)據(jù)包發(fā)送,發(fā)送后TWCR的TWINT置位,TWSR更新為新的狀態(tài)碼,表示數(shù)據(jù)包已成功發(fā)送。
7)應用程序檢驗TWSR,確認地址包已發(fā)送,ACK為期望值。
圖4、圖5為AVR單片機對EEPROM的讀寫流程圖。
TFT的接口方式采用總線方式,外部引線包括數(shù)據(jù)總線(DB0-DB7)、片選信號(/CS)、讀寫輸入(/RD、/WR),可以直接接到單片機的總線上。
圖4 讀數(shù)據(jù)流程圖
圖5 寫數(shù)據(jù)流程圖
圖6 無環(huán)境干擾時采用模糊PID控制仿真結(jié)果
由于TFT顯示數(shù)據(jù)讀寫方式是首先必須指定行地址Y,以及列地址X。然后就可以將該行從地址X開始的數(shù)據(jù)連續(xù)進行讀寫操作,無須重新設置X和Y。在顯示數(shù)據(jù)的每次讀寫操作后,列地址X將自動加1,當?shù)刂芳拥叫形矔r,地址將跳到下一行的行首。當要讀寫一個新的行時,必須重新設置X、Y。
CMD為液晶控制寄存器,DAT為液晶數(shù)據(jù)寄存器,顯示數(shù)據(jù)通過該寄存器寫入和讀出,每次讀寫操作后地址自動沿X方向加一,一次讀寫一個像素。對液晶顯示器進行控制。
TFT的控制寄存器CMD如下:
76543210 Model1Model0EN
EN為使能位,該位為1使能8點寫模式,為0則是的單點寫的基本功能。
Mode=00:數(shù)據(jù)寄存器DAT是像素數(shù)據(jù)寫入寄存器。
Mode=01:數(shù)據(jù)寄存器DAT是前景色顏色寫入寄存器。
Mode=10:數(shù)據(jù)寄存器DAT是背景色顏色寫入寄存器。
圖7 有環(huán)境干擾時采用模糊PID控制仿真結(jié)果
Mode=11:數(shù)據(jù)寄存器DAT是亮度值寫入寄存器。
顯示函數(shù):
TFT屏的顯示是直接把數(shù)據(jù)賦給數(shù)據(jù)寄存器,然后就能顯示出來,所有我們要做的就是確定顯示的首尾地址。
在屏幕上顯示16*16點陣漢字的基本步驟是首先取得該漢字的32個字節(jié)的點陣數(shù)據(jù),再確定屏幕上顯示的位置,利用顯示函數(shù)即可顯示該漢字。由于本液晶不帶字庫,而且單片機本身的資源有有限,所以從外擴的EEPROM中讀取數(shù)組,然后再液晶上顯示。
其函數(shù)如下:
為了驗證所設計的手操盒系統(tǒng)的性能,需要將其應用于船舶控制。由于條件有限無法將控制器應用于實船上驗證,因此需要搭建動力定位控制系統(tǒng)的半實物仿真平臺,并在該平臺上采用模糊PID控制算法對船舶艏向進行控制,以此來驗證控制器效果。
本文驗證方案為在PC機上建立一個三自由度的船舶模型,在手操盒控制板與PC機通過RS232相連,通過操縱手操桿,實現(xiàn)船舶控制量與船舶狀態(tài)量之間的關(guān)系。
仿真系統(tǒng)流程如下:首先先給系統(tǒng)上電,等待系統(tǒng)產(chǎn)生的船舶當前艏向,然后與原來模型產(chǎn)生的數(shù)據(jù)進行比較,如果相等,則程序結(jié)束。
在仿真試驗中,運行有船舶模型的PC機上時刻記錄著水面船舶的艏向信息,并將該信息保存到記事本中,待仿真結(jié)束利用MATLAB繪制出艏向控制曲線,主要驗證了在有環(huán)境干擾和無環(huán)境干擾下,模糊PID對船舶的艏向控制情況如下:
PID的控制算法為:
其中,u( t)為控制器輸出量,e( t)為誤差信號,ec( t)為誤差變化率,Kp,Ki,Kd分別為比例系數(shù)、積分系數(shù)、微分系數(shù)。這種PID存在參數(shù)修改不方便不能進行自整定等特點,如果能實現(xiàn)PID參數(shù)在線自整定,那么就能進一步改善PID控制器性能,以適應控制系統(tǒng)參數(shù)變化和工作條件的變化。
(1)無環(huán)境干擾時的艏向、北向控制仿真
試驗過程中,未加入風、浪和海流環(huán)境干擾力,比較了采用模糊PID算法將船舶艏向控制到10°時的變化情況,分別如圖6所示。
(2)有環(huán)境干擾時的艏向、北向控制仿真
試驗過程中,風速以17m/s從120°的方向吹向船舶,流速為0.3m/s,方向為90°,比較了采用模糊PID控制艏向角為10°時的控制曲線,如圖7。
手操盒作為一種特殊的船控終端操作系統(tǒng),在需要人為操作時才進行工作,擁有良好的人機交互界面。液晶顯示界面程序均在ICCAVR編譯器里調(diào)試通過,實現(xiàn)了在液晶屏幕上正常顯示各種顏色的漢字、英文、數(shù)字及簡單的圖形功能,采用本液晶模塊,達到了顯示穩(wěn)定,顯示色彩豐富,人機界面友好的較理想的顯示效果。
[1]劉樹中,孫書鷹,王春平.單片機和液晶顯示驅(qū)動器串行接口的實現(xiàn)[J].單片機開發(fā)和應用,2007,23(1):137-141.
[2]汪川,樊明澤.基于單片機的HT1621液晶顯示系統(tǒng)設計[J].現(xiàn)代電子技術(shù),2010,334(23):165-167.
[3]林孝工,施小成,邊信黔.工作母船綜合操縱系統(tǒng)副控臺控制與顯示方法[J].船電技術(shù),2004,1:278-301.
[4]褚東升,元慶剛,岳成亮.基于AVR單片機的VRAM型彩色液晶顯示模塊設計[J].液晶與顯示,2005,20(5):435-439.
[5]馬成,何培祥,李慶東.圖形點陣式液晶顯示模塊與51單片機接口設計[J].應用天地,2007,26(5):76-79.
[6]沈建良,趙文宏,賈玉坤,王華東,胡克佳.ATmega128單片機入門與提高[M].北京:北京航空航天大學出版社,2009.
[7]劉彬,韓進.基于單片機的液晶顯示觸摸屏控制設計[J].液晶與顯示,2010,25(2):241-244.
[8]陳京培,徐永梅.基于AT89S52單片機的液晶顯示控制電路設計[J].電路設計,2008,285(22):22-25.
[9]許思達.基于51單片機的TFT液晶顯示設計[J].電子元器件應用,2010,12(10):38-44.