国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PSoC的數(shù)控運(yùn)動(dòng)控制器

2012-02-06 06:00:36葉朝輝周永明
電子技術(shù)應(yīng)用 2012年5期
關(guān)鍵詞:雕刻機(jī)圓弧軌跡

張 弛,葉朝輝,周永明

(清華大學(xué) 自動(dòng)化系,北京 100084)

目前廣泛使用的數(shù)控運(yùn)動(dòng)控制器的功能和性能已趨于完善,例如固高控制器、PMAC控制器等。但這些控制器大多還是屬于封閉式結(jié)構(gòu),系統(tǒng)難以進(jìn)行擴(kuò)展和移植。同時(shí),用戶也不能根據(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ù)字陣列可以通過PSoC Creator編程軟件進(jìn)行方便的增減和修改,有70個(gè)可自由配置的I/O口,可方便地配置為多種類型的模擬/數(shù)字輸入或輸出接口,用來對數(shù)據(jù)和信號(hào)進(jìn)行實(shí)時(shí)采集和控制,是一個(gè)開放式的結(jié)構(gòu),具有良好的并行性和可擴(kuò)展性。另外還支持包括USB、I2C、SPI、等多種通信接口,具有完善的可移植性[3]。鑒于數(shù)控運(yùn)動(dòng)控制器的發(fā)展現(xiàn)狀以及PSoC芯片的諸多優(yōu)勢,本文將以PSoC芯片 CY8C5588(一款第五代 PSoC芯片)為基礎(chǔ),構(gòu)建一套數(shù)控運(yùn)動(dòng)控制器,用來控制三軸雕刻機(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ī)。

圖1 系統(tǒng)整體架構(gòu)

上位機(jī)程序采用C#語言編寫,采用網(wǎng)絡(luò)編程的套接字技術(shù),作用是供用戶輸入或從文件導(dǎo)入指令,并將其傳輸給PSoC進(jìn)行解析和計(jì)算,控制雕刻機(jī)按照所預(yù)想的方式運(yùn)行。PSoC控制器主要實(shí)現(xiàn)了與上位機(jī)的通信、指令的解析插補(bǔ)、電機(jī)的運(yùn)動(dòng)控制。驅(qū)動(dòng)電路對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以及若干輸入輸出接口。

圖2 PSoC中使用的元件和端口示意圖

SPI模塊和UART模塊用來實(shí)現(xiàn)與上位機(jī)的通信。PWM_0、PWM_1、PWM_2和 PWM_3分別用作主軸和三個(gè)運(yùn)動(dòng)軸輸出脈沖發(fā)生器,用來控制主軸的轉(zhuǎn)速和三個(gè)運(yùn)動(dòng)軸的運(yùn)動(dòng)速度。Counter_1、Counter_2和Counter_3則分別對三個(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)。輸出電平的高低通過軟件編程控制。在這些信號(hào)控制三個(gè)運(yùn)動(dòng)軸工作的同時(shí),系統(tǒng)可以進(jìn)行計(jì)算、插補(bǔ)、狀態(tài)查詢、指令傳輸?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)存訪問)技術(shù),由DMA控制器完成。DMA是一種存儲(chǔ)器之間以及存儲(chǔ)器與外部設(shè)備之間進(jìn)行數(shù)據(jù)傳輸?shù)姆椒āT贒MA中,由硬件設(shè)備接管了總線進(jìn)行數(shù)據(jù)傳輸工作,節(jié)省了主程序調(diào)用API函數(shù)所占用的CPU時(shí)間,提高了系統(tǒng)的并行性,可以縮短插補(bǔ)周期,大大改善了控制器的性能。雕刻機(jī)運(yùn)動(dòng)軸的運(yùn)動(dòng)軌跡控制通過軟件控制以上各個(gè)硬件部分協(xié)作完成,可以實(shí)現(xiàn)直線插補(bǔ)、圓弧插補(bǔ)以及Nurbs插補(bǔ)。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 插補(bǔ)方案

3.1.1 直線插補(bǔ)

