《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于PSoC的數(shù)控運動控制器
基于PSoC的數(shù)控運動控制器
來源:電子技術(shù)應(yīng)用2012年第5期
張 弛,葉朝輝,周永明
清華大學(xué) 自動化系,北京100084
摘要: 采用PSoC可編程片上系統(tǒng)設(shè)計了一個數(shù)控運動控制器,由于PSoC具有靈活的可自由配置的模擬、數(shù)字資源和輸入輸出接口以及對多種通信接口的支持,該運動控制器具有良好的可擴(kuò)展性和可移植性。介紹了系統(tǒng)的整體結(jié)構(gòu)、控制器的硬件模塊設(shè)計以及直線、圓弧、Nurbs曲線插補(bǔ)方式和速度控制方案的軟件實現(xiàn),使用該控制器控制一臺三軸雕刻機(jī)進(jìn)行雕刻,結(jié)果表明該系統(tǒng)具有良好的性能。
中圖分類號: TP23
文獻(xiàn)標(biāo)識碼: A
文章編號: 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ù)控運動控制器的功能和性能已趨于完善,例如固高控制器、PMAC控制器等。但這些控制器大多還是屬于封閉式結(jié)構(gòu),系統(tǒng)難以進(jìn)行擴(kuò)展和移植。同時,用戶也不能根據(jù)實際需求自由地配置輸入輸出接口或改變系統(tǒng)內(nèi)部模塊結(jié)構(gòu),系統(tǒng)的通信方式也比較單一,難以實現(xiàn)網(wǎng)絡(luò)化[1-2]。

    Cypress公司的PSoC(Programmable System on Chip)可編程片上系統(tǒng)將32 bit微控制器、可編程模擬資源、可編程數(shù)字陣列集成在一個芯片上,可以自由配置模擬、數(shù)字、通信等功能,并且可以在線編程。模擬資源和數(shù)字陣列可以通過PSoC Creator編程軟件進(jìn)行方便的增減和修改,有70個可自由配置的I/O口,可方便地配置為多種類型的模擬/數(shù)字輸入或輸出接口,用來對數(shù)據(jù)和信號進(jìn)行實時采集和控制,是一個開放式的結(jié)構(gòu),具有良好的并行性和可擴(kuò)展性。另外還支持包括USB、I2C、SPI、等多種通信接口,具有完善的可移植性[3]。鑒于數(shù)控運動控制器的發(fā)展現(xiàn)狀以及PSoC芯片的諸多優(yōu)勢,本文將以PSoC芯片CY8C5588(一款第五代PSoC芯片)為基礎(chǔ),構(gòu)建一套數(shù)控運動控制器,用來控制三軸雕刻機(jī)的工作。
1 系統(tǒng)整體架構(gòu)
    以目前已經(jīng)完成的三軸聯(lián)動的雕刻機(jī)控制器為例,系統(tǒng)的整體結(jié)構(gòu)如圖1所示,包括計算機(jī)、以PSoC為核心的控制器、驅(qū)動電路和雕刻機(jī)。
    上位機(jī)程序采用C#語言編寫,采用網(wǎng)絡(luò)編程的套接字技術(shù),作用是供用戶輸入或從文件導(dǎo)入指令,并將其傳輸給PSoC進(jìn)行解析和計算,控制雕刻機(jī)按照所預(yù)想的方式運行。PSoC控制器主要實現(xiàn)了與上位機(jī)的通信、指令的解析插補(bǔ)、電機(jī)的運動控制。驅(qū)動電路對PSoC輸出的信號進(jìn)行反相和放大,信號輸出給雕刻機(jī)的電控箱,控制雕刻機(jī)運轉(zhuǎn)。
2 系統(tǒng)硬件設(shè)計
    在可編程片上系統(tǒng)PSoC中所使用的端口和元件示意圖如圖2所示,共采用了4個PWM模塊,3個Counter(計數(shù)器),一個SPI,一個UART以及若干輸入輸出接口。    SPI模塊和UART模塊用來實現(xiàn)與上位機(jī)的通信。PWM_0、PWM_1、PWM_2和PWM_3分別用作主軸和三個運動軸輸出脈沖發(fā)生器,用來控制主軸的轉(zhuǎn)速和三個運動軸的運動速度。Counter_1、Counter_2和Counter_3則分別對三個運動軸的輸出脈沖進(jìn)行計數(shù),實現(xiàn)運動軸位移的控制。數(shù)字輸出端口輸出三個軸的使能、方向信號和整個系統(tǒng)的急停信號。輸出電平的高低通過軟件編程控制。在這些信號控制三個運動軸工作的同時,系統(tǒng)可以進(jìn)行計算、插補(bǔ)、狀態(tài)查詢、指令傳輸?shù)热魏纹渌墓ぷ?,整個系統(tǒng)具有良好的并行性。另外,這些信號可以根據(jù)需要隨時進(jìn)行修改,使得運動軸改變運動速度或方向,系統(tǒng)具有良好的實時性。
    同時,PSoC芯片支持DMA(直接內(nèi)存訪問)技術(shù),由DMA控制器完成。DMA是一種存儲器之間以及存儲器與外部設(shè)備之間進(jìn)行數(shù)據(jù)傳輸?shù)姆椒?。在DMA中,由硬件設(shè)備接管了總線進(jìn)行數(shù)據(jù)傳輸工作,節(jié)省了主程序調(diào)用API函數(shù)所占用的CPU時間,提高了系統(tǒng)的并行性,可以縮短插補(bǔ)周期,大大改善了控制器的性能。雕刻機(jī)運動軸的運動軌跡控制通過軟件控制以上各個硬件部分協(xié)作完成,可以實現(xiàn)直線插補(bǔ)、圓弧插補(bǔ)以及Nurbs插補(bǔ)。
