基于ip核的運(yùn)動(dòng)控制方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及運(yùn)動(dòng)控制領(lǐng)域,尤其涉及一種基于IP核的運(yùn)動(dòng)控制方法及裝置。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)技術(shù)、電子技術(shù)、自動(dòng)控制技術(shù)、傳感測(cè)量技術(shù)、機(jī)械制造技術(shù)的發(fā)展 和大量運(yùn)用,運(yùn)動(dòng)控制系統(tǒng)裝置的實(shí)現(xiàn)主要經(jīng)歷了三種實(shí)現(xiàn)方案的形成:傳統(tǒng)的硬件插補(bǔ) 方案、計(jì)算機(jī)軟件插補(bǔ)方案和采用軟硬件配合的兩級(jí)插補(bǔ)方案。
[0003] (1)傳統(tǒng)的硬件插補(bǔ)方案
[0004] 之所以稱(chēng)為傳統(tǒng)的硬件插補(bǔ)方案,是因?yàn)樵摲桨钢饕獞?yīng)用在早期的數(shù)控機(jī)床系統(tǒng) 中。如1952年世界上第一臺(tái)數(shù)控機(jī)床的控制系統(tǒng)全部采用電子管元器件實(shí)現(xiàn);后來(lái),在 1959年,由于晶體管的出現(xiàn),數(shù)控系統(tǒng)中開(kāi)始廣泛采用晶體管和印刷電路板;從1965年開(kāi) 始,數(shù)控系統(tǒng)中又逐步采用一些小規(guī)模的集成電路。
[0005] 此方案下的數(shù)控系統(tǒng)全部采用專(zhuān)用的硬件線(xiàn)路完成包括插補(bǔ)在內(nèi)的各種控制任 務(wù),由于其采用的都是各種分立元件和小規(guī)模集成電路,整個(gè)系統(tǒng)體積龐大、可靠性差、設(shè) 計(jì)線(xiàn)路復(fù)雜,非常不利于設(shè)備的維護(hù)和升級(jí)。
[0006] (2)計(jì)算機(jī)軟件插補(bǔ)方案
[0007] 由于計(jì)算機(jī)技術(shù)的不斷發(fā)展,市場(chǎng)上出現(xiàn)了各種小型計(jì)算機(jī)、微型計(jì)算機(jī),數(shù)控系 統(tǒng)生產(chǎn)廠家認(rèn)識(shí)到,采用計(jì)算機(jī)軟件插補(bǔ)方案替代原來(lái)專(zhuān)用控制線(xiàn)路,不僅經(jīng)濟(jì)上更合算, 而且還能大幅度的提高系統(tǒng)性能。直至目前,工廠使用的數(shù)控機(jī)床,大多仍采用這種完全由 計(jì)算機(jī)軟件實(shí)現(xiàn)插補(bǔ)計(jì)算。
[0008] (3)軟硬件配合的兩級(jí)插補(bǔ)方案
[0009] 由于插補(bǔ)驅(qū)動(dòng)對(duì)實(shí)時(shí)性要求極高,必須在有限的時(shí)間內(nèi)完成插補(bǔ)計(jì)算,輸出進(jìn)給 軸的驅(qū)動(dòng)信息。但隨著數(shù)控系統(tǒng)的控制功能越來(lái)越復(fù)雜,對(duì)速度的要求越來(lái)越高,采用單一 的軟件插補(bǔ)方案已顯得力不從心,因此,出現(xiàn)了采用軟硬件相配合的兩級(jí)插補(bǔ)方案。
[0010] 此方案下,為了減輕計(jì)算機(jī)的插補(bǔ)時(shí)間負(fù)荷,將插補(bǔ)任務(wù)分為兩部分,即由計(jì)算機(jī) 軟件和附加的插補(bǔ)器硬件功能承擔(dān)。以加工弓箭輪廓為例,首先,計(jì)算機(jī)把弓箭輪廓按一定 的周期分割為若干段,稱(chēng)為粗插補(bǔ),硬件插補(bǔ)器在此基礎(chǔ)上,完成各段內(nèi)的"數(shù)據(jù)密化",并 形成脈沖輸出,稱(chēng)為細(xì)插補(bǔ)。
[0011] 在第(2)種和第(3)種方案下設(shè)計(jì)實(shí)現(xiàn)的系統(tǒng),在結(jié)構(gòu)和性能上都存在很大的局 限性:
[0012] ①實(shí)時(shí)性和可靠性差
[0013] 采用通用的操作系統(tǒng),與數(shù)控?zé)o關(guān)的任務(wù)可能占用了更多的開(kāi)銷(xiāo),并且還影響著 系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。尤其是在加入加減速控制過(guò)程后,數(shù)控系統(tǒng)的實(shí)時(shí)性更是受到極 大限制。
[0014] ②成本高
[0015] 能滿(mǎn)足數(shù)控加工要求的工控機(jī)配上運(yùn)動(dòng)控制卡,使得系統(tǒng)成本很難降低。
[0016] ③便攜性不足
[0017] 由于必須配備相應(yīng)的工控機(jī),使系統(tǒng)體積龐大且笨重,便攜性方面存在缺陷。
【發(fā)明內(nèi)容】
[0018] 本發(fā)明要解決的技術(shù)問(wèn)題是如何克服傳統(tǒng)的硬件插補(bǔ)方案體積龐大、可靠性差、 設(shè)計(jì)線(xiàn)路復(fù)雜,非常不利于設(shè)備的維護(hù)和升級(jí)的缺點(diǎn)。
[0019] 為了解決這一技術(shù)問(wèn)題,本發(fā)明提供了一種基于IP核的運(yùn)動(dòng)控制方法,至少提供 了集成于IP核上的插補(bǔ)控制模塊和速度控制模塊,該方法包括如下步驟:
[0020] Sl :初始化被積函數(shù)寄存器和余數(shù)寄存器;
[0021] S2:所述插補(bǔ)控制模塊依據(jù)選定的進(jìn)給軸,得到插補(bǔ)的輸出脈沖數(shù)以及左移規(guī)格 化處理所需移位次數(shù);
[0022] S3 :所述插補(bǔ)控制模塊對(duì)被積函數(shù)寄存器中接收到的數(shù)據(jù)依據(jù)步驟S2中得到的 所需移位次數(shù)進(jìn)行左移規(guī)格化處理,對(duì)余數(shù)寄存器進(jìn)行半加載初始化賦值;
[0023] S4:所述插補(bǔ)控制模塊依據(jù)插補(bǔ)的輸出脈沖數(shù)對(duì)被積函數(shù)寄存器和余數(shù)寄存器進(jìn) 行累加操作;
[0024] S5 :所述插補(bǔ)控制模塊判斷余數(shù)寄存器的溢出條件是否滿(mǎn)足;
[0025] 若滿(mǎn)足,則產(chǎn)生溢出脈沖,進(jìn)入步驟S6 ;
[0026] 若不滿(mǎn)足,則重復(fù)步驟S4,進(jìn)行下一次累加;
[0027] S6 :所述速度控制模塊以特定變化模式的速度將產(chǎn)生的溢出脈沖輸出;
[0028] S7 :更新動(dòng)點(diǎn)坐標(biāo)和被積函數(shù)寄存器值,判斷插補(bǔ)的終點(diǎn)條件是否滿(mǎn)足;
[0029] 若滿(mǎn)足,則所述插補(bǔ)控制模塊進(jìn)入空閑狀態(tài);
[0030] 若不滿(mǎn)足,則重復(fù)步驟S4,進(jìn)行下一次累加。
[0031] 所述插補(bǔ)為直線(xiàn)插補(bǔ)。
[0032] 所述插補(bǔ)為圓弧插補(bǔ)。
[0033] 在所述步驟S7中,重復(fù)步驟S4時(shí):
[0034] 若X軸方向到達(dá)終點(diǎn),y軸方向未到達(dá)終點(diǎn),則針對(duì)y軸方向?qū)?yīng)的被積函數(shù)寄存 器和余數(shù)寄存器進(jìn)行累加操作;針對(duì)X軸方向?qū)?yīng)的被積函數(shù)寄存器和余數(shù)寄存器清零; 然后進(jìn)入步驟S5 ;
[0035] 若y軸方向到達(dá)終點(diǎn),X軸方向未到達(dá)終點(diǎn),則針對(duì)X軸方向?qū)?yīng)的被積函數(shù)寄存 器和余數(shù)寄存器進(jìn)行累加操作;針對(duì)y軸方向?qū)?yīng)的被積函數(shù)寄存器和余數(shù)寄存器清零; 然后進(jìn)入步驟S5 ;
[0036] 若X、y軸方向均為到達(dá)終點(diǎn),則針對(duì)X、y軸方向?qū)?yīng)的被積函數(shù)寄存器和余數(shù)寄 存器均進(jìn)行累加操作;然后進(jìn)入步驟S5。
[0037] 在所述步驟S5中,在滿(mǎn)足溢出條件的情況下,還進(jìn)行當(dāng)前動(dòng)點(diǎn)所在象限的判斷;
[0038] 然后根據(jù)當(dāng)前動(dòng)點(diǎn)所在象限和動(dòng)點(diǎn)運(yùn)動(dòng)趨勢(shì),在余數(shù)寄存器溢出的情況下,選擇 對(duì)應(yīng)的正方向驅(qū)動(dòng)脈沖或負(fù)方向驅(qū)動(dòng)脈沖進(jìn)行輸出。
[0039] 在所述步驟S6中,溢出脈沖輸出速度的變化包括勻加速變化過(guò)程、勻速過(guò)程和勻 減速變化過(guò)程。
[0040] 在所述步驟S6中,溢出脈沖輸出速度的變化包括加加速變化過(guò)程、勻加速變化過(guò) 程、勻速過(guò)程、加減速變化過(guò)程、勻減速變化過(guò)程以及減減速變化過(guò)程。
[0041] 在進(jìn)行半加載初始化賦值的過(guò)程中,所述余數(shù)寄存器的最高有效位設(shè)置為1,其余 各位均設(shè)置為0。
[0042] 本發(fā)明還提供了一種基于IP核的運(yùn)動(dòng)控制裝置,包括集成于IP核上的外部接口、 寄存器組、插補(bǔ)控制模塊、速度控制模塊和脈沖輸出模塊;所述外部接口與所述寄存器組連 接,所述寄存器組分別與所述插補(bǔ)控制模塊、速度控制模塊和脈沖輸出模塊連接,所述插補(bǔ) 控制模塊還與所述速度控制模塊連接,所述速度控制模塊還與所述脈沖輸出模塊連接。
[0043] 所述插補(bǔ)控制模塊被配置成實(shí)現(xiàn)以下功能:
[0044] 依據(jù)選定的進(jìn)給軸,得到插補(bǔ)的輸出脈沖數(shù)以及左移規(guī)格化處理所需移位次數(shù);
[0045] 對(duì)被積函數(shù)寄存器中接收到的數(shù)據(jù)依據(jù)所需移位次數(shù)進(jìn)行左移規(guī)格化處理,對(duì)余 數(shù)寄存器進(jìn)行半加載初始化賦值;
[0046] 依據(jù)插補(bǔ)的輸出脈沖數(shù)對(duì)被積函數(shù)寄存器和余數(shù)寄存器進(jìn)行累加操作;
[0047] 判斷余數(shù)寄存器的溢出條件是否滿(mǎn)足;
[0048] 若滿(mǎn)足,則產(chǎn)生并向速度控制模塊輸出溢出脈沖,然后更新動(dòng)點(diǎn)坐標(biāo)和被積函數(shù) 寄存器值;
[0049] 若不滿(mǎn)足,則進(jìn)行下一次累加;
[0050] 溢出脈沖輸出后,更新動(dòng)點(diǎn)坐標(biāo)和被積函數(shù)寄存器值,然后判斷插補(bǔ)的終點(diǎn)條件 是否滿(mǎn)足;
[0051] 若滿(mǎn)足,則所述插補(bǔ)控制模塊進(jìn)入空閑狀態(tài);
[0052] 若不滿(mǎn)足,則進(jìn)行下一次累加;
[0053] 所述速度控制模塊被配置成實(shí)現(xiàn)以特定變化模式的速度將產(chǎn)生的溢出脈沖輸出。
[0054] 所述插補(bǔ)控制模塊包括直線(xiàn)插補(bǔ)子模塊與圓弧線(xiàn)插補(bǔ)子模塊,所述直線(xiàn)插補(bǔ)子模 塊配置成實(shí)現(xiàn)直線(xiàn)運(yùn)動(dòng)的插補(bǔ);所述圓弧線(xiàn)插補(bǔ)子模塊配置成實(shí)現(xiàn)圓弧線(xiàn)運(yùn)動(dòng)的插補(bǔ)。
[0055] 所述圓弧線(xiàn)插補(bǔ)子模塊配置成實(shí)現(xiàn)在滿(mǎn)足溢出條件的情況下,還進(jìn)行當(dāng)前動(dòng)點(diǎn)所 在象限的判斷;
[0056] 然后根據(jù)當(dāng)前動(dòng)點(diǎn)所在象限和動(dòng)點(diǎn)運(yùn)動(dòng)趨勢(shì),在余數(shù)寄存器溢出的情況下,選擇 對(duì)應(yīng)的正方向驅(qū)動(dòng)脈沖或負(fù)方向驅(qū)動(dòng)脈沖進(jìn)行輸出。
[0057] 所述速度控制模塊包括直線(xiàn)加減速子模塊以及S曲線(xiàn)加減速子模塊,
[0058] 所述直線(xiàn)加減速子模塊被配置成實(shí)現(xiàn)溢出脈沖輸出速度的直線(xiàn)加減速變化控制, 使得速度變化的過(guò)程至少包括勻加速變化過(guò)程、勻速過(guò)程和勻減速變化過(guò)程;
[0059] 所述曲線(xiàn)加減速子模塊被配置成實(shí)現(xiàn)溢出脈沖輸出速度的曲線(xiàn)加減速變化控制, 使得速度變化的過(guò)程至少包括加加速變化過(guò)程、勻加速變化過(guò)程、勻速過(guò)程、加減速變化過(guò) 程、勻減速變化過(guò)程以及減減速變化過(guò)程。
[0060] 所述的基于IP核的運(yùn)動(dòng)控制裝置還包括中斷處理模塊,所述中斷處理模塊分別 與所述速度控制模塊和插補(bǔ)控制模塊連接;所述中斷處理模塊被配置成至少實(shí)現(xiàn)響應(yīng)終端 信號(hào)的輸入,對(duì)所述插補(bǔ)控制模塊和速度控制模塊實(shí)施中斷處理。
[0061] 本發(fā)明能夠完成四軸三坐標(biāo)聯(lián)動(dòng)功能,在整個(gè)插補(bǔ)過(guò)程中,插補(bǔ)精度高,插補(bǔ)誤差 小于一個(gè)脈沖當(dāng)量,并且每一個(gè)插補(bǔ)周期至少有一個(gè)插補(bǔ)軸有脈沖輸出,保證了插補(bǔ)的快 速連續(xù)。在50M時(shí)鐘工作頻率下,最高插補(bǔ)運(yùn)算速度可以達(dá)到5M次/秒。此外,該裝置還集 成了速度控制模塊,能夠在設(shè)定的速度參數(shù)下,自動(dòng)的根據(jù)插補(bǔ)軌跡所需的脈沖數(shù),進(jìn)行直 線(xiàn)加減速控制或者S曲線(xiàn)加減速控制。最終分別輸出四個(gè)軸的進(jìn)給脈沖和方向驅(qū)動(dòng)信號(hào), 控制四個(gè)電機(jī)驅(qū)動(dòng)軸運(yùn)動(dòng)。
[0062] 本發(fā)明的最大優(yōu)勢(shì)在于,通過(guò)硬件的方式實(shí)現(xiàn)插補(bǔ)算法和加減速控制算法,極大 的滿(mǎn)足了數(shù)控系統(tǒng)的實(shí)時(shí)性需求,在控制了系統(tǒng)成本的前提下,使整個(gè)系統(tǒng)可靠性高,結(jié)構(gòu) 簡(jiǎn)單,使用方便,更重要的是性能得到了提升。
【附圖說(shuō)明】
[0063] 圖1是本發(fā)明一實(shí)施例中提供的基于IP核的運(yùn)動(dòng)控制裝置的結(jié)構(gòu)示意圖;
[0064] 圖2是本發(fā)明一實(shí)施例中基于狀態(tài)機(jī)原理的插補(bǔ)控制模塊的狀態(tài)轉(zhuǎn)移圖;
[0065] 圖3是本發(fā)明一實(shí)施例中提供的基于IP核的運(yùn)動(dòng)控制方法的流程示意圖;
[0066] 圖4是本發(fā)明一實(shí)施例中左移規(guī)格化處理的示意圖;
[0067] 圖5是本發(fā)明一實(shí)施例中曲線(xiàn)加減速的示意圖。
【具體實(shí)施方式】
[0068] 以下將結(jié)合圖1至圖5對(duì)本發(fā)明提供