一種基于ARM 單片機與CPLD的數字軸角轉換方法
為了使輸出信號平滑連續(xù),在全橋電路輸出后需接LC選頻電路.通過配置LC電路的電感和電容值,可達到增強基波分量.抑制諧波分量.改進輸出精度的作用.基波頻率為50Hz,根據要求及相關實驗,可知取電感L=700μH,電容C = 25 μF, 截止頻率為:
此時可取得較好輸出效果.3 軟件設計
系統(tǒng)主要分為軸角粗精角度分離取整.占空比計算以及PWM 信號生成三部分.系統(tǒng)工作流程如圖3所示.
3.1 軸角粗精分離設粗精同步機系統(tǒng)表示的軸角為θ,根據粗精傳動比例k將其分為精確同步機軸角度θ精和概略同步機軸角度θ粗,這一過程稱為軸角粗精角度分離.實際中,概略同步機軸角度θ粗=θ,精同步機的軸角度計算公式為:
3.2 查表法計算占空比根據公式(1),以正弦調制波為例,其輸出式子為:
URS = KRUmsinωtsinθ,PWM 波形頻率為f1 =20kHz,DSC角度更新速率為f2 =50Hz,因此在每個調制波周期內有N1 =f1/f2=400個PWM信號.CPLD采用時鐘計數.CPLD采用時鐘計數方法產生不同占空比的PWM 信號,由于CPLD的時鐘頻率為f3 =32.768 MHz,因此產生20kHz的PWM 信號時,最大計數值為N2 =f3/f1=1638,以中間數值為零值點,即為Z0 =819.
為了減小計算量及加快反應速度,需建立sinωt 值對應占空比的表格,表中
間正整數.同時,將sinθ值存于另一表,表中
間正整數,表示0~6000mil間的正弦值對應的占空比值,在粗精分離后,將粗精角度取整后即可通過查此表得到對應θ的正弦值.
由以上兩表值,可得調制波URS的對應占空比計算公式為;
3.3 PWM 信號生成
STM32F4單片機通過總線方式向CPLD發(fā)送占空比及選通通道信息,其總線寫操作時序如圖4所示.
根據寫時序,在整個寫時序中,地址信號常有效,數據信號出現(xiàn)在R/W#信號拉低后,因此可用此信號作為CPLD程序中時鐘計數開始標志位,通過對地址譯碼,進行通道選擇.
在QuartusⅡ中利用VHDL語言編寫CPLD程序,在R/W#的下降沿讀取地址,在R/W#的上升沿讀取數據,而后進行時鐘脈沖計數以得到對應占空 比的PWM 信號.程序仿真結果如圖5所示,由圖中可以看出,對應不同地址和占空比,不同通道輸出相應的PWM 信號 .
4 誤差分析及測試
4.1 響應實時性分析
PWM 信號頻率為20kHz,步長為50μs,因此,系統(tǒng)響應總時延必須遠小于50μs.系統(tǒng)總時延主要包括三個部分:
MCU內部運算時延.總線數據發(fā)送時延以及CPLD邏輯電路產生PWM 信號時延.全橋電路中MOS管開斷時延非常小,基本可忽略,此處不予考慮.
圖6 (a)為STM32F4做20萬次乘法運算所用時間,經測算時間
評論