《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計
基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計
摘要: 以ARM9微處理器為硬件平臺,,免費的Linux操作系統(tǒng)為軟件平臺,開發(fā)了嵌入式數(shù)控銑床,,實現(xiàn)了對步進(jìn)電機和伺服電機的控制,。在對制作的電路板和編程的系統(tǒng)程序?qū)嶒灥幕A(chǔ)上表明,,與傳統(tǒng)數(shù)控系統(tǒng)相比,,嵌入式數(shù)控系統(tǒng)發(fā)揮了其耗能少,、成本低,、體積小等優(yōu)勢,。
關(guān)鍵詞: ARM ARM9 數(shù)控銑床 Linux
Abstract:
Key words :
 

引言

目前國內(nèi)使用的數(shù)控系統(tǒng)通常是在通用計算機或工控機的基礎(chǔ)上加裝運動控制卡,,使用Windows操作系統(tǒng),并安裝昂貴的數(shù)控軟件構(gòu)成的,。這樣的系統(tǒng)軟件成本高,、硬件資源浪費、功耗大,。而嵌入式產(chǎn)品具有系統(tǒng)結(jié)構(gòu)精簡,、功耗低等特點,能彌補傳統(tǒng)數(shù)控系統(tǒng)的不足,。免費軟件Linux 操作系統(tǒng)進(jìn)軍嵌入式領(lǐng)域,,更使得嵌入式產(chǎn)品能夠充分發(fā)揮廉價、高性價比的優(yōu)勢,。

本文所述的正是以Linux操作系統(tǒng)為軟件平臺,,以ARM9微處理器為硬件平臺,以數(shù)控銑床為背景,,自主研發(fā)數(shù)控硬件及軟件的嵌入式數(shù)控銑床控制系統(tǒng),。

1 系統(tǒng)硬件組成

系統(tǒng)的硬件由ARM系統(tǒng)主板和擴展板卡組成,。

硬件結(jié)構(gòu)如圖1。

基于<a class=ARM9的數(shù)控銑床系統(tǒng)設(shè)計方案" src="http://files.chinaaet.com/images/20110707/d52394b6-7d52-4716-967c-2ab72571e9e5.jpg" />

1.1 ARM系統(tǒng)主板

根據(jù)系統(tǒng)需要,,主板上主要包括中央處理器S3C2410X,、SDRAM 內(nèi)存、NAND FLASH (64M ),、串口,、CS8900A以太網(wǎng)芯片(10M 網(wǎng)口)、LCD顯示器接口,、USB接口、擴展總線接口等,。

中央處理器S3C2410X內(nèi)部資源十分豐富,,包括1個LCD控制器、SDRAM控制器,、3個通道的UART,、4個具有PWM功能的計時器和1個內(nèi)部時鐘、2個USB主機接口和1個USB設(shè)備接口等,。S3C2410X處理器主頻最高為202MHz,,內(nèi)置16KB指令高速緩存和16KB數(shù)據(jù)高速緩存,5級指令流水線,,帶有乘累加運單元,,可以運行起嵌入式Linux操作系統(tǒng)并能進(jìn)行較為復(fù)雜的信息處理,基本滿足用戶對快速性的要求,。并且采用NAND FLASH與SDRAM組合來存儲數(shù)據(jù)和程序,,可以獲得非常高的性價比

系統(tǒng)采用10M的以太網(wǎng)接口芯片CS8900A,這是用于嵌入式設(shè)備的低成本以太局域網(wǎng)控制器,。通過標(biāo)準(zhǔn)網(wǎng)絡(luò)接口數(shù)控系統(tǒng)可以連接到Internet或局域網(wǎng)上,。

1.2 擴展板卡

擴展板卡即把步進(jìn)電機驅(qū)動器控制接口、伺服電機驅(qū)動器控制接口,、編碼器接口集成在一個板子上,,作為控制數(shù)控銑床的控制卡,來控制步進(jìn)電機和伺服電機的運轉(zhuǎn),。

