基于FPGA的步進(jìn)電機(jī)加減速控制器的設(shè)計(jì)
0 引言
幾十年來(lái),數(shù)字技術(shù)、計(jì)算機(jī)技術(shù)和永磁材料的迅速發(fā)展,為步進(jìn)電機(jī)的應(yīng)用開(kāi)辟了廣闊的前景。由步進(jìn)電機(jī)與驅(qū)動(dòng)電路組成的開(kāi)環(huán)數(shù)控系統(tǒng),既非常簡(jiǎn)單、廉價(jià),又非??煽?。此外,步進(jìn)電機(jī)還廣泛應(yīng)用于諸如打印機(jī)、雕刻機(jī)、繪圖儀、繡花機(jī)及自動(dòng)化儀表等。正因?yàn)椴竭M(jìn)電機(jī)的廣泛應(yīng)用,對(duì)步進(jìn)電機(jī)的控制的研究也越來(lái)越多,在啟動(dòng)或加速時(shí)若步進(jìn)脈沖變化太快,轉(zhuǎn)子由于慣性而跟隨不上電信號(hào)的變化,產(chǎn)生堵轉(zhuǎn)或失步;在停止或減速時(shí)由于同樣原因則可能產(chǎn)生超步。為防止堵轉(zhuǎn)、失步和超步,提高工作頻率,要對(duì)步進(jìn)電機(jī)進(jìn)行升降速控制。本文介紹一個(gè)用于自動(dòng)磨邊機(jī)的步進(jìn)電機(jī)升降速控制器,由于考慮了通用性,它可以應(yīng)用于其他場(chǎng)合。
從步進(jìn)電機(jī)的矩頻特性可知,步進(jìn)電機(jī)的輸出轉(zhuǎn)矩隨著脈沖頻率的上升而下降,啟動(dòng)頻率越高,啟動(dòng)轉(zhuǎn)矩就越小,帶動(dòng)負(fù)載的能力越差,啟動(dòng)時(shí)會(huì)造成失步,而在停止時(shí)又會(huì)發(fā)生過(guò)沖。要使步進(jìn)電機(jī)快速的達(dá)到所要求的速度又不失步或過(guò)沖,其關(guān)鍵在于使加速過(guò)程中加速度所要求的轉(zhuǎn)矩既能充分利用各個(gè)運(yùn)行頻率下步進(jìn)電機(jī)所提供的轉(zhuǎn)矩,又不能超過(guò)這個(gè)轉(zhuǎn)矩。因此,步進(jìn)電機(jī)的運(yùn)行一般要經(jīng)過(guò)加速、勻速、減速三個(gè)階段,要求加減速過(guò)程時(shí)間盡量的短,恒速時(shí)間盡量長(zhǎng)。特別是在要求快速響應(yīng)的工作中,從起點(diǎn)到終點(diǎn)運(yùn)行的時(shí)間要求最短,這就必須要求加速、減速的過(guò)程最短,而恒速時(shí)的速度最高。而以前升速和降速大多選擇按直線規(guī)律,采用這種方法時(shí),它的脈沖頻率的變化有一個(gè)恒定的加速度。在步進(jìn)電機(jī)不失步的條件下,驅(qū)動(dòng)脈沖頻率變化的加速度和步進(jìn)電機(jī)轉(zhuǎn)子的角加速度成正比。在步進(jìn)電機(jī)的轉(zhuǎn)矩隨脈沖頻率的上升保持恒定時(shí),直線規(guī)律的升降速才是理想的升降速曲線,而步進(jìn)電機(jī)的轉(zhuǎn)矩隨脈沖頻率的上升而下降,所以直線就不是理想的升降速曲線。因此,按直線規(guī)律升降速這種方法雖然簡(jiǎn)單,但是它不能保證在升降速的過(guò)程中步進(jìn)電機(jī)轉(zhuǎn)子的角加速度的變化和它的輸出力矩變化相適應(yīng),不能最大限度的發(fā)揮電機(jī)的加速性能。本系統(tǒng)尋求一種基于FPGA控制的按指數(shù)規(guī)律升降速的離散控制算法,經(jīng)多次運(yùn)行,達(dá)到預(yù)期目標(biāo)。
1 加減速控制算法
1.1 加減速曲線
本設(shè)計(jì)按照步進(jìn)電機(jī)的動(dòng)力學(xué)方程和矩頻特性曲線推導(dǎo)出按指數(shù)曲線變化的升降速脈沖序列的分布規(guī)律,因?yàn)榫仡l特性是描述每一頻率下的最大輸出轉(zhuǎn)矩,即在該頻率下作為負(fù)載加給步進(jìn)電機(jī)的最大轉(zhuǎn)矩。因此把矩頻特性作為加速范圍下可以達(dá)到(但不能超過(guò))的最大輸出轉(zhuǎn)矩來(lái)擬訂升降速脈沖序列的分布規(guī)律,就接近于最大轉(zhuǎn)矩控制的最佳升降速規(guī)律。這樣能夠使得頻率增高時(shí),保證輸出最大的力矩,即能夠?qū)ψ畲蟮牧剡M(jìn)行跟隨,能充分的發(fā)揮步進(jìn)電機(jī)的工作性能,使系統(tǒng)具有良好的動(dòng)態(tài)特性。
由步進(jìn)電機(jī)的動(dòng)力學(xué)方程和矩頻特性曲線,在忽略阻尼轉(zhuǎn)矩的情況下,可推導(dǎo)出如下方程:
式中,
為轉(zhuǎn)子轉(zhuǎn)動(dòng)慣量,K為假定輸出轉(zhuǎn)矩按直線變化時(shí)的斜率,τ為決定升速快慢的時(shí)間常數(shù),在實(shí)際工作中由實(shí)驗(yàn)來(lái)確定。fm為負(fù)載轉(zhuǎn)矩下步進(jìn)電機(jī)的最高連續(xù)運(yùn)行頻率,步進(jìn)電機(jī)必須在低于該頻率下運(yùn)行才能保證不失步。(1)式為步進(jìn)電機(jī)的升速特性,由此方程可繪制出電機(jī)升速曲線。(1)式表明驅(qū)動(dòng)脈沖的頻率f應(yīng)隨時(shí)間t作指數(shù)規(guī)律上升,這樣就可以在較短的時(shí)間內(nèi)使步進(jìn)電機(jī)的轉(zhuǎn)速上升至要求的運(yùn)行速度。鑒于大多數(shù)的步進(jìn)電機(jī)的矩頻特性都近似線性遞減的,所以上述的控制規(guī)律為最佳。
1.2 加減速離散處理
在本系統(tǒng)中,F(xiàn)PGA使用分頻器的方式來(lái)控制步進(jìn)電機(jī)的速度,升降速控制實(shí)際上是不斷改變分頻器初載值的大小。指數(shù)曲線由于無(wú)法通過(guò)程序編制來(lái)實(shí)現(xiàn),可以用階梯曲線來(lái)逼近升速曲線,不一定每步都計(jì)算裝載值。
如圖1所示,縱坐標(biāo)為頻率,單位是步/秒,其實(shí)反映了轉(zhuǎn)速的高低。橫坐標(biāo)為時(shí)間,各段時(shí)間內(nèi)走過(guò)的步數(shù)用N來(lái)表示,步數(shù)其實(shí)反映了行程。圖中標(biāo)出理想升速曲線和實(shí)際升速曲線。
步進(jìn)電機(jī)的升速過(guò)程可按以下步驟進(jìn)行處理。
(1)若實(shí)際運(yùn)行速度為fg,從(3.4)式中可算出升速時(shí)間為:
(2)將升速段均勻地離散為n段即為階梯升速的分檔數(shù),上升時(shí)間為tr,則每檔速度保持時(shí)間為:
程序執(zhí)行過(guò)程中,對(duì)每檔速度都要計(jì)算在這檔速度應(yīng)走的步數(shù),然后以遞減方式檢查,即每走一步,每檔步數(shù)減1。當(dāng)減至零時(shí),表示該檔速度應(yīng)走的步數(shù)己走完,應(yīng)進(jìn)入下一檔速度。一直循環(huán)到給出的速度大于或等于給定的速度為止。減速過(guò)程與升速過(guò)程剛好相反。
2 頻率脈沖的實(shí)現(xiàn)
頻率脈沖模塊的核心是可控分頻器,由外部的晶振產(chǎn)生標(biāo)準(zhǔn)頻率,只要在分頻器的輸入端輸入相應(yīng)的分頻系數(shù),就可以得到所需的頻率。本模塊是利用VHDL硬件描述語(yǔ)言,通過(guò)QuartusII開(kāi)發(fā)平臺(tái),使用Altera公司的FPGA,設(shè)計(jì)了一種能夠滿足上述各種要求的較為通用的可控分頻器。圖2為分頻器的原理圖,圖3為分頻器的仿真波形圖。
3 結(jié)語(yǔ)
基于硬件描述語(yǔ)言VHDL設(shè)計(jì)的控制器具有開(kāi)發(fā)設(shè)計(jì)周期短、風(fēng)險(xiǎn)低、系統(tǒng)集成度高、功耗低等優(yōu)點(diǎn),將是芯片設(shè)計(jì)的主流方向。開(kāi)放式數(shù)控系統(tǒng)中,研究實(shí)現(xiàn)能硬件復(fù)用的加減速模塊以及相關(guān)功能模塊,利用可編程邏輯器件FPGA的可重構(gòu)能力,能按需求靈活實(shí)現(xiàn)功能全定制的運(yùn)動(dòng)控制芯片。本文設(shè)計(jì)了自動(dòng)磨邊機(jī)中的指數(shù)加減速控制器。在此基礎(chǔ)上,只需擴(kuò)展相應(yīng)個(gè)數(shù)的加減速模塊即可實(shí)現(xiàn)多軸聯(lián)動(dòng)加減速控制。
評(píng)論