基于FPGA的無刷直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:以FPGA為控制器,使用霍爾傳感器進(jìn)行電機(jī)電流及位置的檢測(cè),用MOSFET搭接成的驅(qū)動(dòng)電路進(jìn)行控制電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向,用VHDL語言設(shè)計(jì)了一種PWM調(diào)節(jié)電機(jī)速度的方法。通過對(duì)系統(tǒng)進(jìn)行理論分析以及調(diào)試,實(shí)現(xiàn)了電機(jī)電流、位置的檢測(cè)并控制電機(jī)速度和轉(zhuǎn)向從而達(dá)到要求的速度和方向。
無刷直流電機(jī)具有結(jié)構(gòu)簡(jiǎn)單、體積小、效率高、無級(jí)調(diào)速、調(diào)速范圍廣、過載能力強(qiáng)等優(yōu)點(diǎn),在許多領(lǐng)域得到了廣泛的運(yùn)用,特別是在高性能的伺服驅(qū)動(dòng)領(lǐng)域,在這些領(lǐng)域要求控制器體積小,還要求對(duì)多臺(tái)電機(jī)并行控制,單芯片大容量現(xiàn)場(chǎng)可編程門陣列(FPGA)能夠?qū)崿F(xiàn)在系統(tǒng)芯片上實(shí)現(xiàn)多臺(tái)電機(jī)的復(fù)雜控制功能,大大減小了控制系統(tǒng)的體積。
本文提出了一種無刷直流電動(dòng)機(jī)速度控制器的方案,利用現(xiàn)場(chǎng)可編程門陣列FPGA芯片對(duì)電機(jī)控制器的進(jìn)行控制,設(shè)計(jì)了利用此控制器對(duì)無刷直流電機(jī)進(jìn)行調(diào)速控制的PWM方法。采用VHDL硬件描述語言實(shí)現(xiàn)了轉(zhuǎn)子位置檢測(cè)電路、驅(qū)動(dòng)電路和電流檢測(cè)電路,整個(gè)控制系統(tǒng)響應(yīng)速度快、超調(diào)小、穩(wěn)態(tài)誤差小、可靠性高、靈活性強(qiáng)。
1 無刷直流電機(jī)調(diào)速系統(tǒng)總體設(shè)計(jì)
1.1 無刷直流電機(jī)調(diào)速系統(tǒng)的方案論證
所謂無刷直流電機(jī)調(diào)速系統(tǒng),其主要在于PWM調(diào)速方法的設(shè)計(jì),目的是改變脈沖的占空比。其核心在于智能控制,需要選擇一個(gè)智能的控制器,而且系統(tǒng)需要的是簡(jiǎn)單高效,對(duì)于開關(guān)控制以及信號(hào)處理的速度要求并不高,因此采用ALTERA公司的現(xiàn)場(chǎng)可編程門陣列CycloneIII FPGA芯片。
1.2 無刷直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)思路
無刷直流電機(jī)調(diào)速系統(tǒng)以FPGA為中心,配有電流檢測(cè)模塊、位置檢測(cè)模塊、驅(qū)動(dòng)模塊、PWM調(diào)節(jié)等模塊,利用霍爾傳感器來檢測(cè)電機(jī)電流和電機(jī)轉(zhuǎn)子位置,把采集的信號(hào)送給FPGA進(jìn)行處理從而按照人為設(shè)定的電機(jī)初始速度來發(fā)出相應(yīng)的加、減速和電機(jī)正、反轉(zhuǎn)命令并執(zhí)行。
從系統(tǒng)總體框架圖中可以看出,系統(tǒng)主要由驅(qū)動(dòng)模塊、電流檢測(cè)模塊、位置檢測(cè)模塊以及PWM調(diào)節(jié)模塊。
無刷直流電機(jī)調(diào)速系統(tǒng)是這樣工作的:當(dāng)打開電機(jī)驅(qū)動(dòng)開關(guān)時(shí),電機(jī)開始轉(zhuǎn)動(dòng),此時(shí)位置檢測(cè)和電流檢測(cè)電路開始工作以檢測(cè)電機(jī)速度,并將信號(hào)傳送給FPGA進(jìn)行處理,如果電機(jī)速度大于所需要的電機(jī)轉(zhuǎn)速,此時(shí)控制電機(jī)減速,反之則控制電機(jī)加速。在此期間,可以通過按動(dòng)按鍵來控制電機(jī)的正反轉(zhuǎn)。
2 無刷直流電機(jī)調(diào)速系統(tǒng)的硬件電路設(shè)計(jì)
2.1 無刷直流電機(jī)調(diào)速系統(tǒng)的電流檢測(cè)電路
采用基于霍爾效應(yīng)的線性電流傳感器ACS712芯片進(jìn)行電流檢測(cè),該器件內(nèi)置有精確的低偏置的線性霍爾傳感器電路,能輸出與檢測(cè)的交流或直流電流成比例的電壓??梢跃?/p>
確的檢測(cè)電機(jī)電流,但由于霍爾元件檢測(cè)的信號(hào)非常小,所以要將采集的信號(hào)進(jìn)行放大后送給FPGA,選用芯片LM321進(jìn)行信號(hào)放大,具體電路如圖2所示。
2.2 無刷直流電機(jī)調(diào)速系統(tǒng)的位置檢測(cè)電路
位置信號(hào)檢測(cè)可以用于電機(jī)的換相,還能用來計(jì)算電機(jī)轉(zhuǎn)速,在無刷直流電機(jī)控制中起著十分重要的作用。本設(shè)計(jì)是采用三個(gè)霍爾位置傳感器來實(shí)現(xiàn)位置檢測(cè)的,每個(gè)霍爾位置傳感器輸出脈寬180°互差120°相位的霍爾位置信號(hào),三個(gè)霍爾位置傳感器輸出三路位置信號(hào),電機(jī)每旋轉(zhuǎn)360°電角度會(huì)出現(xiàn)六個(gè)上升沿和下降沿,正好把三路位置信號(hào)在一個(gè)周期分成6個(gè)區(qū)間,每個(gè)區(qū)間對(duì)應(yīng)一個(gè)換相區(qū)間,而每個(gè)上升沿或下降沿都對(duì)應(yīng)一個(gè)換相時(shí)刻,如圖4所示。
2.3 換相電路設(shè)計(jì)
根據(jù)無刷直流電機(jī)模塊中輸出的三相霍爾位置信號(hào),以及無刷直流電機(jī)速度控制模塊輸出的PWM信號(hào),邏輯換相模塊輸出6個(gè)電機(jī)換相及速度控制脈沖。輸入4個(gè)信號(hào),分別是三相霍爾位置信號(hào)(HA、HB、HC)和由控制模塊輸出PWM信號(hào)。6個(gè)輸出信號(hào)VT1~VT6控制三相逆變器功率管的通斷,其中VT1、VT3、VT5用于控制上側(cè)功率管的通斷,VT2、VT4、VT6用于控制下側(cè)功率管的通斷。三相逆變橋采用上管調(diào)制的方式,邏輯關(guān)系構(gòu)造邏輯換相模型如圖5。
2.4 無刷直流電機(jī)調(diào)速系統(tǒng)的驅(qū)動(dòng)電路
采用的是6個(gè)MOSFET搭建而成的三相橋式逆變器,MOSFET是開關(guān)速度快的理想電壓控制器件,其驅(qū)動(dòng)電路較為簡(jiǎn)單,特別適合于各類中小功率開關(guān)電路。同時(shí)采用IR2132專用集成驅(qū)動(dòng)芯片,它是專為功率MOSFET驅(qū)動(dòng)而設(shè)計(jì)的,方便于控制電路連接,其驅(qū)動(dòng)信號(hào)延時(shí)為納秒級(jí),開關(guān)頻率高,體積小,外圍走線簡(jiǎn)單,適合中小型電機(jī)驅(qū)動(dòng)電路的應(yīng)用。6個(gè)MOSFET根據(jù)所接收到的信號(hào)從而改變管子的通斷來控制電機(jī)的轉(zhuǎn)動(dòng)。
3 無刷直流電機(jī)調(diào)速系統(tǒng)的軟件設(shè)計(jì)
3.1 無刷直流電機(jī)PWM調(diào)速軟件設(shè)計(jì)
PWM調(diào)速產(chǎn)生電路是由加減計(jì)數(shù)器、5位二進(jìn)制計(jì)數(shù)器、數(shù)字比較器三部分組成。加減計(jì)數(shù)器做細(xì)分計(jì)數(shù)器,確定脈沖寬度。當(dāng)U_D=1時(shí),輸入CLK1,使設(shè)定值計(jì)數(shù)器的輸出值增加,PWM的占空比增加,電機(jī)轉(zhuǎn)速加快;當(dāng)U_D=0,輸入CLK1,使設(shè)定值計(jì)數(shù)器的輸出值減小,PWM的占空比減小,電機(jī)轉(zhuǎn)速變慢。5位二進(jìn)制計(jì)數(shù)器在CLK0的作用下輸出周期性線性增加的鋸齒波。當(dāng)計(jì)數(shù)值小于設(shè)定值時(shí),數(shù)字比較器輸出高電平,當(dāng)計(jì)數(shù)值大于設(shè)定值時(shí),數(shù)字比較器輸出低電平,從而產(chǎn)生周期性的PWM波形。設(shè)定ZF為電機(jī)的方向按鍵,選擇PWM波形的進(jìn)入方向,當(dāng)其為1時(shí),電機(jī)正轉(zhuǎn),否則反轉(zhuǎn)。設(shè)定START進(jìn)行電機(jī)的控制時(shí),START為1電機(jī)開始工作,為0電機(jī)停止工作。通過按鍵EN1的閉合與斷開可以改變初始值,從而改變直流電機(jī)的PWM占空比,改變直流電機(jī)速度。[!--empirenews.page--]
3.2 PWM調(diào)速仿真
如波形仿真圖8可知,當(dāng)電機(jī)的速度小于設(shè)定值時(shí),計(jì)數(shù)器數(shù)字比較器輸出高電平,從而使計(jì)數(shù)器計(jì)數(shù)增加,PWM輸出為高電平,改變占空比,使電機(jī)加速;當(dāng)電機(jī)的速度大于設(shè)定值時(shí),計(jì)數(shù)器數(shù)字比較器輸出低電平,從而使計(jì)數(shù)器計(jì)數(shù)減小,PWM輸出為低電平,改變占空比,使電機(jī)減速;Z_F是電機(jī)的方向按鍵,Z_F為1時(shí)電機(jī)正轉(zhuǎn),Z輸出為1;Z_F為0時(shí)電機(jī)反轉(zhuǎn),F(xiàn)輸出為1;START為電機(jī)控制端,START為1電機(jī)工作,為0電機(jī)停止,Z、F均為0。
在時(shí)鐘脈沖的作用下,計(jì)數(shù)器CNTA和CNTB都能按照事設(shè)定數(shù)值進(jìn)行計(jì)數(shù)。CNTA是可控的加減計(jì)數(shù)器,U_D控制其計(jì)數(shù)的方向,EN1用于設(shè)定其初值,當(dāng)EN1由高電平變?yōu)榈碗娖綍r(shí),就完成了設(shè)定值。CNTB是5位二進(jìn)制計(jì)數(shù)器,在時(shí)鐘脈沖CLK0的作用下一直加數(shù),當(dāng)它加到32時(shí)就自動(dòng)返回到0再重新加數(shù)。兩路計(jì)數(shù)器同時(shí)加到數(shù)字比較器COMPARE上,當(dāng)CN TB的值小于設(shè)定值時(shí),數(shù)字比較器輸出高電平,當(dāng)CNTB的值大于設(shè)定值時(shí),數(shù)字比較器輸出低電平。改變?cè)O(shè)定值的大小就可以改變PWM波形的大小,也就是完成了電機(jī)的調(diào)速。Z_ F是電機(jī)的方向控制按鍵,選擇PWM波形的進(jìn)入方向,當(dāng)其為1時(shí),電機(jī)正轉(zhuǎn),為0電機(jī)反轉(zhuǎn)。至于電機(jī)的控制,是在它的輸入端加上兩個(gè)與門來控制電機(jī)的啟動(dòng)與停止。當(dāng)按下鍵Z_F鍵,電機(jī)正轉(zhuǎn),松開鍵時(shí),電機(jī)反轉(zhuǎn)。當(dāng)按下鍵START時(shí),電機(jī)開始工作,松開時(shí),電機(jī)停止工作。通過按鍵EN1的閉合與斷開可以改變H[4.0]的值,從而改變直流電機(jī)的PWM占空比,這樣就可以改變直流電機(jī)速度。
4 結(jié)論
通過在理論上對(duì)無刷直流電機(jī)調(diào)速系統(tǒng)電路設(shè)計(jì)、分析,以及軟件的編程,并對(duì)軟件和硬件進(jìn)行調(diào)試后,實(shí)現(xiàn)了一個(gè)以FPGA為核心控制器的無刷直流電機(jī)的調(diào)速,這個(gè)系統(tǒng)能夠?qū)崿F(xiàn)檢測(cè)電機(jī)的電流和轉(zhuǎn)子位置和自動(dòng)調(diào)節(jié)電機(jī)的轉(zhuǎn)速且可以實(shí)現(xiàn)控制電機(jī)正反轉(zhuǎn)。該系統(tǒng)整個(gè)系統(tǒng)運(yùn)行時(shí)鐘頻率可達(dá)到100 MHz以上,控制器可以使控制周期達(dá)縮短到40 μs,并且具有良好的動(dòng)態(tài)和靜態(tài)性能,整個(gè)系統(tǒng)具有控制簡(jiǎn)單,操作方便的特點(diǎn)。