菜鳥學四軸控制器之6:刀具半徑補償算法


為什么要有刀具補償?

想象一下,如果我們的刀具可以理想到半徑無窮小,倒是不需要考慮半徑的補償,但是實際上我們用到的是刀具的邊沿在雕刻物體,如下圖:

簡單來看,好像是直接平行於輪廓進行移動就可以了,其實不然,單條直線的雕刻是平行,但是直線和直線,直線和圓弧,圓弧和圓弧都是不同的,並且!直線與直線的刀具補償也分為三種情況分析。並且,在理論上有兩種方法來進行補償。

且慢,還分為三步,第一步是建立補償,第二步 進行補償,第三步撤銷補償。

兩種方法分別為:

1、B刀具半徑補償

2、C刀具半徑補償

按照以往慣例,顯然第一種方法是簡單粗暴有效。第二種復雜一點,但是更加精准。

單條直線和圓弧的刀具偏移如圖,很簡單的可以計算出直線和圓弧的刀具補償公式如下:


 

公式是很簡單,其實和插補的算法結合到一起以后,就比較復雜了,典型的方法有R2法,極坐標法和矢量判別法,如果想知道具體的方法的原理,可以參考下面的鏈接:

http://jpkc.nwpu.edu.cn/jpkc2005/34/dianzikejian/

要注意的是,在B刀具半徑補償的時候,比如直線和圓弧連接,則需要一個過度的算法,否則刀具不連續而產生錯誤。過度時我們用到補償一個相切的圓弧,並且在B刀具補償的時候,還有一個尖角的問題需要處理,所以在數控系統中,專門加入了一條G39的補償指令。

C刀具補償法:

這個補償法用到了4個緩存,按照順序分別叫做BS,CS,AS,OS,簡單來說,插補的線段指令先送入BS,第一條,繼續往下傳遞到CS,繼續加載第二條指令到BS,這時候判斷BS和CS需要做何種刀具補償,這個是問題的關鍵,處理完成以后,加入補償后送入AS,AS進行運算,送到OS進行脈沖的輸出。

當指令傳入下一個緩沖器時,也就是上一個緩沖器完成一個傳遞以后,繼續取下一條指令。

其中需要補償的情況氛圍三種:

直線和直線

直線和圓弧

圓弧和圓弧

以直線和直線的轉接來說,按照兩條直線的夾角,可以分為以下的五種情況。

總體來說,就是縮短型,插入型和伸長型。

另外兩種情況類似也有這五種情況。

圓弧的計算流程如下:

總結下來,刀具半徑補償的算法就是理想與現實搭建起來的橋梁的一種算法,理解起來不難,但是要把每一種可能性都經過判斷,計算和執行,其實不是一件容易做到的事情。

問題:MCX314和PCL6045這種專用芯片,應該用到了刀具補償的算法,比如插補算法用比較原始的DDA算法,而刀具補償用到的是C刀具補償法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM