《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于嵌入式的數(shù)控雕刻機控制系統(tǒng)設(shè)計
基于嵌入式的數(shù)控雕刻機控制系統(tǒng)設(shè)計
電子科技大學空天科學技術(shù)研究院
李光學,李輝
摘要: 隨著科學技術(shù)和制造技術(shù)的不斷發(fā)展進步,數(shù)字控制的雕刻機漸漸成為雕刻行業(yè)的專用工具。數(shù)控雕刻機從加工原理上講是一種鉆銑組合加工,是一種典型的機電一體化產(chǎn)品,在模具雕刻、廣告制作、裝潢等行業(yè)有著廣泛的市場應(yīng)用。
關(guān)鍵詞: ARM ARM9 FPGA 數(shù)控雕刻機
Abstract:
Key words :

引言

隨著科學技術(shù)和制造技術(shù)的不斷發(fā)展進步,數(shù)字控制的雕刻機漸漸成為雕刻行業(yè)的專用工具。數(shù)控雕刻機從加工原理上講是一種鉆銑組合加工,是一種典型的機電一體化產(chǎn)品,在模具雕刻、廣告制作、裝潢等行業(yè)有著廣泛的市場應(yīng)用。

目前市場上的數(shù)控雕刻機控制器硬件平臺所用的微處理器主要包括:以8位單片機為內(nèi)核,這類產(chǎn)品的價格低廉,設(shè)計比較簡單,但是有功能單一、性能差、效率低、存儲容量小、獨立工作能力較弱、實用性能不強、定位精度不高、人機交互復(fù)雜、操作不方便等缺陷;以DSP為內(nèi)核,這類雕刻機具有較強的性能及效率,實時性較強,成本適中,但是功能還是比較少,同樣缺少獨立工作能力,無法滿足人機交互界面、外圍電路接口、網(wǎng)絡(luò)等方面的要求。

本文提出了利用32位ARM9處理器與FPGA相結(jié)合來取代上述單片機與工控機的聯(lián)機控制,以Windows CE.net操作系統(tǒng)為平臺,由ARM完成速度控制, FPGA完成軌跡控制。在軌跡控制中結(jié)合了步進電機的轉(zhuǎn)矩-頻率特性,使電機的軌跡精確而且平穩(wěn)。整個控制系統(tǒng)一體化完成從原始數(shù)據(jù)讀取到最終控制信號的輸出,徹底擺脫了對工控機的依賴;通過控制鍵盤設(shè)置不同的脈沖當量及電機運行參數(shù),可與適用于各種場合的雕刻機床相配合使用,控制精度高、通用性強。

控制系統(tǒng)設(shè)計

一個嵌入式系統(tǒng)必定是由嵌入式硬件和嵌入式軟件組成;嵌入式硬件主要包括嵌入式處理器、外設(shè)控制器、接口電路等;嵌入式軟件主要包括啟動程序、嵌入式操作系統(tǒng)、應(yīng)用軟件等。嵌入式處理器是嵌入式系統(tǒng)的硬件核心;嵌入式操作系統(tǒng)是嵌入式軟件的核心。

硬件系統(tǒng)

硬件系統(tǒng)主要由以下三個部分組成:

(1)處理器(ARM9):作為控制器的處理器,在ARM上移植了Windows CE.net操作系統(tǒng),人機互動方面要完成對LCD顯示的控制和讀取控制鍵盤的控制命令;在雕刻方面要完成對原始數(shù)據(jù)的讀?。ㄍㄟ^USB接口)、預(yù)處理、分析和計算,并將計算結(jié)果傳遞給FPGA,與FPGA協(xié)同完成對步進電機的控制。

(2)FPGA:對接收到ARM發(fā)出的數(shù)據(jù)進行插補運算,并根據(jù)插補結(jié)果計算出控制步進電機的脈沖數(shù)目和延時,最終完成對步進電機的控制實現(xiàn)三軸聯(lián)動的雕刻。

