黃家庚,徐 愷,封丁路
(河南科技大學 機電工程學院,河南 洛陽 471003)
隨著人們對于制導彈藥的綜合需求日益增強,制導彈藥在未來將會向遠程化、精確化、智能化、隱形化、通用化、模塊化和低成本的趨勢發展[1-2]。舵機的功能是根據飛行控制系統的控制信號調節舵面偏轉角度,從而控制導彈在空中飛行的姿態。舵機的性能好壞將直接影響導彈飛行的品質和制導的精度[3-4]。因此,如何快速精確地對舵機的性能指標進行測試是一個非常重要的問題。
目前,舵機的性能測試多采取人工測試的方法。由于舵機需要測量的性能參數較多,人工測量方法工作量大,過程繁瑣,在測量過程中工作人員難免有操作失誤或執行不當的情況,從而容易產生測量誤差,影響測量的效率和準確性[5-6]。搭建智能化測控系統完成舵機的性能測試,從而替代傳統的人工測量方式,對舵機測試具有重要的實踐意義[7]。文獻[8]提出一種基于USB 的舵偏角采集系統設計方案,雖然USB 方便使用,但是通訊可靠性還需提高;文獻[9]設計了一個通用舵機測試系統,能夠測量多種舵機性能,但是沒有加載裝置,無法全面測試舵機的負載性能;文獻[10]設計了一個加載測試系統,但是加載裝置為單通道且能夠加載的力矩較小,無法滿足較高力矩的加載測試需求。
LabWindows/CVI 是NI 公司(美國國家儀器公司)推出的交互式C 語言開發平臺。它將功能強大、使用靈活的C語言平臺與用于數據采集分析和顯示的測試工具巧妙地結合起來,利用其集成化開發環境、交互式編程方法、函數面板和豐富的庫函數大大增強了C 語言的功能。與傳統開發軟件相比,LabWindows/CVI 能夠方便地協調和調用外部采集設備,通過GUI 設計能夠讓用戶更加方便地進行人機交互,縮短開發人員的研發時間。
針對舵機測試過程繁瑣、測試項目繁多的問題,本文設計了一套舵機性能測試系統。該系統能利用程控電源為舵機提供工作所需的功率電源和信號電源,上下位機通過RS422 協議通訊,穩定可靠。系統上位機通過軟件控制指令來模擬彈載計算機控制指令,利用加載系統來模擬導彈飛行過程中舵機需要克服的空氣鉸鏈力矩。該系統使用LabWindows/CVI 編寫主要程序,能夠對信號采集模塊采集的舵機控制信號、反饋信號以及加載系統的力矩信號進行數據的讀取、顯示、存儲及處理,實現了舵機性能測試的自動化和數據采集處理的智能化,提高了舵機測試的效率,同時降低了測試人員的工作強度,確保通過測試的舵機能夠滿足使用要求。
舵機性能測試系統主要由軟件控制單元、程控電源、數據采集單元、舵機力矩加載單元、舵機驅動控制單元組成。測試系統整體結構如圖1所示。

