技術文章
探討插補算法的數控技巧
閱讀:383 發布時間:2020-8-10一個數控系統除了能實現被控運動對象的精確定位以外,還必須實現被控對象以給定的速度沿著的路徑運動。為了使機械平滑穩定的運動, 還需要對驅動電機的速度進行控制, 本論文先討論了一般的逐點比較法插補算法, 然后建立了基本的直線和圓弧插補, 后進行了誤差分析, 并針對步進電機容易失步的問題, 引入了電機的速度控制算法。
1 逐點比較法實現的插補算法
被控對象的運動軌跡是由各種線型構成, 如直線、 圓弧、 拋物線等, 主要的便是直線和圓弧。為了實現軌跡控制必須進行插補, 計算出中間點, 插補的任務實際上就是從軌跡起點到終點之間的數據密化工作。逐點比較法就是每走一步都要將工作點的瞬間坐標與規定的運動軌跡進行比較, 判斷偏差, 根據偏差確定下一步的進給方向, 得到一個非常近似于規定軌跡的路線, 且大誤差當量不超過一個脈沖當量[1]。
1. 1 逐點比較法實現直線插補
逐點比較法在實現直線插補時, 需要先確定起點和終點,根據起點和終點的相對位置來判斷象限, 并據此來判斷進給方向。假設點在第一象限, 第一象限內的直線插補如圖1 所示。
1. 2 逐點比較法實現圓弧插補
逐點比較法也能很方便地實現圓弧插補。與直線插補類似, 圓弧插補是將加工點到圓心的距離與被加工圓弧的名義半徑進行比較, 并根據偏差大小確定進給方向[2]。其在四個象限內分為順圓弧和逆圓弧插補八種類型。典型的圓弧插補分為偏差判別、 坐標進給、 偏差計算、 終點判別四個步驟。第一象限內逆圓弧插補如圖2 所示。
2 步進電機的速度控制算法
引起步進電機失步的主要原因有以下兩種: 一種是由于系
統過載, 解決該問題在于是系統負載力矩不超過步進電機的矩頻特性曲線并需要保留一定的余量; 另一種便是啟停過程中的升降速運動變換, 解決該問題在于必須對步進電機進給脈沖頻率進行加減速。當加速時, 保證進給脈沖頻率逐漸增大; 當減速時, 保證進給脈沖逐漸減小。在目前的數控系統中, 常用的加減速算法有直線加減速控制算法和 S 曲線加減速控制算法等。
2. 1 直線加減速控制算法
直線加減速控制又稱梯形速度曲線控制, 它使機床啟動時, 速度按照一定斜率的直線上升, 在停止時, 速度沿一定斜率的直線下降。如圖3 所示。
以加速階段分析: 其關系式可表示為 V = a* t。在給定高速度 Vm 的情況下, 到達時間 Tm = Vm/a, 一般的實現方法是時間t 從0 開始遞增, 對應每個t 代入式v = a* t 中計算出v, 這個方法可行但是計算量太多, 涉及到浮點運算。不利于在嵌入式系統中運用。為了提高運算的效率, 減小浮點運算量, 利用插補算法, 以數字方式實現運動過程。采用小偏差法, 來實現直線運動, 軟件實現其過程的流程圖如圖4 所示。
2. 2 指數加減速控制算法
指數加減速曲線如圖 5 所示。它的加速和減速曲線是對稱的。下面以加速階段研究指數運行曲線。其運行速度公式為 v( t) = vc ( 1 - e- t /) , 其中 Vc 代表終點速度或是頻率, t 代表時間,代表調節系統時間常數。時間常數 反映了系統從速度0 變化到給定的高速度的變化效率, 加速過程的時間受該常數的約束, 所以采用指數曲線進行加減速要根據系統選好時間常數 [3]。
將上式分解得:
因此只需給出每個采樣間隔 T 時間內在速度或頻率上需要的進給量, 就使算法實現數字化。程序實現流程如圖 6所示:
3 兩種加減速算法的比較由上述的兩種加減速算法可以看出: 在給定一樣的加減速時間和高速度的情況下( 運動軌跡相同) , 梯形速度發生曲線是一個恒加速過程, 它的快速性比較好。但它的加速度有突變
4 結論
數控系統的任務就是控制電機的位置和速度, 如何使機床按照規定的直線和曲線運動, 怎樣使電機平穩的運行, 是數控技術的核心問題。本文對數控技術中的關鍵算法( 即插補算法和速度控制算法) 進行了完整的描述和分析, 并比較了其優劣,提出了相應實現的方法和編寫軟件的流程圖。并針對大量使用的嵌入式系統進行了算法的優化, 使之能滿足嵌入式系統對速度位置控制的要求。
本文由 伯特利數控文章 整理發表,文章來自網絡僅參考學習,本站不承擔任何法律責任。
/bethel/news/