基于ARM的數(shù)控算法圖示儀設計
(1)顯示更新任務:流程如圖3所示。該任務啟動后將檢測更新信號是否到來。若信號沒有到來,操作系統(tǒng)將其從運行狀態(tài)轉入等待狀態(tài);若更新信號到來,程序從郵箱中取出中斷服務程序發(fā)送的各軸計數(shù)值或操作檢測任務發(fā)送的顯示設置信息。經(jīng)換算和比較后,選定頻率最高的軸作為基準,將其與另外兩個軸的脈沖一同顯示在脈沖顯示區(qū)中,并以正負號的方式在屏幕的方向標志區(qū)上指示出各軸的運動方向。隨后再根據(jù)頻率值f和步進電機在單個脈沖下驅動刀具直線運動的距離l計算出實際速度,按照一定比例N衰減后得到顯示屏上的各軸運動速度v=fl/N和行進距離s=vt,進而繪制出刀具各軸向的大致行走情況。
(2)操作檢測任務:流程如圖4所示。該任務啟動后將定時進行A/D采樣和I/O電平檢測,并與上次結果進行對比。如果電位器的電位發(fā)生較大的變化或功能選擇的I/O電平發(fā)生變化時,就將變換值以約定好的數(shù)據(jù)形式通過郵箱發(fā)送給顯示更新任務,并發(fā)送更新信號量,通知顯示更新任務刷新顯示屏。
(3)信號捕獲中斷服務程序:流程如圖5所示。
發(fā)生中斷后首先判斷是哪一個軸產(chǎn)生的中斷,然后將計數(shù)值存放在相應的變量中,并清除計時器的值,接著讀取方向信號的電平。在與上一次的計時數(shù)值比較后,如果相同,則說明機床在做直線運動,不需要刷新顯示屏,程序返回;如果計數(shù)值或電平發(fā)生了變化,則通過郵箱向更新任務發(fā)送相關數(shù)據(jù),然后發(fā)送信號量通知屏幕刷新。
3 系統(tǒng)測試與應用
經(jīng)測試,該系統(tǒng)在最高脈沖頻率為200 kHz的運動控制芯片驅動下能夠正常顯示各軸脈沖的比例關系和相應的頻率值,并能準確地描繪出如直線、簡單曲線和基本弧形等加工軌跡。圖示儀的最大響應延時約為30 ms,基本上能滿足設計要求。
圖6是驅動器最高脈沖頻率為20 kHz下加工弧形時繪制的圖形。圖中弧形約占5π/8,橫軸和縱軸的速度比約為2:1。在驅動器允許范圍內,頻率表與速度成正比,即頻率比也約為2:1。圖中測試值基本符合理論值。
該系統(tǒng)應用于數(shù)控機床實驗系統(tǒng),教學中,取得了較好的實驗教學效果,學生反應良好。
4 結 話
在此著重介紹了基于ARM的運動軌跡數(shù)字圖示儀的設計,分別從硬件設計和軟件設計兩個方面描述了系統(tǒng)的實現(xiàn)方法。它通過較低的成本,解決了數(shù)控研究和教學過程中分析插補算法、插補脈沖和刀具運動軌跡三者間關系的困難問題,在教學實用性上效果明顯。
評論