基于FPGA的步進(jìn)電機(jī)控制器研究和實(shí)現(xiàn)
摘要:步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu),已廣泛應(yīng)用于各種自動(dòng)化控制系統(tǒng)中。為了提高對(duì)步進(jìn)電機(jī)的細(xì)分要求,提出了基于FPGA控制的步進(jìn)電機(jī)控制器方案。給出了用VHDL語(yǔ)言層次化設(shè)計(jì)各功能模塊的過(guò)程,利用QuartusⅡ進(jìn)行仿真,給出了仿真結(jié)果,并成功地在FPGA器件上驗(yàn)證了設(shè)計(jì)的可能性。采用FPGA器件和VHDL語(yǔ)言,只需修改模塊程序參數(shù),而無(wú)須修改硬件電路就能實(shí)現(xiàn)各種控制。該設(shè)計(jì)硬件結(jié)構(gòu)簡(jiǎn)單可靠,可根據(jù)實(shí)踐需要靈活方便進(jìn)行配置。
關(guān)鍵詞:步進(jìn)電機(jī);FGPA;控制器;QuartusⅡ
步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合對(duì)數(shù)字系統(tǒng)的控制。由于工業(yè)技術(shù)的不斷進(jìn)步,諸如自動(dòng)化控制、精密機(jī)械加工、航空航天技術(shù),以及所有要求高精度定位、自動(dòng)記錄、自動(dòng)瞄準(zhǔn)等的高新技術(shù)領(lǐng)域?qū)Σ竭M(jìn)電機(jī)的細(xì)分要求越來(lái)越高。實(shí)踐證明。步進(jìn)電機(jī)的細(xì)分驅(qū)動(dòng)技術(shù)可以減小步進(jìn)電機(jī)的步距角,提高電機(jī)運(yùn)行的平穩(wěn)性,增加控制的靈活性等。采用FPGA控制步進(jìn)電機(jī),利用其中的EAB可以構(gòu)成存放電機(jī)各相電流所需的控制波形數(shù)據(jù)表,利用FPGA設(shè)計(jì)的數(shù)字比較器可以同步產(chǎn)生多路PWM電流波形,并對(duì)多相步進(jìn)電機(jī)進(jìn)行靈活控制。當(dāng)改變控制波形表的數(shù)據(jù),增加計(jì)數(shù)器的位數(shù),提高計(jì)數(shù)精度后,就可以對(duì)
步進(jìn)電機(jī)的步進(jìn)轉(zhuǎn)角進(jìn)行任意細(xì)分,從而實(shí)現(xiàn)步進(jìn)轉(zhuǎn)角的精確控制。
1 步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)控制器工作原理
圖1是步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)控制器系統(tǒng)框圖。該系統(tǒng)由PWM計(jì)數(shù)器,波形ROM地址計(jì)數(shù)器,PWM波形ROM存儲(chǔ)器、比較器、功放電路等緝成。其中,PWM計(jì)數(shù)器在脈寬時(shí)鐘的作用下遞增計(jì)數(shù),產(chǎn)生階梯形上升的周期性鋸齒波,同時(shí)加載到各數(shù)字比較器的一端;PWM波形ROM輸出的數(shù)據(jù)A[3..0],B[3..0],C[3..0],D[3..0]分別加載到各數(shù)字比較器的另一端。當(dāng)PWM計(jì)數(shù)器的計(jì)數(shù)值小于波形ROM輸出的數(shù)值時(shí),比較器輸出低電平,當(dāng)PWM計(jì)數(shù)器的計(jì)數(shù)值大于波形ROM輸出數(shù)值時(shí),比較器輸出高電平。由此可輸出周期性的PWM波形。根據(jù)步進(jìn)電機(jī)8細(xì)分電流波形的要求,將各個(gè)時(shí)刻的細(xì)分電流波形所對(duì)應(yīng)的數(shù)值存放于波形ROM中,波形ROM的地址由地址計(jì)數(shù)器產(chǎn)生。通過(guò)對(duì)地址計(jì)數(shù)器進(jìn)行控制,可以改變步進(jìn)電機(jī)的旋轉(zhuǎn)方向、轉(zhuǎn)動(dòng)速度、工作/停止?fàn)顟B(tài)。FPGA產(chǎn)生的PWM信號(hào)控制各功率管驅(qū)動(dòng)電路的導(dǎo)通和關(guān)斷,其中PWM信號(hào)隨ROM數(shù)據(jù)而變化,改變輸出信號(hào)的占空比,即可實(shí)現(xiàn)限流及細(xì)分控制,最終使電機(jī)繞組呈現(xiàn)階梯形變化,從而實(shí)現(xiàn)步距細(xì)分的目的。輸出細(xì)分電流信號(hào)采用FPGA中LPM_ROM查表法,它是通過(guò)在不同地址單元內(nèi)寫(xiě)入不同的PWM數(shù)據(jù),用地址選擇來(lái)實(shí)現(xiàn)不同通電方式下的可變步距細(xì)分。
2 步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)控制器的FPGA實(shí)現(xiàn)
2.1 系統(tǒng)功能設(shè)計(jì)
運(yùn)用自上而下(top-down)的設(shè)計(jì)思路,將系統(tǒng)按功能逐層分割實(shí)現(xiàn)層次化設(shè)計(jì)。根據(jù)步進(jìn)電機(jī)細(xì)分控制框圖,將該系統(tǒng)分為PWM計(jì)數(shù)器(CNT8)、地址計(jì)數(shù)器(CNT24)、DEC2、PWM波形ROM、數(shù)字比較器(CMP3)、數(shù)據(jù)選擇器(BUSMUX)6個(gè)功能模塊,前3個(gè)模塊用VHDL語(yǔ)言編程描述各模塊的接口及電路功能;后3個(gè)模塊可選擇LPM庫(kù)中的適當(dāng)模塊,并為其設(shè)定適當(dāng)?shù)膮?shù),以滿足自己的需要。因而可在自己的項(xiàng)目中十分方便地調(diào)用優(yōu)秀電子工程技術(shù)人員的硬件設(shè)計(jì)成果。
CNT8是PWM計(jì)數(shù)器,在時(shí)鐘脈沖作用下遞增計(jì)數(shù),以產(chǎn)生階梯形上升的周期性鋸齒波,同時(shí)加載到四相步進(jìn)電機(jī)各相數(shù)字比較器的一端。圖2為它的仿真波形。
CNT24是可逆計(jì)數(shù)器,其U-D端即加減控制端作為控制電機(jī)正反轉(zhuǎn)的方向控制端。高電平時(shí)計(jì)數(shù)器加計(jì)數(shù),電動(dòng)機(jī)正轉(zhuǎn);低電平時(shí)計(jì)數(shù)器減計(jì)數(shù),電動(dòng)機(jī)反轉(zhuǎn)。計(jì)數(shù)器的模應(yīng)該等于電動(dòng)機(jī)運(yùn)行1個(gè)周期的拍數(shù)或拍數(shù)的整數(shù)倍(該處模等于32)。仿真波形如圖3所示。
評(píng)論