陈建军, 谢 峰, 汪小武, 马 亮, 夏政诚
(安徽大学 电气工程与自动化学院,安徽 合肥 230601)
随着工业进程的发展,不同机械部件之间的联结趋于精密。然而,传统的机械扳手因无法提供较大扭矩及控制精度低等原因会出现“欠拧紧”与“超拧紧”现象,因而无法确保联结的可靠性和满足现代化生产的要求,所以,研制一款控制精度较高的数显扭矩扳手具有很高的实用价值[1]。
针对数显扳手扭矩输出的控制,许多学者做了深入的研究。李晶设计了一种霍尔传感器用于监测控制扭矩,并将扭矩信息处理后通过数码管进行显示,但该方案的整体控制功能简单,控制精度稍低[2];石延平等人从传感器出发,利用压磁效应研制出一种非接触式动态扭矩传感器可实现对扭矩值的输出控制[3];为解决扭矩传感器安装不易等问题,卢腊等人基于应变检测原理和无线传输技术设计出一种动态扭矩测量系统来实现对扭矩的控制[4];汤春球、李博文等则利用扭矩转角法来控制扭矩的输出,可实现对扭矩的精准控制[5,6]。上述方案均采用扭矩传感器进行扭矩监控,虽能精确控制扭矩输出,但由于扭矩扳手工作环境恶劣,外部环境中存在大量的电磁干扰,扭矩传感器很可能因为采集的数据出错而导致显示错误甚至失控等问题,具有极大的安全隐患。
本文提出了一种通过检测扳手运行中的电流和转速信号来控制扭矩输出的方案。该方案能准确传递输出扭矩、有效控制电机正反转及反映系统异常工作状态,大大地提高了系统的安全性和准确性。实验结果表明,系统误差达到预期设计要求,扭矩输出稳定、精确,完成了一种新型数显扭矩扳手的研制。
本设计使用直流有刷电机进行扭矩输出。在直流电动机运转中,电机轴上的动力学方程为[7]
(1)
式中Tem为电磁转矩,T1为负载转矩,T2为空载转矩,J为转动惯量,GD2为电机轴上的飞轮惯量。
当电机运转中,由于空载T2很小,可忽略不计,所以由式(1)可得
(2)
直流电动机所产生的电磁转矩Tem为
Tem=CTΦIa
(3)
式中CT=Np/2πa为转矩常数;Φ为电枢磁通。
联立式(2)、式(3)可得负载转矩T1为
(4)
由式(4)可知负载转矩与转子电流和转速之间的关系方程T1=f(Ia,n)。由以上分析可知电机的电磁转矩随着电枢电流的增加而线性增加,当负载较大时,电枢反应的去磁作用会使电磁转矩略有下降。而电机空载时,电枢电流Ia=Ia0,电磁转矩Tem=CTΦIa0=T2;带动负载时T′em-T1-T2=(GD2/375)×(dn/dt);可得到电机负载运行时转矩与除去空载运行电枢的电流增量和扭矩之间的关系方程T1=f(ΔIa,n)[7]。综上所述,电机的负载扭矩由电机运行时的电流和转速决定,所以,可通过检测电流和转速信号进而得到电机具体的负载扭矩值。
采用模块化的思想设计系统硬件电路,主要有主控制器模块、电机驱动模块、参数检测模块、电源模块、人机交互模块、系统保护模块以及上位机通信模块。系统原理如图1所示。
图1 硬件电路总框图
选取PIC18F4520单片机为主控制器,它价格低廉,抗干扰能力强。该单片机采用互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)结构,功耗极低,其I/O端口具有25 mA吸入/拉出电流,可直接用于驱动继电器和光耦[8]。还具有8通道10位模数转换器,3个定时器,2个捕获/比较/脉宽调制(pulse width modulation,PWM)功能,以满足控制系统对信号采集的要求,同时还有数据存储和与计算机通信的功能。
采用了PWM控制HIP4081电机驱动芯片调节晶闸管导通的方式来控制电机的启动。该方式可降低电机启动时的瞬时电流,能保护整个电路并提高信号采集精度。HIP4081驱动芯片输出电流峰值为2 A,工作频率为1 MHz,具有DIS禁止端,能够控制芯片所有端口的输入,方便与外围电路结合组成保护电路。如图2所示,用4个金属氧化物半导体场效应管(metal oxide semiconductor field effect transistor,MOSFET)和电机组成H型驱动电路,将HIP4081驱动芯片的ALI和BLI接到单片机上,由单片机提供相应的PWM驱动信号,该信号经驱动芯片控制H桥可实现电机平稳启动和正、反转。
图2 电机驱动电路
参数采集分为电流采集和转速采集两部分。使用ACS758电流传感器采集电流信号。该传感器可测量0~100 A的电流,灵敏度40 mV/A。如图3所示,采集的电流信号从IP+端口进入ACS758模块,经ACS758处理后从VIOUT口输出。为了提高电流的采集精度,将采集的电流信号经过滤波后,从OPAI输出到单片机的RA1接口,经A/D转换后变成数字量并存储在寄存器中以备随时调用。
图3 电流检测电路
使用霍尔转速传感器测量电机的转速。其工作原理是在电机轴上安装磁性转盘,传感器安装在磁体旁边,当电机转动时将带动磁盘转动,传感器每检测到一次磁体就会输出一个相应的脉冲,求得单位时间的脉冲数便可得被测转速[9]。本设计使用SJ1092H型霍尔转速传感器,其频响特性处于0~20 kHz,负载能力最大20 mA。电路如图4所示,为了提高转速采集的精确度,加入了RC电路,可有效消除转速信号的高平干扰。
图4 转速检测电路
软件开发环境是由MPLAB、HI-TECH和PIC单片机联合组成。使用C语言在MPLAB上进行编写,用HI-TECH进行编译并下载到PIC单片机中。该软件可实现程序的在线编程和修改,简单方便。
1)系统上电后,初始化各端口寄存器和模块。随后在扭矩设置界面设定扭矩,选择电机正反转方向,按下启动按键,进入PWM驱动程序。将单片机的CCP1设置为PWM模式,并给周期寄存器设定初始周期和脉宽值。打开TMR2定时器,逐渐增加脉宽值到100 %,随后关闭CCP1并将RC2引脚置1,保持电机平稳运转。
2)转速采集使用CCP模块捕捉单个脉冲的上升沿时间Tk1和下降沿时间Tk2,则周期T=2(Tk2-Tk1),频率f=1/T,根据式n=60f/p可计算出转速;电流信号则使用电流传感器采集。
3)利用单片机内置的10位高速A/D模块对采集数据进行转换。为了保证采集数据的准确性,使用滑动加权平均滤波算法对数据进行平滑滤波。原理为:定义长度M=10的序列,每次采集的数据都从序列尾部输入。当数据多余10个时,多余的数据会从头部移除,对10个数据加权后取平均值作为采样输出值。其公式如下
(5)
式中ci为加权系数,ci=1/Δ;其中,Δ=1+e-r+e-2r+…+e-(N-1)r,r为滞后时间。
4)将采集的转速和电流输入单片机中计算出当前的扭矩值,与设定的扭矩值比较。当计算的扭矩值和设定的数值相等时,电机停止转动,显示“完成”字样。若小于设定值,则继续工作直至达到预设值时停止。整个过程都会对电压、温度和电流进行检测,一旦出现异常系统会自动停止并显示。
为了验证设计的数显扭矩扳手控制系统的控制精度,需要进行实验测试。在完成所有硬件模块调试和软件编程后,搭建如图5所示的扭矩测试平台进行测试。本实验选取1 200~3 000 N·m测试范围,间隔300 N·m测试一次,每次测试3组取平均值。测得数据如表1所示。
图5 扭矩测试平台
表1 测试数据 (N·m)
理论上,电动扳手的设定值应与实际值保持一致。但是由于影响扳手的精度除了建立模型对应的转速、电流之外,还受电机的机械因素等影响,加上扳手使用中温度升高会影响磁通量,而理论考虑时认为磁通量为定值,因此出现表1所示情况。
针对这种情况,将测试数据导入MATLAB中,使用线性回归的方法对数据进行拟合、校准。取线性回归模型的数学方程为
y=a+bx+ε
(6)
式中a为截距项,b为斜率项,ε为误差项,x为设定扭矩值,y为实际扭矩值。当误差项ε达到最小可得到期望曲线。由于ε可为正值或负值,所以将ε达到最小转换为ε平方和最小问题。计算公式如下
(7)
若使J(a,b)达到最小,可对a,b求偏导来求解参数a和b,进而得到J(a,b)的最小值。计算公式如下
(8)
联立式(6)~式(8)可得
(9)
扳手使用前,需先采集x1=1 200 N·m和x2=3 000 N·m两个点对应的实际值,代入式(6)、式(9)中计算出线性回归曲线,按照校正后的曲线模型进行扭矩输出。这种方法的优点是能有效避免电机在生产中造成的参数不一致等因素对扭矩输出的影响,大大提高扭矩控制精度。
在扳手使用前先测量1 200 N·m和3 000 N·m对应的扭矩值进行参数校准。校准完成后通过扭矩测量平台进行扭矩输出精度测试,测得数据如表2所示。
表2 校准后测试结果
由表2可知,在1 200~3 000 N·m的扭矩测试范围中,该数显扭矩扳手能以设定的扭矩对螺栓进行紧固,扭矩输出相对误差最高为4.51 %,最低为1.27 %,且扭矩输出较为平稳,离散性较小,控制精度均优于±5 %,系统控制精度满足设计要求,数显扭矩扳手功能基本实现。
然而理论上设定的扭矩应该和实际输出的扭矩保持一致。分析±5 %的误差存在的原因是:影响扳手的精度除了建立模型对应的转速、电流之外,还受电机的机械因素等影响;扳手运转中,测量设备间的机械摩擦阻力影响了一部分扭矩输出;扭矩测量仪器存在着±1 %的系统测量误差。
本文以PIC单片机为核心,通过合理的软件和硬件设计,在节约成本的同时完成了数显扭矩扳手控制系统的设计。实验结果表明:本文系统实现了对扭矩输出的精确控制,扭矩相对误差控制在±5 %以内,并具有可靠性高,工作状态可追溯及方便携带等优点,达到了预期设计要求,具有广泛的应用前景。