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