《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于PSoC的數(shù)控運(yùn)動(dòng)控制器
基于PSoC的數(shù)控運(yùn)動(dòng)控制器
來(lái)源:電子技術(shù)應(yīng)用2012年第5期
張 弛,,葉朝輝,,周永明
清華大學(xué) 自動(dòng)化系,北京100084
摘要: 采用PSoC可編程片上系統(tǒng)設(shè)計(jì)了一個(gè)數(shù)控運(yùn)動(dòng)控制器,,由于PSoC具有靈活的可自由配置的模擬,、數(shù)字資源和輸入輸出接口以及對(duì)多種通信接口的支持,,該運(yùn)動(dòng)控制器具有良好的可擴(kuò)展性和可移植性。介紹了系統(tǒng)的整體結(jié)構(gòu),、控制器的硬件模塊設(shè)計(jì)以及直線,、圓弧、Nurbs曲線插補(bǔ)方式和速度控制方案的軟件實(shí)現(xiàn),,使用該控制器控制一臺(tái)三軸雕刻機(jī)進(jìn)行雕刻,,結(jié)果表明該系統(tǒng)具有良好的性能。
中圖分類(lèi)號(hào): TP23
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)05-0056-03
Numerical control motion controller based on PSoC
Zhang Chi,,Ye Zhaohui,,Zhou Yongming
Department of Automation, Tsinghua University, Beijing 100084,China
Abstract: This paper designed a kind of numerical motion controller based on PSoC(Programmable System-on-Chip) which has configurable analog/digital resources and input/output ports as well as a variety of communication interfaces. This numerical motion controller has good scalability and portability. The overall structure of the system, hardware module design, and software design of linear, circular, Nurbs curve interpolation methods and speed control methods are described in detail. Finally, the operating results of a three-axis engraving machine controlled with this numerical motion controller and the system’s good performance are introduced.
Key words : PSoC,;numerical control system,;interpolation;motion controller

    目前廣泛使用的數(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。