車麗麗
(煙臺汽車工程職業(yè)學院 汽車工程系, 山東 煙臺 265500)
近年來,基于CAN總線的嵌入式數(shù)控技術成為了我國發(fā)展的一大趨勢,嵌入式技術的迅速發(fā)展更是給我國,乃至整個制造行業(yè)領域帶來了巨大的改革,很大程度上提高了行業(yè)生產(chǎn)的能力水平。本文由ARM9嵌入式數(shù)控系統(tǒng)作為基礎,引發(fā)一系列設計,ARM9嵌入式數(shù)控系統(tǒng)中最主要的硬件是S3C2410微處理器以及MCX314AL運動控制芯片,S3C2410微處理器以及MCX314AL運動控制芯片的加入使整個系統(tǒng)具有多項任務同時處理的能力,是整個系統(tǒng)的核心設計,對于建立基于CAN總線的嵌入式數(shù)控系統(tǒng)具有重大意義。
ARM9嵌入式數(shù)控系統(tǒng)是基于CAN總線的設計,由各個小部分形成的系統(tǒng)結(jié)構(gòu)框圖,其主要結(jié)構(gòu)分別是S3C2410、MCX314AL、MCP2515、MCP2551、輸入濾波器、開關電源以及伺服電機,還有一個直流電機伺服控制器。這些微處理器在系統(tǒng)中起著至關重要的作用,例如濾波器是為了排除外部因素對系統(tǒng)造成的影響,從而提高系統(tǒng)的抗干擾能力;S3C2410的作用是將自身的SP1接口與CAN總線的控制器相連,再通過收發(fā)器與CAN總線建立聯(lián)系;CAN總線的控制器主要作用是將各個部分的處理器聯(lián)系在一起,從而達成系統(tǒng)建立成功的目的。該系統(tǒng)主要通過MCP2515建立通信協(xié)議的橋梁。系統(tǒng)的流程是,S3C2410將系統(tǒng)接收成功的代碼進行翻譯處理后形成二進制代碼,再由MCX314AL控制板通過接口接收進行處理,產(chǎn)生的信號由放大器后,可達到驅(qū)動伺服電機的目的。ARM9嵌入式數(shù)控系統(tǒng)硬件設計[1],如圖1所示。
圖1 ARM9嵌入式數(shù)控系統(tǒng)硬件設計圖
S3C2410將自身的SPI接口分為兩路,每條路徑分別含有兩個8位轉(zhuǎn)移寄存器,其中還含有獨立的16KB指令Cache和16KB數(shù)據(jù)Cache,MMU,支持TFT的LCD控制器,NAND閃存控制器,3路UART,4路DMA,4路帶PWM的Timer,8路10位ADC等,其目的是為了更好的處理數(shù)據(jù),將處理器運行能力發(fā)揮到極致。而SPI系統(tǒng)中還含有四個I/O引腳,主機中的數(shù)據(jù)線MISO等,將S3C2410與MCP2515進行連接是嵌入式數(shù)控系統(tǒng)硬件設計的一大亮點,其主要是使系統(tǒng)更加完善。S3C2410與MCP2515的連接模式,如圖2所示。
圖2 S3C2410與MCP2515的連接模式圖
系統(tǒng)中MCP2551的作用是為了將CAN控制器與CAN總線連接在一起,使CAN總線接收到的數(shù)據(jù)更加全面。通過實驗表明CAN總線的抗干擾能力有待加強,為了強化CAN總線排除不良因素的影響,特將CAN收發(fā)器MCP2551與MCP2515進行連接,完成連接后可以更好地實現(xiàn)CAN總線中的各個節(jié)點之間的電氣隔離,其主要方法是將高速光耦6N137與MCP2551進行連接,該過程不可以將CAN收發(fā)器MCP2551中的TXD和RXD與CAN控制器中的TXCAN和RXCAN進行直接連接,若連接后可造成電氣之間不能完全隔離,高速光耦將達不到作用[2]。該過程應注意連接時必須將電源完全隔離,方可發(fā)揮高速光耦的全部作用。CAN收發(fā)器MCP2551與MCP2515的連接程序圖,如圖3所示。
圖3 CAN收發(fā)器MCP2551與MCP2515的連接程序圖
MCX314AL運動控制芯片具有功率消耗低、電壓不需要轉(zhuǎn)換等特點,與S3C2410進行連接后可以迅速達到驅(qū)動馬達的目的,S3C2410與MCX314AL主要是通過ARM9的電路接口將二者之間的所有信號連接在一起,在ARM9嵌入式數(shù)控系統(tǒng)結(jié)構(gòu)中,所有的設計幾乎都是分開的,其目的是為了排除各個部分之間的信號相互干擾,影響系統(tǒng)進行測試,為了達到該目的,設計過程中應避免平行排線在板子間的連線之中出現(xiàn),正確方法是使用雙絞線或者加上磁環(huán),可以有效的避免該現(xiàn)象的發(fā)生,另外還需要特別注意在MCX314AL運動控制芯片的引腳H16L8中將高電平連接上,因為過程中使用的是16位數(shù)據(jù)線傳輸系統(tǒng),S3C2410與MCX314AL的信號連接有效降低了系統(tǒng)信號傳輸過程中出現(xiàn)的不良因素影響。
該系統(tǒng)為了MCX314AL運動控制板能夠正常運行,特別構(gòu)建了MCX314AL的最小系統(tǒng),MCX314AL芯片中總共含有144個引腳,為了建立最小系統(tǒng),需要將16MHz晶振連接好,首先,需要在引腳EXPLSN、TESTN中加入高電平,在引腳VCC和GND中接上電源,再將各種數(shù)據(jù)線連接完成,即可完成MCX314AL運動控制板的硬件設計[3]。
為了系統(tǒng)可以更加穩(wěn)定的運行,特別將各部分之間的信號通過高速光耦進行隔離,在MCX314AL運動控制板的硬件設計過程中,為了使系統(tǒng)在工業(yè)控制中可以更加穩(wěn)定可靠、滿足業(yè)界的需求,將模擬電路中的各個硬件進一步優(yōu)化。
嵌入式數(shù)控系統(tǒng)功能的達成,是由各個子程序進行數(shù)據(jù)處理、任務協(xié)調(diào)以及運動控制實現(xiàn)的,而該系統(tǒng)的軟件設計部分設計了5個模塊,分別是數(shù)據(jù)處理模塊、人機界面模塊、任務協(xié)調(diào)模塊、運動控制模塊和PLC模塊,每個模塊都有屬于自己負責的功能。嵌入式數(shù)控系統(tǒng)軟件結(jié)構(gòu),如圖4所示。
圖4 嵌入式數(shù)控系統(tǒng)軟件結(jié)構(gòu)圖
人機界面模塊可以由操作者向其中輸入指令,將指令傳輸?shù)綌?shù)據(jù)處理模塊中,傳輸?shù)闹噶羁梢园ㄏ到y(tǒng)的運行狀態(tài)、參數(shù)信息、G代碼、各種文件以及報警信息等,該模塊采用的顯示系統(tǒng)更加方便操作者對系統(tǒng)進行操作。
數(shù)據(jù)處理模塊成功接收由人機界面模塊傳輸?shù)臄?shù)據(jù)之后,將狀態(tài)信息以及翻譯過后形成的NC代碼發(fā)送給任務協(xié)調(diào)模塊進行任務分配,該模塊主要負責將接收的代碼翻譯成系統(tǒng)可以識別的新代碼,對系統(tǒng)進行刀具補償。
任務協(xié)調(diào)模塊是整個嵌入式數(shù)控系統(tǒng)軟件設計中的核心部分,主要對數(shù)據(jù)處理模塊傳輸?shù)男畔⑦M行分配,達到控制整個系統(tǒng)正常運作的目的。
運動控制模塊主要受任務協(xié)調(diào)模塊的支配,對信息處理的速度、插補預處理、插補運算以及運輸?shù)奈恢眠M行嚴格把控。
PLC模塊主要接收任務協(xié)調(diào)模塊分配的S、M、T指令,通過指令對機床的功能進行診斷,最后形成數(shù)據(jù)對系統(tǒng)進行反饋。
基于CAN總線方式的數(shù)控系統(tǒng)與伺服系統(tǒng)之間有一接口,主要負責通訊信息的建立,向系統(tǒng)傳輸各種狀態(tài)數(shù)據(jù),CNC可以向伺服系統(tǒng)中發(fā)送伺服參數(shù)的修改值、控制信號等信息[4-5]。
3.1.1 CNC發(fā)送數(shù)據(jù)結(jié)構(gòu)定義
CNC存在的目的是為了向伺服系統(tǒng)發(fā)送位置與速度的比值增量、參數(shù)以及控制指令等信息,其中發(fā)送的數(shù)據(jù)結(jié)構(gòu)為數(shù)據(jù)類型type(1 byte)、數(shù)據(jù)內(nèi)容value(1 word/2byte)。而數(shù)據(jù)內(nèi)容對于伺服系統(tǒng)傳輸?shù)目刂菩盘栆?6位字來定義數(shù)據(jù)結(jié)構(gòu),每位的意義可以自行立意??刂菩盘?6位字的定義,如表1所示。
表1 控制信號16位字的定義
3.1.2 數(shù)據(jù)發(fā)送方式
該系統(tǒng)通常采用開機(或重新啟動)初始化完成;當CNC要改變對伺服的控制時;發(fā)生警報時三種方式發(fā)送控制信號。而發(fā)送數(shù)據(jù)時通常采用點對點的方式,及特殊情況出現(xiàn)時,將采用廣播形式發(fā)送數(shù)據(jù)。
3.2.1 伺服發(fā)送數(shù)據(jù)結(jié)構(gòu)定義
伺服系統(tǒng)主要是在沒有任何機械進行連接的情況之下,由輸入軸對遠處的輸出軸進行控制,最終實現(xiàn)遠距離同步傳送信息,主要由小功率指令大功率進行負載傳送信息,傳送的信息主要包括狀態(tài)信息、伺服參數(shù),發(fā)送的數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)類型type(1 byte)、數(shù)據(jù)內(nèi)容value(1 word/2byte)。狀態(tài)信號16位字的定義,如表2所示。
表2 狀態(tài)信號16位字的定義
3.2.2 數(shù)據(jù)發(fā)送方式
數(shù)據(jù)發(fā)送方式將以伺服向系統(tǒng)發(fā)送狀態(tài)信號,當伺服發(fā)出報警信號,系統(tǒng)會采用廣播發(fā)送狀態(tài)信號,它有著自己突出的頻帶寬度以及精度的性能,可以更好的傳送數(shù)據(jù)[6]。
為了CAN總線的嵌入式數(shù)控系統(tǒng)可以更好的運行,特將MCX314AL運動控制芯片中接通3個接口,其主要目的是為了更加便捷的與其他模塊建立聯(lián)系。為了對系統(tǒng)進行調(diào)試,特別對系統(tǒng)安裝4個LED指示燈,建立X軸、Y軸、Z軸以及U軸,LED的顯示情況表示運行狀態(tài)。將驅(qū)動程序后的文件進行分類,可執(zhí)行的文件下載至ARM9中,從而達到控制MCX314AL的目的。MCX314AL運動控制板的硬件組成,如圖5所示。
程序運行后得到的X、Y軸脈沖狀態(tài)圖,如圖6所示。
為了數(shù)控系統(tǒng)與數(shù)字交流伺服可以與CAN總線建立進行良好的通訊聯(lián)系,特別進行了優(yōu)化環(huán)節(jié),在過程中使用電磁藕合夾,并在機床車間這樣的強干擾環(huán)境下進行操作,目的是為了對系統(tǒng)進行干擾,充當人工干擾源的工具,使優(yōu)化結(jié)果更加準確。在優(yōu)化過程中由CNC向3個伺服中發(fā)送8字節(jié)數(shù)據(jù),當伺服接收到信息之后立即返回原數(shù)據(jù)系統(tǒng),經(jīng)CNC驗證顯示正確后,方可繼續(xù)發(fā)送數(shù)據(jù),經(jīng)過多次試驗后得出的數(shù)據(jù)建立成表格形式。通訊數(shù)據(jù)結(jié)果,如表3所示。
圖5 MCX314AL運動控制板的硬件組成框圖
終點(X=20,Y=9)驅(qū)動脈沖輸出實例
表3 通訊數(shù)據(jù)結(jié)果
經(jīng)數(shù)據(jù)表明,該系統(tǒng)傳輸距離較以往的更遠,在如此惡劣的環(huán)境下依然可以運行[7-8]。
該過程將采用CAN總線的嵌入式機床數(shù)控系統(tǒng)與CAN總線的伺服驅(qū)動器進行結(jié)合進行機械加工,加工后的結(jié)果顯示誤差結(jié)果為零,優(yōu)化過程將對螺塞進行加工,為保證結(jié)果無誤差,采取分別對含有內(nèi)、外螺紋的圓筒進行單獨加工,將圓筒內(nèi)置滿水后將螺塞擰緊至倒立后仍滴水不漏為止[9-10]。
本文對基于ARM9的CAN總線嵌入式數(shù)控系統(tǒng)進行研究,該研究在很大程度上解決了數(shù)控機床中含有的問題,以及伺服系統(tǒng)之間發(fā)送指令的信息不全造成的影響,根據(jù)實驗數(shù)據(jù)表明該系統(tǒng)具有抗干擾能力強、傳送距離遠以及在網(wǎng)絡中發(fā)展方向等特點。S3C2410微處理器以及MCX314AL運動控制芯片的設計,簡化了數(shù)控系統(tǒng)設計難點,大量減少研發(fā)過程中負載的任務量,解決數(shù)控系統(tǒng)的局限性等優(yōu)勢,這些優(yōu)勢證明了該研究具有很高的使用價值。