佟亞珍,桑尚銘,馮榮尉
(北京東方計量測試研究所,北京100094)
步進電機是一種將數(shù)字脈沖量轉換為相應的角位移或線位移的特殊電機,具有反應靈敏、精確步進、無累計誤差等優(yōu)點[1],是航天器控制系統(tǒng)的核心組成部件[2],可以通過外部控制電路實現(xiàn)對航天器太陽帆板的驅動與控制,在航天領域得到了廣泛應用[3]。
為了實現(xiàn)對航天器太陽帆板的精確控制,需要完成對所用步進電機各項性能指標的全面測試。目前,商業(yè)航天及重點型號發(fā)射任務呈逐年增多的態(tài)勢,所應用的步進電機的種類隨之增多,對步進電機及電機測試系統(tǒng)的需求也越來越多[4],為了進一步提升產(chǎn)能,滿足用戶及市場的需求,對電機測試系統(tǒng)提出了新的要求,傳統(tǒng)的一類電機對應一套測試系統(tǒng)的方式已經(jīng)無法滿足多線并行的測試現(xiàn)狀,實現(xiàn)不同種類電機的通用化測試勢在必行。因此,本文研制了一款基于STM32的通用化電機角度測試系統(tǒng),能夠滿足目前絕大部分電機的角度測試需求。同時進行了步進電機的性能測試試驗,試驗結果表明,研制的通用化電機角度測試系統(tǒng)測量準確、運行穩(wěn)定、操作方便,為航天器太陽帆板驅動機構的高性能步進電機測試提供了完整的解決方案。
通用化電機角度測試系統(tǒng)選用STM32作為主控芯片,系統(tǒng)組成如圖1所示。測試系統(tǒng)由嵌入式計算機、微控制器、脈沖發(fā)生電路、角度測量電路等組成。微控制器STM32從嵌入式計算機接收驅動脈沖參數(shù),通過總線將參數(shù)傳給脈沖發(fā)生電路,然后產(chǎn)生幅值、頻率可調的脈沖電流控制驅動步進電機轉動。信號采集電路將電流、電壓等進行采集并提供給微控制器以實現(xiàn)對步進電機各項參數(shù)的測量。微控制器通過控制角度測量電路可以實現(xiàn)對步進電機角度的測量,其中零位角度測量尤為關鍵。
圖1 系統(tǒng)組成框圖
綜合目前主流的電機產(chǎn)品,常見的角度測量方案主要有零位傳感器、電位器、霍爾傳感器和旋轉變壓器四種方案[5],因此本次設計的通用化電機角度測試系統(tǒng)需要兼容以上四類角度測量方案,設計不同的測量電路,以滿足通用化測試需求。
零位傳感器由發(fā)光二極管和光敏三極管組成。發(fā)光二極管和光敏三極管之間由不透光的物體遮擋,只有當步進電機通過零點位置時,發(fā)光二極管發(fā)出的光線透過,使光敏三極管導通,測試系統(tǒng)可以測得零位信號,通過外部測角設備測得的歸零精度為0.05°。其中發(fā)光二極管需要恒流源電路進行驅動,通過光敏三極管集電極電流大小判斷是否導通,因此針對本項功能,測試系統(tǒng)需提供用于恒流源輸出的驅動電路以及三極管測量電路。
圖2 零位傳感器電流源電路
零位傳感器恒流源驅動電路如圖2所示。
Iout=Vref/Rs
(1)
式中,Iout為恒流源電路的輸出電流(單位A);Vref為DA提供的基準電壓源(單位V);Rs為取樣電阻(單位Ω)。
當測試系統(tǒng)通過嵌入式計算機內部軟件設置輸出電流值時,電路通過改變模數(shù)轉換器的輸出電壓Vref來調整輸出電流;當測試系統(tǒng)通過旋鈕任意調節(jié)電流時,電路中的取樣電阻Rs隨著旋鈕變化,輸出電流也隨之連續(xù)變化。
零位傳感器需要對發(fā)光二極管電流、正向導通壓降、光敏三極管集射電壓、集電極電流等參數(shù)進行測量,其測量電路如圖3所示,發(fā)光二極管兩端電路分別測量陽極電位U1(單位V)和陰極電位U2(單位V),則可得發(fā)光二極管正向導通壓降為U1-U2,發(fā)光二極管電流ID為U2/R1(單位A);光敏三極管兩端電路分別測量集電極電壓U3(單位V)和發(fā)射極電壓U4(單位V),則可得光敏三極管集射電壓為U3-U4,光敏三極管集電極電流IC為U4/R2(單位A)。
圖3 零位傳感器測量電路
電位器作為測角部件時,步進電機角度在-100°~+100°之間轉動時,對應位置電位器的阻值為0 Ω~5 kΩ。在電位器兩端加入基準電壓5 V,電位器變化端電壓為0 V~5 V,電氣零位處于電位器的中值電壓2.5 V位置。測量電路可以通過測量電位器輸出端的電壓,根據(jù)電壓與角度的對應關系計算得到角度[6]。電位器測量電路如圖4所示。
圖4 電位器測量電路
(2)
式中,Rx為電位器電阻(單位Ω);R為保護電阻(單位Ω);U為基準電壓(單位V);Ux為測得電壓(單位V)。
硬件實現(xiàn)電路如下圖所示。
圖5 電位器測量電路
上圖中電壓基準芯片的輸出電壓(5 V)BVR+5 V接電位器正端,運算放大器的輸入端接電位器抽頭端,電位器負端與測量電路地連接,電位器輸出電壓經(jīng)過放大器跟隨后進入AD7894。按圖5所示電路測得電位器電阻值后,根據(jù)角度與電位器阻值之間的對應關系可以計算得出步進電機的角度值。AD7894是14位模數(shù)轉換器,則測角精度為0.03°,測角精度略低于旋轉變壓器。
霍爾傳感器是集成器件,可以將變化的磁場信號轉換成數(shù)字電壓信號輸出。當步進電機轉動到電氣零位時,霍爾傳感器輸出電平由高到低,當步進電機轉出電氣零位時,輸出電平由低轉高。
圖6 霍爾傳感器測量電路
霍爾傳感器測量電路如圖6所示,霍爾傳感器產(chǎn)生的電壓信號和DAC產(chǎn)生的電壓基準通過比較器產(chǎn)生高低電平的方波,然后通過計時電路對比較器產(chǎn)生的低電平計時,即為零位寬度。其中DAC輸出的基準電壓略高于霍爾傳感器輸出的低電平。因此,當霍爾傳感器輸出電平為低時,此時比較器輸出為高電平,計時電路開始工作,當霍爾傳感器輸出電平信號為高時,此時比較器輸出高電平,計時電路停止工作。霍爾傳感器只能用于測量步進電機的零位,通過外部測角設備測得的歸零精度為0.05°。
計時電路采用FPGA實現(xiàn),F(xiàn)PGA外部使用晶振作為基準時鐘信號,通過內部編程實現(xiàn)一個計時器。理論上霍爾傳感器輸出的低電平應為地電平,實際上由于步進電機轉動時產(chǎn)生的干擾及測試線纜擾動,霍爾傳感器輸出的電平往往大于地電平,約為0.2 mV左右,因此采用DAC輸出基準電壓的方式,設置DAC輸出電壓0.5 mV,可以有效避免計時電路的誤觸發(fā)。
旋轉變壓器是一種高精度電磁感應式傳感器,常用于測量步進電機的轉角位置。旋轉變壓器由定子和轉子組成,其中定子繞組也可稱為激磁繞組,作為變壓器的原邊,接受勵磁電壓,轉子繞組作為變壓器的副邊,通過電磁耦合得到感應電壓,所以也常稱為輸出繞組[7]。
因此測試系統(tǒng)需要對旋轉變壓器輸出激磁信號,對常見在軌航天器常用電機進行分析,激磁信號電壓范圍為3.5 V~5 V,頻率范圍為2 kHz~5 kHz,輸入電流范圍在100 mA以內。設計如下激磁電路產(chǎn)生方案,滿足旋轉變壓器對激磁電壓和激磁頻率的需求。
圖7 旋轉變壓器激磁電路
激磁設置電路是由STM32單片機、AD9851和運算放大器組成的電路進行調節(jié)。首先STM32單片機從嵌入式計算機接收激磁電壓和激磁頻率等參數(shù),通過STM32編程控制AD9851產(chǎn)生頻率和電壓可調節(jié)的正弦波信號,然后通過功率運放BUF634實現(xiàn)功率輸出。
旋轉變壓器收到激磁信號后產(chǎn)生的正余弦信號通過旋變解碼芯片AD2S80A進行解調。解調電路如下圖所示。AD2S80A是一種特殊的16位模數(shù)轉換器,用來測量旋轉物體的轉軸角位移和角速度,則旋轉變壓器的測角精度為0.0027°,測角精度較高,是最常用的測角方案。
圖8 旋轉變壓器解調電路原理圖
脈沖發(fā)生電路可以同時輸出步進電機所需的四路脈沖信號,包括兩路方波脈沖、正余弦脈沖或梯形脈沖。脈沖發(fā)生電路如圖9所示,首先STM32單片機從嵌入式計算機接收驅動脈沖幅值、細分數(shù)和波形等參數(shù),通過總線將驅動脈沖參數(shù)傳給FPGA,然后FPGA在其內部實現(xiàn)的定時器作用下依次輸出設定的值,方波脈沖直接輸出,正余弦脈沖或梯形脈沖經(jīng)過DA轉換成模擬量后再輸出。正余弦脈沖和梯形脈沖可以在配置文件中進行設置。每一路脈沖對應著一個數(shù)組,當數(shù)組中的數(shù)據(jù)按照索引從小取到大時,電機正轉,當數(shù)組中的數(shù)據(jù)按照索引從大取到小時,電機反轉。此外FPGA內部設置獨立的計數(shù)器和定時器用來測量電機轉動頻率和驅動步數(shù)。
圖9 脈沖發(fā)生電路
通用化電機角度測試系統(tǒng)的電壓測量電路采用電阻分壓的方式進行測量;電流測量電路采用電流傳感器的方式進行測量;數(shù)據(jù)采集電路以模數(shù)轉換芯片AD7894為核心,通過切換多個繼電器和模擬開關實現(xiàn)多路模擬信號的采集,此外,模數(shù)轉換芯片的數(shù)字控制信號與微控制器之間經(jīng)過了磁耦隔離電路,這樣可以減小數(shù)字電路對數(shù)據(jù)采集電路的干擾,在電路其它部分也采用了磁耦隔離電路,減小數(shù)字電路對模擬電路的干擾,提高驅動設備的測控準確度;主備份切換電路采用繼電器實現(xiàn)電機的主備份切換和測角裝置的主備份切換。
測試系統(tǒng)軟件的接口關系如下圖所示,其中用戶接口層是用戶操作的窗口,對系統(tǒng)進行設置并與硬件電路進行信息交互;處理功能層是系統(tǒng)軟件的核心層,包含九個功能模塊,對用戶接口層產(chǎn)生的指令進行響應,生成相應的測量或控制信息,通過硬件驅動接口對測試系統(tǒng)硬件進行相應的操作,同時將測試系統(tǒng)的狀態(tài)返回給用戶接口層,實現(xiàn)電機運行頻率、實際運行步數(shù)、角度值、限位角度、電機電流、電機電壓、主備份控制狀態(tài)等的采集顯示功能,電機的運行模式、運行步數(shù)、運行速度、限位角度、電機電流等的設置功能,遠程監(jiān)控以及數(shù)據(jù)庫保存功能。
測試系統(tǒng)軟件使用這種三層次結構,大大提高了軟件功能模塊的復用性,減少了代碼的數(shù)量,提高了代碼的使用效率。
圖10 測控軟件接口關系
使用通用化電機角度測試系統(tǒng)分別與帶有零位傳感器、電位器、霍爾傳感器和旋轉變壓器的步進電機連接進行測試,測試軟件界面圖如圖11所示。使用示波器測量脈沖發(fā)生電路輸出的波形圖如圖12所示,其中(a)為幅值2.5 V/64細分的正弦波,(b)為幅值4.3 V/64細分的正弦波,(c)為幅值2.5 V/8細分的正弦波,(d)為幅值2.5 V/64細分的梯形波。
經(jīng)過測試驗證,本文設計的測試系統(tǒng)可以設置輸出不同幅值、不同細分的正余弦或梯形的脈沖電流以驅動不同類型的步進電機,可以對帶有零位傳感器、電位器、霍爾傳感器和旋轉變壓器的步進電機進行測角,具有測量準確、運行穩(wěn)定、操作方便的特點。
圖11 測試軟件界面圖
圖12 脈沖發(fā)生電路輸出的波形圖
本文基于STM32單片機設計的通用化電機角度測試系統(tǒng)能夠滿足零位傳感器、電位器、霍爾傳感器和旋轉變壓器四種角度測量方案,能夠根據(jù)需求設置輸出正余弦脈沖或梯形波脈沖以驅動各類步進電機,滿足目前絕大部分步進電機的角度測試需求。通過測試試驗表明本測試系統(tǒng)測量準確、運行穩(wěn)定、操作方便,為航天器太陽帆板驅動機構的高性能步進電機測試提供了完整的解決方案。