Fig.1 Structure of the test system圖1 測試系統結構
控制主機主要由軟件控制單元與數據采集單元構成,軟件控制單元為基于LabWindows/CVI 編寫的測試軟件,數據采集單元由多個數據采集卡和串口卡組成。控制主機的主要功能是根據用戶的測試需求,向下位機發送相應的測試波形,同時獲取下位機的運動信號反饋,通過對發送信號和反饋信號的比較分析,確定舵機性能是否符合要求。同時能夠生成數據波形以供用戶直觀地了解舵機的性能。下位機主要由程控電源、舵機驅動控制單元(舵控盒)、被測舵機組成,主要功能是接受上位機的控制指令,完成相應的動作,其中舵控盒與上位機軟件是通過串口卡進行RS422 通信;力矩加載單元主要由四通道加載測試臺、扭矩傳感器、光電編碼器組成,主要功能是模擬舵機在飛行過程中需要克服的空氣鉸鏈力矩。
由于舵機參數繁多,根據測試需要,舵機性能測試系統主要實現了以下功能:①電源控制。被測舵機所需電源為+56V 功率電源與+28V 信號電源,測試軟件通過程控電源對舵控系統進行供電。供電邏輯為信號電源上電成功后功率電源才能上電;下電邏輯為功率電下電成功后信號電源才能下電。通過這兩種供電邏輯保證被測舵機能夠在舵控系統的可控范圍內操作,避免因錯誤信號指令導致舵機機械結構損壞;②舵機空載測試。在舵機空載的情況下對舵機性能進行測試,主要涉及到舵機的極性測試、額定速度測試、極限行程測試、控制精度測試、零位精度測試與零位調整測試;③舵機加載測試。在彈性負載的情況下測試舵機帶負載能力以及在額定負載下舵機性能是否達標,主要對舵機的動態特性、頻率特性以及負載速度測試;④下位機通訊。實現上位機軟件與下位機舵系統之間的通訊,在進行性能測試之前能夠進行系統的上電自檢、軟件版本檢查、位置信息檢查;⑤手動測試。區別于空載測試與加載測試,手動測試是用戶在舵機能夠承受的范圍內進行自定義測試,包括自定義波形、周期、零位偏移、幅值、頻率等,提高軟件的拓展性和適用性;⑥數據顯示。在測試過程中,將控制信號與位置反饋信號分別顯示在軟件示波器中,方便用戶進行數據分析及數據存儲;⑦零位調整。零位是舵機的默認位置,修改零位可以改變舵機的初始位置,滿足不同測試需求。
在系統開始測試時,需要進行測試準備,通過軟件控制程控電源對舵控系統上電,上電結束后在軟件主界面進行測試項目選擇。確定測試項目后即可向舵控系統發送控制指令,舵控系統在接收到控制指令之后會執行測試動作并會產生對應的反饋數據。上位機對反饋的數據進行采集和處理,將數據以波形圖的形式顯示在軟件中。在用戶選擇是否存儲數據之后返回主界面,若停止測試則通過退出鍵退出測試系統,若不停止測試則需要用戶選擇接下來的測試項目。總體軟件的測試流程如圖2所示。

Fig.2 Flow of test圖2 測試流程
控制主機與舵控系統之間通過串口進行通信,控制主機向舵控系統發送自檢、作動控制或調零指令,舵機根據控制指令執行相應動作,并反饋執行結果。在控制主機與舵控系統通信過程中,以RS422 總線為載體,通過串口卡傳輸帶有協議規定的有效數據的幀格式。通訊幀格式如圖3所示。

Fig.3 Communication frame format圖3 通訊幀格式
通訊幀中各部分含義如表1所示。

Table 1 Communication frame meaning表1 通訊幀含義
舵控系統上電后,舵控系統每5 ms 自動以消息ID 為0x00 向控制主機發送啟動等待狀態消息。控制主機根據用戶選擇向舵控系統發送自檢及控制數據幀。其中,自檢數據幀中消息ID 值為0x11,控制指令數據幀中消息ID 值為0x22,調零指令數據幀中消息ID 值為0x23。各類消息ID 所代表的數據幀類型以及幀長度如表2所示。

