[align=center]北京科技大學(xué)信息工程學(xué)院 潘月斗 天津大學(xué)自動化學(xué)院 許鎮(zhèn)琳
湛江海洋大學(xué)電子信息工程學(xué)院 徐東桂[/align]
提出了一種基于DSP(TMS320F2812)的CAN總線結(jié)構(gòu)嵌入式機床數(shù)控系統(tǒng)的設(shè)計方法,解決了數(shù)控系統(tǒng)與伺服間指令信息誤差對數(shù)控系統(tǒng)性能的影響。設(shè)計了數(shù)控系統(tǒng)與伺服間基于CAN總線的數(shù)據(jù)結(jié)構(gòu)。所設(shè)計的數(shù)控系統(tǒng)具有集成度高,結(jié)構(gòu)靈活,可擴展性好及性價比高等特點。
1 引言
目前,國產(chǎn)數(shù)控系統(tǒng)的主要份額是經(jīng)濟型機床數(shù)控系統(tǒng),這類數(shù)控系統(tǒng)大多是16位微處理器,最高時鐘頻率為12~40MHz,運行速度較低,這就限制了數(shù)控機床性能的提高,特別是多軸高速聯(lián)動、螺紋高速切削及高分辨率實時控制等功能受到限制。另外目前國內(nèi)外大部分中高檔閉環(huán)機床數(shù)控系統(tǒng)采用的控制方式為位置環(huán)調(diào)節(jié)由數(shù)控系統(tǒng)完成,連接的伺服系統(tǒng)為速度伺服系統(tǒng),速度伺服系統(tǒng)進行負載的力矩電流和電機的速度調(diào)節(jié),機床數(shù)控系統(tǒng)將位置環(huán)調(diào)節(jié)器輸出數(shù)據(jù)經(jīng)D/A轉(zhuǎn)換成模擬量作為機床數(shù)控系統(tǒng)輸出指令控制伺服系統(tǒng),伺服系統(tǒng)將機床數(shù)控系統(tǒng)輸出模擬電壓指令經(jīng)A/D轉(zhuǎn)換為伺服系統(tǒng)控制電動機的指令數(shù)據(jù),在這個過程中,由于經(jīng)過了D/A和A/D的轉(zhuǎn)換,機床數(shù)控系統(tǒng)位置環(huán)調(diào)節(jié)器輸出的實時指令數(shù)據(jù)在傳輸?shù)剿欧到y(tǒng)時產(chǎn)生誤差,影響了電動機的控制性能,難于實現(xiàn)高精度加工控制過程。因此,本文提出基于DSP(TMS320F2812)的CAN總線結(jié)構(gòu)嵌入式機床數(shù)控系統(tǒng)的設(shè)計方法。
2 數(shù)控系統(tǒng)的硬件結(jié)構(gòu)設(shè)計
本系統(tǒng)采用DSP(Digital Signal Process)+可編程邏輯器件的結(jié)構(gòu),以F2812+CPLD為核心硬件,完成數(shù)控系統(tǒng)的設(shè)計。TMS320F2812DSP(以下簡稱F2812)是德州儀器公司(T1)生產(chǎn)的2000系列最新一代的高速高性能定點DSP,32位CPU可提供150M次/s指令,具有CAN總線接口。系統(tǒng)原理如圖1所示。
F2812CPU主要完成兩方面的工作:①與上位機的數(shù)據(jù)通訊,包括加工程序下載、基本參數(shù)設(shè)置、接受上位機的統(tǒng)一調(diào)配等功能;②完成一個獨立的數(shù)控系統(tǒng)的加工工作,首先是加工程序的輸入、控制參數(shù)、補償數(shù)據(jù)的錄入,然后是加工程序的譯碼,接著進行數(shù)據(jù)處理、計算刀具半徑補償量、進給速度、執(zhí)行輔助功能代碼、進行插補運算,把插補后的數(shù)據(jù)通過CAN總線送到伺服驅(qū)動器。
CPLD部分主要用來實現(xiàn)邏輯電路,對手輪脈沖進行計數(shù)的計數(shù)器。1個4倍頻電路,1個32位計數(shù)器,對主軸碼盤信號進行計數(shù),供螺紋插補時使用。
[IMG=圖1 數(shù)控系統(tǒng)結(jié)構(gòu)框圖]/uploadpic/THESIS/2007/11/20071114161502573434.jpg[/IMG]
圖1 數(shù)控系統(tǒng)結(jié)構(gòu)框圖
[IMG=圖2 系統(tǒng)軟件結(jié)構(gòu)圖]/uploadpic/THESIS/2007/11/20071114161736355377.jpg[/IMG]
圖2 系統(tǒng)軟件結(jié)構(gòu)圖
[IMG=表1 控制信號16位字的定義]/uploadpic/THESIS/2007/11/20071114162004170088.jpg[/IMG]
表1 控制信號16位字的定義
[IMG=表2 狀態(tài)信號16位宇的定義]/uploadpic/THESIS/2007/11/2007111416220085531K.jpg[/IMG]
表2 狀態(tài)信號16位宇的定義
3 數(shù)控系統(tǒng)的軟件結(jié)構(gòu)
在CNC控制系統(tǒng)中,其數(shù)控的基本功能是由各種功能子程序?qū)崿F(xiàn)的。不同的軟件結(jié)構(gòu)對各功能模塊的安排方式不同,管理方式也不同。在本系統(tǒng)中,軟件采用中斷型的軟件結(jié)構(gòu)。本數(shù)控系統(tǒng)由以下5個主要的模塊組成,它們之間的相互關(guān)系見圖2。
(1)人機界面模塊:加工狀態(tài)信息顯示、參數(shù)管理、文件管理、DNC功能、程序輸入等。
(2)數(shù)據(jù)處理模塊:譯碼、刀具補償。
(3)任務(wù)協(xié)調(diào)模塊:控制系統(tǒng)在不同方式下的運算、位置控制。
(4)控制模塊:速度處理、插補預(yù)處理、插補運算、位置控制。
(5)PLC模塊:S、M、T功能實現(xiàn)、機床面板功能實現(xiàn)和故障診斷、信息反饋。
4 數(shù)控系統(tǒng)與伺服系統(tǒng)基于CAN總線方式的通訊建立
數(shù)控系統(tǒng)與伺服間CAN接口用于傳遞運動數(shù)據(jù)和控制狀態(tài)數(shù)據(jù),CNC發(fā)往伺服的數(shù)據(jù)包括CNC系統(tǒng)給伺服的控制信號、伺服參數(shù)的修改值、指令伺服運動數(shù)據(jù)值等;伺服系統(tǒng)發(fā)往CNC系統(tǒng)的數(shù)據(jù)包括伺服當(dāng)前的狀態(tài)信號、伺服參數(shù)、伺服實際運動數(shù)據(jù)值等。
4.1 CNC發(fā)往伺服的數(shù)據(jù)
4.1.1 CNC發(fā)送數(shù)據(jù)結(jié)構(gòu)定義
CNC需要向伺服系統(tǒng)發(fā)送的信息主要包含:控制信號,(位置/速度)增量,伺服參數(shù)(當(dāng)在CNC上修改伺服參數(shù)時)。點對點發(fā)送時的每一幀數(shù)據(jù)結(jié)構(gòu)如下:
緊跟的數(shù)據(jù)內(nèi)容為對伺服的控制信號,它以16位字來定義,且每一位的意義可自行定義,見表1。
4.1.2 數(shù)據(jù)發(fā)送方式
在正常情況下,CNC向伺服系統(tǒng)發(fā)送控制信號采用不定時的方式發(fā)送,在下述3種情況下發(fā)送控制信號:①開機(或重啟動)初始化完成,為了與伺服建立通訊聯(lián)系,CNC每200ms發(fā)送一次控制信號,直到與伺服建立通訊為止;②當(dāng)CNC要改變對伺服的控制時;③發(fā)生報警時。
發(fā)送時一般采用點對點的方式,必要時也可采用廣播的方式,當(dāng)CNC需要向伺服系統(tǒng)發(fā)送(位置/速度)增量時采用定時的方式發(fā)送,發(fā)送時一般采用廣播的方式,必要時也可采用點對點的方式。
4.2 伺服發(fā)往CNC的數(shù)據(jù)
4.2.1 伺服發(fā)送數(shù)據(jù)結(jié)構(gòu)定義
伺服系統(tǒng)需要向CNC發(fā)送的數(shù)據(jù)信息主要包含:狀態(tài)信號,伺服參數(shù),實際(編碼器)的(位置/速度)增量,其它伺服數(shù)據(jù)。發(fā)送的每一幀數(shù)據(jù)結(jié)構(gòu)如下:
狀態(tài)信號以16位字的形式定義,每一位的意義見表2。
4.2.2 伺服的數(shù)據(jù)發(fā)送方式
當(dāng)CNC系統(tǒng)請求獲得伺服狀態(tài)信號而此時又沒有位置回復(fù)幀時,伺服發(fā)送狀態(tài)信號;當(dāng)伺服出現(xiàn)報警時,伺服發(fā)送狀態(tài)信號;在CNC位置廣播后的位置回復(fù)幀中發(fā)送狀態(tài)信號。
當(dāng)伺服收到CNC的(位置/速度)增量,立即回復(fù)上一周期的編碼器實際(位置/速度)增量。
5 實驗結(jié)果
[IMG=表3 通訊數(shù)據(jù)實驗結(jié)果]/uploadpic/THESIS/2007/11/20071114162903449935.jpg[/IMG]
表3 通訊數(shù)據(jù)實驗結(jié)果
5.1 數(shù)控系統(tǒng)與數(shù)字交流伺服的CAN總線通訊可靠性實驗
在實驗過程中使用了人工干擾源的工具,包括電磁耦合夾,以及在機床車間強于擾工業(yè)環(huán)境下,對CAN總線數(shù)據(jù)通信進行了試驗,CNC分別向3個伺服發(fā)送8字節(jié)數(shù)據(jù),伺服接收到后立即返回接收到的數(shù)據(jù),CNC驗證數(shù)據(jù)正確之后繼續(xù)發(fā)送數(shù)據(jù),直到數(shù)據(jù)通訊出錯或者通訊次數(shù)到時停止數(shù)據(jù)發(fā)送,通訊線長為30m,耦合夾測試參數(shù)采用IEC61000-4-4標(biāo)準(zhǔn)第3等級,干擾脈沖電壓峰值lkV,重復(fù)頻率5kHz,PROFIBUS-DP波特率設(shè)置成9Mbps,進行了多次長時間測試,下面是其中一次實驗的通訊數(shù)據(jù)實驗。
測試數(shù)據(jù)見表3。
測試結(jié)果:測試時間為969s,收發(fā)數(shù)據(jù)3108472次,計算得出CNC和伺服交換一次數(shù)據(jù)為0.3117ms,考慮到計時誤差以及CNC與各個伺服通訊之間的等待時間,CNC和3個伺服通訊一次的時間是0.9351nn,滿足系統(tǒng)的要求。試驗結(jié)果表明采用CAN總線在機床數(shù)控系統(tǒng)和伺服系統(tǒng)間進行數(shù)據(jù)通訊,傳輸距離遠,抗干擾能力強,接口簡單。
5.2 系統(tǒng)機械加工實驗
在寶雞CJK6140H機床上,用CAN總線結(jié)構(gòu)嵌入式機床數(shù)控系統(tǒng)配CAN總線伺服驅(qū)動器,數(shù)控系統(tǒng)的GO速度為6m/min,加減速時間常數(shù)為40(即160ms)。連續(xù)運行同一個加工程序80多個小時,回零后,DA98的脈沖位置誤差為0。
在沈陽數(shù)控CK6136H機床上,用CAN總線結(jié)構(gòu)嵌入式機床數(shù)控系統(tǒng)配CAN總線伺服驅(qū)動器,數(shù)控系統(tǒng)的GO速度為6m/min,加減速時間常數(shù)為40(即160ms)。加工1個有內(nèi)螺紋的圓筒和1個有外螺紋的螺塞。在圓筒內(nèi)放水后擰上螺塞,能擰至螺紋尾端,水不滲漏。
6 結(jié)論
本文研究了一種基于DSP(TMS320F2812)的CAN總線結(jié)構(gòu)嵌入式機床數(shù)控系統(tǒng)的設(shè)計方法,解決了數(shù)控系統(tǒng)與伺服間指令信息誤差對數(shù)控系統(tǒng)性能的影響。設(shè)計了數(shù)控系統(tǒng)與伺服間基于CAN總線的數(shù)據(jù)結(jié)構(gòu),并在強干擾環(huán)境下進行了基于DSP(TMS320F2812)的CNC數(shù)控系統(tǒng)與伺服系統(tǒng)的數(shù)據(jù)通訊與系統(tǒng)控制實驗和系統(tǒng)機械加工實驗,實驗結(jié)果驗證了本文提出的這種基于DSP(TMS320 F2812)的CAN總線結(jié)構(gòu)嵌人式機床數(shù)控系統(tǒng)的設(shè)計方法的可行性。這種基于DSP(TMS320F2812)的CAN總線結(jié)構(gòu)嵌人式機床數(shù)控系統(tǒng)具有集成度高,結(jié)構(gòu)靈活,可擴展性好,避免了閉環(huán)機床數(shù)控系統(tǒng)實時指令數(shù)據(jù)在傳輸?shù)剿欧到y(tǒng)時的D/A和A/D轉(zhuǎn)換及由此而產(chǎn)生的誤差,簡化了機床數(shù)控系統(tǒng)和伺服系統(tǒng)接口設(shè)計;同時由于采用CAN總線結(jié)構(gòu)可以使機床數(shù)控系統(tǒng)和伺服系統(tǒng)進行遠距離控制,距離可以達到幾百米,抗干擾能力強,易于網(wǎng)絡(luò)化,便于在大型設(shè)備和超大型設(shè)備及生產(chǎn)線上應(yīng)用。
第二屆伺服與運動控制論壇論文集
第三屆伺服與運動控制論壇論文集