基于测试数据的数字轨距尺超高测量温度修正方法
2016-11-23黄敏捷
黄敏捷
(桂林电子科技大学电子工程与自动化学院,广西桂林541004)
基于测试数据的数字轨距尺超高测量温度修正方法
黄敏捷
(桂林电子科技大学电子工程与自动化学院,广西桂林541004)
为提高数字轨距尺在国家标准规定使用温度范围内的超高测量精度,用高精度温控转台产生参考角度,把倾角芯片所感应的角度数据固化到数字轨距尺系统中,形成修正用测试数据.在轨距尺实际使用过程中,通过温度传感器获取实时环境数据,结合倾角传感器的感测值,与测试数据进行递归比较.利用STM32处理器的高速处理能力,实时计算修正值对当前感测数据进行修正.通过比对测量结果,示值误差减少0.28mm,证明本方法能大幅度提高倾角传感器全温度范围的测量精度,对提高轨距尺超高测量精度有重大的实用价值.
数字轨距尺;倾角传感器;温度修正;程序算法
0 引言
目前我国市场上的数字轨距尺,都是使用基于MEMS技术的液态摆锤原理倾角传感器SCA103T[1]对铁轨超高进行感测.在20℃下SCA103T可以很好地满足对铁轨超高测量精度的要求[2],但当温度发生较大变化后,超高感测值将会产生较大变化,有可能导致测量误差超限;因此,需要对该芯片进行温度修正.
国内的数字轨距尺大多数没有进行超高测量的温度修正,个别厂家进行的温度修正[3]也只是依据SCA103T芯片的技术规格书里的零点偏置漂移系数0.002°/℃进行全角度范围的线性化补偿.然而,通过实际测试,SCA103T在不同角度时不能仅仅依靠零点偏置漂移系数进行补偿.
本文将介绍一种基于SCA103T的多角度全温度范围测试数据的数字轨距尺超高测量温度修正方法,以实现对SCA103T的精确温度修正,提高数字轨距尺超高[4]测量的精度.
1 倾角传感器多角度全温度范围的感测数据获取
使用中国船舶工业集团研制的某型高精度温控转台[5](图1),模拟正负一共37个角度,温度范围-30℃~60℃.使用数字轨距尺自身的数据处理显示模块进行数据采样和读取.测试数据见表1.
图1 高精度温控转台Fig.1 The high-precision turntable with temperature control function
表1 测试数据Tab.1 Test data
2 当前温度修正方法的弊端
目前部分数字轨距尺的超高测量算法中,依据芯片给出的零点偏置温漂系数进行温度修正的超高示值h计算公式如下:
式(1)中:
h——数字轨距尺超高示值(mm);
k——超高感测值(mm);
0.002——传感器官方提供的零点偏置温漂系数(°/℃);
l——轨距尺实测轨距(mm)(在测试试验中,l为常量1 435);
70——基本轨上部宽度(mm);
T——环境温度(℃).
式(2)中:
α——倾角传感器感测值(°);
l——轨距尺实测轨距(mm)(在测试试验中,l为常量1 435);
70——基本轨上部宽度(mm);
通过测试试验,当传感器处于零位时,温度变化-30℃~60℃,把试验数据k值带入式(1),计算出来的h与H基本相同,偏差在0.05mm内,说明当传感器处于零位时,基于式(1)的轨距尺超高温度修正行之有效,超高示值h在轨距尺的使用温度范围内均不会超出精度要求范围,误差在0.05mm内.
当传感器不处于零位时,温度变化-30℃~60℃,把试验数据k值带入式(1),计算出来的h与H有可能存在较大偏差.如当T=-10°C,H为70mm的时候,把k和T带入式(1),得h=70.3mm,h与H有0.3mm的偏差,轨距尺超高测量值出现较大误差(轨距尺超高允差为±0.3mm).纵览表1,如用基于式(1)的方法进行超高温度修正,测量值出现大误差的测试点很多,仅仅因为温度变化的关系引入的测量误差就占允差的2/3.
在零位和非零位,SCA103T-D04倾角芯片呈现出不同的温度特性,零位时可用芯片给出的零点偏置温漂系数进行温度补偿,而当倾角芯片感应出角度的时候,用给定的零点偏置温漂系数按式(1)进行温度补偿的效果并不理想.
倾角传感器从工作原理上可分为“固体摆”式、“液体摆”式、“气体摆”式3种,固摆式的温漂系数最小,但精度低且体积重量大,不适用于数字轨距尺.SCA103T-D04是基于MEMS技术的液态摆锤原理倾角芯片,特点是体积小、重量轻、价格便宜、线性拟合后常温下精度达到±0.005°,零位偏置温漂系数小,存在灵敏度温漂系数,综合来看这款传感器非常适合用于数字轨距尺中的超高测量.笔者选用高速16位A/D转换芯片,采集SCA103T-D04的差分电压输出,可以得到0.000 5°的分辨率.参照数字轨距尺的国家标准要求,分辨率为≤0.002°.
3 基于测试数据的温度修正方法
温度漂移是电子元件普遍存在的问题.SCA103T-D04芯片是MEMS加速度计式倾角传感器,它的核心部件是一个高稳定硅微机械式电容倾角敏感元件,传感器单元是差动电容器,其输出与加速度成正比.由于电容器极板间距尺寸、电介质介电常数都受温度的影响而发生变化,电容器也将随温度改变而改变,为降低温度传感器的温度漂移,提高测量精度,必须对传感器进行温度修正.
目前的数字轨距尺对SCA103T-D04T的温度补偿一般采用软件补偿法,通过温度传感器获得环境温度T,带入式(1),计算出超高示值.然而,根据表1数据,利用式(1)计算出的超高示值在非零位测量时依然会出现大误差情况,究其原因是:传感器芯片的灵敏度随温度产生漂移,在有角度输入的情况下,仅用式(1)进行温度补偿并不能修正灵敏度温漂对传感器测量精度的影响.
灵敏度温漂系数与零点偏置温漂系数共同对传感器感测值的影响很难用类似式(1)这样的连续函数描述;因此,笔者摒弃用公式对传感器进行补偿的思想,拟用软件查表的方法进行温度补偿.表1就是用于温度补偿的测试数据表.
3.1查表法有效可行性条件
3.1.1重复性
查表法进行温度补偿的前提条件是传感器的重复性,即在相同条件下,对同一角度的感测值不变.经过实际测试,SCA103T-D04的重复性在0.002°之内,转化成超高为0.05mm.
3.1.2同温度下相邻测试点间误差差值的绝对值小于0.3mm.
在表1的测试数据中,当温度T为-20°C,相邻测试点标称值H1为20mm,则H2为30mm(或10mm),测试点H1感测值为18.1mm,误差为1.9mm;测试点H2感测值为28.15mm,误差为1.85mm,则误差差值的绝对值为0.05mm.经过计算,表1所有数据都满足此条件.
当此条件满足时,可以认为传感器在感测相邻测试点间的角度时,产生的感测值的误差与此2点的感测值误差近似相等,为进一步提高修正值精度,修正值取相邻测试点感测值误差的算术平均值.
如果某两相邻测试点不满足此条件,则可在这2个测试点间插入适当测试点,直到条件满足.
3.1.3同温度下相邻测试点的误差数值符号一致
同温度下相邻测试点误差数值符号一致时,可以判读传感器对测试点间的角度感测值均会出现偏大或偏小的情况,即误差同向性.
经过计算,表1的测试数据均满足此条件.
3.2测试数据变量定义
把测试数据用二维数组表示,如表2所示.
表2 二维数组表Tab.2 Two-dimensional table
表2中:
H——超高(mm);T——温度(°C);α——转台提供的转角(°);k——传感器感测值(mm).
续表
3.3温度修正公式
利用温度传感器测出倾角传感器所处环境温度T,倾角传感器感测值为k.
当:T在Tj与Tj+1之间,假设(Tj+1-T)>(T-Tj),则温度定位在Tj;k在kij和k(i+1)j之间;测试数据满足3.1.1~3.1.3;则采用查表法对温度进行修正的超高示值h计算公式如下:
图2 程序流程图Fig.2 Program flow chart
3.4软件程序算法
要运用式(2)进行超高温度修正,在程序[6]中,首先,定位当前温度T至表2的任意列;其次,定位感测值k处于表2的任意两行间.程序流程图如图2所示.
首先判断温度传感器采集到的温度数据T位于表2任意2个温度T值之间.采用逐一递归[7]比较的方法.即用T分别与Tj,Tj+1代数求差,当△Tj与△Tj+1同号时,累加j,继续比较;当△Tj与△Tj+1异号时,判断T在Tj和Tj+1之间,停止比较.
找到T所在区间后,再比较△Tj与△Tj+1的绝对值,如果△Tj≥△Tj+1,则定位温度在Tj+1,反之定位温度在Tj.
假设定位温度在Tj,采用相同的方法判断k处于表2中Tj温度下任意2个k值之间,即用k分别与kij,k(i+1)j代数求差,当△kij与△k(i+1)j同号时,累加i,继续比较;当△kij与△k(i+1)j异号时,判断k在kij和k(i+1)j之间,停止比较.
把kij和k(i+1)j带入式(2),计算出经过温度修正后的超高值h并显示.
3.5温度修正结果比较
3.5.1常用方法修正
当T=-10℃,H=70mm,基于表1测试数据,k=68.75mm,l=1 435mm,代入式(1),得修正过的超高示值h=70.3mm.
当T=-20℃,H=120mm,基于表1测试数据,k=117.95mm,l=1 435mm,代入式(1),得修正过的超高示值h=120.05mm.
当T=40℃,H=150mm,基于表1测试数据,k=150.85mm,l=1 435mm,代入式(1),得修正过的超高示值h=149.8mm.
当T=60℃,H=180mm,基于表1测试数据,k=182.3mm,l=1 435mm,代入式(1),得修正过的超高示值h=180.2mm.
修正后的超高示值的示值误差最大为0.3mm,平均示值误差0.18mm.
3.5.2查表法修正
当T=-10℃,H=70mm,基于表1测试数据,k=68.75mm,l=1 435mm,按照3.3介绍的程序算法,kij=68.75mm,k(i+1)j=58.7mm,Hi=70mm,H(i+1)=60mm,代入式(2),得修正过的超高示值h=70.00mm
当T=-20℃,H=120mm,基于表1测试数据,k=117.95mm,l=1 435mm,按照3.3介绍的程序算法,kij=117.95mm,k(i+1)j=108.05mm,Hi=120mm,H(i+1)=110mm,代入式(2),得修正过的超高示值h=119.95mm.
当T=40℃,H=150mm,基于表1测试数据,k=150.85mm,l=1 435mm,按照3.3介绍的程序算法,kij=150.85mm,k(i+1)j=141.15mm,Hi=150mm,H(i+1)=140mm,代入式(2),得修正过的超高示值h=149.85mm.
当T=60℃,H=180mm,基于表1测试数据,k=182.3mm,l=1 435mm,按照3.3介绍的程序算法,kij=182.3mm,k(i+1)j=172mm,Hi=180mm,H(i+1)=170mm,代入式(2),得修正过的超高示值h=180.15mm.
修正后的超高示值的示值误差最大为0.15mm,平均示值误差为0.08mm.
用2种方法对相同4个测试点进行温度补偿,查表法超高示值误差最大值降低了0.15mm,平均示值误差降低0.1mm.与常用的温度修正方法相比,实现了测量精度[8]的大幅提高.
4 结束语
本文介绍的温度修正方法,是一种基于单个倾角芯片的全温全角度范围特性,根据实际测试数据利用软件查表进行偏差量修正的方法.程序算法简单,充分利用了数字轨距尺内STM32[8]处理器高速运算的特性,对二维数据表进行筛选操作,大大提高了数字轨距尺超高测量的精度.
不足之处在于:测试数据数量庞大,获取时间较长,把测得的数据写入程序需要花费不少时间,且人工操作容易出错,与数字轨距尺的量产要求有一定矛盾.接下来要尽力实现测试数据的自动化写入[9],即把测试数据自动存入数字轨距尺处理器中,提高数字轨距尺的生产效率.
[1]施云贵.基于SCA103T实现的高精度倾角检测系统设计[J].吉林化工学院学报,2008,25(3):68-70.
[2]国家质量监督检验检疫总局.JJG219-2008标准轨距铁路轨距尺检定规程[S].北京:中国计量出版社,2008.
[3]于娜,刘志远,赵佳龙.倾角传感器的温度补偿研究[J].传感器与微系统,2014,33(10):14-16.
[4]王彦春.铁路轨距尺的主要技术问题与对策[J].铁道技术监督,2008,36(4):22-24.
[5]赵光华,柴成磊,孟凡军.基于双速轴角转换器的测角系统[J].航空精密制造技术,2011,47(3):35-39.
[6]谭浩强.C语言程序设计[M].北京:清华大学出版社,2013.
[7]黄春艳.基于递归法在C语言项目实践中的探索和应用[J].电脑编程技巧与维护,2014(4):95-96,100.
[8]汤泽坤,唐培和.基于Stm32的光伏监控系统的设计[J].广西科技大学学报,2015,26(4):54-59.
[9]柯宝中.基于FPGA的乒乓式存取高速数据采集通道设计[J].广西科技大学学报,2015,26(1):45-47.
(学科编辑:黎娅)
Method of digital track gauge superelevation measurement temperature correction based on test data
HUANG Min-jie
(School of Electronic Engineering and Automation,Guilin University of Electronic Technology, Guilin 541004,China)
To improve ultrahigh accuracy of measurement of digital gauging rule within operating temperature range specified by national standard,the high-precision temperature-control rotary tables are used to generate reference angle,and the angle data induced by dip angle chip are solidified into digital gauging rule system to form test data used for amendment.During the practical using process of gauging rule,real-time environment data is obtained by temperature sensors to be compared by recursion with test data in combination with sensing value of tilt sensors. Modified value is computed in real time by utilizing high-speed processing ability of STM32 processor,so as to modify the current sensing data.By comparing measured results,it is shown that the indicated value error is reduced by 0.28mm,which proves that the measure accuracy of tilt sensors can be greatly improved within full temperature range.And this method has practical value for improving ultrahigh accuracy of measurement of gauging rule.
digital gauging rule,tilt sensors;temperature modification;programmed algorithm
TH712
A
2095-7335(2016)03-0082-07
10.16375/j.cnki.cn45-1395/t.2016.03.015
2016-02-16
黄敏捷,工程硕士在读,助理工程师,研究方向:控制系统集成,E-mail:195201744qq.com.