Table 2 Frame type and data length表2 幀類型及數據長度
自檢、調零、控制數據幀都是由控制主機向舵控系統發送的控制指令,主要通過消息ID 來區分指令幀。反饋數據幀包含了舵機目前狀態的所有參數,包括四路舵機的霍爾狀態、位置超限狀態、接受到的控制信號、舵反饋位移、舵反饋電流、功率電源電壓、功率電源電流、舵控軟件版本等信息。為保證通訊高效可靠,通訊波特率設置為614 400 bps,同時對數據幀進行校驗和計算,對不滿足校驗結果的數據包不作響應。校驗方法選擇循環冗余法(Cyclic Redundancy Check,CRC)進行校驗,使用基于Xmodem 協議的CCITT CRC-16 校驗方式。通過查表法編寫校驗程序,部分CRC 校驗程序如下所示。
軟件是測試系統的重要組成部分,測試系統的性能很大程度上取決于軟件設計[11]。系統軟件設計采用美國NI公司開發的虛擬儀器編程語言LabWindows/CVI,其是一套面向計算機測控領域的軟件開發平臺,能夠為測試數據采集、過程監控及監理自動測試系統提供一個理想的開發環境[12-14]。
測試軟件可分為舵機通訊、信號生成以及數據顯示3個關鍵部分。舵機通訊的主要功能為接收舵控系統的自檢結果、軟件版本、舵機位置,確保舵機在測試開始前狀態良好。舵機自檢狀態字在第13、14 號字節處,涉及到舵機的霍爾狀態與舵位置超限狀態,自檢位為0 時代表自檢正常,自檢位為1 時代表自檢異常。48、49 號字節代表舵控軟件版本,當上位機需要獲取軟件版本時則可通過解析這兩個字節的數據得到現有的舵控軟件版本。25-32 字節為四路舵機的舵機位置信號,通過這8 個字節可以解析到四路舵機各自的實時位置。舵機通訊的數據解析均可通過舵機反饋數據幀函數“analyze_steeringgear”獲取。通訊函數如表3所示。

Table 3 Communication function表3 通訊函數
以生成舵機控制數據幀函數為例,該函數的功能是通過串口卡發送數據幀,按照通訊幀格式將相關字節數據寫入待發送的數組,相關程序如下所示:
由于舵機性能測試參數繁多,涉及到多種信號的生成,使用的是虛擬儀器自帶的波形生成函數,具體如表4所示。

Table 4 Signal generation function表4 信號生成函數
以正弦信號為例,LabWindows/CVI 中產生正弦信號的函數為SinePattern,該函數的作用是生成具有正弦模式的數組。采用公式(1)可以獲得雙精度輸出數組的第i 個元素。
其中,amp為生成函數的幅值,cycle 為周期數,phase為相位差,n為想要生成的函數點個數。通過該函數可以生成一系列元素點,這些函數點組成數組,生成了舵控信號。若為固定測試,函數相關變量由測試按鈕的回調函數寫入相應結構體中;若為手動測試,變量由用戶自己設定,設定完成后點擊開始測試后再將變量注入。行程測試舵控信號生成程序如下:
由于測試過程需要同時進行數據發送、采集和顯示,如果使用單線程,當點擊用戶界面時線程就會持續處理用戶界面事件,影響數據讀取和顯示,使用多線程則可以通過線程切換來保證數據采集和顯示不會受到影響[15]。LabWindows/CVI 中有兩種多線程實現方法,分別為線程池與異步定時器[16]。本設計選用異步定時器來執行多線程任務。相較于普通定時器而言,其優點是線程分里,在產生用戶事件時,其他線程不會被打斷,保證程序能夠連續穩定運行[17]。同時還具有很高的精度,能夠滿足測試過程中大量的信號點采集需求。使用異步定時器步驟如下:
(1)AThandle=NewAsyncTimer(0.005,G_pointcount,0,AsyncTimer_callback,0);//創建異步定時器并配置間隔觸發次數與定時器名稱
(2)INT CVICALLBACK AsyncTimer_callback(INT reserved,INT timerId,INT event,VOID *callbackData,INT eventData1,INT eventData2)
{ComWrt(comport,info,sizeof(info));
ComRd(comport,frame_data,55);
analyze_steeringgear(frame_data,&stdata);}//創建異步定時器回調函數,并將數據采集發送指令寫入回調函數
(3)SetAsyncTimerAttribute(AThandle,ASYNC_ATTR_ENABLED,1);//使能異步定時器,根據不同測試項執行相應任務
(4)SetAsyncTimerAttribute(AThandle,ASYNC_ATTR_ENABLED,0);//關閉異步定時器
系統力矩加載單元采用四路力矩加載通道,采用十字型加載結構,通過彈簧桿被動加載方式實現模擬舵面所受到的負載力矩。彈簧桿加載是以扭矩為被調整量的加載系統,是一個典型的被動式扭矩控制系統,主要用于模擬導彈飛行時的舵面負載力矩,它對舵面或舵片的測試有著非常重要的實際意義。系統可通過調整彈簧桿的有效長度對被測舵機施加一定梯度的扭矩,根據彈簧桿的材料、機械特性、測試標定情況確定有效長度對應的加載梯度。原理圖如圖4所示。

