基于ARM的數(shù)控算法圖示儀設(shè)計(jì)
摘 要:設(shè)計(jì)一種研究數(shù)字控制(尤其是各種數(shù)字插補(bǔ)算法及其性能和狀態(tài)的研究)的專用數(shù)字圖示儀,其適用于數(shù)控人才培養(yǎng)。該圖示儀能對(duì)控制芯片發(fā)出的各類脈沖和電平信號(hào)實(shí)時(shí)捕獲,并進(jìn)行分析,通過(guò)圖形的形式形象地將插補(bǔ)算法,脈沖信號(hào)以及運(yùn)動(dòng)軌跡之間的關(guān)系以一組按比例縮放的脈沖序列和一個(gè)坐標(biāo)圖的形式顯示出來(lái)。它具有結(jié)構(gòu)簡(jiǎn)單,價(jià)格低廉,功能實(shí)用等特點(diǎn)。
關(guān)鍵詞:ARM;數(shù)控;數(shù)字圖示;脈沖插補(bǔ);運(yùn)動(dòng)軌跡
0 引 言
在數(shù)字控制的研究中經(jīng)常需要檢測(cè)多軸驅(qū)動(dòng)器輸出脈沖,以了解算法、插補(bǔ)脈沖、運(yùn)動(dòng)軌跡及其三者之間的關(guān)系。采用普通示波器雖然可以查看脈沖,但由于多數(shù)示波器是基于兩軸設(shè)計(jì)的,對(duì)三軸和多軸的情況進(jìn)行觀察時(shí)操作很不方便,并且不能反映出脈沖和運(yùn)動(dòng)軌跡之間的關(guān)系。此外,在數(shù)控人才培訓(xùn)的過(guò)程中,初學(xué)者通過(guò)軌跡仿真這一過(guò)程來(lái)理解和分析整個(gè)機(jī)床各機(jī)構(gòu)的工作原理具有一定的困難,要再進(jìn)一步分析插補(bǔ)脈沖和機(jī)床運(yùn)動(dòng)之間的關(guān)系難度更大。
在此設(shè)計(jì)了一種基于ARM嵌入式處理器的專用數(shù)字圖示儀,能幫助僅具有基本操作知識(shí)的使用者,直觀清楚地了解插補(bǔ)過(guò)程中各軸脈沖的關(guān)系和對(duì)應(yīng)算法下刀具運(yùn)動(dòng)的軌跡。
1 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)以采用NXP公司的ARM7 LPC2136高速處理器作為核心處理硬件,該處理器體積少,功耗低,價(jià)格便宜,性能較高,I/O資源豐富,運(yùn)算速度滿足系統(tǒng)需求。根據(jù)功能的設(shè)計(jì)要求,系統(tǒng)的硬件組成劃分為面板控制模塊、液晶顯示模塊、核心處理單元和運(yùn)動(dòng)控制模塊4大部分,如圖1所示。
面板控制模塊是由電位器、琴鍵開(kāi)關(guān)和扭置開(kāi)關(guān)等組成的簡(jiǎn)單電路,供使用者進(jìn)行輸入設(shè)置和調(diào)整。ARM處理器通過(guò)A/D采樣和電平檢測(cè),獲取電位器分擔(dān)的電壓和各個(gè)開(kāi)關(guān)的狀態(tài),從而獲取輸入信息。之后根據(jù)輸入信息處理,及時(shí)調(diào)整液晶屏幕上的顯示,實(shí)現(xiàn)示波調(diào)整和觀測(cè)內(nèi)容切換的功能。液晶顯示模塊采用的是金鵬電子生產(chǎn)的OCM 128×128液晶顯示屏,其成本低,體積小,信號(hào)處理簡(jiǎn)單,驅(qū)動(dòng)技術(shù)成熟,十分適合本系統(tǒng)的應(yīng)用。液晶屏的地址和數(shù)據(jù)共用數(shù)據(jù)總線,通過(guò)專用端口(如 C/D,CE,RD,WR等)控制數(shù)據(jù)和命令的輸入與輸出,其接口關(guān)系和時(shí)序簡(jiǎn)單明確,在ARM處理器上編寫(xiě)驅(qū)動(dòng)程序十分簡(jiǎn)單。運(yùn)動(dòng)控制模塊基于專用運(yùn)動(dòng)控制芯片MCX314,它擁有4軸(x,y,z,μ軸)驅(qū)動(dòng)能力。MCX314芯片向步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)器輸出高低電平來(lái)控制電機(jī)的轉(zhuǎn)動(dòng)方向;輸出變頻脈沖信號(hào)來(lái)控制電機(jī)的轉(zhuǎn)速。在一定的頻率范圍內(nèi),芯片輸出脈沖頻率越高,電機(jī)的轉(zhuǎn)速越高。ARM處理器對(duì)MCX314的輸出脈沖進(jìn)行捕獲,獲取脈沖的時(shí)延,準(zhǔn)確測(cè)得各軸的頻率值,再通過(guò)軟件算法將插補(bǔ)脈沖與刀具的運(yùn)動(dòng)速度和運(yùn)動(dòng)方向結(jié)合起來(lái),產(chǎn)生運(yùn)動(dòng)軌跡數(shù)據(jù),通過(guò)顯示器模擬出來(lái)。從而直觀地顯示出脈沖插補(bǔ)和運(yùn)動(dòng)軌跡的對(duì)應(yīng)關(guān)系,達(dá)到預(yù)期的實(shí)驗(yàn)效果。
系統(tǒng)的具體實(shí)現(xiàn)上,MCX314輸出的信號(hào)分別為方向信號(hào)(高低電平)和脈沖信號(hào),PP代表脈沖;PM代表方向;z,y,z分別對(duì)應(yīng)各方向軸。液晶屏采用 I/O方式驅(qū)動(dòng),ARM處理器由P0.12~PO.15端口輸出控制信號(hào),由P0.16~P0.23端口寫(xiě)入或讀取數(shù)據(jù)。顯示波形的縱向增益、橫向增益、觸發(fā)電平及波形的擴(kuò)展分別通過(guò)4個(gè)不同的電位器控制,ARM處理器對(duì)電位器上的電壓進(jìn)行A/D采樣獲取輸入信息。另外,還設(shè)計(jì)了脈沖、特性和電壓測(cè)試,以擴(kuò)展該數(shù)字圖示儀的應(yīng)用場(chǎng)合。
2 軟件系統(tǒng)設(shè)計(jì)
軟件系統(tǒng)由運(yùn)行在實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ上的兩個(gè)任務(wù)和獨(dú)立于操作系統(tǒng)的一個(gè)中斷服務(wù)程序組成。顯示更新任務(wù)負(fù)責(zé)將傳人數(shù)據(jù)以圖形方式及時(shí)準(zhǔn)確地顯示在顯示屏上;操作檢測(cè)任務(wù)負(fù)責(zé)將外界各項(xiàng)操作的電平信號(hào)轉(zhuǎn)換為一定格式的數(shù)據(jù)傳遞給操作系統(tǒng)的其他任務(wù),以便下一步處理;脈沖捕獲中斷服務(wù)程序負(fù)責(zé)計(jì)算運(yùn)動(dòng)控制芯片發(fā)送的脈沖頻率,并檢測(cè)方向電平的狀態(tài),確定電機(jī)轉(zhuǎn)動(dòng)方向。系統(tǒng)軟件架構(gòu)如圖2 所示。
評(píng)論