鄧永紅, 曹樹坤
(濟南大學 機械工程學院, 山東 濟南 250022)
目前,開放式數控系統(tǒng)因不依賴某個特定的硬件、軟件,可以優(yōu)化選配來自不同供應商的零部件,提供最大柔性,根據用戶需要集成特殊功能等優(yōu)點,已成為國際研究數控系統(tǒng)主潮流.美國的NGC和OMAC計劃、歐盟的OSACA計劃以及日本的OSEC計劃最有代表性,其體現(xiàn)了國外開放性數控的發(fā)展現(xiàn)狀[1].國內對開放式數控系統(tǒng)的研究還在起步階段,與國際先進水平存在很大差距.國內在數控系統(tǒng)中實現(xiàn)直接數字控制的方法主要是現(xiàn)場總線控制,基于現(xiàn)場總線的數控系統(tǒng)同樣需要在CNC上開發(fā)通信板卡,這些板卡須插入CNC的標準ISA/PCI插槽內,但ISA/PCI總線接口復雜,驅動程序、硬件接口開發(fā)難度大,開發(fā)成本較高,開發(fā)周期也較長,同時還需要伺服系統(tǒng)提供相應的現(xiàn)場總線接口[2].而且目前市場上多種現(xiàn)場總線并存,不同類型現(xiàn)場總線之間不能相互通信,很難滿足開放性數控系統(tǒng)的要求.本文以開放式數控系統(tǒng)為研究對象,設計一套基于DSP核心控制器的開放式五軸數控系統(tǒng),以期提供一種響應速度快、可靠性高、靈活性好,能夠更好地滿足機械加工中的更高要求,提高數控機床使用安全和效率的開放式數控系統(tǒng).
如圖1所示,基于DSP核心控制器的開放式五軸數控系統(tǒng)由上位機、下位機和五軸數控機床等組成.它采用上位機與下位機組成的開放式控制系統(tǒng),上位機由PC機、ARM模塊、DSP模塊、儲存單元四部分組成,各自硬件相互獨立,操作界面完善,給操作人員多種操作機器的手段,通過功能切換并與下位機連接成功后可對五軸數控機床操作[3].下位機由電機控制板、電液伺服閥和數據采集及輸出模塊組成.上位機完成配置硬件、設置試樣參數、實時顯示圖形、保存數據、打印報告等功能,且通過USB高速接口與下位機進行通訊,下位機負責實時接收其命令,實時采集傳感器數據并返回給上位機顯示,并做有關數據運算、伺服電機閉環(huán)控制等工作[4].
圖1 系統(tǒng)總體結構框圖
為了滿足數控系統(tǒng)低成本、高性能、低功耗的要求,本文設計的解決方案采用Samsung 公司的16/32位RISC處理器S3C2410A.S3C2410A提供了以下豐富的內部設備:分開的16KB的指令Cache和16KB數據Cache, MMU虛擬存儲器管理,LCD控制器(支持STN&TFT),支持NAND Flash系統(tǒng)引導,系統(tǒng)管理器(片選邏輯和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定時器,I/O端口,RTC,8通道10位ADC和觸摸屏接口,IIC-BUS接口,IIC-BUS接口,USB主機,USB設備,SD主卡&MMC卡接口,2通道的SPI以及內部PLL時鐘倍頻器[5].
ARM模塊的功能是負責處理各種接口通信與人機交互、數據存儲與發(fā)送.ARM處理器s3c2410是數控系統(tǒng)的主要硬件,RT-Linux操作系統(tǒng)運行在此硬件上.操作系統(tǒng)主要完成數據的計算和邏輯運算,管理中斷信號和實時調度工作,采用現(xiàn)場總線技術通過CAN總線控制器與DSP實現(xiàn)數據傳輸.
本開放式數控系統(tǒng)使用的核心處理器為TMS320F28335.TMS320F28335采用靜態(tài)CMOS技術,主頻達150MHz; CPU核供電電壓為1.8V,I/O口供電電壓為3.3V;具有3個獨立的外部擴展接口,超過2M的尋址空間;芯片內部本身具有256K X16位FLASH,34K X16位SARAM空間;具有豐富的內部外圍模塊、完善快速的中斷體系及豐富的I/O資源[6].
DSP處理器TMS320F28335是本數控系統(tǒng)的核心硬件,本系統(tǒng)使用DSP處理器的EPWM模塊對伺服電機進行控制,例如通過讓EPWM1模組的時基與EPWM2和EPWM3同步,同時讓EPWM4的時基與EPWM5和EPWM6同步,即可現(xiàn)實對兩個伺服電機的獨立控制;通過讓EPWM1的時基與另外五個模組同步,即可現(xiàn)實兩個伺服電機在同一時間啟動,完成機床兩軸聯(lián)動.應用eQEP模塊對電機位置與速度進行實時測量.應用通用定時器和外部中斷接口實現(xiàn)各外設控制.應用通用I/O模塊實現(xiàn)DSP與各外設以及ARM平臺間的數據交互.
儲存單元由IDE硬盤、FLASH和內存組成,IDE硬盤主要儲存零件加工程序.加工零件程序編寫復雜、數據量大,可在該系統(tǒng)加上硬盤以彌補FLASH的儲存空間不足,將調試好的RT-Linux操作系統(tǒng)以及用戶的應用程序等存放于FLASH儲存器[7].RT-Linux操作系統(tǒng)由BootLoader、RT-Linux內核、文件系統(tǒng)組成;用戶應用程序主要為數控系統(tǒng)部分模塊和人機界面軟件等[8].當數控系統(tǒng)運行時,其主要區(qū)域為內存,內存中包含系統(tǒng)及用戶數據以及系統(tǒng)運行時的堆棧.
電機控制板模塊負責驅動伺服電機并反饋傳感器信號.圖2所示為MCT8000F8控制器控制的一個交流伺服電機的控制圖.在本系統(tǒng)中,采用松下MSD伺服驅動器驅動交流伺服電機.MCT8000F8控制板和MCT8000F8-IO接口板向伺服驅動器輸出控制信號.編碼器檢測電機的實際位置并反饋給MCT8000F8.MCT8000F8將需要的位置指令信息與反饋的編碼器實際位置信號進行比較,通過DAC輸出端子DAC0將產生的偏差信號輸入伺服驅動器,形成閉環(huán)位置控制系統(tǒng)[9].三個數字輸出信號DO0、DO1、DO2用于控制伺服驅動器;兩個數字輸入信號DI0和DI1用于檢測驅動器的運行狀態(tài).本系統(tǒng)用一個MCT8000F8同時控制5個電機,實現(xiàn)五軸聯(lián)動加工.
圖2 交流伺服電機的控制圖
本系統(tǒng)使用DSP核心控制器加上ARM處理器,實現(xiàn)多處理器并行工作,將軟件工作分配給各級處理器,完成實時多任務處理,提高了整個系統(tǒng)的運行速度.將數控系統(tǒng)中整個軟件分為三部分各自獨立運行:在PC的windows運行部分、在ARM的RT-Linux運行部分以及在DSP的運行部分.在PC中完成復雜曲面的高效、精密加工; ARM運算速度比DSP高,用于事件處理;DSP芯片內部沒有操作系統(tǒng),基本上單任務運行,不支持進程間調度問題,但支持高速浮點運算,因此該環(huán)境可以運行實時要求高及運算量大的任務[10].
整個系統(tǒng)的軟件部分是以Visual C++6.0為開發(fā)工具,采用了面向對象和模塊化的思想進行開發(fā),主要分為五大模塊:參數設置、運行模式、狀態(tài)顯示、狀態(tài)控制、系統(tǒng)管理[11].參數設置模塊包括運行模式的選擇、刀具選擇、加速度設置和速度設置,此模塊負責各軸運動控制的脈沖輸出設置和刀具選擇等.運行模式模塊主要包括點動運行、手動運行和自動運行,此模塊完成調整運行的方式[12].狀態(tài)顯示模塊包括運行狀態(tài)顯示、運行軌跡顯示、速度顯示和I/O顯示,該模塊負責將運行狀態(tài)(位置、速度、I/O量等)及調整后的參數實時顯示[13].狀態(tài)控制模塊包括I/O控制、速度控制,該模塊負責向運動控制卡及其他執(zhí)行部件發(fā)送控制指令.系統(tǒng)管理模塊包括幫助文檔、程序編譯和文件管理,其負責文件管理以及軟件的操作說明等.上述各個模塊在主框架程序控制下相互協(xié)調,組成一個完整的運動控制系統(tǒng)[14].
該系統(tǒng)是以DSP為核心的運動控制器,需要與ARM進行通信以得到代碼指令,并完成指令解析和插補算法,最終輸出PWM脈沖驅動各電機完成有序運動.其主程序流程圖如圖3所示.
圖3 DSP主程序流程圖
部分程序代碼:
struct CMachinePara
{
double machRect[6];//工作臺行程
double mmPrePulse[5];
double arcPrePulse[5];
int ciraxis;//旋轉軸號
double calibratehig;//對刀器高度
double calibrateVel;//對刀速度
short LimSns,HomeSns;
double HomeVel[5];//五軸的回零速度
int HomeDir[4];//回零方向
double sysMaxVel;//系統(tǒng)最高速度
int SpineDelay;//主軸啟動延遲時間
bool startGohome;//程序啟動自動會零
};
……
(1)主操作界面
該系統(tǒng)主操作界面中包括標題欄、菜單欄、工具欄、軌跡跟蹤區(qū)、代碼跟蹤區(qū)、坐標跟蹤區(qū)、速度調節(jié)區(qū)、轉速調節(jié)區(qū)、狀態(tài)顯示區(qū)、手動控制區(qū)和系統(tǒng)狀態(tài)欄.系統(tǒng)正常啟動后,出現(xiàn)如圖4所示的系統(tǒng)主操作界面,此時用戶即可進行各項正常操作.
圖4 系統(tǒng)主操作界面
(2)參數設置界面
在進行加工之前需用設置系統(tǒng)參數.點擊主操作界面上的“工具”以及“設置系統(tǒng)參數”菜單項,系統(tǒng)將彈出“系統(tǒng)參數設置”對話框.“機床參數設置”對話框包括三個部分:速度設置、加速度設置、其他,如圖5所示.
圖5 系統(tǒng)參數設置
將該數控系統(tǒng)應用到一臺五軸坐標數控銑床上進行實物加工試驗,五軸坐標機床實驗平臺X軸的行程為240mm、Y軸的行程為130mm、Z軸的行程為140mm,轉動軸A軸最大轉動角度為360°,轉動軸C軸的最大轉動角度為140°.試驗系統(tǒng)如圖6、圖7所示.
圖6 數控系統(tǒng)測試平臺1
圖7 數控系統(tǒng)測試平臺2
整個數控系統(tǒng)工作過程如下:
(1)操作端對需要加工的零件進行UG建模、刀具軌跡生成并進行刀具軌跡信息提取.
(2)DSP模塊將數控機床初始化等待ARM指令.
(3)操作端通過數據線將刀具軌跡信息傳送到ARM模塊.
(4)ARM接到刀具軌跡信息后向DSP發(fā)送測量指令,并獲取反饋的測量信息,DSP獲得指令啟動測量功能獲得加工工件的初始尺寸和定位信息,并反饋回ARM.
(5)ARM根據測量信息智能規(guī)劃刀具的路徑、根據智能工藝數據庫選擇加工工藝參數,并自動生成數控代碼,進行加工仿真和數控代碼檢查、將檢查過的數控代碼傳送給DSP并控制DSP的工作狀態(tài).
(6)DSP接受數控代碼,向電機控制板、電液伺服閥發(fā)送指令脈沖.
(7)電機控制板、電液伺服閥接受脈沖指令,電機控制板將指令發(fā)向伺服驅動器.
(8)伺服電機、電液伺服閥按數控指令驅動五軸數控機床.
(9)五軸數控機床完成數控加工同時將加工中的狀態(tài)信息通過DSP反饋給ARM.
(10)加工完成后,ARM再次啟動測量功能,對工件尺寸和形狀進行自動檢測,實現(xiàn)加工質量的主動控制.
(11)DSP接收到ARM命令后再次啟動測量功能對工件的關鍵尺寸和形狀等質量狀態(tài)進行在線檢測,并反饋給ARM.
配置適當參數對X軸、Y軸、Z軸、A軸及C軸進行測試,機床在測試過程中運行平穩(wěn).
試驗表明,本文設計的基于DSP核心控制器的開放式數控系統(tǒng)響應速度快、可靠性高、靈活性好,能夠較好地滿足實際加工中的更高要求,提高了數控機床使用安全和效率,且具有以下特點:
(1)采用DSP作為核心器件,在整個數控系統(tǒng)中可以集成、固化多種伺服控制核,實現(xiàn)控制的靈活性以及靈活的智能化控制.
(2)通過增設ARM模塊,融合了數控技術和可嵌入技術,實現(xiàn)數控系統(tǒng)與人交互功能;通過監(jiān)控終端實現(xiàn)對數控機床狀態(tài)實時監(jiān)控,及時了解各數控機床生產加工過程以及機床狀態(tài),實現(xiàn)預知維修,及早發(fā)現(xiàn)故障隱患把損失降到最低,提高數控機床使用效率.
[1] 張恒.直接面向加工路徑的開放式數控系統(tǒng)研究[D].濟南:濟南大學,2009.
[2] 李攀,裴海龍,王清陽.開放式數控系統(tǒng)軟運動控制器全數字化的實現(xiàn)[J].機床與液壓,2011,39(4):83-86.
[3] 盛曉超,陶濤,張東升,等.基于運動控制器的開放式數控系統(tǒng)設計[J].機床與液壓,2011,39(19):58-66.
[4] Kim D Y,Do H S, Jeon D Y.Feed-system autotuning of a CNC machining center: rapid system identification and fine gain tuning based on optimal search[J].Precision Engineering,2012,36(2):339-348.
[5] 侯殿有.嵌入式系統(tǒng)開發(fā)基礎——基于ARM9微處理器C語言程序設計[M].北京:清華大學出版社,2011:2-15.
[6] 劉陵順.TMS320F28335DSP原理及開發(fā)編程[M].北京:北京航空航天大學出版社,2011:1-5.
[7] 蘇傳芳.嵌入式處理器實現(xiàn)IDE硬盤存儲[J].計算機時代,2002,25(4):36-38.
[8] Bousias K,Guang L,Jesshope C R,etal. Implementation and evaluation of a microthread architecture[J].J.Syst.Architect,2009,55 (3) :149-161.
[9] 周虹.開放式數控系統(tǒng)在數控車床上的應用[D].長沙:湖南大學,2005.
[10] 徐躍,王太勇.基于ARM和DSP的可重構數控系統(tǒng)[J].吉林大學學報:工學版,2008,38(4):848-851.
[11] 陳先鋒.西門子數控系統(tǒng)故障診斷與電氣調試[M].北京:化學工業(yè)出版社,2012:1-10.
[12] 徐斌.基于運動控制卡的機械手控制系統(tǒng)研究[J].合肥學院學報:自然科學版,2010,20(3):86-88.
[13] 許青林,解爭龍.基于ARM的Linux系統(tǒng)移植研究與實現(xiàn)[J].物聯(lián)網技術,2013,37(1):37-42.
[14] 李建奇,肖繼國,賀盛修,等.基于NURBS插補算法的數控雕刻機控制系統(tǒng)的設計與實現(xiàn)[J].計算機測量與控制,2012,20(13):3 249-3 252.