一種基于ARM 單片機(jī)與CPLD的數(shù)字軸角轉(zhuǎn)換方法
為了使輸出信號(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í)可取得較好輸出效果.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ò)程稱為軸角粗精角度分離.實(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ò)總線方式向CPLD發(fā)送占空比及選通通道信息,其總線寫(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í)延.總線數(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í)間
評(píng)論