3 系統(tǒng)軟件設(shè)計
3.1 插補(bǔ)方案
3.1.1 直線插補(bǔ)

    對于一條直線,首先將其在X、Y、Z三個軸上進(jìn)行投影,根據(jù)要求的進(jìn)給速度和進(jìn)給量分別設(shè)置三個軸的PWM元件參數(shù)和對應(yīng)的計數(shù)器,并對三個軸的使能信號和方向信號進(jìn)行配置。在插補(bǔ)過程中,速度的實時改變也是通過軟件修改PWM元件參數(shù)來實現(xiàn)。
3.1.2 圓弧插補(bǔ)
    圓弧插補(bǔ)的基本思想是在滿足運動精度的前提下,用微直線段代替圓弧線進(jìn)行進(jìn)給,即使用直線來逼近圓弧。本文采用的圓弧插補(bǔ)算法為改進(jìn)的二階近似DDA插補(bǔ)算法,使用圓的內(nèi)接弦來逼近圓弧。算法如下(以第一象限為標(biāo)準(zhǔn))[4]:
    
  
  
3.2 速度控制方案
    對于一個實際的電機(jī),啟停時的速度變化需要有加速和減速的過程,在雕刻機(jī)的運行中,進(jìn)給方向改變時同樣需要一個減速再加速的過程,以緩解對電機(jī)的沖擊力,延長雕刻機(jī)的使用壽命。加減速的主要方式有梯形加減速和S型加減速兩種,如圖4所示。

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

    本文使用了一臺功率為300 W、型號為TS-2518b的三軸電動雕刻機(jī),圖5左是直線加圓弧插補(bǔ)雕刻結(jié)果。這是一組5條直線加四段圓?。ㄒ粋€象限是一段,四段是一個完整的圓?。┑暮唵螆D案,直線插補(bǔ)、圓弧插補(bǔ)和速度控制方案均使用了前文提到的方式。Nurbs曲線插補(bǔ)雕刻結(jié)果如圖5右,這是一條完整的有10個控制頂點的二次Nurbs曲線。

 

 

 

    該控制器可實現(xiàn)直線、圓弧、Nurbs曲線插補(bǔ),梯形、S型加減速控制,并通過使用速度前瞻控制方案提高了系統(tǒng)的穩(wěn)定性??刂破骺梢钥刂茖嶋H雕刻機(jī)進(jìn)行二維圖形的雕刻。上位機(jī)程序可以進(jìn)行急停,驅(qū)動電路板上有可以對三個軸電機(jī)和主軸電機(jī)進(jìn)行使能和禁用的開關(guān),具有較完善的安全保護(hù)措施。用戶存儲區(qū)最多可存儲100~200條指令,輸出脈沖頻率最大可達(dá)3 MHz,控制周期最大為40?滋s/軸,系統(tǒng)性能已接近部分專業(yè)數(shù)控運動控制器。
    該控制器可以通過PSoC Creator軟件進(jìn)行方便地功能、接口的增減和修改,并且具有USB、I2C、SPI、UART、CAN、無線、以太網(wǎng)接口等多種通信方式,便于與其他設(shè)備進(jìn)行通信。系統(tǒng)可以通過無線通信擴(kuò)展為多個控制器和多個控制對象的網(wǎng)絡(luò)化控制。該系統(tǒng)符合開放式數(shù)控系統(tǒng)的要求,是現(xiàn)代電子技術(shù)與現(xiàn)代制造業(yè)發(fā)展趨勢的良好結(jié)合。
參考文獻(xiàn)
[1] 張燕,陳華.固高運動控制卡在LabWindows/CVI環(huán)境中的應(yīng)用[J].工業(yè)控制計算機(jī),2011(6).
[2] 戴朝永.基于ARM+PMAC結(jié)構(gòu)的數(shù)控系統(tǒng)設(shè)計[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曲線刀具路徑實時插補(bǔ)技術(shù)研究[D].長沙:國防科學(xué)技術(shù)大學(xué),2008:18-20.

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