尋北儀中力矩電流發(fā)生器的設(shè)計
3 力矩電流發(fā)生器軟件設(shè)計
考慮到尋北儀的應(yīng)用背景等因素,選擇DOS 6.22作為操作系統(tǒng),并選用UCDOS6.O作為漢字平臺。選用C++語言和Borland C++3.1集成開發(fā)環(huán)境為程序開發(fā)語言和開發(fā)環(huán)境,采用面向數(shù)據(jù)流的分析和設(shè)計方法對軟件進(jìn)行開發(fā)。采用多中斷和TSR技術(shù)增加軟件的實(shí)時性和多任務(wù)處理能力。
根據(jù)系統(tǒng)需求和模塊化的基本原則,將尋北儀軟件劃分為初始化模塊、管理模塊、定時中斷模塊和通訊模塊四大組成部分,如圖6所示。
與力矩電流發(fā)生器有關(guān)的軟件部分體現(xiàn)在初始化模塊和定時中斷模塊部分,包括ADT800的初始化、D/A控制和I/O控制。init_adt800()函數(shù)主要用于對ADT800模塊的初始化,包括A/D和D/A設(shè)置,初始化數(shù)字I/O口等。
定時中斷模塊根據(jù)處理得到的加速度計信號、計程儀/GPS航速信息、傾角傳感器姿態(tài)信息、鍵盤裝訂的參數(shù)、誤差補(bǔ)償量及系統(tǒng)所處的工作狀態(tài)等實(shí)時解算出陀螺控制電流,并向陀螺力矩器控制發(fā)送。
為了電流解算的方便,程序中定義了幾個數(shù)組:Kj[5],Ky[5],Kz[5],C1[5],C2[5],K2[5],K3[5],分別用于存放狀態(tài)轉(zhuǎn)換積分系數(shù)、方位控制回路的狀態(tài)轉(zhuǎn)換系數(shù)、水平控制回路的狀態(tài)轉(zhuǎn)換系數(shù)、C1系數(shù)、C2系數(shù)、方位控制放大器放大系數(shù)、水平控制放大器放大系數(shù)。由于最終力矩電流是通過壓控恒流源來實(shí)現(xiàn)的,因、此電流的解算就是得出相應(yīng)的控制電壓,解算程序如下(以羅經(jīng)狀態(tài)為例):
評論