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
|