Fig.4 Torque loading schematic diagram圖4 力矩加載原理
調整剛度調節裝置,使彈簧桿的有效長度為l,對應梯度為k。被測舵機旋轉α角度時,彈簧桿施加給舵機的扭矩為kα,即扭矩大小與舵機偏轉角度成正比例關系。
根據實際需求設計了一個四通道舵機加載臺,可以同時進行四路舵機的加載測試。加載臺外形如圖5所示。

Fig.5 Loading table shape圖5 加載臺外形
角度編碼器選用成都某公司生產的DT005D-7200P/r增量型光電編碼器,精度能夠達到0.05°。扭矩傳感器采用AKC-98 扭矩傳感器,該傳感器采用電阻應變式原理,精度高、性能可靠穩定、安裝使用方便,能夠滿足量程與精度的要求。
角度編碼器和扭矩傳感器可以實時測量被測舵機的偏轉角度和彈簧桿施加的扭矩大小。兩個傳感器安裝在彈簧桿兩端,如圖6所示。

Fig.6 Sensor location圖6 傳感器位置
在測試之前首先將舵控系統與控制主機和電源進行組裝,以空載測試為例,系統硬件如圖7所示。

Fig.7 System hardware diagram圖7 系統硬件
根據測試需求設計了舵機性能測試程序,主界面如圖8 所示,主要包括舵機信號電與功率電的啟停,舵機測試通道的選擇,零位調整,常用測試項,如極性檢查、行程測試、精度測試等。在舵機信號電與功率電上電成功后,即可通過舵機通訊頁面進行舵機自檢與位置信息反饋,界面效果如圖9 所示,由于本次測試時僅測試了單路舵機,所以其他通道反饋為0mm。

Fig.8 System main interface圖8 系統主界面

Fig.9 Communication interface圖9 通訊界面
自檢成功后即可開始項目測試,在點擊測試項后,通過按鍵的回調函數向函數中注入對應的信號生成數據,信號生成數據通過異步定時器的回調函數發送給舵控系統,舵控系統控制舵機運動并將實時位置數據反饋給控制主機。圖10展示了系統產生的5種信號。


Fig.10 Generation of 5 kinds of signal圖10 5種信號的產生
以方波測試為例,當啟動測試時,上位機將生成的方波控制信號通過串口傳遞給舵控盒,舵控盒控制舵機動作并將舵機位置的反饋信號反饋給上位機,上位機接收到反饋信號后通過PlotPoint 函數畫出反饋信號點。效果如圖11所示。

Fig.11 Feedback signal display圖11 反饋信號顯示
同時,用戶可以根據自己的需求通過數據保存按鈕將反饋數據保存起來,以供后期查看。保存的部分數據如表5所示。

Table 5 Partial feedback data of square wave表5 方波信號部分反饋數據
反饋數據點之間的間隔時間為5ms,通過數據處理計算可以得出被測舵機的相關性能數據,如舵機空載速度等。
通過方波測試實例可以證明,控制主機與舵控系統通訊良好,能夠正常發送和接收控制指令。同時系統可以正常生成待測信號,能快速采集反饋信號并將反饋信號展現出來,達到了預期的設計標準。
為提高舵機參數性能測試的效率與準確率,本文利用虛擬儀器軟件LabWindows/CVI 設計了一種能夠進行多參數測量的導彈舵機綜合測試系統。該系統不僅能夠完成對導彈舵機空載性能的全面測試,還設計了四通道十字加載臺,同時完成對四路舵機的加載測試需求,在測試過程中能夠直觀動態地顯示舵機的實時反饋數據。同時根據用戶需要可完成多種自定義非常規測試,大大提升了舵機測試速度與準確率。后續改進工作為優化軟件代碼,同時提供更多測試項目來滿足用戶的多種需求。