機床目前設(shè)計為3軸聯(lián)動,,為未來能擴展為5軸,設(shè)計留有5組接線端子,。每組需要兩個接線端子與驅(qū)動器相連(采用單脈沖方式),,其中一個端子通過導(dǎo)線連接步進(jìn)電機驅(qū)動器的CP,提供給步進(jìn)電機脈沖信號,,控制它轉(zhuǎn)動,,另一個接驅(qū)動器的CW,,控制電機的轉(zhuǎn)動方向,使電機可以完成正轉(zhuǎn),、反轉(zhuǎn)和停止動作,。對電機的速度控制是通過軟件控制脈沖的輸出頻率實現(xiàn)的。經(jīng)比較決定選擇三相混合式步進(jìn)電機驅(qū)動器BD3SFB,。因BD3SFB驅(qū)動器可兼容兩相,、四相和五相的工作方式,且有更高的定位精度,,可控制電機在任意細(xì)分步數(shù)情況下,,如6000步/轉(zhuǎn)時精確定位。電機和驅(qū)動器間僅用3根線連接,,與交流異步電機一樣,,減少連線出錯的可能性。

伺服電機的控制與反饋由驅(qū)動器完成,,數(shù)控系統(tǒng)只需將指令信號發(fā)送至驅(qū)動器中,。由處理器的通用I/O口產(chǎn)生伺服電機的脈沖信號和方向信號。伺服驅(qū)動器一般需要差分信號作為輸入,,故采用26LS31芯片作為其輸出驅(qū)動電路,,經(jīng)過光耦的隔離直接連接到伺服電機驅(qū)動器上。

對步進(jìn)電機采用開環(huán)控制,,但為了將銑刀具體位置呈現(xiàn)給用戶,,同時修正控制及運動部分不可預(yù)見的誤差,可以在步進(jìn)電機上安裝編碼器,。通過聯(lián)軸器將二者相連,。編碼器脈沖信號經(jīng)8253計數(shù)后可得到被測量的數(shù)字信號,然后經(jīng)地址鎖存器連接到擴展總線,,由處理器進(jìn)行處理,。8253復(fù)用8位數(shù)據(jù)總線表示計數(shù)值,處理器先讀低8位后讀高8位,,計數(shù)范圍是0~65535,。同時,鑒向器占用數(shù)據(jù)總線3位表示各電機旋轉(zhuǎn)方向,。在單脈沖模式下,,編碼器脈沖由D觸發(fā)器CD4013鑒相,處理器通過判斷高低電平得知電機旋轉(zhuǎn)方向,。為了抗干擾和實現(xiàn)電氣隔離,,在與步進(jìn)電機驅(qū)動器的脈沖信號和方向信號的端口連接時采用了光電隔離器件。D觸發(fā)器鑒相如圖2,。

基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計方案

2 系統(tǒng)軟件設(shè)計

傳統(tǒng)數(shù)控系統(tǒng)的使用流程是先由用戶編輯G代碼或其它格式的加工文件,,數(shù)控系統(tǒng)根據(jù)該文件中代碼的意義,,控制刀具做出相應(yīng)的動作。所以在軟件方面,,系統(tǒng)需要提供文本編輯功能,、對加工文件的編譯功能、電機驅(qū)動功能等,。為了使用戶驗證加工程序的正誤,,系統(tǒng)還要提供仿真功能,將走刀過程展現(xiàn)給用戶,。

為了實現(xiàn)網(wǎng)絡(luò)功能,,本系統(tǒng)還移植了嵌入式瀏覽器Konqueror/Embedded,這是一款自由軟件,。由于瀏覽器可以訪問HTTP,、FTP、SMTP,、NNTP等多種不同協(xié)議的服務(wù),故安裝瀏覽器可謂一舉多得,,移植過程參考文獻(xiàn),。軟件結(jié)構(gòu)如圖3所示。

基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計方案

2.1 操作系統(tǒng)平臺的搭建

