文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)05-0056-03
目前廣泛使用的數(shù)控運(yùn)動(dòng)控制器的功能和性能已趨于完善,,例如固高控制器,、PMAC控制器等。但這些控制器大多還是屬于封閉式結(jié)構(gòu),,系統(tǒng)難以進(jìn)行擴(kuò)展和移植,。同時(shí),用戶(hù)也不能根據(jù)實(shí)際需求自由地配置輸入輸出接口或改變系統(tǒng)內(nèi)部模塊結(jié)構(gòu),,系統(tǒng)的通信方式也比較單一,,難以實(shí)現(xiàn)網(wǎng)絡(luò)化[1-2],。
Cypress公司的PSoC(Programmable System on Chip)可編程片上系統(tǒng)將32 bit微控制器,、可編程模擬資源、可編程數(shù)字陣列集成在一個(gè)芯片上,,可以自由配置模擬,、數(shù)字、通信等功能,,并且可以在線編程,。模擬資源和數(shù)字陣列可以通過(guò)PSoC Creator編程軟件進(jìn)行方便的增減和修改,有70個(gè)可自由配置的I/O口,,可方便地配置為多種類(lèi)型的模擬/數(shù)字輸入或輸出接口,,用來(lái)對(duì)數(shù)據(jù)和信號(hào)進(jìn)行實(shí)時(shí)采集和控制,,是一個(gè)開(kāi)放式的結(jié)構(gòu),具有良好的并行性和可擴(kuò)展性,。另外還支持包括USB,、I2C、SPI,、等多種通信接口,,具有完善的可移植性[3]。鑒于數(shù)控運(yùn)動(dòng)控制器的發(fā)展現(xiàn)狀以及PSoC芯片的諸多優(yōu)勢(shì),,本文將以PSoC芯片CY8C5588(一款第五代PSoC芯片)為基礎(chǔ),,構(gòu)建一套數(shù)控運(yùn)動(dòng)控制器,用來(lái)控制三軸雕刻機(jī)的工作,。
1 系統(tǒng)整體架構(gòu)
以目前已經(jīng)完成的三軸聯(lián)動(dòng)的雕刻機(jī)控制器為例,,系統(tǒng)的整體結(jié)構(gòu)如圖1所示,包括計(jì)算機(jī),、以PSoC為核心的控制器,、驅(qū)動(dòng)電路和雕刻機(jī)。
上位機(jī)程序采用C#語(yǔ)言編寫(xiě),,采用網(wǎng)絡(luò)編程的套接字技術(shù),,作用是供用戶(hù)輸入或從文件導(dǎo)入指令,并將其傳輸給PSoC進(jìn)行解析和計(jì)算,,控制雕刻機(jī)按照所預(yù)想的方式運(yùn)行,。PSoC控制器主要實(shí)現(xiàn)了與上位機(jī)的通信、指令的解析插補(bǔ),、電機(jī)的運(yùn)動(dòng)控制,。驅(qū)動(dòng)電路對(duì)PSoC輸出的信號(hào)進(jìn)行反相和放大,信號(hào)輸出給雕刻機(jī)的電控箱,,控制雕刻機(jī)運(yùn)轉(zhuǎn),。
2 系統(tǒng)硬件設(shè)計(jì)
在可編程片上系統(tǒng)PSoC中所使用的端口和元件示意圖如圖2所示,共采用了4個(gè)PWM模塊,,3個(gè)Counter(計(jì)數(shù)器),,一個(gè)SPI,一個(gè)UART以及若干輸入輸出接口,。 SPI模塊和UART模塊用來(lái)實(shí)現(xiàn)與上位機(jī)的通信,。PWM_0、PWM_1,、PWM_2和PWM_3分別用作主軸和三個(gè)運(yùn)動(dòng)軸輸出脈沖發(fā)生器,,用來(lái)控制主軸的轉(zhuǎn)速和三個(gè)運(yùn)動(dòng)軸的運(yùn)動(dòng)速度。Counter_1,、Counter_2和Counter_3則分別對(duì)三個(gè)運(yùn)動(dòng)軸的輸出脈沖進(jìn)行計(jì)數(shù),,實(shí)現(xiàn)運(yùn)動(dòng)軸位移的控制,。數(shù)字輸出端口輸出三個(gè)軸的使能、方向信號(hào)和整個(gè)系統(tǒng)的急停信號(hào),。輸出電平的高低通過(guò)軟件編程控制,。在這些信號(hào)控制三個(gè)運(yùn)動(dòng)軸工作的同時(shí),系統(tǒng)可以進(jìn)行計(jì)算,、插補(bǔ),、狀態(tài)查詢(xún)、指令傳輸?shù)热魏纹渌墓ぷ?,整個(gè)系統(tǒng)具有良好的并行性,。另外,這些信號(hào)可以根據(jù)需要隨時(shí)進(jìn)行修改,,使得運(yùn)動(dòng)軸改變運(yùn)動(dòng)速度或方向,,系統(tǒng)具有良好的實(shí)時(shí)性。
同時(shí),,PSoC芯片支持DMA(直接內(nèi)存訪問(wèn))技術(shù),,由DMA控制器完成。DMA是一種存儲(chǔ)器之間以及存儲(chǔ)器與外部設(shè)備之間進(jìn)行數(shù)據(jù)傳輸?shù)姆椒?。在DMA中,,由硬件設(shè)備接管了總線進(jìn)行數(shù)據(jù)傳輸工作,節(jié)省了主程序調(diào)用API函數(shù)所占用的CPU時(shí)間,,提高了系統(tǒng)的并行性,,可以縮短插補(bǔ)周期,大大改善了控制器的性能,。雕刻機(jī)運(yùn)動(dòng)軸的運(yùn)動(dòng)軌跡控制通過(guò)軟件控制以上各個(gè)硬件部分協(xié)作完成,,可以實(shí)現(xiàn)直線插補(bǔ)、圓弧插補(bǔ)以及Nurbs插補(bǔ),。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 插補(bǔ)方案
3.1.1 直線插補(bǔ)
對(duì)于一條直線,,首先將其在X、Y,、Z三個(gè)軸上進(jìn)行投影,,根據(jù)要求的進(jìn)給速度和進(jìn)給量分別設(shè)置三個(gè)軸的PWM元件參數(shù)和對(duì)應(yīng)的計(jì)數(shù)器,并對(duì)三個(gè)軸的使能信號(hào)和方向信號(hào)進(jìn)行配置,。在插補(bǔ)過(guò)程中,,速度的實(shí)時(shí)改變也是通過(guò)軟件修改PWM元件參數(shù)來(lái)實(shí)現(xiàn),。
3.1.2 圓弧插補(bǔ)
圓弧插補(bǔ)的基本思想是在滿(mǎn)足運(yùn)動(dòng)精度的前提下,,用微直線段代替圓弧線進(jìn)行進(jìn)給,即使用直線來(lái)逼近圓弧,。本文采用的圓弧插補(bǔ)算法為改進(jìn)的二階近似DDA插補(bǔ)算法,,使用圓的內(nèi)接弦來(lái)逼近圓弧,。算法如下(以第一象限為標(biāo)準(zhǔn))[4]:
3.2 速度控制方案
對(duì)于一個(gè)實(shí)際的電機(jī),啟停時(shí)的速度變化需要有加速和減速的過(guò)程,,在雕刻機(jī)的運(yùn)行中,,進(jìn)給方向改變時(shí)同樣需要一個(gè)減速再加速的過(guò)程,以緩解對(duì)電機(jī)的沖擊力,,延長(zhǎng)雕刻機(jī)的使用壽命,。加減速的主要方式有梯形加減速和S型加減速兩種,如圖4所示,。
在梯形加減速中,,速度的變化是均勻的;在S型加減速中,,加速度也是變化的,,從0逐漸變大再減小為0。S型加減速對(duì)系統(tǒng)具有更小的沖擊性,,但是運(yùn)算的復(fù)雜度更高,,時(shí)間開(kāi)銷(xiāo)更大。本文采用了自適應(yīng)的速度控制方案,,對(duì)于運(yùn)動(dòng)軌跡上拐角比較大且插補(bǔ)速度比較高的點(diǎn)使用S型加減速,,對(duì)于比較平緩的插補(bǔ)和軌跡交接則使用梯形加減速。另外,,系統(tǒng)還引入速度前瞻控制方案,,在插補(bǔ)一段軌跡時(shí),根據(jù)下一段軌跡的長(zhǎng)度和方向來(lái)決定進(jìn)給速度的趨勢(shì),。綜合兩段軌跡的長(zhǎng)短和夾角,,確定減速方案(減速點(diǎn)、加速度和末速度),。
4 實(shí)驗(yàn)結(jié)果以及系統(tǒng)性能分析
4.1 雕刻結(jié)果展示
本文使用了一臺(tái)功率為300 W,、型號(hào)為T(mén)S-2518b的三軸電動(dòng)雕刻機(jī),圖5左是直線加圓弧插補(bǔ)雕刻結(jié)果,。這是一組5條直線加四段圓?。ㄒ粋€(gè)象限是一段,四段是一個(gè)完整的圓?。┑暮?jiǎn)單圖案,,直線插補(bǔ)、圓弧插補(bǔ)和速度控制方案均使用了前文提到的方式,。Nurbs曲線插補(bǔ)雕刻結(jié)果如圖5右,,這是一條完整的有10個(gè)控制頂點(diǎn)的二次Nurbs曲線。
該控制器可實(shí)現(xiàn)直線,、圓弧,、Nurbs曲線插補(bǔ),,梯形、S型加減速控制,,并通過(guò)使用速度前瞻控制方案提高了系統(tǒng)的穩(wěn)定性,。控制器可以控制實(shí)際雕刻機(jī)進(jìn)行二維圖形的雕刻,。上位機(jī)程序可以進(jìn)行急停,,驅(qū)動(dòng)電路板上有可以對(duì)三個(gè)軸電機(jī)和主軸電機(jī)進(jìn)行使能和禁用的開(kāi)關(guān),具有較完善的安全保護(hù)措施,。用戶(hù)存儲(chǔ)區(qū)最多可存儲(chǔ)100~200條指令,,輸出脈沖頻率最大可達(dá)3 MHz,控制周期最大為40?滋s/軸,,系統(tǒng)性能已接近部分專(zhuān)業(yè)數(shù)控運(yùn)動(dòng)控制器,。
該控制器可以通過(guò)PSoC Creator軟件進(jìn)行方便地功能、接口的增減和修改,,并且具有USB,、I2C、SPI,、UART,、CAN、無(wú)線,、以太網(wǎng)接口等多種通信方式,,便于與其他設(shè)備進(jìn)行通信。系統(tǒng)可以通過(guò)無(wú)線通信擴(kuò)展為多個(gè)控制器和多個(gè)控制對(duì)象的網(wǎng)絡(luò)化控制,。該系統(tǒng)符合開(kāi)放式數(shù)控系統(tǒng)的要求,,是現(xiàn)代電子技術(shù)與現(xiàn)代制造業(yè)發(fā)展趨勢(shì)的良好結(jié)合。
參考文獻(xiàn)
[1] 張燕,,陳華.固高運(yùn)動(dòng)控制卡在LabWindows/CVI環(huán)境中的應(yīng)用[J].工業(yè)控制計(jì)算機(jī),,2011(6).
[2] 戴朝永.基于ARM+PMAC結(jié)構(gòu)的數(shù)控系統(tǒng)設(shè)計(jì)[J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2010(1).
[3] Cypress.PSoC5 family datasheet[Z].Cypress Inc,,2010.
[4] Zhang Jun,,Wang Xu.Method to design multi axis motion controller using extended DDA circuit[C].IITA International Conference on Control, Automation and Systems Engineering,2009:120-123.
[5] 孫海洋.NURBS曲線刀具路徑實(shí)時(shí)插補(bǔ)技術(shù)研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),,2008:18-20.