黄剑峰
(上汽通用汽车有限公司, 上海 201206)
整车动力总成的正时系统负责气门开闭和曲轴的对应关系,主要分为正时皮带和正时链条两种,前者是橡胶材质,随着时间的推移会老化,需要更换保养,但是造价便宜,后者则是终身免维护,不存在弹性形变,正时更精准,可实现静音链,但是造价昂贵,两种正时系统互有优劣。
正时系统的装配要求是极其严苛的,在设计研发阶段的锱铢必较,为的是燃油效率的最优化,保障客户的经济利益和国家的环保事业。当设计要求面临着数十万年产能的实际生产时,如何保障产品的公差,准确找到正时位置,并完成产能要求,成了产业重大难题。
传统的做法都是人工安装,通过工装进行精细调节,这样的做法仍存在大量的弊端,误差过大,人工节拍慢,只能用于正时皮带的安装等等。
上汽通用的工程师们则创新设计了自动正时系统装配工位,通过传感器、编码器的算法来计算正时角度,保障其精准定位,该方案省去了人工,提升了安装精度,能适用于正时皮带和正时链条的安装。本文中则以正时链条装配为例。
正时系统:将进、排气凸轮轴和曲轴的相对位置保持在一个固定的角度上,曲轴的转动通过正时链条带动进排气凸轮轴,实现气门的精准开闭,如图1所示。
传统正时系统在凸轮轴与相位链轮间用销进行定位,通过链条上的标记点对应正时关系,链条间距、导条尺寸公差等造成的影响会使正时系统公差达到12度曲轴转角,而新的正时系统采用自动化装配,研发部门就可以省去销键组合,规避相关尺寸公差,能满足公差7度的曲轴转角范围,有效改善正时系统精度。
图1 发动机正时链条Fig.1 Engine timing chain
基于PLC的自动控制系统,负责工位内气缸、电机、伺服轴的动作,HMI是提供设备信息的窗口可以辅助人工输入指令,凸轮轴的位置则有LVDT传感器进行检测,数据传输给IPC处理,再反馈结果给PLC,驱动伺服轴,得到正确的正时位置。
工位的布局如图2所示,当托盘带发动机到达工位后,二次定位抬起,机构抱紧缸盖,LVDT开始检测位移,换算成凸轮轴角度,同时夹爪转动凸轮轴到正时角度,并锁紧凸轮轴,拧紧轴伸出锁定凸轮轴链轮,同时气缸伸出张紧链条,最后拧紧凸轮轴链轮螺栓,工作完成,各机构复位。
图2 自动正时装配工位布局Fig.2 Automatic timing assembly station layout
正时链条的设计总公差曲轴角度为±7度,而产品本身的加工、设计则会带来±5.5度的公差,所以留给实际装配的公差精度只有±1.5度了,如表1所示。
传感器在原理和结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理的选用传感器,是在进行某个量的测量时首先要解决的问题。
正时系统中必须要测量的是凸轮轴的角度,但由于凸轮轴已经安装在了缸盖内部,所以市面上的角度传感器没有合适的安装位置,且由于要测量的凸轮轴角度只有0.2度的公差,精度要求太高,所以设计中还是选择了LVDT位移传感器,该类型的传感器精度高,安装方便,而且在力臂杠杆的辅助下可以更精准的测量凸轮轴的转动角度,如图3所示。
表1 正时链条装配精度要求Table 1 Timing chain assembly accuracy requirements
传感器的品类和测量方案、测量设备是同步设计的,选择了LVDT后,也同时确定了凸轮轴上的测量点:发信轮和桃片基圆。对于这两个精加工标志面,分别采用了直接测量和间接测量的方法,如图4所示。
直接测量桃片基圆的位移偏移量,LVDT传感器A,行程2 mm,精度1 μm,重复性0.3 μm。
间接测量采用力臂杠杆,LVDT传感器B,行程20 mm,精度1.4 μm,重复性3 μm。
同时,精密测量的环境也非常重要,为了保证数据的准确性,必须保证缸盖完全固定,在增加了缸盖的抱紧机构后,还需要确保检测机构与缸盖的紧密贴合。三点确定一个面,所以,在整体测量机构上增加三个数字量LVDT传感器,检测测量机构是否和缸盖完全贴合,相对位置完全固定。这三个LVDT传感器的处理就简单了许多,只要输出0、1信号给PLC,确认贴合即可。
A传感器检测的是凸轮轴桃片基圆,则出现了原始位置值L0,直接测量的位移值L1。B传感器通过力臂杠杆检测的是凸轮轴发信轮转动角度,同样有原始位置值H0,直接测量位移值H1。
L0和H0都是标定值,已知常量,L1和H1是真实测量时得到的值,也是我们最终要判断凸轮轴正时角度的依据,即我们的目标是找到H1和L1的对应关系和允许公差,在工件到达工位后,转动凸轮轴,同时测量得到实时的L1和H1值,判断H1是否在允许的公差范围内,判断此时凸轮轴是否已经到达正时角度。
LVDT传感器采集到的数据是高速的、大量的、复杂的,PLC无法进行如此繁杂的数据处理,所以只能将数据通过TCP/IP协议传输给IPC,由IPC的软件进行处理,并反馈结果给PLC,PLC根据结果再对设备的元器件进行下一步的控制,数据的链路就此形成,如图5所示。
PLC工控系统用的是Profinet总线,PLC与IPC之间是通过TCP/IP协议通讯,IPC与LVDT传感器之间是通过Ethernet通讯。
自动正时装配工位的设计和测量验证是完全依照国标GB/T1958-2017执行的,这是国际通用的产品几何技术规范(GPS),规范以计量数学作为基础语言结构,给出了制造与计量之间量值传递的数学方法[1]。
同时,GPS规范也规定了制造图纸的标准画法,产品的设计得以和制造人员无障碍的沟通,在检测的判断中,我们也必须按照规范的要求考虑凸轮轴本身的尺寸误差,凸轮轴安装的跳动误差,伺服电机及减速箱机构带来尺寸链误差,筋板机构的形变误差。在测量环境方面,也要计算验证夹爪的夹紧力对工件的损伤,及凸轮轴可承受的扭矩极限等。
检测设备的能力指数CpK,就是评估一个测量设备的测量能力是否和被测产品的公差要求相匹配的方法[2]。在设计层面上对一个测量设备进行重复检测(50次),得出测量的平均值或平均值偏移值,标准差。
常用的CpK计算方法为:
CpK=(0.1×被测产品的公差范围-平均偏移值的绝对值)/(2×标准差)
实际的应用中要求CpK≥1.33,达到国标规范中的A级状态标准。
在LVDT传感器A、B的布置下,可以得到以下两条公式:
(L1-L0)/15=tanθ
(1)
(H1-H0)/120=tanθ
(2)
其中15是凸轮轴桃片基圆半径,120是力臂杠杆的总长度,单位都是mm(毫米)。L0,H0都是标定已知的常量。
故,得到:
H1=H0+120×(L1-L0)/15
(3)
这就是在完美情况下的H1和L1的对应关系,两者成一维正向线性。
接下来,依据设计图纸得出凸轮轴桃片基圆的半径公差为15 mm±0.035 mm,所以,我们假设半径偏差有0.035 mm,中心位置没有变,这相当于半径没有变,而中心位置偏移了0.035 mm,桃片基圆边缘的偏移,测量的是X方向上的。在测量方案确定时,传感器A的测量路径与力臂杠杆的挡块就处在了垂直方向上,所以Y方向上的位移可以不用测量。所以此时计算基圆偏差时,如果使用细针探头,那么,当Y方向上出现偏移时,细针探头也会出现读数,即左图中红色部分距离,影响整体位移判断。所以将细针探头换成了同样灵敏度的圆面探头,就弥补了凸轮轴在Y方向上的偏移,如图6所示。
基圆半径偏移0.035 mm,凸轮轴相对应的相当于偏转了α度:
同时,因为基圆半径的偏移,LVDT传感器B的读数偏差为Y:
凸轮轴信号轮允许的旋转公差为±0.2°,则发信轮与力臂杠杆的接触测量点推动的位移是X。
X=tan 0.2×23.8=0.08 mm
经过了力臂杠杆的放大作用,LVDT传感器B的读数偏差为Z,
Z=0.08×120/15=0.64 mm
图6 凸轮轴桃片基圆的位移对传感器读数的影响Fig.6 The effect of the displacement of the base circle of the camshaft peach piece on the sensor reading
所以,合格的要求则演化成:
还需要减去基圆半径公差带来的公差带±0.28 mm,最终:
即:
凸轮轴在缸盖上的装配不是完美的,轴瓦的加工也是有公差范围的,所以在实际测量过程中还需要考虑凸轮轴在缸盖X方向上的摆动(Y方向上移动不影响测量结果),如图7所示。
图7 缸盖上凸轮轴的位置Fig.7 The position of the camshaft on the cylinder head
轴瓦的精加工尺寸为φ23(+0~+0.021)mm,凸轮轴轴径的精加工尺寸为φ23(-0.05~-0.065)mm。
轴瓦与凸轮轴最大的间隙为0.021 mm+0.065 mm,即0.086 mm;
所以,凸轮轴中心线的最大偏移为0.086 mm的1/2,即0.043 mm;
以凸轮轴一端为零点,轴瓦的距离为229 mm,发信轮的距离为281.05 mm,桃片基圆的距离为234.33 mm。凸轮轴中心线的偏差带来的LVDT传感器A的读数偏差为T,LVDT传感器B的读数偏差为S。
所以,凸轮轴在X方向上摆动的造成的读数公差值为M:
所以,在考虑了装配精度后,最终的合格要求为:
其中L0是2 mm量程LVDT传感器标定读数,也是在实际测量中得到的基准点位移均值。H0是20 mm量程LVDT传感器标定读数,是在实际测量中第一个上升坡度起始点的位置值。
.Net平台是国际通用的软件开发平台,易于维护和集成,C#语言就是其中一种标准开发语言,根据实际的需求,我们选择使用C#语言在.Net平台上开发软件。
IPC上软件与PLC的交互方案是多种多样的,有串口通讯、Ethernet通讯、TCP/IP通讯、OPC通讯和Socket通讯等等,各有优劣。通讯方式的选择决定着系统的稳定性,维护性,可拓展性,同样的,从实际的应用要求出发,我们选择的是Socket通讯。
Socket通讯本质上也是TCP/IP通讯的一种,将C#软件作为服务器端,监听整个网络的连接请求,当检测到客户端的PLC发出连接请求时,建立与客户端PLC的连接。
Socket通讯的实现有两种:同步和异步。然而同步通讯占用的线程太多,不适合本项目中要求的与PLC实时的高频次通讯,所以Socket必须是异步通讯,使用AsyncCallback函数来实现,PLC中则应用西门子官方通讯FB63/64/65组合来进行客户端发送模块编程,如图8所示。
图8 客户端PLC与服务器软件中的socket通讯结构Fig.8 Client PLC and socket communication structure in server software
自动正时设备的测量数据是庞大的,单次测量开始后,LVDT数据,伺服编码器数据,扭矩传感器数据都是实时采集,要将这些庞大量的数据全部采集起来,即繁琐困难又无必要。数据的保存和后续的趋势分析,最重要的是对数据的定义,在纵观整个测量工艺和生产过程后,我们制定了以下的关键数据点采集原则:
H0:凸轮轴开始转动后检测到的第一次上升坡度的起始位置LVDT传感器读数。
H1:最终正时位置LVDT传感器读数。
L0:凸轮轴开始转动后的LVDT传感器读数的平均值。
L1:最终正时位置LVDT传感器读数。
E:检测到正时位置时,伺服编码器的读数。
在确定了需要采集的关键数据后,SQL数据库的应用就顺理成章了。由于只需要SQL的基本数据库功能,我们可以使用免费的SQL Server Express版本。在C#程序中则引用命名空间System.Data.SqlClient,将ExecuteNonQuery()、ExecuteReader()、ExecuteScalar()集成到数据的写入读取类中。毕竟,在.Net平台上,C#软件与SQL系统的链接是方便、快速和稳定的。
正时系统的计算公式出现后,还需要与实际的检测数据做拟合,毕竟理论和实际的差距是巨大的,数据曲线、拟合函数的处理,我们需要MATLAB的帮助。
在MATLAB中根据函数建立数学框架,得到二维图,X轴是伺服电机编码器的读数,Y轴是LVDT传感器的实际读数值,如图9所示,它揭示了伺服编码器值与LVDT读数的实时关系。
图9 伺服编码器值与LVDT传感器读数曲线Fig.9 Servo encoder value and LVDT sensor reading curve
MATLAB中出现的曲线,要得到他的多项式拟合函数,需要使用polyfit函数,即:
Help polyfit(xdata,ydata,2);
而多项式在x处的值y可用下面的程序计算:
y= polyval(a,x);
这样,MATLAB中完成的函数需要封装成dll文件(动态链接库),添加到C#软件对应的debug和release目录下,并在解决方案的引用中添加该dll文件。
在C#的实时测量中,测量得到的实时数据将导入MATLAB动态链接库中,通过MATLAB的计算和拟合,通过标定的H0、L0位置,得出H1的目标位置,以及该位置对应的伺服电机编码器读数,将这个读数作为目标值反馈回C#软件中进行处理,再通过Socket通讯将信号传递给伺服控制器,正时角度的微调就有了可能,且精度更高,速度更快。
IPC软件的应用弥补了PLC工控系统数据处理能力的不足,软件平台的选择,语言结构的运用及其他组件的生态环境其实并不唯一,在市场上是有多种选择的,不论如何取舍,IPC软件的核心还是算法的应用。上汽通用的自动正时装配工位,在.Net平台上,用C#语言搭建出一个软件系统, SQL Server Express做数据库存储和归纳,MATLAB做数据曲线的函数拟合和计算,再以产品装配的多种算法为核心最终实现了设备的功能。
产品装配算法的标准化、精细化,使设计得以完美地呈现出来,并与实际设备相结合,达到了±7度公差的正时装配效果,远远高于传统人工工装的±12度公差,更不用提自动装配所节省的人力成本和提高的产能节拍了。未来的智能装配中,基于国标如GPS、CgK的设计和研发中将越来越多的出现更优化、更简洁的高端算法,使我们的设备更加智能、精密、专业。我们的技术人员、研发人员也将牢牢抓住科技潮流,共同努力,勇于创新,大步迈向智能化、信息化。