基于VHDL的直流電機控制功能模塊設計
仝 勇 陶東婭 金銀旗
(1.臺州職業(yè)技術學院機電工程學院 2.臺州市光躍飲水設備有限公司)
摘要:介紹了一種基于VHDL的直流電機控制功能模塊的設計方案。用硬件描述語言VHDL寫代碼生成功能模塊IP核,并通過SOPC Builder將此IP核加入到NiosII軟核中生成直流電機系統(tǒng)模塊原理圖。最后給出功能模塊仿真時序圖,結果表明與現(xiàn)有的其它方法相比,該方法具有靈活方便、穩(wěn)定、易維護、高效率等優(yōu)點。
關鍵詞:VHDL;直流電機;FPGA;控制功能模塊;NiosII;
0 引言
隨著社會的發(fā)展,直流電機的應用越來越普遍,對直流電機控制方式的要求也不斷提高。本文利用ALTERA公司最新開發(fā)的SOPC解決方案,提出了基于NiosII軟核處理器的直流電機功能模塊的設計方案,給出了VHDL代碼生成功能模塊IP核。IP核的生成,不僅方便設計者靈活使用,節(jié)省資源,也大大縮短了設計周期。設計者可以根據(jù)需要直接調(diào)用IP核來組成NiosII系統(tǒng),然后將此系統(tǒng)下載到FPGA中實現(xiàn)。IP核不僅可以用在電機控制中,還可以用來控制其它一些小型家電,全彩LED等,具有廣闊的應用前景。
1 直流電機總體硬件設計
如圖1所示,系統(tǒng)整體由FPGA芯片控制,其控制核心為ALTERA公司的NiosII軟核CPU,本文將著重介紹圖中兩個控制功能模塊PWM模塊和測速模塊的設計與生成。這兩個控制功能模塊均采用VHDL硬件描述語言自行設計生成可以調(diào)用的IP核,通過QuartusII對其進行編譯、仿真驗證其正確性,最后將生成自定義接口功能模塊添加到頂層原理圖中,完成整個調(diào)速系統(tǒng)的設計。
2 PWM功能模塊的設計
PWM模塊利用直流電機占空比來控制電機電樞電壓,從而控制直流電機的轉(zhuǎn)速。設計過程如圖2所示。
PWM功能模塊的仿真波形如圖3所示。
從圖3可以看出,仿真時給定一個時鐘信號Clk,Sta用來控制直流電機正反轉(zhuǎn),圖3中的0表示直流電機處于正轉(zhuǎn)狀態(tài),1表示停止,3表示反轉(zhuǎn);Conword為占空比信號,仿真中有25%、78%、50%三種值;PWM A表示直流電機處于正轉(zhuǎn)狀態(tài)時的占空比輸出,這時PWM B的輸出為0;PWM B表示直流電機處于反轉(zhuǎn)時的占空比輸出,此時PWM A的輸出值為0;而當電機處于停止狀態(tài)時,如圖中當Sta值為1時,PWM A和PWM B的輸出值均為0。經(jīng)仿真時序圖驗證此設計是有效的,從而將其生成PWM功能模塊。
PWM功能模塊如圖4所示。
PWM控制功能模塊的原理如下:將時鐘源50MHz的基頻信號64分頻,作為PWM模塊的基頻信號,以256個該基頻脈沖信號作為PWM輸出的一個周期,由NiosII處理器給出Conword的值指定一個PWM周期內(nèi)高電平持續(xù)時間,改變Conword的值即刻改變占空比輸出的值。Sta用來控制電機正反轉(zhuǎn)。
PWM控制功能模塊管腳分配圖如圖5所示。
3 測速功能模塊的設計
測速模塊的作用主要是利用基頻的周期來計算光柵信號的周期,算出直流電機的轉(zhuǎn)速。其設計的流程圖如圖6所示。
測速模塊的時序仿真波形圖如圖7所示。
從圖7中可以看出,仿真時給定一個時鐘信號Clk用于計時,en為使能信號,即表示光柵有效,dout表示光柵有效時間,仿真中有200、400、700三種值。通過時序仿真驗證了此設計的測速模塊是有效的,從而將其生成測速功能模塊。
測速功能模塊如圖8所示。
其工作原理如下:給出己知頻率的基頻,用光柵作為門限,測基頻脈沖的個數(shù),由基頻的周期來計算光柵信號的周期,再算出轉(zhuǎn)速,電機控制算法即根據(jù)測速模塊測出的速度進行算法調(diào)整,達到閉環(huán)控制的效果。
測速模塊的管腳分配圖如圖9所示。
4 結束語
根據(jù)直流電機的功能需求,利用VHDL語言設計了PWM功能模塊和測速模塊,并進行了仿真,驗證了設計的正確性,完成了系統(tǒng)設計。本文的創(chuàng)新之處在于利用軟硬件直接設計控制功能模塊,這種設計具有開發(fā)周期短、通用能力好、易于開發(fā)擴展等優(yōu)點,值得推廣。
評論