基于PC和FPGA的運(yùn)動(dòng)控制系統(tǒng)
3.2.1 最小偏差法插補(bǔ)進(jìn)給規(guī)則
最小偏差法直線插補(bǔ)是將直角坐標(biāo)的每個(gè)象限都用45°斜線分成兩個(gè)區(qū)域,4個(gè)象限共分為8個(gè)區(qū)域,稱為8個(gè)卦限,用0~7表示在某一卦限內(nèi),直線插補(bǔ)根據(jù)軌跡點(diǎn)偏差的大小選擇沿相應(yīng)軸方向或?qū)蔷€方向進(jìn)給。圓弧插補(bǔ)同樣把一個(gè)圓分成8卦限,將圓弧中心作為坐標(biāo)原點(diǎn),在不同的卦限,其進(jìn)給方向不同[5]。如圖5所示為第1象限中0卦限和1卦限的進(jìn)給示意。
3.2.2 插補(bǔ)模塊實(shí)現(xiàn)
插補(bǔ)模塊在FPGA中實(shí)現(xiàn)的流程圖如圖6所示。
3.2.3 插補(bǔ)模塊的速度補(bǔ)償
由于最小偏差比較法的進(jìn)給規(guī)則是單次沿軸向或者沿對(duì)角線方向進(jìn)給,系統(tǒng)實(shí)際運(yùn)行時(shí)的速度會(huì)因?yàn)榍€各處斜率的不同而變化,降低了運(yùn)行速度的穩(wěn)定性。為了解決這個(gè)問題,可以從驅(qū)動(dòng)狀態(tài)機(jī)的時(shí)鐘輸入上進(jìn)行考慮。由于脈沖的產(chǎn)生是通過狀態(tài)機(jī)實(shí)現(xiàn)的,因此可以通過降低沿軸向運(yùn)動(dòng)時(shí)的脈沖源頻率,提高沿對(duì)角線方向的脈沖源頻率來平衡不同斜率軌跡點(diǎn)的運(yùn)行速度[6]。
設(shè)脈沖F單獨(dú)驅(qū)動(dòng)單軸運(yùn)動(dòng)的速度為Vf,合成速度為V??梢援嫵鯲/Vf隨α的變化的曲線圖,如圖7(a)所示。由圖可知,當(dāng)角度α=45°時(shí),運(yùn)動(dòng)速度最快。
設(shè)進(jìn)給脈沖源的頻率為3f,經(jīng)過1/N分頻器分頻后再作為進(jìn)給脈沖,由此可得新的V/Vf關(guān)系如下:
則這時(shí)V/Vf對(duì)?琢的曲線圖就變?yōu)槿鐖D7(b)所示。對(duì)比圖7(a)、(b),可知其速度穩(wěn)定性有了明顯的提升。
以上分析是插補(bǔ)模塊設(shè)計(jì)的理論依據(jù),在編寫模塊時(shí)需要考慮許多實(shí)際問題。但無論是直線插補(bǔ)模塊還是圓弧插補(bǔ)模塊,其實(shí)現(xiàn)方式都是通過狀態(tài)機(jī)對(duì)生成脈沖的程序進(jìn)行循環(huán),根據(jù)原理推演而得到的判斷條件來產(chǎn)生各軸的驅(qū)動(dòng)脈沖與相應(yīng)旋轉(zhuǎn)方向的控制信號(hào)[7]。
4 仿真與實(shí)驗(yàn)
4.1 基于Matlab仿真
基于最小偏差法的插補(bǔ)模塊被封裝在FPGA中,但其算法在Matlab環(huán)境下進(jìn)行了仿真,圖8所示為半徑為8個(gè)脈沖當(dāng)量的運(yùn)行軌跡,實(shí)現(xiàn)了實(shí)際軌跡與理想曲線之間的最小偏差。
評(píng)論