何凡鋒,張振
(首都航天機(jī)械有限公司,北京,100076)
旋轉(zhuǎn)變壓器是一種可以適用于高溫、高濕、高速等惡劣環(huán)境工作場(chǎng)合的角度傳感器,應(yīng)用范圍十分廣泛。不同于普通角度傳感器,旋轉(zhuǎn)變壓器的角度信息無法直接讀取,必須配備專門的解碼裝置。這種解碼裝置有兩種解碼方式[1~4],一種是硬件解碼方式,另一種是軟件解碼方式。硬件解碼方式解碼速度快,但是,參數(shù)固化,無法修改,欠缺靈活。軟件解碼方式相對(duì)靈活,可以根據(jù)需要修改各種參數(shù),非常適合個(gè)人學(xué)習(xí)測(cè)試各種解碼算法。然而,軟件解碼方式對(duì)主控芯片的運(yùn)算速度要求較高,需要使用高性能控制芯片。STM32的H7系列芯片性能卓越,在工業(yè)自動(dòng)控制、物聯(lián)網(wǎng)和消費(fèi)電子等方面應(yīng)用廣泛[5~6]。這種芯片采用ARM Cortex M7架構(gòu),工作頻率高達(dá)480MHz,可以滿足各種復(fù)雜場(chǎng)景應(yīng)用,而且價(jià)格適中,適合作為旋變解碼主控芯片。本文將采用軟件解碼方式設(shè)計(jì)解碼試驗(yàn)板,以STM32H750VBT6作為主控芯片,分別設(shè)計(jì)相關(guān)外圍電路與控制程序,并測(cè)試試驗(yàn)板的使用效果。
旋轉(zhuǎn)變壓器的工作原理是通過給勵(lì)磁繞組施加穩(wěn)定的正弦波激勵(lì)信號(hào),同時(shí),在輸出繞組分別感應(yīng)出正弦和余弦電壓信號(hào),如圖1所示。R1-R2勵(lì)磁繞組施加高頻激勵(lì)信號(hào),S1-S3感應(yīng)出余弦信號(hào),S2-S4感應(yīng)出正弦信號(hào),轉(zhuǎn)子位置θ與S2-S4、S1-S3輸出繞組的電壓幅值成正余弦關(guān)系。解碼方法就是通過ADC采樣獲取輸出繞組的電壓信號(hào),轉(zhuǎn)換為控制芯片內(nèi)部的數(shù)字信號(hào),然后通過各種算法進(jìn)行反向計(jì)算便求解出轉(zhuǎn)子的實(shí)際角度θ。
圖1 旋轉(zhuǎn)變壓器原理圖
試驗(yàn)板的整體結(jié)構(gòu)采用模塊化設(shè)計(jì),如圖2所示。設(shè)計(jì)了四個(gè)模塊,分別是DC-DC電源模塊、MCU模塊、ADC采樣模塊和勵(lì)磁模塊。DC-DC電源模塊的主要功能是將輸入的+15V電壓轉(zhuǎn)換為MCU的工作電壓3.3V,同時(shí),為勵(lì)磁模塊提供+15V電壓輸入。MCU模塊提供DAC激勵(lì)信號(hào)、ADC采樣、數(shù)值計(jì)算、程序調(diào)試、串口通訊等功能。ADC采樣模塊用于旋轉(zhuǎn)變壓器輸出繞組的信號(hào)濾波、放大、傳遞等用途。勵(lì)磁模塊用于增強(qiáng)DAC信號(hào),以便輸出足夠功率的正弦波激勵(lì)信號(hào)。下面分別介紹各模塊的電路設(shè)計(jì)。
圖2 試驗(yàn)板結(jié)構(gòu)圖
DC-DC電源電路采用MP1584降壓芯片,將+15V電壓轉(zhuǎn)換為+3.3V電壓。這種降壓芯片價(jià)格便宜,性能穩(wěn)定,已經(jīng)被廣泛使用。這里的+3.3V輸出僅為MCU提供電流,功率不大,發(fā)熱小,足以滿足使用,其電路圖如圖3所示。
圖3 DC-DC電路圖
勵(lì)磁的目的是要給旋轉(zhuǎn)變壓器輸入一個(gè)固定周期的正弦波信號(hào)。這里采用兩路幅值與周期相同,但波形相反的正弦波信號(hào),即通過勵(lì)磁電路在勵(lì)磁繞組R1與R2兩端分別輸入正向正弦波與反向正弦波信號(hào),形成2倍幅值的合成正弦波信號(hào)。電路圖如圖4所示,圖中只給出了一路電路圖,因?yàn)閮陕穭?lì)磁信號(hào)的電路是相同的。當(dāng)MCU輸出的DAC信號(hào)為sin正向波形時(shí),激勵(lì)信號(hào)輸出正向正弦波信號(hào),當(dāng)DAC信號(hào)為sin反向波形時(shí)激勵(lì)信號(hào)輸出反向正弦波信號(hào)。圖中,U2為L(zhǎng)M2904運(yùn)放,D3、D4為L(zhǎng)L4148二極管,Q1為MMBT4401三極管,Q2為MMBT4403三極管。
圖4 勵(lì)磁電路圖
采樣電路的工作原理是先將旋轉(zhuǎn)變壓器的輸出繞組感應(yīng)出來的兩種信號(hào)進(jìn)行濾波,然后經(jīng)過運(yùn)放放大,再傳遞到MCU的ADC采樣端口。電路圖如圖5所示,左側(cè)連接S1、S3、S2、S4四個(gè)端口,右側(cè)連接MCU的PC5端口與PB1端口。圖中,U4為L(zhǎng)MV358系列運(yùn)放,20k電阻采用±1%精度的電阻。
圖5 ADC采樣電路圖
主控芯片電路如圖6所示,芯片型號(hào)是STM32H 750VBT6。芯片外圍電路設(shè)置了SWD調(diào)試接口、USART接口、啟停按鍵、外部晶振電路。圖中,X1晶振類型為25MHz貼片無源晶振,D1為ESD靜電管。
圖6 MCU電路圖
控制程序是基于HAL庫(kù)開發(fā),由STM32CubeMX軟件生成程序控制框架,再通過Keil 軟件進(jìn)行調(diào)試并添加所需代碼。串口通信部分用到USART1外設(shè),波特率115200;ADC采樣用到ADC1、TIM3和DMA1的Stream3,采樣頻率10kHz;數(shù)模轉(zhuǎn)換部分用到DAC1、TIM2、DMA1的Stream1和Stream2,轉(zhuǎn)換頻率500kHz。ADC采樣與USART1編程相對(duì)容易,這里不做介紹,下面僅對(duì)DAC輸出部分代碼與解碼代碼進(jìn)行介紹。
SinData_LENS為宏定義,值為50。內(nèi)部波形數(shù)據(jù)與實(shí)際電壓的對(duì)應(yīng)關(guān)系: 744*2/4096*3.3=1.2V(Vp-p) 。數(shù)據(jù)初始化函數(shù)及代碼如下:
函數(shù)中offset變量用于調(diào)節(jié)DAC輸出波形的起點(diǎn),這里滯后90度,正好在波形頂端觸發(fā)ADC采樣,避免波形干擾。
依據(jù)解碼算法的原理[1],這里定義跟蹤誤差:
Us是sin信號(hào)的電壓采樣值,Uc是cos信號(hào)的電壓采樣值,這兩個(gè)信號(hào)反映出旋轉(zhuǎn)變壓器的轉(zhuǎn)子位置角度。sin(θ)與cos(θ)是解碼角度θ的三角函數(shù)值。用公式(1)計(jì)算的結(jié)果趨近于0時(shí),旋轉(zhuǎn)變壓器的實(shí)際轉(zhuǎn)子角度就是θ角。這里采用αβ濾波[7-8]相關(guān)理論進(jìn)行解碼,并通過試驗(yàn)的方法確定參數(shù)數(shù)值。程序內(nèi)容如下:
由試驗(yàn)得出相關(guān)參數(shù)的初值:N_Ts=10000,M1=800000,M2=1。另外,解碼函數(shù)DeCode_Angle(void)應(yīng)該放在DMA1_Stream3_IRQHandler(void)中斷函數(shù)中調(diào)用,每次ADC采集完畢后進(jìn)行解碼運(yùn)算。
實(shí)驗(yàn)系統(tǒng)的搭建如圖7所示,由旋轉(zhuǎn)主軸、旋轉(zhuǎn)變壓器、直流電源、串口通信模塊與試驗(yàn)板五個(gè)部分組成。旋轉(zhuǎn)主軸用于拖動(dòng)旋轉(zhuǎn)變壓器旋轉(zhuǎn);直流電源用于提供+15V電壓輸入;串口通信模塊用于采集的波形數(shù)據(jù)與解碼角度數(shù)據(jù)并傳遞給上位機(jī)。實(shí)驗(yàn)參數(shù):勵(lì)磁信號(hào)10kHz,Vp-p=2.4V,勵(lì)磁繞組電感2mH,ESR等于28Ω;輸出繞組電感5.5mH,ESR等于75Ω;額定轉(zhuǎn)速230r/min。
圖7 實(shí)驗(yàn)系統(tǒng)圖
測(cè)試結(jié)果如圖8所示,圖中展示1.045s時(shí)間內(nèi)4個(gè)旋轉(zhuǎn)周期的相關(guān)數(shù)據(jù),包括解碼角度與輸出繞組的采樣信號(hào)。圖中縱坐標(biāo)的數(shù)值范圍為-32768~+32767,這是MCU內(nèi)部程序變量的數(shù)值范圍,采用的是C語(yǔ)言程序int16_t型數(shù)據(jù)類型??梢詮膱D中看到,輸出繞組的sin信號(hào)與cos信號(hào)均是4個(gè)完整波形周期,解碼角度也是4個(gè)完整周期,兩者周期完全一致,成功實(shí)現(xiàn)角度解碼。
圖8 解碼角度與采樣信號(hào)圖
關(guān)于實(shí)際速度,其計(jì)算結(jié)果為:4/1.045×60=229.67r/min,轉(zhuǎn)速誤差為:(230-229.7)/230=0.14%。角度誤差如圖9所示,其幅度在600以內(nèi),誤差百分比大小為:±600/32767=±1.8%。
圖9 角度誤差圖
本文完成了一種旋變變壓器解碼試驗(yàn)板方案的電路設(shè)計(jì)與測(cè)試。從測(cè)試結(jié)果可以看出,試驗(yàn)板的解碼角度誤差與轉(zhuǎn)速誤差較小,滿足了解碼算法的測(cè)試使用。