2.2 伺服電機和步進(jìn)電機驅(qū)動程序

伺服電機需要的信號是PWM波形控制信號,,因此伺服電機驅(qū)動程序主要是實現(xiàn)脈寬調(diào)制,。這個脈寬調(diào)制是利用一個定時器,并根據(jù)由SPWM算法得到的延遲時間,,控制一個通用I/O端口高低電平持續(xù)時間得到的,。系統(tǒng)產(chǎn)生的PWM波形如下圖4所示。

基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計方案

而在三個步進(jìn)電機的設(shè)備驅(qū)動程序中,,向步進(jìn)電機發(fā)送連續(xù)信號定義為寫操作,;從8253中讀數(shù)據(jù)定義為讀操作;由鍵盤控制各電機動作作為自定義操作,。

2.3 G代碼編譯

G代碼是國際通用的機床加工代碼,,其編譯的思想是:首先將G代碼文件讀入流中,逐行分析其意義,,并且?guī)в胁殄e功能,。當(dāng)遇到子程序跳轉(zhuǎn)時記錄文件指示出其位置和循環(huán)次數(shù)時,子程序返回后從記錄位置繼續(xù)執(zhí)行,;遇到主軸旋轉(zhuǎn)時,,在編譯文件中寫入旋轉(zhuǎn)標(biāo)志和PWM 的脈寬;遇到插補命令時寫入脈沖標(biāo)志和每步的三坐標(biāo)脈沖信號諸如此類,。最后生成記錄整套加工步驟的二進(jìn)制文件,。編譯流程如圖5所示,。

基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計方案

2.4 插補算法與刀補算法

數(shù)控銑床控制系統(tǒng)使用逐點比較法實現(xiàn)直線和圓弧插補算法。以刀的當(dāng)前位置為起點,,以G代碼給定位置為終點,,在其間的直線或圓弧上插入擬合點,根據(jù)這些點產(chǎn)生一系列三坐標(biāo)脈沖信號,。逐點比較法的缺陷是圓弧插補只能走x 或y方向的正交線,,而缺失了最應(yīng)該在圓弧插補中出現(xiàn)的由x、y方向合成的±45/135°斜線,,系統(tǒng)根據(jù)圓弧相對于x 或y軸的傾向性,,使插補過程中在圓弧的±45/135°附近盡量使用斜線,使得插補精度更高,、步數(shù)更少,。圖6是由Matlab仿真得到的改進(jìn)算法和傳統(tǒng)算法的比較,如果定義理想曲線和擬和曲線的誤差為兩曲線相夾的面積(圖中灰色部分),,可看出改進(jìn)算法的誤差較小,。

基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計方案

編寫加工程序時,一般只考慮刀具中心沿零件輪廓切削,,而忽略刀具半徑對加工的影響,,在實際加工時需要在刀具中心與刀具切削點之間進(jìn)行位置偏置,補償上述影響,。這種變換過程即為刀具補償,。系統(tǒng)采用的是帶有過度連接的C刀具補償算法,該算法比較復(fù)雜,,與許多因素有關(guān),,為此定義了一個結(jié)構(gòu)作為刀補函數(shù)的參數(shù),該函數(shù)更改插補始末位置,、增加過渡曲線實現(xiàn)刀補功能,。參數(shù)結(jié)構(gòu)如下,

基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計方案

3 結(jié)論

以ARM9微處理器為硬件平臺,,免費的Linux操作系統(tǒng)為軟件平臺,,開發(fā)了嵌入式數(shù)控銑床,實現(xiàn)了對步進(jìn)電機和伺服電機的控制,。在對制作的電路板和編程的系統(tǒng)程序?qū)嶒灥幕A(chǔ)上表明,,與傳統(tǒng)數(shù)控系統(tǒng)相比,嵌入式數(shù)控系統(tǒng)發(fā)揮了其耗能少,、成本低,、體積小等優(yōu)勢。

   來源:互聯(lián)網(wǎng)

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