(3)人機交互界面:人機交互界面主要包括了鍵盤和LCD。幾乎所有關(guān)于雕刻的信息都實時的顯示在LCD上;機床的脈沖當量以及雕刻最大速度和加速度等參數(shù)則是通過鍵盤設(shè)定的,同時在雕刻中鍵盤還可以根據(jù)需要輸入特殊指令。

硬件系統(tǒng)總體框架如圖1所示。整個硬件核心為基于ARM920T的三星S3C2440處理器,搭配有64MB SDRAM作為系統(tǒng)的內(nèi)存,128MB FLASH作為系統(tǒng)的外存,相當于硬盤,以便在斷電后保存各種系統(tǒng)程序以及調(diào)試下載電路。外圍輔助設(shè)備包括USB接口:大部分加工文件保存在U盤中,需要讀取時從U盤調(diào)入,以節(jié)省FLASH存儲空間;觸摸式LCD:用來提供系統(tǒng)的顯示以及操作;網(wǎng)絡(luò)接口:用來提供網(wǎng)絡(luò)服務(wù),方便遠程更新程序;控制鍵盤:用來提供加工時所需的操作,包括點控、起停和加減速等。與上位機通信通過串口或者USB接口,可實現(xiàn)在線調(diào)試或者在上位機中顯示實時信息。FPGA與ARM以及過橋板相連,從ARM中獲取數(shù)據(jù)并轉(zhuǎn)換成控制信號,經(jīng)過橋板放大電路放大,發(fā)送到步進電機的控制電路中。

圖1 硬件系統(tǒng)總體框架

軟件系統(tǒng)

系統(tǒng)的軟件選用了嵌入式實時多任務(wù)操作系統(tǒng)Windows CE.net。根據(jù)雕刻機控制系統(tǒng)的需求,系統(tǒng)任務(wù)模塊可以分為:人機界面模塊,USB接口模塊和雕刻控制模塊。其中人機界面模塊包括LCD顯示和鍵盤指令的讀取;通過USB接口模塊讀取原始設(shè)計數(shù)據(jù);雕刻控制模塊對讀取的數(shù)據(jù)分析計算后完成速度控制和軌跡控制。軟件結(jié)構(gòu)圖如圖2所示。

控制系統(tǒng)中,ARM通過對設(shè)計數(shù)據(jù)的分析和計算完成速度控制,F(xiàn)PGA通過插補運算完成軌跡控制??刂葡到y(tǒng)應(yīng)用程序流程圖如圖3所示。

圖2 系統(tǒng)軟件結(jié)構(gòu)圖

圖3 控制系統(tǒng)應(yīng)用程序流程圖

(1)讀取數(shù)據(jù),找出可在速度不出現(xiàn)突變的情況下可雕刻的最小單位的線條數(shù),稱之為判“S”。分別計算“S”中各軸的位移總量,定義“Sx”,“Sy”和“Sz”分別為x,y和z軸的位移總量。

(2)根據(jù)操作設(shè)置的雕刻最大速度和加速度,計算出該段位移中各軸的速度分量和加速度分量。

(3)判斷當前數(shù)據(jù)處于哪種速度段,根據(jù)不同的情況計算各段位移的加速、勻速、減速段的脈沖數(shù)和各速度段的初始頻率等這些數(shù)據(jù),并把數(shù)據(jù)發(fā)送給FPGA。

(4)FPGA根據(jù)接收到的數(shù)據(jù)進行插補運算,最終控制步進電機的轉(zhuǎn)速,實現(xiàn)三軸聯(lián)動。

雕刻機連續(xù)軌跡控制

在數(shù)控加工中,運動控制器通過插補算法來控制刀具相對于工件以一定的速度,按照給定的路徑運動切屑出零件輪廓。插補技術(shù)是數(shù)控系統(tǒng)的核心技術(shù),它主要解決控制刀具與工件運動軌跡的問題。本系統(tǒng)的插補運算是在以ARM9為核心的嵌入式處理器中完成的。

