引言
目前國內(nèi)使用的數(shù)控系統(tǒng)通常是在通用計(jì)算機(jī)或工控機(jī)的基礎(chǔ)上加裝運(yùn)動(dòng)控制卡,使用Windows操作系統(tǒng),并安裝昂貴的數(shù)控軟件構(gòu)成的。這樣的系統(tǒng)軟件成本高、硬件資源浪費(fèi)、功耗大。而嵌入式產(chǎn)品具有系統(tǒng)結(jié)構(gòu)精簡、功耗低等特點(diǎn),能彌補(bǔ)傳統(tǒng)數(shù)控系統(tǒng)的不足。免費(fèi)軟件Linux 操作系統(tǒng)進(jìn)軍嵌入式領(lǐng)域,更使得嵌入式產(chǎn)品能夠充分發(fā)揮廉價(jià)、高性價(jià)比的優(yōu)勢。
本文所述的正是以Linux操作系統(tǒng)為軟件平臺,以ARM9微處理器為硬件平臺,以數(shù)控銑床為背景,自主研發(fā)數(shù)控硬件及軟件的嵌入式數(shù)控銑床控制系統(tǒng)。
1 系統(tǒng)硬件組成
系統(tǒng)的硬件由ARM系統(tǒng)主板和擴(kuò)展板卡組成。
硬件結(jié)構(gòu)如圖1。
1.1 ARM系統(tǒng)主板
根據(jù)系統(tǒng)需要,主板上主要包括中央處理器S3C2410X、SDRAM 內(nèi)存、NAND FLASH ( 64M )、串口、CS8900A以太網(wǎng)芯片( 10M 網(wǎng)口)、LCD顯示器接口、USB接口、擴(kuò)展總線接口等。
中央處理器S3C2410X內(nèi)部資源十分豐富,包括1個(gè)LCD控制器、SDRAM 控制器、3個(gè)通道的UART、4個(gè)具有PWM 功能的計(jì)時(shí)器和1個(gè)內(nèi)部時(shí)鐘、2個(gè)USB主機(jī)接口和1個(gè)USB設(shè)備接口等。S3C2410X 處理器主頻最高為202MH z, 內(nèi)置16 KB 指令高速緩存和16KB數(shù)據(jù)高速緩存,5級指令流水線,帶有乘累加運(yùn)單元,可以運(yùn)行起嵌入式Linux 操作系統(tǒng)并能進(jìn)行較為復(fù)雜的信息處理,基本滿足用戶對快速性的要求。并且采用NAND FLASH 與SDRAM 組合來存儲數(shù)據(jù)和程序,可以獲得非常高的性價(jià)比。
系統(tǒng)采用10M 的以太網(wǎng)接口芯片CS8900A, 這是用于嵌入式設(shè)備的低成本以太局域網(wǎng)控制器。通過標(biāo)準(zhǔn)網(wǎng)絡(luò)接口數(shù)控系統(tǒng)可以連接到Internet或局域網(wǎng)上。
1.2 擴(kuò)展板卡
擴(kuò)展板卡即把步進(jìn)電機(jī)驅(qū)動(dòng)器控制接口、伺服電機(jī)驅(qū)動(dòng)器控制接口、編碼器接口集成在一個(gè)板子上,作為控制數(shù)控銑床的控制卡,來控制步進(jìn)電機(jī)和伺服電機(jī)的運(yùn)轉(zhuǎn)。
機(jī)床目前設(shè)計(jì)為3軸聯(lián)動(dòng),為未來能擴(kuò)展為5軸,設(shè)計(jì)留有5組接線端子。每組需要兩個(gè)接線端子與驅(qū)動(dòng)器相連(采用單脈沖方式),其中一個(gè)端子通過導(dǎo)線連接步進(jìn)電機(jī)驅(qū)動(dòng)器的CP, 提供給步進(jìn)電機(jī)脈沖信號,控制它轉(zhuǎn)動(dòng),另一個(gè)接驅(qū)動(dòng)器的CW, 控制電機(jī)的轉(zhuǎn)動(dòng)方向,使電機(jī)可以完成正轉(zhuǎn)、反轉(zhuǎn)和停止動(dòng)作。對電機(jī)的速度控制是通過軟件控制脈沖的輸出頻率實(shí)現(xiàn)的。經(jīng)比較決定選擇三相混合式步進(jìn)電機(jī)驅(qū)動(dòng)器BD3SFB。因BD3SFB驅(qū)動(dòng)器可兼容兩相、四相和五相的工作方式,且有更高的定位精度,可控制電機(jī)在任意細(xì)分步數(shù)情況下,如6000步/轉(zhuǎn)時(shí)精確定位。 電機(jī)和驅(qū)動(dòng)器間僅用3根線連接,與交流異步電機(jī)一樣,減少連線出錯(cuò)的可能性。
伺服電機(jī)的控制與反饋由驅(qū)動(dòng)器完成,數(shù)控系統(tǒng)只需將指令信號發(fā)送至驅(qū)動(dòng)器中。由處理器的通用I/O口產(chǎn)生伺服電機(jī)的脈沖信號和方向信號。伺服驅(qū)動(dòng)器一般需要差分信號作為輸入,故采用26LS31芯片作為其輸出驅(qū)動(dòng)電路,經(jīng)過光耦的隔離直接連接到伺服電機(jī)驅(qū)動(dòng)器上。
對步進(jìn)電機(jī)采用開環(huán)控制,但為了將銑刀具體位置呈現(xiàn)給用戶,同時(shí)修正控制及運(yùn)動(dòng)部分不可預(yù)見的誤差,可以在步進(jìn)電機(jī)上安裝編碼器。通過聯(lián)軸器將二者相連。編碼器脈沖信號經(jīng)8253計(jì)數(shù)后可得到被測量的數(shù)字信號,然后經(jīng)地址鎖存器連接到擴(kuò)展總線,由處理器進(jìn)行處理。8253復(fù)用8 位數(shù)據(jù)總線表示計(jì)數(shù)值,處理器先讀低8位后讀高8位,計(jì)數(shù)范圍是0 ~65 535。同時(shí),鑒向器占用數(shù)據(jù)總線3 位表示各電機(jī)旋轉(zhuǎn)方向。在單脈沖模式下,編碼器脈沖由D觸發(fā)器CD4013鑒相,處理器通過判斷高低電平得知電機(jī)旋轉(zhuǎn)方向。為了抗干擾和實(shí)現(xiàn)電氣隔離,在與步進(jìn)電機(jī)驅(qū)動(dòng)器的脈沖信號和方向信號的端口連接時(shí)采用了光電隔離器件。D觸發(fā)器鑒相如圖2。
轉(zhuǎn)載請注明出處。