一種基于ARM 單片機(jī)與CPLD的數(shù)字軸角轉(zhuǎn)換方法
0 引言同步機(jī).正余弦旋轉(zhuǎn)變壓器等廣泛應(yīng)用于火力控制.航空航天.自動(dòng)控制等領(lǐng)域以實(shí)現(xiàn)系統(tǒng)間軸角信息的傳輸.由于計(jì)算機(jī)技術(shù)在上述領(lǐng)域的廣泛應(yīng)用,數(shù)字-軸角轉(zhuǎn)換已(Digitalto Shaft-angle Converting,DSC)成為一個(gè)重要的問(wèn)題.市場(chǎng)上DSC集成模塊產(chǎn)品價(jià)格較高且接口不夠靈活,在某些領(lǐng)域應(yīng)用受到限制,特別在多路DSC使用時(shí)效費(fèi)問(wèn)題更為突出.基于上述問(wèn)題,提出一種采用ARM 單片機(jī)+CPLD實(shí)現(xiàn)數(shù)字-軸角轉(zhuǎn)換的方法.
1 數(shù)字-軸角轉(zhuǎn)換原理數(shù)字-軸角轉(zhuǎn)換(DSC)是將數(shù)字形式表示的軸角度θ通過(guò)運(yùn)算電路轉(zhuǎn)換為正余弦旋轉(zhuǎn)變壓器形式的電壓(如式(1)),經(jīng)正余弦旋轉(zhuǎn)變壓器和經(jīng)過(guò)Scott變壓器后驅(qū)動(dòng)同步機(jī)指向?qū)?yīng)軸角位置,從而完成數(shù)字-軸角轉(zhuǎn)換.
當(dāng)同步機(jī).正余弦旋轉(zhuǎn)變壓器的激磁繞組電壓為U0 =Umsinωt時(shí),則正余弦旋轉(zhuǎn)變壓器兩相繞組輸出電壓為:
URS =KRUmsinωtsinθ
URC =KRUmsinωtcosθ
驅(qū)動(dòng)同步機(jī)三相繞組電壓為:
US1 =KSUmsinωtsinθ
US2 =KSUmsinωtsin(θ+120°)
US3 =KSUmsinωtsin(θ-120°)
其中,KR ?KS分別為正余弦旋轉(zhuǎn)變壓器和同步機(jī)的變壓比,θ為軸角位置.
為了將兩相正余弦旋轉(zhuǎn)變壓器信號(hào)變?yōu)槿嗤綑C(jī)信號(hào),需使用Scott變壓器.其基本構(gòu)造及原理分析如圖1所示.
在圖1 (a)中,URS ?URC是空間兩相正余弦旋轉(zhuǎn)變壓器信號(hào),將兩變壓器按圖中抽頭連接,如圖1 (b)的相量圖分析:
Us1 =URS
US2 =-0.5URS -0.866URC
US3 =-0.5URS +0.866URC
這樣就將空間兩相正余弦旋轉(zhuǎn)變壓器信號(hào)轉(zhuǎn)變?yōu)榭臻g的三相同步機(jī)信號(hào).[!--empirenews.page--]
2 硬件設(shè)計(jì)
2.1 總體設(shè)計(jì)
以一路DSC為例,系統(tǒng)的硬件結(jié)構(gòu)如圖2所示.工作原理為:STM32F407微控制器為主控芯片,通過(guò)通信接口接收外部輸入的軸角信號(hào)θ,并對(duì)其進(jìn)行粗精分離及利用查表法計(jì)算對(duì)應(yīng)占空比大小,通過(guò)總線(xiàn)方式將通道對(duì)應(yīng)地址及占空比對(duì)應(yīng)數(shù)據(jù)信息送入CPLD;CPLD根據(jù)數(shù)據(jù)及地址信息產(chǎn)生對(duì)應(yīng)通道和占空比的PWM 信號(hào);由4個(gè)互補(bǔ)MOS管構(gòu)成的全橋驅(qū)動(dòng)電路由全橋驅(qū)動(dòng)器UBA2032根據(jù)PWM 信號(hào)控制全橋電路開(kāi)斷,并經(jīng)選頻電路后產(chǎn)生對(duì)應(yīng)軸角的調(diào)制波,經(jīng)Scott變壓器轉(zhuǎn)變?yōu)槿嘈盘?hào)后驅(qū)動(dòng)同步機(jī)指向?qū)?yīng)軸角位置即完成系統(tǒng)的數(shù)字-軸角轉(zhuǎn)換.
2.2 STM32F4微控制器
STM32F4微控制器是由意法半導(dǎo)體生產(chǎn)的基于ARMCortex-M4內(nèi)核的新型微控制器,性能優(yōu)越.下面主要說(shuō)明選用此型號(hào)MCU的原因:
(1)內(nèi)核架構(gòu)先進(jìn),性能優(yōu)越.由于MCU需要完成諸如軸角粗精分離.取整以及調(diào)制波對(duì)應(yīng)PWM 信號(hào)占空比等運(yùn)算,涉及到較多乘除法運(yùn)算,要求所選MCU需具備較強(qiáng)浮點(diǎn)及乘除運(yùn)算能力,而所選STM32F4微控制器具有專(zhuān)門(mén)的硬件乘法器和具有較高的主頻(168MHz),且可適當(dāng)超頻,適合完成較為復(fù)雜的實(shí)時(shí)運(yùn)算;(2)接口豐富,可方便完成功能擴(kuò)展.RS232串口用于接收外部信息,同時(shí),此型號(hào)MCU具有網(wǎng)絡(luò)接口,可在系統(tǒng)組網(wǎng)時(shí)作為網(wǎng)絡(luò)節(jié)點(diǎn);(3)可變靜態(tài)存儲(chǔ)控制器(FSMC),是STM32系列采用的一種新型的存儲(chǔ)器擴(kuò)展技術(shù),可根據(jù)不同的外部存儲(chǔ)器類(lèi)型通過(guò)設(shè)置進(jìn)而匹配信號(hào)的速度,達(dá)到方便擴(kuò)展.使用靈活的目的.系統(tǒng)中通過(guò)數(shù)據(jù)/地址/控制三總線(xiàn)方式與CPLD通信.
在多路DSC中,通過(guò)地址總線(xiàn)傳遞所選通道號(hào),數(shù)據(jù)總線(xiàn)傳遞對(duì)應(yīng)此通道相應(yīng)軸角調(diào)制波的PWM 信號(hào)的占空比,控制總線(xiàn)傳遞相應(yīng)控制信號(hào).
2.3 CPLD電路如果利用MCU產(chǎn)生PWM信號(hào),由于其需擔(dān)負(fù)大量運(yùn)算工作,會(huì)增加MCU的負(fù)擔(dān)從而系統(tǒng)的實(shí)時(shí)性與穩(wěn)定性均可能得不到保證,因此需要專(zhuān)門(mén)產(chǎn)生PWM信號(hào)的單元.CPLD是可編程邏輯器件,器件的時(shí)延特點(diǎn)較為固定,信號(hào)輸出穩(wěn)定性及實(shí)時(shí)性均可得到保證,因此使用CPLD完成PWM信號(hào)的生成.
2.4 全橋電路及選頻電路
全橋電路由兩對(duì)互補(bǔ)連接的MOS管組成,具有丙類(lèi)功率放大的特征,發(fā)熱低.效率高.工作時(shí)由PWM 信號(hào)驅(qū)動(dòng)全橋驅(qū)動(dòng)器UBA2032產(chǎn)生控制全橋電路橋臂開(kāi)斷時(shí)間,從而產(chǎn)生不同有效值的電壓.50%的占空比對(duì)應(yīng)調(diào)制波的零值,為了保證UBA2023的工作及MOS管的正常開(kāi)斷,通常PWM 信號(hào)的頻率為20kHz,占空比在10%~90%范圍內(nèi)調(diào)節(jié).
為了使輸出信號(hào)平滑連續(xù),在全橋電路輸出后需接LC選頻電路.通過(guò)配置LC電路的電感和電容值,可達(dá)到增強(qiáng)基波分量.抑制諧波分量.改進(jìn)輸出精度的作用.基波頻率為50Hz,根據(jù)要求及相關(guān)實(shí)驗(yàn),可知取電感L=700μH,電容C = 25 μF, 截止頻率為:
此時(shí)可取得較好輸出效果.[!--empirenews.page--]
3 軟件設(shè)計(jì)
系統(tǒng)主要分為軸角粗精角度分離取整.占空比計(jì)算以及PWM 信號(hào)生成三部分.系統(tǒng)工作流程如圖3所示.
3.1 軸角粗精分離設(shè)粗精同步機(jī)系統(tǒng)表示的軸角為θ,根據(jù)粗精傳動(dòng)比例k將其分為精確同步機(jī)軸角度θ精和概略同步機(jī)軸角度θ粗,這一過(guò)程稱(chēng)為軸角粗精角度分離.實(shí)際中,概略同步機(jī)軸角度θ粗=θ,精同步機(jī)的軸角度計(jì)算公式為:
3.2 查表法計(jì)算占空比根據(jù)公式(1),以正弦調(diào)制波為例,其輸出式子為:
URS = KRUmsinωtsinθ,PWM 波形頻率為f1 =20kHz,DSC角度更新速率為f2 =50Hz,因此在每個(gè)調(diào)制波周期內(nèi)有N1 =f1/f2=400個(gè)PWM信號(hào).CPLD采用時(shí)鐘計(jì)數(shù).CPLD采用時(shí)鐘計(jì)數(shù)方法產(chǎn)生不同占空比的PWM 信號(hào),由于CPLD的時(shí)鐘頻率為f3 =32.768 MHz,因此產(chǎn)生20kHz的PWM 信號(hào)時(shí),最大計(jì)數(shù)值為N2 =f3/f1=1638,以中間數(shù)值為零值點(diǎn),即為Z0 =819.
為了減小計(jì)算量及加快反應(yīng)速度,需建立sinωt 值對(duì)應(yīng)占空比的表格,表中
間正整數(shù).同時(shí),將sinθ值存于另一表,表中
間正整數(shù),表示0~6000mil間的正弦值對(duì)應(yīng)的占空比值,在粗精分離后,將粗精角度取整后即可通過(guò)查此表得到對(duì)應(yīng)θ的正弦值.
由以上兩表值,可得調(diào)制波URS的對(duì)應(yīng)占空比計(jì)算公式為;
3.3 PWM 信號(hào)生成
STM32F4單片機(jī)通過(guò)總線(xiàn)方式向CPLD發(fā)送占空比及選通通道信息,其總線(xiàn)寫(xiě)操作時(shí)序如圖4所示.
根據(jù)寫(xiě)時(shí)序,在整個(gè)寫(xiě)時(shí)序中,地址信號(hào)常有效,數(shù)據(jù)信號(hào)出現(xiàn)在R/W#信號(hào)拉低后,因此可用此信號(hào)作為CPLD程序中時(shí)鐘計(jì)數(shù)開(kāi)始標(biāo)志位,通過(guò)對(duì)地址譯碼,進(jìn)行通道選擇.
在QuartusⅡ中利用VHDL語(yǔ)言編寫(xiě)CPLD程序,在R/W#的下降沿讀取地址,在R/W#的上升沿讀取數(shù)據(jù),而后進(jìn)行時(shí)鐘脈沖計(jì)數(shù)以得到對(duì)應(yīng)占空 比的PWM 信號(hào).程序仿真結(jié)果如圖5所示,由圖中可以看出,對(duì)應(yīng)不同地址和占空比,不同通道輸出相應(yīng)的PWM 信號(hào) .
4 誤差分析及測(cè)試
4.1 響應(yīng)實(shí)時(shí)性分析
PWM 信號(hào)頻率為20kHz,步長(zhǎng)為50μs,因此,系統(tǒng)響應(yīng)總時(shí)延必須遠(yuǎn)小于50μs.系統(tǒng)總時(shí)延主要包括三個(gè)部分:
MCU內(nèi)部運(yùn)算時(shí)延.總線(xiàn)數(shù)據(jù)發(fā)送時(shí)延以及CPLD邏輯電路產(chǎn)生PWM 信號(hào)時(shí)延.全橋電路中MOS管開(kāi)斷時(shí)延非常小,基本可忽略,此處不予考慮.
圖6 (a)為STM32F4做20萬(wàn)次乘法運(yùn)算所用時(shí)間,經(jīng)測(cè)算時(shí)間大約為20ms,每次運(yùn)算時(shí)間約為0.1μs;圖6 (b)為STM32總線(xiàn)操作時(shí)間,經(jīng)測(cè)算時(shí)間大約為250ns.二者總時(shí)間延遲約為350ns左右.本著減小時(shí)延的原則,CPLD型號(hào) EPM7512AETC144-7,綜合時(shí)延為7ns左右.由上所述,總時(shí)延不會(huì)超過(guò)400ns,相較于50μs基本可忽略,故可滿(mǎn)足系統(tǒng)實(shí)時(shí)性要求,可 準(zhǔn)確反應(yīng)實(shí)時(shí)軸角信息.
4.2 動(dòng)態(tài)精度分析
DSC軸角度以50Hz的速率更新數(shù)據(jù),與其相連的隨動(dòng)系統(tǒng)或同步機(jī)具有慣性平滑作用,可將步進(jìn)階梯平滑濾除,但是會(huì)產(chǎn)生動(dòng)態(tài)誤差,它與角度的變化率有關(guān),可通過(guò)動(dòng)態(tài)測(cè)量,計(jì)算角度變化率的方法以軟件方式補(bǔ)償.
設(shè)ti時(shí)刻考慮動(dòng)態(tài)補(bǔ)償?shù)腄SC輸出角度為θ′i ,ti+1時(shí)刻不考慮動(dòng)態(tài)補(bǔ)償?shù)腄SC輸出角度為θi+1 ,則角度變化率ωi為:
則考慮動(dòng)態(tài)補(bǔ)償后ti+1時(shí)刻應(yīng)向DSC輸出的角度為:
4.3 測(cè)試結(jié)果
圖8為實(shí)測(cè)輸出調(diào)制波結(jié)果,從圖中可以看出,輸出信號(hào)波形較好,頻率穩(wěn)定,實(shí)時(shí)性較好,動(dòng)態(tài)精度良好,滿(mǎn)足使用要求。
5 結(jié)束語(yǔ)
設(shè) 計(jì)了一種以ARM Cortex-M4內(nèi)核的新型STM32F4微控制器和可編程邏輯器件CPLD為核心的數(shù)字-軸角轉(zhuǎn)換系統(tǒng).利用PWM 信號(hào)控制全橋橋電路提供大功率輸出,進(jìn)而驅(qū)動(dòng)同步機(jī)指向?qū)?yīng)軸角.經(jīng)高炮系統(tǒng)控制實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)運(yùn)轉(zhuǎn)平穩(wěn),效率高,改進(jìn)了原系統(tǒng)功耗較高.發(fā)熱量大的缺 點(diǎn),且具有較高精度及效費(fèi)比,實(shí)測(cè)靜態(tài)轉(zhuǎn)換誤差小于0.5密位(20:1粗精組合),達(dá)到實(shí)際要求,為其它數(shù)字-軸角轉(zhuǎn)換系統(tǒng)實(shí)現(xiàn)提供了一種新的方法,具 有一定推廣價(jià)值.