一種基于ARM 單片機(jī)與CPLD的數(shù)字軸角轉(zhuǎn)換方法(一)
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à)值.
評(píng)論