以二維基本直線條的插補運算為例,首先根據(jù)脈沖當量,分別計算出XY軸各自的總待發(fā)送脈沖數(shù)mx和my。設(shè)定XY中脈沖數(shù)較多者為基礎(chǔ)軸并將其作為參考軸,目的在于選取一個穩(wěn)定的參考軸,以方便各脈沖發(fā)送的計算。實際運算時(以X軸為基礎(chǔ)軸),根據(jù)加工速度以及脈沖當量,計算出基礎(chǔ)軸發(fā)送脈沖的頻率f,在每一個時間間隔內(nèi),均發(fā)送一個基礎(chǔ)軸脈沖并累加發(fā)送次數(shù)m。

時,則在

式1

時,發(fā)送一次短軸脈沖。當時,則需要在 ([ ]為取整運算)后,延時后發(fā)送一次短軸脈沖。在式1中,倍數(shù)n亦可以看作是短軸的計數(shù)器,則當m=mx,即n=my時,插補運算完畢。該數(shù)字積分法脈沖發(fā)送示意圖如圖4所示:

在圖4(a)中,線段XY兩軸比例為2:1,如果刻畫動點按照既定路徑運動,則XY兩軸運動速度比為2:1。依據(jù)步進電機的控制規(guī)律,控制兩軸的脈沖頻率比同為2:1,且兩軸脈沖發(fā)送數(shù)量比為2:1。根據(jù)上面的數(shù)字積分插補算法,首先計算出X軸的脈沖發(fā)送頻率,在每一個時間間隔內(nèi),均發(fā)送一個基礎(chǔ)軸脈沖,并且每隔2個基礎(chǔ)軸脈沖即發(fā)送一個短軸脈沖,從而使短軸脈沖的頻率為0.5,當基礎(chǔ)軸發(fā)送完畢時,短軸脈沖亦發(fā)送完畢,數(shù)量與計算得出的相符。當兩軸比例為3:2時,如圖4(b)所示,則在每1.5個基礎(chǔ)軸脈沖發(fā)送后發(fā)送一個短軸脈沖,有效的保證了脈沖發(fā)送比例,從而保證了刻畫線段的精度。

圓弧插補時,首先依據(jù)圓弧允許半徑誤差er計算出擬合弦長:

 (r為圓弧半徑) 式2

再根據(jù)擬合弦長l計算出對應(yīng)的圓心角:

式3

圖4 插補算法脈沖發(fā)送示意圖

通過弦長對應(yīng)的圓心角將原圓弧重新劃分為多條擬合直線,然后通過直線插補的方式完成圓弧刻畫。

該運算方式不再依賴每一次計數(shù)器的累加運算,而是依據(jù)速度矢量合成原理,通過控制各軸脈沖的發(fā)送比例,使合成點按照加工軌跡的方向運動,達到加工目的,避免了重復(fù)性的積分累加運算,可以一次性將所有脈沖數(shù)據(jù)運算完畢,只要按照一定的頻率發(fā)送即可。

插補算法的程序流程圖如圖5所示:

圖5 數(shù)字積分法插補流程圖

首先判斷是否有外部中斷信息輸入,包括系統(tǒng)需求中的機械信號,如機床原點、工件加工原點、換刀、主軸調(diào)速和斷電保護等輸入/輸出信號等,以及操作人員輸入的暫停、停止加工、人為加、減速控制等信息。中斷程序響應(yīng)時需要保護好程序已經(jīng)運算出的相關(guān)關(guān)鍵信息,包括讀取的加工段落數(shù)據(jù)信息以及已經(jīng)加工的段落位置信息。

其次依據(jù)脈沖當量的定義:相對于每一脈沖信號的機床運動部件的位移量,得各個加工軸脈沖總數(shù)為:

(其中l(wèi)為每一軸的長度分量)

式4

