引言
隨著科學技術和制造技術的不斷發(fā)展進步,數(shù)字控制的雕刻機漸漸成為雕刻行業(yè)的專用工具。數(shù)控雕刻機從加工原理上講是一種鉆銑組合加工,是一種典型的機電一體化產品,在模具雕刻、廣告制作、裝潢等行業(yè)有著廣泛的市場應用。
目前市場上的數(shù)控雕刻機控制器硬件平臺所用的微處理器主要包括:以8位單片機為內核,這類產品的價格低廉,設計比較簡單,但是有功能單一、性能差、效率低、存儲容量小、獨立工作能力較弱、實用性能不強、定位精度不高、人機交互復雜、操作不方便等缺陷;以DSP為內核,這類雕刻機具有較強的性能及效率,實時性較強,成本適中,但是功能還是比較少,同樣缺少獨立工作能力,無法滿足人機交互界面、外圍電路接口、網絡等方面的要求。
本文提出了利用32位ARM9處理器與FPGA相結合來取代上述單片機與工控機的聯(lián)機控制,以Windows CE.net操作系統(tǒng)為平臺,由ARM完成速度控制, FPGA完成軌跡控制。在軌跡控制中結合了步進電機的轉矩-頻率特性,使電機的軌跡精確而且平穩(wěn)。整個控制系統(tǒng)一體化完成從原始數(shù)據(jù)讀取到最終控制信號的輸出,徹底擺脫了對工控機的依賴;通過控制鍵盤設置不同的脈沖當量及電機運行參數(shù),可與適用于各種場合的雕刻機床相配合使用,控制精度高、通用性強。
控制系統(tǒng)設計
一個嵌入式系統(tǒng)必定是由嵌入式硬件和嵌入式軟件組成;嵌入式硬件主要包括嵌入式處理器、外設控制器、接口電路等;嵌入式軟件主要包括啟動程序、嵌入式操作系統(tǒng)、應用軟件等。嵌入式處理器是嵌入式系統(tǒng)的硬件核心;嵌入式操作系統(tǒng)是嵌入式軟件的核心。
硬件系統(tǒng)
硬件系統(tǒng)主要由以下三個部分組成:
(1)處理器(ARM9):作為控制器的處理器,在ARM上移植了Windows CE.net操作系統(tǒng),人機互動方面要完成對LCD顯示的控制和讀取控制鍵盤的控制命令;在雕刻方面要完成對原始數(shù)據(jù)的讀?。ㄍㄟ^USB接口)、預處理、分析和計算,并將計算結果傳遞給FPGA,與FPGA協(xié)同完成對步進電機的控制。
(2)FPGA:對接收到ARM發(fā)出的數(shù)據(jù)進行插補運算,并根據(jù)插補結果計算出控制步進電機的脈沖數(shù)目和延時,最終完成對步進電機的控制實現(xiàn)三軸聯(lián)動的雕刻。
(3)人機交互界面:人機交互界面主要包括了鍵盤和LCD。幾乎所有關于雕刻的信息都實時的顯示在LCD上;機床的脈沖當量以及雕刻最大速度和加速度等參數(shù)則是通過鍵盤設定的,同時在雕刻中鍵盤還可以根據(jù)需要輸入特殊指令。
硬件系統(tǒng)總體框架如圖1所示。整個硬件核心為基于ARM920T的三星S3C2440處理器,搭配有64MB SDRAM作為系統(tǒng)的內存,128MB FLASH作為系統(tǒng)的外存,相當于硬盤,以便在斷電后保存各種系統(tǒng)程序以及調試下載電路。外圍輔助設備包括USB接口:大部分加工文件保存在U盤中,需要讀取時從U盤調入,以節(jié)省FLASH存儲空間;觸摸式LCD:用來提供系統(tǒng)的顯示以及操作;網絡接口:用來提供網絡服務,方便遠程更新程序;控制鍵盤:用來提供加工時所需的操作,包括點控、起停和加減速等。與上位機通信通過串口或者USB接口,可實現(xiàn)在線調試或者在上位機中顯示實時信息。FPGA與ARM以及過橋板相連,從ARM中獲取數(shù)據(jù)并轉換成控制信號,經過橋板放大電路放大,發(fā)送到步進電機的控制電路中。
圖1 硬件系統(tǒng)總體框架
軟件系統(tǒng)
系統(tǒng)的軟件選用了嵌入式實時多任務操作系統(tǒng)Windows CE.net。根據(jù)雕刻機控制系統(tǒng)的需求,系統(tǒng)任務模塊可以分為:人機界面模塊,USB接口模塊和雕刻控制模塊。其中人機界面模塊包括LCD顯示和鍵盤指令的讀??;通過USB接口模塊讀取原始設計數(shù)據(jù);雕刻控制模塊對讀取的數(shù)據(jù)分析計算后完成速度控制和軌跡控制。軟件結構圖如圖2所示。
控制系統(tǒng)中,ARM通過對設計數(shù)據(jù)的分析和計算完成速度控制,F(xiàn)PGA通過插補運算完成軌跡控制。控制系統(tǒng)應用程序流程圖如圖3所示。
圖2 系統(tǒng)軟件結構圖
圖3 控制系統(tǒng)應用程序流程圖
(1)讀取數(shù)據(jù),找出可在速度不出現(xiàn)突變的情況下可雕刻的最小單位的線條數(shù),稱之為判“S”。分別計算“S”中各軸的位移總量,定義“Sx”,“Sy”和“Sz”分別為x,y和z軸的位移總量。
(2)根據(jù)操作設置的雕刻最大速度和加速度,計算出該段位移中各軸的速度分量和加速度分量。
(3)判斷當前數(shù)據(jù)處于哪種速度段,根據(jù)不同的情況計算各段位移的加速、勻速、減速段的脈沖數(shù)和各速度段的初始頻率等這些數(shù)據(jù),并把數(shù)據(jù)發(fā)送給FPGA。
(4)FPGA根據(jù)接收到的數(shù)據(jù)進行插補運算,最終控制步進電機的轉速,實現(xiàn)三軸聯(lián)動。
雕刻機連續(xù)軌跡控制
在數(shù)控加工中,運動控制器通過插補算法來控制刀具相對于工件以一定的速度,按照給定的路徑運動切屑出零件輪廓。插補技術是數(shù)控系統(tǒng)的核心技術,它主要解決控制刀具與工件運動軌跡的問題。本系統(tǒng)的插補運算是在以ARM9為核心的嵌入式處理器中完成的。
以二維基本直線條的插補運算為例,首先根據(jù)脈沖當量,分別計算出XY軸各自的總待發(fā)送脈沖數(shù)mx和my。設定XY中脈沖數(shù)較多者為基礎軸并將其作為參考軸,目的在于選取一個穩(wěn)定的參考軸,以方便各脈沖發(fā)送的計算。實際運算時(以X軸為基礎軸),根據(jù)加工速度以及脈沖當量,計算出基礎軸發(fā)送脈沖的頻率f,在每一個時間間隔內,均發(fā)送一個基礎軸脈沖并累加發(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ā)送頻率,在每一個時間間隔內,均發(fā)送一個基礎軸脈沖,并且每隔2個基礎軸脈沖即發(fā)送一個短軸脈沖,從而使短軸脈沖的頻率為0.5,當基礎軸發(fā)送完畢時,短軸脈沖亦發(fā)送完畢,數(shù)量與計算得出的相符。當兩軸比例為3:2時,如圖4(b)所示,則在每1.5個基礎軸脈沖發(fā)送后發(fā)送一個短軸脈沖,有效的保證了脈沖發(fā)送比例,從而保證了刻畫線段的精度。
圓弧插補時,首先依據(jù)圓弧允許半徑誤差er計算出擬合弦長:
(r為圓弧半徑) 式2
再根據(jù)擬合弦長l計算出對應的圓心角:
式3
圖4 插補算法脈沖發(fā)送示意圖
通過弦長對應的圓心角將原圓弧重新劃分為多條擬合直線,然后通過直線插補的方式完成圓弧刻畫。
該運算方式不再依賴每一次計數(shù)器的累加運算,而是依據(jù)速度矢量合成原理,通過控制各軸脈沖的發(fā)送比例,使合成點按照加工軌跡的方向運動,達到加工目的,避免了重復性的積分累加運算,可以一次性將所有脈沖數(shù)據(jù)運算完畢,只要按照一定的頻率發(fā)送即可。
插補算法的程序流程圖如圖5所示:
圖5 數(shù)字積分法插補流程圖
首先判斷是否有外部中斷信息輸入,包括系統(tǒng)需求中的機械信號,如機床原點、工件加工原點、換刀、主軸調速和斷電保護等輸入/輸出信號等,以及操作人員輸入的暫停、停止加工、人為加、減速控制等信息。中斷程序響應時需要保護好程序已經運算出的相關關鍵信息,包括讀取的加工段落數(shù)據(jù)信息以及已經加工的段落位置信息。
其次依據(jù)脈沖當量的定義:相對于每一脈沖信號的機床運動部件的位移量,得各個加工軸脈沖總數(shù)為:
(其中l(wèi)為每一軸的長度分量)
式4
并選出具有最大加工脈沖數(shù)的軸作為基礎軸。電機控制器還需要脈沖的方向信息,脈沖方向由事先約定好的方向規(guī)定來確定,可通過讀入的數(shù)據(jù)文件判斷。插補計算初始化階段設置各計數(shù)參量初始值,如圖5數(shù)字積分法插補流程圖中所示,COUNT存儲基礎軸與短軸之間的比例值,其數(shù)值為:基礎軸脈沖數(shù)/短軸脈沖數(shù);LONG為基礎軸的累加統(tǒng)計變量,基礎軸每發(fā)送一個脈沖,其值加1;SHORT為短軸的累加統(tǒng)計變量,初始化階段將COUNT的值賦予SHORT。每次插補運算以基礎軸發(fā)送一個脈沖開始,并累加LONG中的值;然后判定LONG的值與SHORT值的整數(shù)部分,當兩者相等時,表示此時將發(fā)送一個短軸脈沖,不等時則繼續(xù)發(fā)送一個基礎軸脈沖。發(fā)送短軸脈沖時,由于短軸的脈沖是跟隨基礎軸發(fā)送,所以計算其繼基礎軸發(fā)送后,所需的延時發(fā)送時間,其延時數(shù)值為1/f(SHORT-LONG),并將COUNT的值累加到SHORT中,新的SHORT值作為下一次發(fā)送短軸脈沖的判斷基準。每次計算各個發(fā)送軸后,都將產生一組固定的信息:脈沖發(fā)送標志位,脈沖延時時間和脈沖方向標志位,這些信息將被進一步加工生成發(fā)送到FPGA中的控制脈沖信息。
結果分析
將ARM作為主運算處理器時,其上不僅要運行插補程序,進行實時的加工信息讀入、速度控制預算以及脈沖發(fā)送的計算,同時還要運行后臺操作系統(tǒng),并處理用戶輸入信息,如果再在其上設定延時程序并控制脈沖發(fā)送,則ARM的運算負擔將變得過重。因此,采用FPGA協(xié)處理運算方案,輔助ARM進行脈沖的延時發(fā)送。
設FPGA的頻率為
,則其進行一次基數(shù)累加計算時間為
,電機的當前執(zhí)行速度為Vs,脈沖當量為,則當前的發(fā)送脈沖的頻率為:
式5
則此時每個脈沖的間隔換算為FPGA的累加次數(shù)則為:
式6
在加減速階段,采用指數(shù)方式,其中基礎軸每一段的頻率變化為事先計算好的,即式6中的fs為特定值,而對于短軸來說,其延時發(fā)送頻率值可由計算時使用到的公式1/f(SHORT-LONG)求得,即每一步脈沖的頻率用式6即可確定。ARM在計算每一次脈沖的發(fā)送時,需要將脈沖的延時計數(shù)次數(shù)一并計算,然后與脈沖發(fā)送的方向一起送到FPGA中。步進電機控制器對控制脈沖的持續(xù)時間有一定要求,設其需求的脈沖持續(xù)時間為TP,則FPGA中,脈沖的持續(xù)時間計數(shù):
式7
FPGA通過送來的脈沖方向以及脈沖計數(shù)次數(shù),即可以計數(shù)延時的方式,將此脈沖按照理論的計算頻率發(fā)送至步進電機控制器,完成對電機控制器的控制脈沖發(fā)送。發(fā)送的控制波形圖如圖6所示:
圖6 各軸脈沖發(fā)送波形圖
由圖6可以看出,該插補算法不僅發(fā)送脈沖均勻且成比例發(fā)送,短軸可依據(jù)自己的頻率變化規(guī)律對電機進行控制。
結語
根據(jù)雕刻機的實際需求和步進電機的轉矩-頻率特性,開發(fā)出了基于嵌入式的數(shù)控雕刻機控制系統(tǒng)。該系統(tǒng)硬件上以ARM與FPGA為核心,軟件上以Windows CE.net操作系統(tǒng)為平臺,結合步進電機的固有特性和插補程序,使得雕刻機三軸聯(lián)動完成各種雕刻文件。實踐表明,該控制器可以脫離工控機的支持,獨立完成對原始設計數(shù)據(jù)的分析和計算,并最終通過插補算法控制電機完成雕刻,在雕刻過程中可以精確的做到速度控制和軌跡控制。
評論
查看更多