便攜式伺服機構靜態測試儀的系統設計
作者/ 周毅然 張怡文 上海航天控制技術研究所(上海 200233)
本文引用地址:http://www.104case.com/article/201612/342203.htm摘要:本文基于某火箭配套各級伺服機構產品油面電壓及充氣壓力的靜態測試,設計了一套便攜式伺服機構靜態檢測儀。系統硬件采用模塊化設計,分為數據采集模塊、數據顯示存儲模塊和供電模塊,采用FPGA+A/D芯片的方案對高速數據采集處理和控制,基于AM3359的嵌入式單板機開發平臺對數據進行存儲和實時顯示,供電使用鉛酸電池;系統軟件采用基于Labview2011虛擬儀器技術,軟件按功能分為數據采集模塊、數據處理模塊、數據存儲模塊和錯誤處理模塊。系統具有測量精度高,實時性好,操作簡單和便攜等優點,滿足伺服機構的生產、試驗、外場測試的需要。
引言
伺服機構是運載火箭控制系統的執行機構,根據控制系統的指令,伺服機構控制噴管的擺角或二次噴射閥門的開度,改變發動機噴焰的排出方向,實現火箭飛行姿態控制。為了確保被測伺服機構產品工作可靠性,需要定期對伺服機構進行靜態測試。伺服機構的測試現場,現場環境復雜,伺服機構體積較大,數量較多,占地比較分散,數據測試頻率較高,傳統的伺服機構自動化測試系統,采用PC機+機柜的方案,雖然測試功能比較豐富,可以測試伺服機構靜態和動態參數,測量精度更高,但其體積龐大,攜帶不方便,測試效率比較低。
本論文設計的伺服機構靜態測試儀(以下簡稱靜態測試儀)用于伺服機構產品的靜態檢測,信號的采集、調理基于自制板卡實現,存儲和顯示等功能基于嵌入式單板機實現,不需要獨立的計算機,因此使得檢測儀的體積大大減小,顯著提高了儀器的小型化和便攜化程度[1]。伺服機構和靜態測試儀通過電纜連接,可以同時測量伺服機構所有靜態參數,大大提高了靜態測試的效率。文章詳細介紹了油氣壓檢測儀的組成、工作原理及軟硬件設計。
1 系統工作原理
伺服機構產品的靜態檢測主要是指在產品不工作的狀態下對多通道油面電壓和充氣壓力等靜態參數的檢測。伺服機構的油面電壓通過變阻式的位置傳感器轉換為量程為±15V的數值輸出,轉換系數為1V/V,充氣壓力同樣通過變阻式的位置傳感器為量程+6V的數值輸出,轉換系統為4.167MPa/V,靜態測試儀需提供±15V和+6V電壓給伺服機構,伺服機構內部原理圖如圖1所示。
靜態測試儀系統由硬件部分、軟件部分和電纜組成,硬件部分集中于一個獨立的機箱,便攜、可靠,封閉性好,硬件主要由三部分組成,即數據采集模塊、數據顯示存儲模塊和供電模塊。數據采集模塊以FPGA為核心,對采集信號進行調理,控制ADC轉換操作,最后以串口形式傳送給數據到顯示存儲模塊;數據顯示存儲模塊存儲采用AM3359的嵌入式單板機為開發平臺,采集數據在flash中,并在彩色觸摸屏上顯示;供電模塊采用電池供電,分為兩個部分,一部分為靜態測試儀系統供電,一部分為伺服機構供電。測試軟件采用Labview2011平臺編寫程序,模塊化設計,可讀性好,可維護性好,操作方便。系統總體框圖如圖2所示。
2 系統硬件設計
2.1 數據采集模塊
數據采集模塊主要實現對采集信號的調理、模數轉換和串口通訊。鑒于FPGA功能強大、邏輯速度快、集成度高、電路設計簡單、開發周期短、編程配置靈活等一系列優點,采用FPGA來控制ADC,并將處理后的數據通過串口送到數據顯示存儲模塊,保證數據采集的實時性和準確性。
(1)基于產品的輸出阻抗較小、輸出電壓值較高的特點,需要對產品信號進行電壓跟隨、分壓和隔離等數據調理,提高設備的輸入阻抗,轉換信號到合適量程中。
(2)數據采集模塊的采集通道數有6路,A/D轉換芯片采用ADI公司的AD7656。AD7656為6通道16位逐次逼近型、低功耗、可處理輸入頻率高達8MHz的信號、最大采集速度為250kS/s的A/D轉換芯片。
本設計使用AD7656高速并行接口,與FPGA并行連接,工作原理如下:芯片內部包含六個ADC,分別由CONVSTA、B、C引腳控制轉換開始,在CONVSTx的上升沿,被選中的ADC的跟蹤保持電路會被置為保持模式,轉換開始。在CONVSTx信號的上升沿后,BUSY信號會置1,這表示轉換正在進行。轉換時鐘是由內部產生的,轉換時間是從CONVSTx信號上升沿開始的3μs,當BUSY信號變成低電平,表示轉換結束。在BUSY信號的下降沿,跟蹤保持電路返回跟蹤模式,數據通過并行接口從輸出寄存器中被讀出,圖3為AD7656并行接口字模式下的讀操作數據流[2]。
(3)串口功能的實現主要有三個模塊構成,即波特率發生器模塊、發送模塊和接收模塊[3]。
a.波特率發生器實際是一個分頻器,從定系統時鐘頻率得到要求的波特率。RS-232-C有一系列波特率標準:2400b/s、4800b/s、9600b/s、14.4kb/s、19.2kb/s等。一般來講,為了提高系統的容錯性處理,要求波特率發生器的輸出時鐘為實際串口數據波特率的N倍,N可以取值為8、16、32、64等。在本設計中,取N為16,波特率為9600b/s,因此,波特率發生器的輸出信號頻率應該為9600×16=153.6k/s,由于系統時鐘為50MHz,經過計算,需要325分頻實現9600波特率的產生。
b.發送模塊:由于波特率發生器產生的時鐘信號clk的頻率為9600Hz的16倍,因此,在發送器中,每16個clk周期發送一個有效比特,發送數據格式嚴格按照串口數據幀來完成:首先是起始位,其次是8個有效數據比特,最后是一位停止位。發送模塊的狀態轉移圖如圖4所示,包括5個狀態:s_idle、s_start、s_wait、s_shift和s_stop。
其中,s_idle為空閑狀態,當發送任務已完成時,發送模塊就處于s_idle狀態,等待下一個發送指令tx_cmd的到來。s_idle中,發送完成指示tx_ready為高電平,表明可以接受發送指令。當tx_cmd有效時,發送模塊的下一狀態s_start。
s_start為發送模塊的起始狀態,拉低tx_ready信號,表明發送模塊正處于工作中,并拉低發送比特線txd,給出起始位,然后跳轉到s_wait狀態。
s_wait為發送模塊的等待狀態,保持所有信號值不變。當發送模塊處于這一狀態時,等待計滿16個clk后,判斷8個有效數據比特是否發送完畢,如果發送完畢,跳轉到s_stop,結束有效數據的發送;否則,跳轉到s_shift狀態,發送下一個有效比特。
s_shift為數據移位狀態,發送模塊在這一狀態將下一個發送的數據移動到發送端口上,然后跳到s_wait狀態。
s_stop狀態完成停止位的發送,當有效數據發送完成后,發送模塊進入該狀態,發送一個停止位,發送完成后自動進入s_idle狀態,并且將tx_ready信號拉高。
c.接收模塊:在接受系統中,為了避免毛刺影響,能夠得到正常的起始信號和有效數據,需要完成一個簡單的最大似然判決,其方法如下:由于clk信號的頻率為9600Hz的16倍,則對于每個數據都會有16個樣值,最終采樣比特值為出現次數超過8次的電平邏輯值,接收模塊的狀態轉移圖如圖5所示,包括3個狀態:s_idle、s_sample和s_stop。
其中,s_idle狀態為空閑狀態,系統復位后,接收模塊就處于這一狀態,一直檢測接收指令rxd是否從1跳變為0,一個起始位代表著新的一幀數據。一旦檢測到起始位,立刻進入s_sample狀態,采集有效數據。
s_sample為數據采樣狀態,在此狀態下,接收模塊連續采樣數據,并對每16個采樣值進行最大似然判決,得到相應的邏輯值,這一過程重復8次。然后依次完成串并轉換,直到接收完8個數據比特后,直接進入s_stop狀態。
s_stop狀態用于檢測停止位,為了使得接收模塊的使用范圍更廣,在這一狀態等待一定的時間后,直接跳轉到s_idle。
(4) FPGA芯片使用的是Xilinx公司Spartan-3A系列的XC3S400A,采用90nm工藝,密度高達74880個邏輯單元。工作時鐘為50MHz。FPGA開發工具采用Xilinx公司推出的ISE軟件,配置模式上串行模式,采用串行PROM編程FPGA;設計輸入方式是硬件描述語言輸入,根據A/D和串口的工作原理,采用Verilog硬件描述語言編寫A/D和串口程序。
2.2 數據顯示、存儲模塊
數據顯示、存儲模塊是對串口采集的數據進行顯示和存儲,采用SBC8600B作為硬件平臺。SBC8600B是英蓓特公司推出的一款基于AM3359的嵌入式單板機,具有豐富的接口和外設,支持Linux 3.2.0、WinCE 7及Android2.3三種操作系統。本設計中軟件使用的是WinCE 7,顯示器采用7英寸的彩色觸摸屏,支持各種主流通信方式,系統硬件結構圖如圖6所示。
2.3 供電模塊
為了滿足便攜式儀表便攜、輕便,運行方便快捷的要求,本設計采用可充電電池供電。主流可充電電池主要有鉛酸電池、鎳鎘電池和液態鋰離子電池等,基于鉛酸電池成本低、可以較大電流放電、結實耐用、安全性好等特點,選用Yuasa標準NP系列湯淺可充電鉛酸電池,壽命5年,輸出電壓為12V,額定容量為12Ah,輸出最大電流為0.25×容量=3A,經過測試整個系統消耗的電流不到2A,電池滿足功率方面要求[4]。
3 系統軟件設計
軟件采用Labview平臺開發,該平臺具有獨特的模塊化多循環應用程序框架,可以提高程序的模塊性,減少頂層框架圖的大小,提升應用程序的靈活性、可靠性、可維護性、可擴展性和穩定性。應用程序框架的靈活性,可以通過將常用的功能元素劃分為聚合的任務,并將并行循環應用于每個任務來優化。并行循環提供同時執行多個任務的靈活性。Labview為每一個并行循環分配一個單獨的線程,而每個線程可以運行在單獨的并行處理機上。此外,并行循環允許使用While循環的延遲和定時循環的優先權來指定和調整每個任務的有限級。因此,基于多個并行循環的應用程序框架有助于優化應用程序的性能。軟件按功能分為數據采集模塊、數據處理模塊、數據存儲模塊和錯誤處理模塊。軟件框圖如圖7所示。
數據采集線程實現的串口通訊,通訊方式、通訊參數、通訊協議在配置文件中進行自動配置,軟件采用應答模式定時進行數據交互,然后對接收數據進行數據解析,再把解析后的原始數據通過隊列發送給數據處理線程和數據存儲線程。
數據處理線程實時處理數據采集線程采集的測試數據,處理方式有均值處理、低通濾波處理、高通濾波處理、最大值最小值比對等各種處理方式。該線程的運行周期由采集線程運行決定,為被動等待方式。
數據存儲線程和數據處理線程類似,該線程實時存儲數據原始數據和各種處理后的數據,方便用戶事后查詢歷史數據,檢驗數據解析方式的功能和性能。
錯誤處理線程實時監測其他線程的狀態,把錯誤類型分為不同等級:警告、一般、嚴重。當其他線程運行過程中發生錯誤,該線程首先識別該錯誤的等級,然后按照等級程度處理錯誤。若為警告錯誤,則記錄該警告的識別碼、描述等信息,不作處理,若為一般錯誤,則根據錯誤出處進行劃分,采集線程中的錯誤,則立即停止采樣,記錄錯誤信息,退出軟件,其他線程中的錯誤,作警告錯誤處理。若為嚴重錯誤,處理方式與采集線程一般錯誤一致[5]。
4 測試系統實現
4.1 測試系統硬件實物
測試系統硬件實物如圖8所示。測試系統的機箱采用派力肯公司的型號為1400的軍用便攜式機箱,具有抗震、防爆和密封等特性,機箱內部可安裝觸摸屏和操作面板,觸摸屏為7英寸的彩色觸摸屏,操作面板上有豐富的接口。
4.2 測試系統的測試實驗
通過標準儀表萬用表和靜態測試儀分別對伺服機構產品的一路油面電壓和充氣壓力進行測試,測試結果如表1所示。
5 結論
本文介紹用于伺服機構產品油面電壓及充氣壓力檢測的靜態檢測儀,采用模塊化軟硬件設計,基于AM3359的嵌入式單板機硬件開發平臺,軟件采用Labview平臺開發,使用軍用便攜式機箱,實現了測試設備的小型化,便于設備的修改、維護和擴展,提高了設備的穩定性和可靠性,滿足伺服機構的生產、試驗、外場測試的需要。實際試驗結果表明,本文設計的伺服機構油氣壓測試設備滿足油面電壓及充氣壓力的靜態特征測試需求,油面電壓和充氣壓力精度均<0.5%。
參考文獻:
[1]劉軍山,王寧.基于ARM的便攜式電容耦合非接觸電導檢測器[J].儀器裝置與實驗技術,2013,4(04):616-620
[2] 韓西寧,許暉,焦留芳.基于FPGA 的同步數據采集處理系統的設計與實現[J].測控技術與儀器儀表,2009 (01)
[3] 徐文波,田耘. Xilinx FPGA開發實用教程 [M].北京:清華大學出版社,2012:259-274
[4] 夏永峰. 鉛酸電池組快速充電裝置的研制 [D],重慶大學碩士學位論文,2008
[5] 陳樹學,劉宣.LabVIEW寶典[M].電子工業出版社,2011
本文來源于《電子產品世界》2017年第1期第65頁,歡迎您寫論文時引用,并注明出處。
評論