并選出具有最大加工脈沖數(shù)的軸作為基礎(chǔ)軸。電機控制器還需要脈沖的方向信息,脈沖方向由事先約定好的方向規(guī)定來確定,可通過讀入的數(shù)據(jù)文件判斷。插補計算初始化階段設(shè)置各計數(shù)參量初始值,如圖5數(shù)字積分法插補流程圖中所示,COUNT存儲基礎(chǔ)軸與短軸之間的比例值,其數(shù)值為:基礎(chǔ)軸脈沖數(shù)/短軸脈沖數(shù);LONG為基礎(chǔ)軸的累加統(tǒng)計變量,基礎(chǔ)軸每發(fā)送一個脈沖,其值加1;SHORT為短軸的累加統(tǒng)計變量,初始化階段將COUNT的值賦予SHORT。每次插補運算以基礎(chǔ)軸發(fā)送一個脈沖開始,并累加LONG中的值;然后判定LONG的值與SHORT值的整數(shù)部分,當兩者相等時,表示此時將發(fā)送一個短軸脈沖,不等時則繼續(xù)發(fā)送一個基礎(chǔ)軸脈沖。發(fā)送短軸脈沖時,由于短軸的脈沖是跟隨基礎(chǔ)軸發(fā)送,所以計算其繼基礎(chǔ)軸發(fā)送后,所需的延時發(fā)送時間,其延時數(shù)值為1/f(SHORT-LONG),并將COUNT的值累加到SHORT中,新的SHORT值作為下一次發(fā)送短軸脈沖的判斷基準。每次計算各個發(fā)送軸后,都將產(chǎn)生一組固定的信息:脈沖發(fā)送標志位,脈沖延時時間和脈沖方向標志位,這些信息將被進一步加工生成發(fā)送到FPGA中的控制脈沖信息。

結(jié)果分析

將ARM作為主運算處理器時,其上不僅要運行插補程序,進行實時的加工信息讀入、速度控制預(yù)算以及脈沖發(fā)送的計算,同時還要運行后臺操作系統(tǒng),并處理用戶輸入信息,如果再在其上設(shè)定延時程序并控制脈沖發(fā)送,則ARM的運算負擔將變得過重。因此,采用FPGA協(xié)處理運算方案,輔助ARM進行脈沖的延時發(fā)送。

設(shè)FPGA的頻率為,則其進行一次基數(shù)累加計算時間為,電機的當前執(zhí)行速度為Vs,脈沖當量為,則當前的發(fā)送脈沖的頻率為:

式5

則此時每個脈沖的間隔換算為FPGA的累加次數(shù)則為:

式6

在加減速階段,采用指數(shù)方式,其中基礎(chǔ)軸每一段的頻率變化為事先計算好的,即式6中的fs為特定值,而對于短軸來說,其延時發(fā)送頻率值可由計算時使用到的公式1/f(SHORT-LONG)求得,即每一步脈沖的頻率用式6即可確定。ARM在計算每一次脈沖的發(fā)送時,需要將脈沖的延時計數(shù)次數(shù)一并計算,然后與脈沖發(fā)送的方向一起送到FPGA中。步進電機控制器對控制脈沖的持續(xù)時間有一定要求,設(shè)其需求的脈沖持續(xù)時間為TP,則FPGA中,脈沖的持續(xù)時間計數(shù):

式7

FPGA通過送來的脈沖方向以及脈沖計數(shù)次數(shù),即可以計數(shù)延時的方式,將此脈沖按照理論的計算頻率發(fā)送至步進電機控制器,完成對電機控制器的控制脈沖發(fā)送。發(fā)送的控制波形圖如圖6所示:

圖6 各軸脈沖發(fā)送波形圖

由圖6可以看出,該插補算法不僅發(fā)送脈沖均勻且成比例發(fā)送,短軸可依據(jù)自己的頻率變化規(guī)律對電機進行控制。

結(jié)語

根據(jù)雕刻機的實際需求和步進電機的轉(zhuǎn)矩-頻率特性,開發(fā)出了基于嵌入式的數(shù)控雕刻機控制系統(tǒng)。該系統(tǒng)硬件上以ARM與FPGA為核心,軟件上以Windows CE.net操作系統(tǒng)為平臺,結(jié)合步進電機的固有特性和插補程序,使得雕刻機三軸聯(lián)動完成各種雕刻文件。實踐表明,該控制器可以脫離工控機的支持,獨立完成對原始設(shè)計數(shù)據(jù)的分析和計算,并最終通過插補算法控制電機完成雕刻,在雕刻過程中可以精確的做到速度控制和軌跡控制。

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