專利名稱:一種基于單片機(jī)的插補(bǔ)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)控機(jī)床系統(tǒng)領(lǐng)域,特別涉及數(shù)控機(jī)床系統(tǒng)運(yùn)動(dòng)控制技術(shù)領(lǐng) 域,具體是指數(shù)控機(jī)床運(yùn)動(dòng)控制系統(tǒng)中一種基于單片機(jī)的插補(bǔ)器。
背景技術(shù):
數(shù)控機(jī)床是實(shí)現(xiàn)先進(jìn)制造技術(shù)的重要基礎(chǔ)裝備,它關(guān)系到國(guó)家發(fā)展的戰(zhàn) 略地位。加速發(fā)展具有較強(qiáng)競(jìng)爭(zhēng)能力的國(guó)產(chǎn)高精度數(shù)控機(jī)床已成為我國(guó)數(shù)控 機(jī)床研究開發(fā)部門和生產(chǎn)廠家所面臨的重要任務(wù)。為完成這一任務(wù),必須攻 克若干關(guān)鍵技術(shù),其中最關(guān)鍵的一項(xiàng)是數(shù)控機(jī)床的高精度軌跡控制技術(shù)。
數(shù)控機(jī)床運(yùn)動(dòng)控制系統(tǒng)中,高性能的插補(bǔ)器是數(shù)控機(jī)床實(shí)現(xiàn)高精度軌跡 控制的前提。衡量插補(bǔ)器性能的參數(shù)主要有
① .穩(wěn)定性指標(biāo)插補(bǔ)誤差是否會(huì)累加。
② 插補(bǔ)精度指標(biāo)插補(bǔ)精度指插補(bǔ)輪廓與給定輪廓的符合程度。
③ 合成速度的均勻性指標(biāo)插補(bǔ)運(yùn)算輸出的進(jìn)給量,經(jīng)運(yùn)動(dòng)合成的實(shí)際 速度與給定的進(jìn)給速度的符合程度。
要實(shí)現(xiàn)數(shù)控機(jī)床的高精度軌跡控制,我們必須對(duì)插補(bǔ)器的以上三項(xiàng)性能 同時(shí)進(jìn)行改進(jìn)?,F(xiàn)有的插補(bǔ)技術(shù)往往在保證穩(wěn)定性指標(biāo)的同時(shí),只側(cè)重于插 補(bǔ)精度指標(biāo),而忽略了合成速度的均勻性指標(biāo)。忽略了合成速度的均勻性指 標(biāo)的結(jié)果是導(dǎo)致運(yùn)動(dòng)控制軸的速度波動(dòng)過大,嚴(yán)重時(shí)造成加工過程中的過大 振動(dòng)和噪聲,降低刀具、機(jī)床的使用壽命,同時(shí)也會(huì)使數(shù)控機(jī)床的高精度軌 跡控制轉(zhuǎn)術(shù)無(wú)法得以大幅度的提高。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于,克服現(xiàn)有技術(shù)中存在的問題,提供一 種用于數(shù)控機(jī)床加工控制中的基于單片機(jī)的插補(bǔ)器。 為了解決上述問題本發(fā)明的技術(shù)方案是這樣的一種基于單片機(jī)的插補(bǔ)器,包括 一個(gè)連接上位機(jī)的單片機(jī)模塊、脈沖 輸出電路、時(shí)鐘電路、復(fù)位電路,所述脈沖輸出電路連接單片機(jī)模塊并接收 單片機(jī)模塊發(fā)出的脈沖信號(hào),所述時(shí)鐘電路連接單片機(jī)模塊并為單片機(jī)模塊 提供工作時(shí)鐘,所述復(fù)位電路連接單片機(jī)模塊并控制單片機(jī)模塊的復(fù)位;所
述單片機(jī)模塊內(nèi)設(shè)置有插補(bǔ)軟件程序。
所述單片機(jī)模塊上設(shè)置有用于和外界連接的二十個(gè)針腳,其中有一個(gè)針
腳連接電源VCC, —個(gè)針腳接地,八個(gè)針腳連接上位機(jī)接收插補(bǔ)數(shù)據(jù), 一個(gè) 針腳連接上位機(jī)接收插補(bǔ)方向, 一個(gè)針腳連接上位機(jī)接收使能信號(hào), 一個(gè)針 腳連接上位機(jī)接收插補(bǔ)時(shí)鐘。
脈沖輸出電路包含兩個(gè)用于上拉脈沖信號(hào)的R2、R3兩個(gè)電阻和一個(gè)電源 VCC, R2和R3 —端連接單片機(jī)模塊的兩個(gè)針腳另一端連接電源VCC。
時(shí)鐘電路包含一個(gè)有源晶振芯片,有源晶振芯片一端連接電源VCC,另 一端連接單片機(jī)模塊的一個(gè)針腳,有源晶振芯片還具有一接地端。
復(fù)位電路包括一個(gè)電阻Rl和一個(gè)電容Cl,電容Cl 一段連接電源VCC 另一端連接電阻R1,電阻R1另一端接地,在電阻R1和電容C1之間的電路 上連接單片機(jī)模塊的一個(gè)針腳。
本發(fā)明采用常用的單片機(jī)和一些簡(jiǎn)單的外圍電路來實(shí)現(xiàn)整個(gè)插補(bǔ)器。方 法是由單片機(jī)讀取上位機(jī)傳來的插補(bǔ)命令,通過單片機(jī)內(nèi)部的插補(bǔ)軟件來實(shí) 現(xiàn)插補(bǔ)運(yùn)算,并將運(yùn)算結(jié)果從單片機(jī)的IO口輸出。插補(bǔ)器對(duì)上位機(jī)提供的插 補(bǔ)數(shù)據(jù)和插補(bǔ)時(shí)鐘進(jìn)行中斷響應(yīng),保證了插補(bǔ)器的插補(bǔ)精度。插補(bǔ)器還引入 了相應(yīng)的數(shù)字濾波器,很好地提高了合成速度的均勻性指標(biāo)。
有益效果與現(xiàn)有技的數(shù)控機(jī)床運(yùn)動(dòng)控制系統(tǒng)的插補(bǔ)器相比,本發(fā)明所 述的插補(bǔ)器具有成本低、結(jié)構(gòu)簡(jiǎn)單、精度高、可靠性高以及適用范圍廣等優(yōu) 點(diǎn)。
下面結(jié)合附圖和具體實(shí)施方式
來詳細(xì)說明本發(fā)明; 圖1為本發(fā)明所述的插補(bǔ)器電路結(jié)構(gòu)示意圖; 圖2為本發(fā)明所述的插補(bǔ)器主程序工作流程圖;圖3為本發(fā)明所述的插補(bǔ)器中斷1工作流程圖; 圖4為本發(fā)明所述的插補(bǔ)器中斷2工作流程圖。
具體實(shí)施例方式
為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了 解,下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。 首先為便于說明本發(fā)明的具體實(shí)現(xiàn)過程,我們先引入以下幾個(gè)概念-
插補(bǔ)控制周期 一個(gè)插補(bǔ)數(shù)據(jù)轉(zhuǎn)化成一組負(fù)脈沖輸出所需要的時(shí)間。 插補(bǔ)數(shù)據(jù)決定一個(gè)控制周期內(nèi)產(chǎn)生負(fù)脈沖的數(shù)量,由上位機(jī)控制輸出。 插補(bǔ)輸出的脈沖寬度插補(bǔ)器輸出的負(fù)脈沖寬度。
插補(bǔ)時(shí)鐘插補(bǔ)時(shí)鐘的周期完成一次插補(bǔ)需要的時(shí)間,可以由上位機(jī)提供。 一個(gè)控制周期內(nèi)的插補(bǔ)次數(shù) 一個(gè)控制周期內(nèi),插補(bǔ)器收到的插補(bǔ)時(shí)鐘個(gè)
數(shù)
插補(bǔ)方向插補(bǔ)方向,控制方向輸出信號(hào)由上位機(jī)輸出。 參看圖1
插補(bǔ)器的硬件有四個(gè)部分構(gòu)成,單片機(jī)模塊1、脈沖輸出電路2、時(shí)鐘電 路3、復(fù)位電路4,單片機(jī)模塊l連接上位機(jī)并接收上位機(jī)的信號(hào),脈沖輸出 電路2連接單片機(jī)模塊1并接收單片機(jī)模塊1發(fā)出的脈沖信號(hào),所述時(shí)鐘電 路3連接單片機(jī)模塊1并為單片機(jī)模塊1提供工作時(shí)鐘,所述復(fù)位電路4連 接單片機(jī)模塊1并控制單片機(jī)模塊1的復(fù)位;所述單片機(jī)模塊1內(nèi)設(shè)置有插 補(bǔ)軟件程序。
所述單片機(jī)上設(shè)置有用于和外界連接的二十個(gè)針腳,其中有一個(gè)針腳20 連接電源VCC, 一個(gè)針腳10接地,八個(gè)針腳12 19連接上位機(jī)接收插補(bǔ)數(shù)據(jù), 一個(gè)針腳11連接上位機(jī)接收插補(bǔ)方向, 一個(gè)針腳9連接上位機(jī)接收使能信號(hào), 一個(gè)針腳7連接上位機(jī)接收插補(bǔ)時(shí)鐘,4腳和8腳懸空。
上位機(jī)將插補(bǔ)數(shù)據(jù)DATA7 DATA0 (DATA7 DATA0要求為鎖存輸出)和插補(bǔ) 方向DIR送到單片機(jī)的數(shù)據(jù)接受端11 19針腳,同時(shí)把CSTB (插補(bǔ)器接收插 補(bǔ)數(shù)據(jù)的使能信號(hào))拉高。
CSTB由低電平變成高電平,單片機(jī)進(jìn)入外部中斷1模式,讀取插補(bǔ)數(shù)據(jù)DATA7 DATA0和插補(bǔ)方向IDIR。
單片機(jī)根據(jù)讀取的插補(bǔ)數(shù)據(jù)DATA7 DATA0和插補(bǔ)方向DIR以及插補(bǔ)時(shí)鐘 CCLK在OPUL端口輸出負(fù)脈沖以及在ODIR輸出方向信號(hào)。
為保證插補(bǔ)器的精度,要求每一個(gè)插補(bǔ)時(shí)鐘產(chǎn)生一個(gè)單片機(jī)外部中斷2, 插補(bǔ)運(yùn)聳要求在中斷2中完成。
插補(bǔ)時(shí)鐘CCLK由上位機(jī)來提供,上位機(jī)可以根據(jù)具體的工作環(huán)境來調(diào)節(jié) CCLK的頻率從而改變插補(bǔ)器的插補(bǔ)時(shí)鐘。
脈沖輸出電路包含兩個(gè)用于上拉脈沖信號(hào)的R2、R3兩個(gè)電阻和一個(gè)電源 VCC, R2和R3—端連接單片機(jī)的兩個(gè)針腳2 3,另一端連接電源VCC。
時(shí)鐘電路包含一個(gè)有源晶振芯片,有源晶振芯片一端連接電源VCC,另 一端連接單片機(jī)模塊的一個(gè)針腳5,有源晶振芯片還具有一接地端。有源晶振 可以為單片機(jī)提供工作時(shí)鐘。
復(fù)位電路包括一個(gè)電阻Rl和一個(gè)電容Cl ,電容Cl 一段連接電源VCC另 一端連接電阻R1,電阻R1另一端接地,在電阻R1和電容C1之間的電路上 連接單片機(jī)模塊的一個(gè)針腳1。
參看圖2,圖中為主程序流程,主要完成初始化功能;初始化主要包括 插補(bǔ)數(shù)據(jù)存放FIFO的初始化、 一個(gè)控制周期內(nèi)插補(bǔ)次數(shù)N的初始化、方向輸 出ODIR的初始化、脈沖輸出端口 OPUL的初始化、多字節(jié)變量SUMP、變 量M的初始化以及單片機(jī)內(nèi)部寄存器的設(shè)置(如開外部中斷等)。
參看圖3,圖中主要為中斷l(xiāng)對(duì)應(yīng)的控制流程圖,功能是讀取上位機(jī)提供 的插補(bǔ)數(shù)據(jù)DATA7 DATA0和插補(bǔ)方向,并將接收到的數(shù)據(jù)放在兩個(gè)變量中; 當(dāng)CSTB由低電平變成高電平后,單片機(jī)進(jìn)入外部中斷1。在中斷1中,軟件 主要完成插補(bǔ)數(shù)據(jù)DATA7 DATA0和插補(bǔ)方向的讀取,并將讀取的結(jié)果放入 變量M和IDIR中。
參看圖4,圖中主要為中斷2對(duì)應(yīng)的流程圖,它完成了插補(bǔ)運(yùn)算,并將結(jié) 果從單片機(jī)的IO口輸出。
當(dāng)插補(bǔ)時(shí)鐘信號(hào)的上升沿到來時(shí),單片機(jī)進(jìn)入外部中斷2。 中斷2中將完成FIFO的更新(用變量M來更新用于存放查補(bǔ)數(shù)據(jù)的FIFO)、 用數(shù)字濾波器對(duì)FIFO存放的插補(bǔ)數(shù)據(jù)的處理、以及根據(jù)處理后的插補(bǔ)數(shù)據(jù)從OPUL銜出負(fù)脈沖信號(hào)
OPUL端口脈沖輸出條件為SUMP>=L*N*N。 濾波器窗口為L(zhǎng)個(gè)插補(bǔ)周期的數(shù)字濾波器設(shè)計(jì)方法如下 要實(shí)現(xiàn)濾波器窗口為L(zhǎng)的數(shù)字濾波器,F(xiàn)IFO的長(zhǎng)度必須為L(zhǎng)+l。設(shè)FIFO
內(nèi)的插補(bǔ)數(shù)據(jù)分別為]^1,]^,1;13...1+1 ,而在一個(gè)插補(bǔ)周期的N次插補(bǔ)中,
需要累加到SUMP的值設(shè)為
S = Mi*(W —1)/W + M2 + M3….+ M丄"/w;
S = M" 〃+M2+M3"..+* (H)/W; S = Af2*(AT — l)/7V + M3— + Mi+1 + M/W;
S = M2/W + M2 + M3"" + Mw + M*(W-l)/W;
由于每次算出的增量都不能為小數(shù),所以,以上表達(dá)式需要放大N倍。這 樣的話我們?cè)谲浖O(shè)計(jì)時(shí)就要根據(jù)N、 L來決定S和SUMP的數(shù)據(jù)類型(防 止它們溢出)。為了縮短CPU運(yùn)行時(shí)間,必須采用迭代的算法。當(dāng)每次用M 去更新FIFO內(nèi)的插補(bǔ)數(shù)據(jù)時(shí),先求出AS,在此后的N次計(jì)算中,每次S按 下式求
S=S+AS;
SUMP=SUMP+S;
數(shù)字濾波器的引入極大地提高了插補(bǔ)器合成速度的均勻性指標(biāo),使得實(shí)際 速度與給定的進(jìn)給速度更加逼近。
以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行 業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明 書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下本 發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍 內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等同物界定。
權(quán)利要求
1、一種基于單片機(jī)的插補(bǔ)器,其特征在于,包括一個(gè)連接上位機(jī)的單片機(jī)模塊、脈沖輸出電路、時(shí)鐘電路、復(fù)位電路,所述脈沖輸出電路連接單片機(jī)模塊并接收單片機(jī)模塊發(fā)出的脈沖信號(hào),所述時(shí)鐘電路連接單片機(jī)模塊并為單片機(jī)模塊提供工作時(shí)鐘,所述復(fù)位電路連接單片機(jī)模塊并控制單片機(jī)模塊的復(fù)位;所述單片機(jī)模塊內(nèi)設(shè)置有插補(bǔ)軟件程序。
2、 .根據(jù)權(quán)利要求1所述的一種基于單片機(jī)的插補(bǔ)器,其特征在于,所述 單片機(jī)模塊上設(shè)置有用于和外界連接的二十個(gè)針腳,其中有一個(gè)針腳連接電 源VCC, 一個(gè)針腳接地,八個(gè)針腳連接上位機(jī)接收插補(bǔ)數(shù)據(jù), 一個(gè)針腳連接 上位機(jī)接收插補(bǔ)方向, 一個(gè)針腳連接上位機(jī)接收使能信號(hào), 一個(gè)針腳連接上 位機(jī)接收插補(bǔ)時(shí)鐘。
3、 根據(jù)權(quán)利要求2所述的一種基于單片機(jī)的插補(bǔ)器,其特征在于,脈沖 輸出電路包含兩個(gè)用于上拉脈沖信號(hào)的R2、 R3兩個(gè)電阻和一個(gè)電源VCC, R2和R3 —端連接單片機(jī)模塊的兩個(gè)針腳另一端連接電源VCC。
4、 根據(jù)權(quán)利要求2所述的一種基于單片機(jī)的插補(bǔ)器,其特征在于,時(shí)鐘 電路包含一個(gè)有源晶振芯片,有源晶振芯片一端連接電源VCC,另一端連接 單片機(jī)模塊的一個(gè)針腳,有源晶振芯片還具有一接地端。
5、 根據(jù)權(quán)利要求2所述的一種基于單片機(jī)的插補(bǔ)器,其特征在于,復(fù)位 電路包括一個(gè)電阻R1和一個(gè)電容C1,電容C1 一段連接電源VCC另一端連 接電阻Rl,電阻R1另一端接地,在電阻R1和電容C1之間的電路上連接單 片機(jī)模塊的一個(gè)針腳。
全文摘要
一種基于單片機(jī)的插補(bǔ)器,包括一個(gè)連接上位機(jī)的單片機(jī)模塊、脈沖輸出電路、時(shí)鐘電路、復(fù)位電路,脈沖輸出電路連接單片機(jī)模塊并接收單片機(jī)模塊發(fā)出的脈沖信號(hào),時(shí)鐘電路連接單片機(jī)模塊并為單片機(jī)模塊提供工作時(shí)鐘,復(fù)位電路連接單片機(jī)模塊并控制單片機(jī)模塊的復(fù)位;所述單片機(jī)模塊內(nèi)設(shè)置有插補(bǔ)軟件程序。本發(fā)明采用常用的單片機(jī)和一些簡(jiǎn)單的外圍電路來實(shí)現(xiàn)整個(gè)插補(bǔ)器。由單片機(jī)讀取上位機(jī)傳來的插補(bǔ)命令,通過單片機(jī)內(nèi)部的插補(bǔ)軟件來實(shí)現(xiàn)插補(bǔ)運(yùn)算,并將運(yùn)算結(jié)果從單片機(jī)的IO口輸出。插補(bǔ)器對(duì)上位機(jī)提供的插補(bǔ)數(shù)據(jù)和插補(bǔ)時(shí)鐘進(jìn)行中斷響應(yīng),保證了插補(bǔ)器的插補(bǔ)精度。插補(bǔ)器還引入了相應(yīng)的數(shù)字濾波器,很好地提高了合成速度的均勻性指標(biāo)。
文檔編號(hào)G05B19/414GK101620433SQ200910055480
公開日2010年1月6日 申請(qǐng)日期2009年7月28日 優(yōu)先權(quán)日2009年7月28日
發(fā)明者宋秀龍, 湯同奎, 汪定軍 申請(qǐng)人:上海奈凱電子科技有限公司;上海維宏電子科技有限公司