黃金偉 劉宏偉 周顯軍 羅 亮
摘 要:設(shè)計(jì)一種研究數(shù)字控制(尤其是各種數(shù)字插補(bǔ)算法及其性能和狀態(tài)的研究)的專用數(shù)字圖示儀,其適用于數(shù)控人才培養(yǎng)。該圖示儀能對控制芯片發(fā)出的各類脈沖和電平信號實(shí)時(shí)捕獲,并進(jìn)行分析,通過圖形的形式形象地將插補(bǔ)算法,脈沖信號以及運(yùn)動軌跡之間的關(guān)系以一組按比例縮放的脈沖序列和一個(gè)坐標(biāo)圖的形式顯示出來。它具有結(jié)構(gòu)簡單,價(jià)格低廉,功能實(shí)用等特點(diǎn)。
關(guān)鍵詞:ARM;數(shù)控;數(shù)字圖示;脈沖插補(bǔ);運(yùn)動軌跡
中圖分類號:TP391文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2009)10-055-03
Design of ARM-based Graphic Instrument for Numerical Control Algorithm
HUANG Jinwei,LIU Hongwei,ZHOU Xianjun,LUO Liang
(Southwest University of Science and Technology,Mianyang,621010,China)
Abstract:A graphic instrument is designed for the digital control study especially the various digital interpolation algorithms and its performance and the status.This graphic instrument can capture the pulse-level signals of the control chip in real-time,then the signal and relationship among interpolation algorithm,pulse and trajectory thought of a group of pulse sequence zoomed by proportion and a coordinates map are analysed.It has advantages of simple structure,practical function and low price.
Keywords:ARM;numerical control;digital images show;pulse interpolation;movement trajectory
0 引 言
在數(shù)字控制的研究中經(jīng)常需要檢測多軸驅(qū)動器輸出脈沖,以了解算法、插補(bǔ)脈沖、運(yùn)動軌跡
及其三者之間的關(guān)系。采用普通示波器雖然可以查看脈沖,但由于多數(shù)示波器是基于兩軸設(shè)計(jì)的,對三軸和多軸的情況進(jìn)行觀察時(shí)操作很不方便,并且不能反映出脈沖和運(yùn)動軌跡之間的關(guān)系。此外,在數(shù)控人才培訓(xùn)的過程中,初學(xué)者通過軌跡仿真這一過程來理解和分析整個(gè)機(jī)床各機(jī)構(gòu)的工作原理具有一定的困難,要再進(jìn)一步分析插補(bǔ)脈沖和機(jī)床運(yùn)動之間的關(guān)系難度更大。
在此設(shè)計(jì)了一種基于ARM嵌入式處理器的專用數(shù)字圖示儀,能幫助僅具有基本操作知識的使用者,直觀清楚地了解插補(bǔ)過程中各軸脈沖的關(guān)系和對應(yīng)算法下刀具運(yùn)動的軌跡。
1 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)以采用NXP公司的ARM7 LPC2136高速處理器作為核心處理硬件,該處理器體積少,功耗低,價(jià)格便宜,性能較高,I/O資源豐富,運(yùn)算速度滿足系統(tǒng)需求。根據(jù)功能的設(shè)計(jì)要求,系統(tǒng)的硬件組成劃分為面板控制模塊、液晶顯示模塊、核心處理單元和運(yùn)動控制模塊4大部分,如圖1所示。
面板控制模塊是由電位器、琴鍵開關(guān)和扭置開關(guān)等組成的簡單電路,供使用者進(jìn)行輸入設(shè)置和調(diào)整。ARM處理器通過A/D采樣和電平檢測,獲取電位器分擔(dān)的電壓和各個(gè)開關(guān)的狀態(tài),從而獲取輸入信息。之后根據(jù)輸入信息處理,及時(shí)調(diào)整液晶屏幕上的顯示,實(shí)現(xiàn)示波調(diào)整和觀測內(nèi)容切換的功能。
液晶顯示模塊采用的是金鵬電子生產(chǎn)的OCM128×128液晶顯示屏,其成本低,體積小,信號處理簡單,驅(qū)動技術(shù)成熟,十分適合本系統(tǒng)的應(yīng)用。液晶屏的地址和數(shù)據(jù)共用數(shù)據(jù)總線,通過專用端口(如C/D,CE,RD,WR等)控制數(shù)據(jù)和命令的輸入與輸出,其接口關(guān)系和時(shí)序簡單明確,在ARM處理器上編寫驅(qū)動程序十分簡單。
運(yùn)動控制模塊基于專用運(yùn)動控制芯片MCX314,它擁有4軸(x,y,z,u軸)驅(qū)動能力。MCX314芯片向步進(jìn)電動機(jī)驅(qū)動器輸出高低電平來控制電機(jī)的轉(zhuǎn)動方向;輸出變頻脈沖信號來控制電機(jī)的轉(zhuǎn)速。在一定的頻率范圍內(nèi),芯片輸出脈沖頻率越高,電機(jī)的轉(zhuǎn)速越高。ARM處理器對MCX314的輸出脈沖進(jìn)行捕獲,獲取脈沖的時(shí)延,準(zhǔn)確測得各軸的頻率值,再通過軟件算法將插補(bǔ)脈沖與刀具的運(yùn)動速度和運(yùn)動方向結(jié)合起來,產(chǎn)生運(yùn)動軌跡數(shù)據(jù),通過顯示器模擬出來。從而直觀地顯示出脈沖插補(bǔ)和運(yùn)動軌跡的對應(yīng)關(guān)系,達(dá)到預(yù)期的實(shí)驗(yàn)效果。
系統(tǒng)的具體實(shí)現(xiàn)上,MCX314輸出的信號分別為方向信號(高低電平)和脈沖信號,PP代表脈沖;PM代表方向;z,y,z分別對應(yīng)各方向軸。液晶屏采用I/O方式驅(qū)動,ARM處理器由P0.12~P0.15端口輸出控制信號,由P0.16~P0.23端口寫入或讀取數(shù)據(jù)。顯示波形的縱向增益、橫向增益、觸發(fā)電平及波形的擴(kuò)展分別通過4個(gè)不同的電位器控制,ARM處理器對電位器上的電壓進(jìn)行A/D采樣獲取輸入信息。另外,還設(shè)計(jì)了脈沖、特性和電壓測試,以擴(kuò)展該數(shù)字圖示儀的應(yī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)確地顯示在顯示屏上;操作檢測任務(wù)負(fù)責(zé)將外界各項(xiàng)操作的電平信號轉(zhuǎn)換為一定格式的數(shù)據(jù)傳遞給操作系統(tǒng)的其他任務(wù),以便下一步處理;脈沖捕獲中斷服務(wù)程序負(fù)責(zé)計(jì)算運(yùn)動控制芯片發(fā)送的脈沖頻率,并檢測方向電平的狀態(tài),確定電機(jī)轉(zhuǎn)動方向。系統(tǒng)軟件架構(gòu)如圖2所示。
(1) 顯示更新任務(wù):流程如圖3所示。該任務(wù)啟動后將檢測更新信號是否到來。若信號沒有到來,操作系統(tǒng)將其從運(yùn)行狀態(tài)轉(zhuǎn)入等待狀態(tài);若更新信號到來,程序從郵箱中取出中斷服務(wù)程序發(fā)送的各軸計(jì)數(shù)值或操作檢測任務(wù)發(fā)送的顯示設(shè)置信息。經(jīng)換算和比較后,選定頻率最高的軸作為基準(zhǔn),將其與另外兩個(gè)軸的脈沖一同顯示在脈沖顯示區(qū)中,并以正負(fù)號的方式在屏幕的方向標(biāo)志區(qū)上指示出各軸的運(yùn)動方向。隨后再根據(jù)頻率值f和步進(jìn)電機(jī)在單個(gè)脈沖下驅(qū)動刀具直線運(yùn)動的距離l計(jì)算出實(shí)際速度,按照一定比例N衰減后得到顯示屏上的各軸運(yùn)動速度v=fl/N和行進(jìn)距離s=vt,進(jìn)而繪制出刀具各軸向的大致行走情況。
(2) 操作檢測任務(wù):流程如圖4所示。該任務(wù)啟動后將定時(shí)進(jìn)行A/D采樣和I/O電平檢測,并與上次結(jié)果進(jìn)行對比。如果電位器的電位發(fā)生較大的變化或功能選擇的I/O電平發(fā)生變化時(shí),就將變換值以約定好的數(shù)據(jù)形式通過郵箱發(fā)送給顯示更新任務(wù),并發(fā)送更新信號量,通知顯示更新任務(wù)刷新顯示屏。
發(fā)生中斷后首先判斷是哪一個(gè)軸產(chǎn)生的中斷,然后將計(jì)數(shù)值存放在相應(yīng)的變量中,并清除計(jì)時(shí)器的值,接著讀取方向信號的電平。在與上一次的計(jì)時(shí)數(shù)值比較后,如果相同,則說明機(jī)床在做直線運(yùn)動,不需要刷新顯示屏,程序返回;如果計(jì)數(shù)值或電平發(fā)生了變化,則通過郵箱向更新任務(wù)發(fā)送相關(guān)數(shù)據(jù),然后發(fā)送信號量通知屏幕刷新。
3 系統(tǒng)測試與應(yīng)用
經(jīng)測試,該系統(tǒng)在最高脈沖頻率為200 kHz的運(yùn)動控制芯片驅(qū)動下能夠正常顯示各軸脈沖的比例關(guān)系和相應(yīng)的頻率值,并能準(zhǔn)確地描繪出如直線、簡單曲線和基本弧形等加工軌跡。圖示儀的最大響應(yīng)延時(shí)約為30 ms,基本上能滿足設(shè)計(jì)要求。
圖6是驅(qū)動器最高脈沖頻率為20kHz下加工弧形時(shí)繪制的圖形。圖中弧形約占5π/8,橫軸和縱軸的速度比約為2∶1。在驅(qū)動器允許范圍內(nèi),頻率表與速度成正比,即頻率比也約為2∶1。圖中測試值基本符合理論值。
該系統(tǒng)應(yīng)用于數(shù)控機(jī)床實(shí)驗(yàn)系統(tǒng),教學(xué)中,取得了較好的實(shí)驗(yàn)教學(xué)效果,學(xué)生反應(yīng)良好。
4 結(jié) 語
在此著重介紹了基于ARM的運(yùn)動軌跡數(shù)字圖示儀的設(shè)計(jì),分別從硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面描述了系統(tǒng)的實(shí)現(xiàn)方法。它通過較低的成本,解決了數(shù)控研究和教學(xué)過程中分析插補(bǔ)算法、插補(bǔ)脈沖和刀具運(yùn)動軌跡三者間關(guān)系的困難問題,在教學(xué)實(shí)用性上效果明顯。
參考文獻(xiàn)
[1]陶春鳴,肖海紅.基于ARM 的數(shù)字示波表設(shè)計(jì)與實(shí)現(xiàn).現(xiàn)代電子技術(shù),2007,30(18):7-9.
[2]王國杰,張惠,賀洪江.基于μC/OS-Ⅱ的數(shù)字示波器系統(tǒng)設(shè)計(jì).自動化應(yīng)用與技術(shù),2007,26(6):68-70.
[3]王愛玲.現(xiàn)代數(shù)控原理及控制系統(tǒng)[M].北京:國防工業(yè)出版社,2005.
[4]Jean J Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ.邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2003.
[5]盧秀和,程全喜,薛鵬.基于ARM嵌入式實(shí)現(xiàn)的簡易數(shù)字存儲示波器.第五屆全國高校嵌入式系統(tǒng)教學(xué)研討會.2007.
[6]曉奇.T6963C 液晶驅(qū)動模塊資料.2001.
[7]周立功.ARM嵌入式系統(tǒng)軟件開發(fā)實(shí)例.北京:北京航空航天大學(xué)出版社,2004.
[8]周明輝,宋躍,張小平,等.基于ARM 的等效采樣手持式存儲示波表設(shè)計(jì).電腦開發(fā)與應(yīng)用,2005,18(6):24-25,28.
[9]李恩林.數(shù)控技術(shù)原理及應(yīng)用.北京:國防工業(yè)大學(xué)出版社,2006.
[10]賈中華,齊林,穆曉敏,等.基于MSP430和USB的胎兒心電圖儀的設(shè)計(jì).現(xiàn)代電子技術(shù),2008,31(14):11-13.