航跡儀是艦船實時標繪海圖、自動完成海圖作業(yè)的導航設備。在研制航跡儀的過程中,由于各個傳動零件的尺寸公差分配不合理,導致繪圖精度低。為確保繪圖精度,對航跡儀傳動鏈進行了空程誤差和傳動誤差的分析計算,合理分配各零件的尺寸公差,大大提高了航跡儀的精度,是一種由GPS接收機、監(jiān)視器、電子海圖控制系統(tǒng)組成的船用航跡儀。
GPS接收機通過導線連接到電子海圖控制系統(tǒng)的輸入端,電子海圖控制系統(tǒng)的輸出端連接監(jiān)視器的輸入端,其特征在于:監(jiān)視器采用彩色監(jiān)視器;電子海圖控制系統(tǒng)是由中心處理器、顯示控制器、地址開關電路、并串轉換器、數據鎖存器、隨機存儲器、地址鎖存器及只讀存儲器組成,中心處理器的P0口的輸出端分別連接只讀存儲器、數據鎖存器、地址鎖存器、隨機存儲器的信號輸入端;只讀存儲器的信號輸入端連接地址鎖存器的信號輸入端;數據鎖存器的信號輸出端連接隨機存儲器的輸入端;地址開關電路的信號輸入端分別連接地址鎖存器的輸出端和顯示控制器的一個信號輸出端,其信號輸出端連接隨機存儲器的輸入端;顯示控制器同步信號輸出端外接彩色監(jiān)視器的同步信號輸入端;并串轉換器信號輸入端連接隨機存儲器的信號輸出端,其信號輸出端外接彩色監(jiān)視器。
1 航跡儀工作原理
航跡儀的工作過程是在計算機控制下進行的。首先,使鍵盤處于開放狀態(tài),通過移筆鍵和自檢鍵簡單檢查繪圖功能;然后,由綜導顯控臺裝海圖并向航跡儀發(fā)出裝海圖命令,由此航跡儀自動進入跟蹤狀態(tài)。船舶航跡的實時標繪是通過實時接收由綜導顯控臺發(fā)送的緯度、經度值及各種繪圖命令,通過數學模型的解算及直線插補運算后,產生步進電機的控制脈沖序列,經功放電路驅動電動機執(zhí)行。
傳統(tǒng)的航跡儀系統(tǒng)有一定的局限性,存在有待改進之處:(1)傳統(tǒng)的航跡儀系統(tǒng)的接口、控制、傳動等部分采用分立式設計,占用了大量的空間,且價格較貴。(2)隨著導航數據信息化程度的提高,設備間的通訊越發(fā)頻繁,信息量亦隨之增大,使用單一的串行口通訊已不能滿足系統(tǒng)要求。(3)航跡儀與綜導臺使用同一操作界面,缺少獨立的人機交互系統(tǒng)。(4)傳統(tǒng)的航跡儀為開環(huán)系統(tǒng),無檢測反饋裝置,影響了走筆的精度。(5)接口板的設計動態(tài)初始化要求嚴格,不能完全滿足實時性要求。
2 航跡儀系統(tǒng)的硬件設計
2.1 硬件系統(tǒng)的總體構成
航跡儀微機控制系統(tǒng)是以ARM處理器S3C44B0X模塊為中心的控制系統(tǒng)。ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。技術具有性能高、成本低和能耗省的特點。適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。ARM是微處理器行業(yè)的一家知名企業(yè),設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。技術具有性能高、成本低和能耗省的特點。適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。系統(tǒng)的硬件結構如圖1所示。
2.2 S3C44B0X主板
傳統(tǒng)的航跡儀采用嵌入式PC/104模塊為核心控制系統(tǒng)。系統(tǒng)的接口、控制、傳動等部分采用分立式設計,占用的空間較大,且價格昂貴。因此在改進設計中使用基于Samsung公司生產的ARM處理器S3C44B0X芯片。由于使用基于芯片開發(fā)的主板提高設計開發(fā)的靈活性,為本系統(tǒng)所專用,因此所用接口、外設均為自主設計的電路,節(jié)省了不必要的開銷。
S3C44B0X主板主要包括CPU模塊及其輔助電路、存儲器系統(tǒng)模塊、通信模塊、系統(tǒng)調試模塊、人機接口模塊及擴展總線部分。
主板外接CAN總線控制器及總線驅動器等設備,接收CAN總線上由綜合導航顯控臺發(fā)送的實時位置、航向信息;通過人機接口接收到的觸摸屏發(fā)送的控制信息,經處理后將控制命令(主要是控制脈沖頻率、脈沖個數、開始停止等命令)通過擴展I/O口發(fā)送給接口板,CAN是控制器局域網絡(Controller Area Network, CAN)的簡稱,是由研發(fā)和生產汽車電子產品著稱的德國BOSCH公司開發(fā)了的,并最終成為國際標準(ISO118?8)。是國際上應用最廣泛的現場總線之一。 在北美和西歐,CAN總線協(xié)議已經成為汽車計算機控制系統(tǒng)和嵌入式工業(yè)控制局域網的標準總線,并且擁有以CAN為底層協(xié)議專為大型貨車和重工機械車輛設計的J1939協(xié)議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強和振動大的工業(yè)環(huán)境。
2.3 XC2S50接口板
傳統(tǒng)航跡儀使用接口板CDT800,其中包括 Am9513計數器與μPD71055I/O接口。CDT800為成品接口板,其計數器Am9513相關資料相對有限,且動態(tài)初始化要求嚴格,在實際應用過程中,對系統(tǒng)資源的占用過大,嚴重影響系統(tǒng)的實時性。
XC2S50接口板包括FPGA芯片XC2S50、配置芯片18V01、輸出驅動芯片SN74LS244及外部接口電路。其原理圖見圖2。
接口板的主要功能是:接收S3C44B0X主板通過數據總線發(fā)送的數據命令信息(包括:X、Y方向的分頻值、脈沖個數、運行方向,以及開始/終止運行、抬落筆、報警等),經FPGA芯片XC2S50處理后,轉化為相應頻率的脈沖信號;再經輸出驅動芯片SN74LS244,通過接口HJY傳遞給X、Y向的步進電機驅動器。
2.4 步進電機及其驅動器
航跡儀控制系統(tǒng)對快速性及定位精度均有很高的要求??紤]到系統(tǒng)是針對數字量及位移的控制系統(tǒng),因此選用步進電機作為其執(zhí)行元件。步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進電機件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度,稱為“步距角”,它的旋轉是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。雖然步進電機已被廣泛地應用,但步進電機并不能象普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅動電路等組成控制系統(tǒng)方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業(yè)知識。步進電機作為執(zhí)行元件,是機電一體化的關鍵產品之一, 廣泛應用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術的發(fā)展,步進電機的需求量與日俱增,在各個國民經濟領域都有應用。
系統(tǒng)要求繪筆繪制大量細小折線,這就要求電機工作在低頻區(qū)且需要頻繁地執(zhí)行起動、停止、調速等操作。因此步進電機極易出現低頻振蕩,產生工作噪音,影響繪筆的穩(wěn)定性及標繪精度。
本設計選用RORZE公司生產的5相混合式步進電機M56853D及相應的5相細分步步進電機驅動器RD-0534M。
步進電機M56853D各技術參數:
最大靜轉矩Mk=8.0kg·cm;電流I=3.5A/相;轉子轉動慣量Jr=0.240g·cm·S2;步距角(整步時)θb= = 0.72°;容許徑向負載10.5kg;容許軸向負載1.5kg;轉子齒數Zr=100。
細分驅動器RD-0534M各技術參數:
供電電壓 DC18V~40V;細分數選用m=80;最大響應頻率fMAX=500kpps,則可獲得最大轉速nMAX=60000/m=750r/min
改進后航跡儀系統(tǒng)電機步距角變?yōu)樵到y(tǒng)的1/80,步距分辨率及控制脈沖頻率均得到提高。提高后的控制脈沖頻率大大超過了自由振動頻率f0,從而避免了系統(tǒng)的低頻振蕩。
2.5 電磁感應式數字化板
傳統(tǒng)的航跡儀為開環(huán)系統(tǒng),無檢測反饋裝置。改進設計中增添了數字化板。這一反饋模塊,構成了一套完整的閉環(huán)控制系統(tǒng),增強了穩(wěn)定性,降低了誤差。
數字化板的工作原理:在標繪儀的繪圖平板上布上導線形成格柵,把電磁發(fā)射線圈安裝到繪筆上,此時把線圈圓心和繪筆圓心標定在同一直線上;繪筆在平板上繪圖,而線圈不斷發(fā)射磁場脈沖,導線切割磁場產生感應電流,通過接收電路和信號處理電路得到繪筆在繪圖平臺上的相對位置(繪筆位置)。數字化板工作原理如圖3所示。
3 航跡儀系統(tǒng)的軟件設計
3.1 S3C44B0X主板部分的軟件設計
操作系統(tǒng)是控制和管理計算機軟硬件資源、合理組織計算機工作流程、方便用戶的程序集合。航跡儀功能的完成,很大程度上取決于操作系統(tǒng)軟件平臺的選擇和應用程序的編制。
主板軟件系統(tǒng)主要由主程序、命令解釋部分、底層部分組成。其中,主程序到命令解釋部分的調用通過函數shibie( )進行;命令解釋部分到底層部分的調用通過函數zxcb( )進行。
3.1.1 主程序
主程序主要對綜導臺命令和觸摸屏命令進行管理、調度。程序執(zhí)行過程中查詢隨機命令數和推位命令數這兩個變量。變量小于等于零時,沒有綜導臺命令,程序查詢觸摸屏有無按下及鍵值,執(zhí)行響應操作。當兩個變量大于零,說明有了綜導臺命令,就會自動進入跟蹤狀態(tài)。在跟蹤狀態(tài),不響應觸摸屏命令,控制程序只查詢有無隨機命令及推位命令,轉入響應的命令解釋程序。
3.1.2 命令解釋部分
命令解釋部分主要功能:通過函數shibie( )對每一條命令進行識別及格式檢查。對于隨機命令和推位命令,每從CAN總線上接收一條命令,相應的命令條數加1。每執(zhí)行完一條,相應的命令條數減1,同時指向下一條。只要這兩個變量不為零,就說明有綜導臺命令未處理。通過檢查隨機命令數和推位命令數,即可按先后次序順次執(zhí)行所有命令。
本部分中還包括海圖坐標轉換程序,其主要功能:主板接收裝海圖命令的同時,會讀取CAN總線上由綜導臺發(fā)送的海圖信息,包括海圖類型(墨卡托或高斯海圖)、大小、比例等。程序根據這些信息,將海圖上的經緯度值折算成XY軸坐標,以便于底層的直線差補程序將XY坐標量轉換成步進電機的走步脈沖數。
3.1.3 底層部分
底層包括所有的畫線、寫標記符等繪筆執(zhí)行動作的程序,及與硬件有關的I/O操作子程序、中斷服務程序。下面介紹幾個主要的程序。
(1)直線差補程序
線段是航跡儀繪制的基本圖形,其他各種曲線都是以線段逼近的。設線段終點到起點坐標長度分量分別為Δx、Δy。令X、Y向步進電動機同時起動,同時停止,分別以均勻速度Vx、Vy運動。這樣
,即
。
程序設計中,已知X、Y向的增量駐x、駐y,選增量大的方向的走步頻率為最大走步頻率f1=fM,另一方向頻率即為f2=fM×Δy/Δx。已知兩個方向的走步頻率,由接口板計數器的初始頻率12MHz可計算出X、Y向的分頻值;已知的脈沖當量可求出X、Y向各自需要的走步脈沖數。將分頻值、脈沖數及開始/停止等控制信息傳送給接口板,使其產生相應頻率的脈沖信號,以控制步進電機。
(2)CAN總線通訊任務模塊
設計中采用PHILIPS公司的CAN總線控制器SJA1000,CAN總線驅動器選用82C250。
綜導臺將導航數據通過CAN總線發(fā)送給航跡儀。通訊模塊主要實現對航跡儀數據報文接收、解析等。當有CAN報文到達,SJA1000產生中斷釋放信號量。設備工作任務中輪詢等待信號量接收CAN報文。對接收的CAN報文,首先存入CAN接收數據結構,解析后讀入航跡儀數據結構。CAN接收數據結構在接收CAN報文時臨時分配。在報文解析過程中,接收的報文通常為BCD碼,因此要將其還原為ASCII碼。[!--empirenews.page--](3)LCD屏顯示及觸摸程序
LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,LCD 的構造是在兩片平行的玻璃當中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產生畫面。比CRT要好的多,但是價錢較其貴。本設計采用SHARP公司的144.78mm、LM057QC1T01型STN彩色液晶顯示器,其顯示格式為320像素(×3)×240行。
LCD觸摸屏程序主要分為顯示任務FsceShow,觸摸屏查詢任務TouchCheck,觸摸屏狀態(tài)查詢任務TouchStateCheck。TouchCheck入口函數Touch_check( )查詢觸摸屏中斷,TouchStateCheckt( )查詢觸摸屏狀態(tài)改變,FaceShow執(zhí)行響應,顯示圖形。程序框圖如圖4所示。
(4)位置補償模塊
如前文所述,在步進電機運行完一次由運行到靜止的過程后,把目標位置與從數字化板發(fā)送的實際位置做差比較得到的位置差量Δd作為一次操作補償。其特點是在一次繪圖過程中有兩次電機的開始和停止,補償速度慢,但所繪的是近似真實的圖形。程序框圖如圖5所示。
3.2 XC2S50接口板部分的軟件設計
XC2S50接口板軟件部分采用VHDL語言編寫。編譯后通過JTAG口燒寫入配置芯片18V01中。軟件部分主要包括頂層模塊jkb_top、接口模塊jiekou、脈沖發(fā)生模塊pulse_generate、速度控制模塊speed_ctr、脈沖計數模塊counter、方波發(fā)生器counter32等。其結構框圖如圖6所示。
在脈沖發(fā)生模塊pulse_generate中,速度控制模塊speed_ctr的主要功能是:通過查詢發(fā)送、剩余脈沖數,計算出響應的速度控制級別(可分為4種模式),將速度控制信息傳送給脈沖計數模塊counter。兩個脈沖計數模塊counter分別控制X、Y兩個步進電機的走步步數。它們分別以X、Y向驅動脈沖作為輸入時鐘信號,紀錄兩向脈沖數,發(fā)出使能信號以控制counter32,其原理如圖7所示。兩個方波發(fā)生模塊counter32分別對X向、Y向步進電機驅動器輸出方波,其輸出波形的頻率即為步進電機的走步頻率,如圖8所示。接口模塊jiekou接收來自主板發(fā)送的X、Y向分頻值、脈沖數數據信息,以及運行方向、開始終止、抬落筆、報警等控制信息,并將數據信息發(fā)送給pulse_generate模塊,將控制信息發(fā)送給驅動板。
新型智能化航跡儀設計,針對傳統(tǒng)航跡儀系統(tǒng)的諸多問題,給出了有效的改造方案。改造方案降低了成本,增強了功能的針對性,節(jié)省了系統(tǒng)資源。數字化板的使用,為原開環(huán)系統(tǒng)增加了閉環(huán)反饋,提高了標繪精度。