對于一條直線,首先將其在 X、Y、Z三個(gè)軸上進(jìn)行投影,根據(jù)要求的進(jìn)給速度和進(jìn)給量分別設(shè)置三個(gè)軸的PWM元件參數(shù)和對應(yīng)的計(jì)數(shù)器,并對三個(gè)軸的使能信號(hào)和方向信號(hào)進(jìn)行配置。在插補(bǔ)過程中,速度的實(shí)時(shí)改變也是通過軟件修改PWM元件參數(shù)來實(shí)現(xiàn)。

3.1.2 圓弧插補(bǔ)

圓弧插補(bǔ)的基本思想是在滿足運(yùn)動(dòng)精度的前提下,用微直線段代替圓弧線進(jìn)行進(jìn)給,即使用直線來逼近圓弧。本文采用的圓弧插補(bǔ)算法為改進(jìn)的二階近似DDA插補(bǔ)算法,使用圓的內(nèi)接弦來逼近圓弧。算法如下(以第一象限為標(biāo)準(zhǔn))[4]:

令插補(bǔ)圓弧的半徑為R,恒定進(jìn)給速度為F,插補(bǔ)周期為T,則定義常量:

(1)計(jì)算插補(bǔ)系數(shù)

(2)計(jì)算插補(bǔ)增量

令當(dāng)前插補(bǔ)點(diǎn)為(Xi,Yi),下一個(gè)插補(bǔ)點(diǎn)為(Xi+1,Yi+1),若為逆時(shí)針圓,則計(jì)算插補(bǔ)增量為:

該插補(bǔ)算法并未使用近似運(yùn)算,具有很高的精度,每一個(gè)插補(bǔ)點(diǎn)都在圓弧上。

3.1.3 Nurbs曲線插補(bǔ)

Nurbs曲線是非均勻有理B樣條曲線,可以用以下算式定義:

其中,C(u)為 Nurbs曲線,參數(shù) u的范圍為 0~1;Pi為控制定點(diǎn)序列,i從0~n,第0個(gè)點(diǎn)和第n個(gè)點(diǎn)一般是同一個(gè)點(diǎn)。以二維曲線為例,C(u)既代表X(u)也代表Y(u),而對應(yīng)的Pi則分別為第 i個(gè)頂點(diǎn)的 X坐標(biāo)和 Y坐標(biāo);Wi則為Pi的權(quán)值序列。

Ni,k的定義為:

這里使用了節(jié)點(diǎn)序列:

U={0,0,…,0,uk+1,…,un-k-1,1,…,1,1}

其中,n為節(jié)點(diǎn)數(shù),k為Nurbs曲線的次數(shù)(也是B樣條的次數(shù))。

對于圓弧插補(bǔ)和Nurbs插補(bǔ),由于是將其分解為一段段微小的直線,為了提高整個(gè)系統(tǒng)的效率,在PSoC中采用了“邊計(jì)算邊插補(bǔ)”的并行控制方式。該控制方式可以用圖3表述,左邊為軟件執(zhí)行流程,右邊為DMA、PWM、Counter等硬件模塊的并行執(zhí)行流程。

圖3 并行控制的插補(bǔ)流程

3.2 速度控制方案

對于一個(gè)實(shí)際的電機(jī),啟停時(shí)的速度變化需要有加速和減速的過程,在雕刻機(jī)的運(yùn)行中,進(jìn)給方向改變時(shí)同樣需要一個(gè)減速再加速的過程,以緩解對電機(jī)的沖擊力,延長雕刻機(jī)的使用壽命。加減速的主要方式有梯形加減速和S型加減速兩種,如圖4所示。

在梯形加減速中,速度的變化是均勻的;在S型加減速中,加速度也是變化的,從0逐漸變大再減小為0。S型加減速對系統(tǒng)具有更小的沖擊性,但是運(yùn)算的復(fù)雜度更高,時(shí)間開銷更大。本文采用了自適應(yīng)的速度控制方案,對于運(yùn)動(dòng)軌跡上拐角比較大且插補(bǔ)速度比較高的點(diǎn)使用S型加減速,對于比較平緩的插補(bǔ)和軌跡交接則使用梯形加減速。另外,系統(tǒng)還引入速度前瞻控制方案,在插補(bǔ)一段軌跡時(shí),根據(jù)下一段軌跡的長度和方向來決定進(jìn)給速度的趨勢。綜合兩段軌跡的長短和夾角,確定減速方案(減速點(diǎn)、加速度和末速度)。

