在數字控制的研究中經常需要檢測多軸驅動器輸出脈沖,以了解算法、插補脈沖、運動軌跡及其三者之間的關系。采用普通示波器雖然可以查看脈沖,但由于多數示波器是基于兩軸設計的,對三軸和多軸的情況進行觀察時操作很不方便,并且不能反映出脈沖和運動軌跡之間的關系。此外,在數控人才培訓的過程中,初學者通過軌跡仿真這一過程來理解和分析整個機床各機構的工作原理具有一定的困難,要再進一步分析插補脈沖和機床運動之間的關系難度更大。 在此設計了一種基于ARM嵌入式處理器的專用數字圖示儀,能幫助僅具有基本操作知識的使用者,直觀清楚地了解插補過程中各軸脈沖的關系和對應算法下刀具運動的軌跡。 1 系統(tǒng)硬件設計 系統(tǒng)以采用NXP公司的ARM7 LPC2136高速處理器作為核心處理硬件,該處理器體積少,功耗低,價格便宜,性能較高,I/O資源豐富,運算速度滿足系統(tǒng)需求。根據功能的設計要求,系統(tǒng)的硬件組成劃分為面板控制模塊、液晶顯示模塊、核心處理單元和運動控制模塊4大部分,如圖1所示。 面板控制模塊是由電位器、琴鍵開關和扭置開關等組成的簡單電路,供使用者進行輸入設置和調整。ARM處理器通過A/D采樣和電平檢測,獲取電位器分擔的電壓和各個開關的狀態(tài),從而獲取輸入信息。之后根據輸入信息處理,及時調整液晶屏幕上的顯示,實現(xiàn)示波調整和觀測內容切換的功能。液晶顯示模塊采用的是金鵬電子生產的OCM 128×128液晶顯示屏,其成本低,體積小,信號處理簡單,驅動技術成熟,十分適合本系統(tǒng)的應用。液晶屏的地址和數據共用數據總線,通過專用端口(如 C/D,CE,RD,WR等)控制數據和命令的輸入與輸出,其接口關系和時序簡單明確,在ARM處理器上編寫驅動程序十分簡單。運動控制模塊基于專用運動控制芯片MCX314,它擁有4軸(x,y,z,μ軸)驅動能力。MCX314芯片向步進電動機驅動器輸出高低電平來控制電機的轉動方向;輸出變頻脈沖信號來控制電機的轉速。在一定的頻率范圍內,芯片輸出脈沖頻率越高,電機的轉速越高。ARM處理器對MCX314的輸出脈沖進行捕獲,獲取脈沖的時延,準確測得各軸的頻率值,再通過軟件算法將插補脈沖與刀具的運動速度和運動方向結合起來,產生運動軌跡數據,通過顯示器模擬出來。從而直觀地顯示出脈沖插補和運動軌跡的對應關系,達到預期的實驗效果。 系統(tǒng)的具體實現(xiàn)上,MCX314輸出的信號分別為方向信號(高低電平)和脈沖信號,PP代表脈沖;PM代表方向;z,y,z分別對應各方向軸。液晶屏采用 I/O方式驅動,ARM處理器由P0.12~PO.15端口輸出控制信號,由P0.16~P0.23端口寫入或讀取數據。顯示波形的縱向增益、橫向增益、觸發(fā)電平及波形的擴展分別通過4個不同的電位器控制,ARM處理器對電位器上的電壓進行A/D采樣獲取輸入信息。另外,還設計了脈沖、特性和電壓測試,以擴展該數字圖示儀的應用場合。 2 軟件系統(tǒng)設計 軟件系統(tǒng)由運行在實時操作系統(tǒng)μC/OS-Ⅱ上的兩個任務和獨立于操作系統(tǒng)的一個中斷服務程序組成。顯示更新任務負責將傳人數據以圖形方式及時準確地顯示在顯示屏上;操作檢測任務負責將外界各項操作的電平信號轉換為一定格式的數據傳遞給操作系統(tǒng)的其他任務,以便下一步處理;脈沖捕獲中斷服務程序負責計算運動控制芯片發(fā)送的脈沖頻率,并檢測方向電平的狀態(tài),確定電機轉動方向。系統(tǒng)軟件架構如圖2 所示。 (1)顯示更新任務:流程如圖3所示。該任務啟動后將檢測更新信號是否到來。若信號沒有到來,操作系統(tǒng)將其從運行狀態(tài)轉入等待狀態(tài);若更新信號到來,程序從郵箱中取出中斷服務程序發(fā)送的各軸計數值或操作檢測任務發(fā)送的顯示設置信息。經換算和比較后,選定頻率最高的軸作為基準,將其與另外兩個軸的脈沖一同顯示在脈沖顯示區(qū)中,并以正負號的方式在屏幕的方向標志區(qū)上指示出各軸的運動方向。隨后再根據頻率值f和步進電機在單個脈沖下驅動刀具直線運動的距離l計算出實際速度,按照一定比例N衰減后得到顯示屏上的各軸運動速度v=fl/N和行進距離s=vt,進而繪制出刀具各軸向的大致行走情況。 (2)操作檢測任務:流程如圖4所示。該任務啟動后將定時進行A/D采樣和I/O電平檢測,并與上次結果進行對比。如果電位器的電位發(fā)生較大的變化或功能選擇的I/O電平發(fā)生變化時,就將變換值以約定好的數據形式通過郵箱發(fā)送給顯示更新任務,并發(fā)送更新信號量,通知顯示更新任務刷新顯示屏。 (3)信號捕獲中斷服務程序:流程如圖5所示。 發(fā)生中斷后首先判斷是哪一個軸產生的中斷,然后將計數值存放在相應的變量中,并清除計時器的值,接著讀取方向信號的電平。在與上一次的計時數值比較后,如果相同,則說明機床在做直線運動,不需要刷新顯示屏,程序返回;如果計數值或電平發(fā)生了變化,則通過郵箱向更新任務發(fā)送相關數據,然后發(fā)送信號量通知屏幕刷新。 3 系統(tǒng)測試與應用 經測試,該系統(tǒng)在最高脈沖頻率為200 kHz的運動控制芯片驅動下能夠正常顯示各軸脈沖的比例關系和相應的頻率值,并能準確地描繪出如直線、簡單曲線和基本弧形等加工軌跡。圖示儀的最大響應延時約為30 ms,基本上能滿足設計要求。 圖6是驅動器最高脈沖頻率為20 kHz下加工弧形時繪制的圖形。圖中弧形約占5π/8,橫軸和縱軸的速度比約為2:1。在驅動器允許范圍內,頻率表與速度成正比,即頻率比也約為2:1。圖中測試值基本符合理論值。 該系統(tǒng)應用于數控機床實驗系統(tǒng),教學中,取得了較好的實驗教學效果,學生反應良好。 4 結 話 在此著重介紹了基于ARM的運動軌跡數字圖示儀的設計,分別從硬件設計和軟件設計兩個方面描述了系統(tǒng)的實現(xiàn)方法。它通過較低的成本,解決了數控研究和教學過程中分析插補算法、插補脈沖和刀具運動軌跡三者間關系的困難問題,在教學實用性上效果明顯。 |