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