1 引言
金屬材料具有“熱脹冷縮”的性質,該特性在物理學上通常用熱膨脹系數(Thermal Expansion Coefficient, αtherm)描述。數控機床的床身、立柱、拖板等導軌基礎件和滾珠絲杠等傳動部件一般由金屬材料制成,由于機床驅動電機的發熱、運動部件摩擦發熱以及環境溫度等的變化,均會對機床運動軸位置產生附加誤差,這將直接影響機床的定位精度,從而影響工件的加工精度。對于在普通車間環境條件下使用的數控機床尤其是行程較長的落地式銑鏜床,熱膨脹系數的影響更不容忽視。以行程為5米的X軸來說,金屬材料的熱膨脹系數為10ppm(10µm/m?℃),理論上溫度每升高1℃,5米行程的X軸就“脹長”50µm。日溫差和冬夏季節溫差的影響便可想而知。因此高精度機床要求在規定的恒溫條件下制造或使用,普通環境下使用的數控機床為保證較高定位精度和加工精度,須使用“溫度補償”等選件功能消除附加誤差。在交大昆機科技股份有限公司大型落地銑鏜床上,人們對840D系統的溫度補償功能進行了一些研究應用,相關問題描述如下。
2 840D系統溫度補償原理
機床坐標軸的定位誤差隨溫度變化會附加一定偏差,對每一給定溫度可測出相應的定位誤差曲線,為了完成溫度補償需要測出不同溫度下的定位誤差曲線。如圖1為一組實驗曲線,測量條件是:以22度誤差曲線為基準,在行程500mm-1500mm范圍內不停的運動加熱機床,每隔20分鐘做一次定位誤差測量采樣,采樣間隔100mm,并用點溫計記錄滾珠絲桿的溫度。因此一定溫度T的定位誤差曲線可以表示為如圖2所示的直線,其數學表達式為:
ΔKX(T)=K0(T)+tanβ(T)?(PX-P0) (1)
式中:
ΔKX(T)―軸PX位置的定位誤差溫度偏差(補償)值;
K0(T)―與軸位置不相關的溫度偏差(補償)值;
PX―軸的實際位置;
P0―軸的參考點位置;
tanβ(T)―與軸位置相關的溫度補償系數(定位誤差曲線的梯度)。
式(1)中,其梯度tanβ(T)和軸位置不相關溫度補償值K0(T)均是隨溫度變化的函數。
圖1 實驗曲線圖
圖2 溫度補償
840D系統溫度補償功能的工作過程:將測量得到的溫度偏差(補償)值送至NC插補單元參與插補運算修正軸的運動。若溫度補償值ΔKX(T)為正值就控制軸負向移動,否則正向移動。由于溫度影響的滯后性,PLC程序采取定時間隔采樣溫度(T)的方法,周期性地修改NC中相關補償參數,并利用式(1)計算溫度偏差ΔKX(T),從而補償掉溫度變化產生的位置偏差。
3 硬件設計
硬件連接圖如圖3所示。
圖3 硬件連接圖
圖3中B231/B232為PT100型熱敏電阻,安裝于機床上靠近絲桿處,采樣溫度更接近引發熱膨脹的“機溫”。A86為S7-300型PLC兩通道12位AD轉換器,其作用是將電阻溫度傳感器采樣的模擬量溫度信號轉換成數字量,送至840D NC-PLC接口,以便PLC程序作運算處理。
4 PT100電阻溫度傳感器
PT100是鉑電阻溫度傳感器,它適用于測量-60℃~+400℃之間的溫度,完全適用于機床的使用環境溫度5℃~45℃。PT100在0℃時電阻為100Ω,隨著溫度的變化電阻成線性變化,大約是0.4Ω/℃。為了把PT100隨溫度變化的電阻轉換成電壓,AD轉換器模擬量接口提供恒流源輸出,即輸出 12.5mA恒電流源供給PT100傳感器,在傳感器回路中產生5mV/℃線性輸入電壓。AD傳感器把這個電壓轉換成數字量,程序周期地讀這些數字量,并將所讀的這些數,利用下面的公式計算出溫度值。
溫度 T[℃]=(溫度數字量-0℃偏置量)/1℃數字量
其中:溫度數字量=存儲在NC_PLC接口IWxxx中的測量值;
0℃偏置量=在0℃測量出的數字量,該值為4000;
1℃數字量=溫度每升高1℃的數字量,該值為16。
PLC定時采樣溫度值,利用上式計算出溫度數字量并轉換為帶一位小數點的十進制溫度值,然后計算出溫度補償參數K0(T)、tanβ(T),周期性送至NCK刷新溫度補償參數。
5 軟件設計
根據公式(1)西門子溫度補償有三種類型供選擇:
(1) 位置不相關型:ΔKX(T)= K0(T);
(2) 位置相關性:ΔKX(T)= tanβ(T)?(PX-P0);
(3) 位置不相關和位置相關型:ΔKX(T)=K0(T) + tanβ(T)?(PX-P0)。
軟件設計選擇第二種類型,即在一般溫度補償公式(1)中取K0(T)=0(忽略參考點處溫度影響);若以機床參考點作為零基準測量位移(即P0=0),則位置相關型溫度補償數學模型和曲線見式(2)和圖4。
ΔKX(T)= tanβ(T)?PX (2)
從圖4 T-TC曲線可知(2)式中:
(3)
圖4 T-TC曲線
如圖4取T0=23℃,Tmax=42℃,TKmax=270µm/1M。
因此,tanβ(T)=( T-23℃)?14.21 [µm/1M] (4)
PLC程序采樣溫度T,用(4)式計算tanβ(T)值并周期性地刷新NC機床參數MD=TEMP_COMP_SLOP。PLC程序設計如下:
OB23 //定時調用組織塊:用PT100 RTD測量溫度并計算tanβ值,傳送至NC刷新機床參數
NETWORK 1
……
L 0
T MD196 // 清除 MW196 和 MW198.
L B#16#10
T MW250 // 在MW250中裝入1℃數字量=16
L B#16#4000
T MW252 // 0℃偏置量=4000
…… //
NETWORK 2
L IW500 // X軸采樣溫度值
T MW200 // 把采樣溫度數字量裝入MW200
L IW200
L IW252
-I // 減去0℃偏置量
T MW198
L MW250
/I // 除以1℃數字量
T MW196
L B#16#10
*I // 余數乘以10
L MW250
/I // 10*余數/16=一位小數點的數
L MW196
T MW160 // 保存一位小數點的數,即溫度小數值*10
L 0
T MW198 // 刪除MW198中的值
L B#16#10
*I // 溫度整數值乘以10
L MW160
L MW200
+I // 溫度整數值*10+溫度小數值*10
L MW200
T DB103. DBD220 // 傳送結果到DB103. DBD220
…… //
NETWORK 3
A M78.4 //滿足啟動條件
AN M78.1
AN M78.2
AN M78.3
S M78.1 //設置傳送啟動
CALL FC3,DB105
IN0 :=M78.1 //傳送啟動
IN1 :=1 //傳送數量
IN2 :=DB103. TEMP_COMP_SLOP //傳送至NC參數
……
OUT34:=M78.2 //傳送完成
OUT35:=M78.3 //無故障
OUT36:=DB103. DBW119 //傳送狀態
IO37 := DB103. DBD220 //采樣溫度值
……
A M78.4
AN M78.1
AN M78.2
AN M78.3
R M48.4 //復位啟動條件
A M78.1
A(
O M78.2
O M78.3
)
R M78.1 //復位啟動信號
……
NETWORK 6 // 程序結束
END