《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM的數(shù)控算法圖示儀設(shè)計(jì)
基于ARM的數(shù)控算法圖示儀設(shè)計(jì)
現(xiàn)代電子技術(shù)
黃金偉,劉宏偉,周顯軍,羅 亮 西南科技大學(xué)
摘要: 在此著重介紹了基于ARM的運(yùn)動(dòng)軌跡數(shù)字圖示儀的設(shè)計(jì),分別從硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面描述了系統(tǒng)的實(shí)現(xiàn)方法。它通過(guò)較低的成本,解決了數(shù)控研究和教學(xué)過(guò)程中分析插補(bǔ)算法、插補(bǔ)脈沖和刀具運(yùn)動(dòng)軌跡三者間關(guān)系的困難問(wèn)題,在教學(xué)實(shí)用性上效果明顯。
關(guān)鍵詞: ARM 數(shù)控
Abstract:
Key words :

 摘 要:設(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所示。

    面板控制模塊是由電位器、琴鍵開關(guān)和扭置開關(guān)等組成的簡(jiǎn)單電路,供使用者進(jìn)行輸入設(shè)置和調(diào)整。ARM處理器通過(guò)A/D采樣和電平檢測(cè),獲取電位器分擔(dān)的電壓和各個(gè)開關(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處理器上編寫驅(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端口寫入或讀取數(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 所示。

    (1)顯示更新任務(wù):流程如圖3所示。該任務(wù)啟動(dòng)后將檢測(cè)更新信號(hào)是否到來(lái)。若信號(hào)沒有到來(lái),操作系統(tǒng)將其從運(yùn)行狀態(tài)轉(zhuǎn)入等待狀態(tài);若更新信號(hào)到來(lái),程序從郵箱中取出中斷服務(wù)程序發(fā)送的各軸計(jì)數(shù)值或操作檢測(cè)任務(wù)發(fā)送的顯示設(shè)置信息。經(jīng)換算和比較后,選定頻率最高的軸作為基準(zhǔn),將其與另外兩個(gè)軸的脈沖一同顯示在脈沖顯示區(qū)中,并以正負(fù)號(hào)的方式在屏幕的方向標(biāo)志區(qū)上指示出各軸的運(yùn)動(dòng)方向。隨后再根據(jù)頻率值f和步進(jìn)電機(jī)在單個(gè)脈沖下驅(qū)動(dòng)刀具直線運(yùn)動(dòng)的距離l計(jì)算出實(shí)際速度,按照一定比例N衰減后得到顯示屏上的各軸運(yùn)動(dòng)速度v=fl/N和行進(jìn)距離s=vt,進(jìn)而繪制出刀具各軸向的大致行走情況。

    (2)操作檢測(cè)任務(wù):流程如圖4所示。該任務(wù)啟動(dòng)后將定時(shí)進(jìn)行A/D采樣和I/O電平檢測(cè),并與上次結(jié)果進(jìn)行對(duì)比。如果電位器的電位發(fā)生較大的變化或功能選擇的I/O電平發(fā)生變化時(shí),就將變換值以約定好的數(shù)據(jù)形式通過(guò)郵箱發(fā)送給顯示更新任務(wù),并發(fā)送更新信號(hào)量,通知顯示更新任務(wù)刷新顯示屏。
    (3)信號(hào)捕獲中斷服務(wù)程序:流程如圖5所示。

    發(fā)生中斷后首先判斷是哪一個(gè)軸產(chǎn)生的中斷,然后將計(jì)數(shù)值存放在相應(yīng)的變量中,并清除計(jì)時(shí)器的值,接著讀取方向信號(hào)的電平。在與上一次的計(jì)時(shí)數(shù)值比較后,如果相同,則說(shuō)明機(jī)床在做直線運(yùn)動(dòng),不需要刷新顯示屏,程序返回;如果計(jì)數(shù)值或電平發(fā)生了變化,則通過(guò)郵箱向更新任務(wù)發(fā)送相關(guān)數(shù)據(jù),然后發(fā)送信號(hào)量通知屏幕刷新。

3 系統(tǒng)測(cè)試與應(yīng)用
    經(jīng)測(cè)試,該系統(tǒng)在最高脈沖頻率為200 kHz的運(yùn)動(dòng)控制芯片驅(qū)動(dòng)下能夠正常顯示各軸脈沖的比例關(guān)系和相應(yīng)的頻率值,并能準(zhǔn)確地描繪出如直線、簡(jiǎn)單曲線和基本弧形等加工軌跡。圖示儀的最大響應(yīng)延時(shí)約為30 ms,基本上能滿足設(shè)計(jì)要求。
    圖6是驅(qū)動(dòng)器最高脈沖頻率為20 kHz下加工弧形時(shí)繪制的圖形。圖中弧形約占5π/8,橫軸和縱軸的速度比約為2:1。在驅(qū)動(dòng)器允許范圍內(nèi),頻率表與速度成正比,即頻率比也約為2:1。圖中測(cè)試值基本符合理論值。

    該系統(tǒng)應(yīng)用于數(shù)控機(jī)床實(shí)驗(yàn)系統(tǒng),教學(xué)中,取得了較好的實(shí)驗(yàn)教學(xué)效果,學(xué)生反應(yīng)良好。


4 結(jié) 話
    在此著重介紹了基于ARM的運(yùn)動(dòng)軌跡數(shù)字圖示儀的設(shè)計(jì),分別從硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面描述了系統(tǒng)的實(shí)現(xiàn)方法。它通過(guò)較低的成本,解決了數(shù)控研究和教學(xué)過(guò)程中分析插補(bǔ)算法、插補(bǔ)脈沖和刀具運(yùn)動(dòng)軌跡三者間關(guān)系的困難問(wèn)題,在教學(xué)實(shí)用性上效果明顯。

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