隨著社會的發展,直流電機的應用越來越普遍,對直流電機控制方式的要求也不斷提高。本文利用ALTERA公司最新開發的SOPC解決方案,提出了基於NiosII軟核處理器的直流電機功能模塊的設計方案,給出了VHDL代碼生成功能模塊IP核。IP核的生成,不僅方便設計者靈活使用,節省資源,也大大縮短了設計周期。設計者可以根據需要直接調用IP核來組成NiosII系統,然後將此系統下載到FPGA中實現。IP核不僅可以用在電機控制中,還可以用來控制其它一些小型家電,全彩LED等,具有廣闊的應用前景。
2 PWM功能模塊的設計
PWM模塊利用直流電機佔空比來控制電機電樞電壓,從而控制直流電機的轉速。設計過程如圖2所示。
PWM功能模塊的仿真波形如圖3所示。
從圖3可以看出,仿真時給定一個時鐘信號Clk,Sta用來控制直流電機正反轉,圖3中的0表示直流電機處於正轉狀態,1表示停止,3表示反轉;Conword為佔空比信號,仿真中有25%、78%、50%三種值;PWM A表示直流電機處於正轉狀態時的佔空比輸出,這時PWM B的輸出為0;PWM B表示直流電機處於反轉時的佔空比輸出,此時PWM A的輸出值為0;而當電機處於停止狀態時,如圖中當Sta值為1時,PWM A和PWM B的輸出值均為0。經仿真時序圖驗證此設計是有效的,從而將其生成PWM功能模塊。
PWM功能模塊如圖4所示。
PWM控制功能模塊的原理如下:將時鐘源50MHz的基頻信號64分頻,作為PWM模塊的基頻信號,以256個該基頻脈衝信號作為PWM輸出的一個周期,由NiosII處理器給出Conword的值指定一個PWM周期內高電平持續時間,改變Conword的值即刻改變佔空比輸出的值。Sta用來控制電機正反轉。
PWM控制功能模塊管腳分配圖如圖5所示。
3 測速功能模塊的設計
測速模塊的作用主要是利用基頻的周期來計算光柵信號的周期,算出直流電機的轉速。其設計的流程圖如圖6所示。
測速模塊的時序仿真波形圖如圖7所示。
從圖7中可以看出,仿真時給定一個時鐘信號Clk用於計時,en為使能信號,即表示光柵有效,dout表示光柵有效時間,仿真中有200、400、700三種值。通過時序仿真驗證了此設計的測速模塊是有效的,從而將其生成測速功能模塊。
測速功能模塊如圖8所示。
其工作原理如下:給出己知頻率的基頻,用光柵作為門限,測基頻脈衝的個數,由基頻的周期來計算光柵信號的周期,再算出轉速,電機控制算法即根據測速模塊測出的速度進行算法調整,達到閉環控制的效果。
測速模塊的管腳分配圖如圖9所示。
4 結束語
根據直流電機的功能需求,利用VHDL語言設計了PWM功能模塊和測速模塊,並進行了仿真,驗證了設計的正確性,完成了系統設計。本文的創新之處在於利用軟硬體直接設計控制功能模塊,這種設計具有開發周期短、通用能力好、易於開發擴展等優點,值得推廣。