基于ARM9的數(shù)控銑床系統(tǒng)設(shè)計(jì)方案
傳統(tǒng)數(shù)控系統(tǒng)的使用流程是先由用戶編輯G代碼或其它格式的加工文件,數(shù)控系統(tǒng)根據(jù)該文件中代碼的意義,控制刀具做出相應(yīng)的動(dòng)作。所以在軟件方面,系統(tǒng)需要提供文本編輯功能、對加工文件的編譯功能、電機(jī)驅(qū)動(dòng)功能等。為了使用戶驗(yàn)證加工程序的正誤,系統(tǒng)還要提供仿真功能,將走刀過程展現(xiàn)給用戶。
為了實(shí)現(xiàn)網(wǎng)絡(luò)功能,本系統(tǒng)還移植了嵌入式瀏覽器Konqueror/Embedded, 這是一款自由軟件。由于瀏覽器可以訪問HTTP、FTP、SMTP、NNTP等多種不同協(xié)議的服務(wù),故安裝瀏覽器可謂一舉多得,移植過程參考文獻(xiàn)。軟件結(jié)構(gòu)如圖3所示。
2.1 操作系統(tǒng)平臺(tái)的搭建
2.2 伺服電機(jī)和步進(jìn)電機(jī)驅(qū)動(dòng)程序
伺服電機(jī)需要的信號是PWM 波形控制信號,因此伺服電機(jī)驅(qū)動(dòng)程序主要是實(shí)現(xiàn)脈寬調(diào)制。這個(gè)脈寬調(diào)制是利用一個(gè)定時(shí)器,并根據(jù)由SPWM 算法得到的延遲時(shí)間,控制一個(gè)通用I /O 端口高低電平持續(xù)時(shí)間得到的。系統(tǒng)產(chǎn)生的PWM 波形如下圖4所示。
而在三個(gè)步進(jìn)電機(jī)的設(shè)備驅(qū)動(dòng)程序中,向步進(jìn)電機(jī)發(fā)送連續(xù)信號定義為寫操作; 從8253中讀數(shù)據(jù)定義為讀操作; 由鍵盤控制各電機(jī)動(dòng)作作為自定義操作。
2.3 G代碼編譯
G代碼是國際通用的機(jī)床加工代碼,其編譯的思想是: 首先將G代碼文件讀入流中,逐行分析其意義,并且?guī)в胁殄e(cuò)功能。當(dāng)遇到子程序跳轉(zhuǎn)時(shí)記錄文件指示出其位置和循環(huán)次數(shù)時(shí),子程序返回后從記錄位置繼續(xù)執(zhí)行;遇到主軸旋轉(zhuǎn)時(shí),在編譯文件中寫入旋轉(zhuǎn)標(biāo)志和PWM 的脈寬; 遇到插補(bǔ)命令時(shí)寫入脈沖標(biāo)志和每步的三坐標(biāo)脈沖信號諸如此類。最后生成記錄整套加工步驟的二進(jìn)制文件。編譯流程如圖5所示。
評論