4 實(shí)驗(yàn)結(jié)果以及系統(tǒng)性能分析

4.1 雕刻結(jié)果展示

本文使用了一臺(tái)功率為300 W、型號(hào)為TS-2518b的三軸電動(dòng)雕刻機(jī),圖5左是直線加圓弧插補(bǔ)雕刻結(jié)果。這是一組5條直線加四段圓弧(一個(gè)象限是一段,四段是一個(gè)完整的圓弧)的簡單圖案,直線插補(bǔ)、圓弧插補(bǔ)和速度控制方案均使用了前文提到的方式。Nurbs曲線插補(bǔ)雕刻結(jié)果如圖5右,這是一條完整的有10個(gè)控制頂點(diǎn)的二次Nurbs曲線。

4.2 系統(tǒng)性能

該系統(tǒng)的性能指標(biāo)如表1所示。

表1 系統(tǒng)性能指標(biāo)

該控制器可實(shí)現(xiàn)直線、圓弧、Nurbs曲線插補(bǔ),梯形、S型加減速控制,并通過使用速度前瞻控制方案提高了系統(tǒng)的穩(wěn)定性。控制器可以控制實(shí)際雕刻機(jī)進(jìn)行二維圖形的雕刻。上位機(jī)程序可以進(jìn)行急停,驅(qū)動(dòng)電路板上有可以對三個(gè)軸電機(jī)和主軸電機(jī)進(jìn)行使能和禁用的開關(guān),具有較完善的安全保護(hù)措施。用戶存儲(chǔ)區(qū)最多可存儲(chǔ)100~200條指令,輸出脈沖頻率最大可達(dá) 3 MHz,控制周期最大為40μs/軸,系統(tǒng)性能已接近部分專業(yè)數(shù)控運(yùn)動(dòng)控制器。

該控制器可以通過PSoC Creator軟件進(jìn)行方便地功能、接口的增減和修改,并且具有 USB、I2C、SPI、UART、CAN、無線、以太網(wǎng)接口等多種通信方式,便于與其他設(shè)備進(jìn)行通信。系統(tǒng)可以通過無線通信擴(kuò)展為多個(gè)控制器和多個(gè)控制對象的網(wǎng)絡(luò)化控制。該系統(tǒng)符合開放式數(shù)控系統(tǒng)的要求,是現(xiàn)代電子技術(shù)與現(xiàn)代制造業(yè)發(fā)展趨勢的良好結(jié)合。

[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)品開發(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].長沙:國防科學(xué)技術(shù)大學(xué),2008:18-20.

猜你喜歡
雕刻機(jī)圓弧軌跡
小型五軸雕刻機(jī)的設(shè)計(jì)及靜動(dòng)態(tài)特性分析
淺析圓弧段高大模板支撐體系設(shè)計(jì)與應(yīng)用
軌跡
軌跡
外圓弧面銑削刀具
軌跡
智能寫字雕刻機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
科技視界(2017年7期)2017-07-26 15:59:57
雕刻機(jī)控制系統(tǒng)的研究
進(jìn)化的軌跡(一)——進(jìn)化,無盡的適應(yīng)
中國三峽(2017年2期)2017-06-09 08:15:29
數(shù)控車削圓弧螺紋程序編制與加工
吐鲁番市| 桓仁| 鹰潭市| 新密市| 九台市| 府谷县| 遂川县| 富宁县| 阜城县| 林州市| 城固县| 沧源| 鄂托克旗| 澄迈县| 尼玛县| 桃园县| 柏乡县| 建湖县| 郯城县| 长治市| 玛沁县| 门源| 黑水县| 大关县| 宣恩县| 克东县| 卢龙县| 大方县| 大冶市| 兴和县| 泸定县| 将乐县| 天峻县| 永新县| 红河县| 利辛县| 修水县| 开封县| 余江县| 盖州市| 务川|