李 昌周松斌
(广东省科学院智能制造研究所,广东 广州 510075)
电涡流位移传感器,用于非接触式测量传感器与金属表面的位移。其原理是:激励信号加载在感应线圈上,感应线圈周围存在交变磁场,该磁场靠近金属物体时产生涡流效应。受涡流效应的影响,线圈的损耗与电感量发生变化。线圈靠近不同金属材料时,线圈电感量变化方向不确定,但线圈损耗一定变大[1]。本文采用通过测量线圈损耗的大小来测量线圈位移。
目前电涡流位移传感器理论研究比较充分,而电涡流位移传感器设计方面还没有完善的方案。从已有文献中发现,电涡流位移传感器一般采用振荡器或者DDS 产生激励信号,用检波电路或者绝对值电路测量线圈两端信号幅度作为输出[2,3]。为了减小温漂、提高稳定性,采用差分检测技术[4,5]或神经网络拟合、单片机拟合的方法[6]来实现线性化输出[7,8]。传感器包含多个电路模块,系统较为复杂,难以集成在安装空间较小的探头中。当激励频率达到100 kHz 时,绝对值电路精度下降。绝对值电路只能检测线圈信号的幅度,线圈信号与激励信号相位差无法测量,所以无法提取线圈损耗的大小。
STM32F3 序列单片机具有DMA 传输的DAC 与ADC,并且具有浮点运算器。DMA 控制DAC 输出正弦表,可产生激励信号;DMA 控制双路ADC 采样,可同时采集激励信号,响应信号;采样信号用数字锁相放大器进行幅度和相位测量[9];根据激励信号,响应信号的幅度和相位,计算线圈阻抗,阻抗实部为线圈损耗;再用实验的方法获取位移与损耗的数值关系;最后根据该数值关系实现传感器输出线性化。
电涡流位移传感器的电路结构如图1 所示。包含电流源激励电路、STM32F3 单片机、输出电路。
图1 电涡流位移传感器电路结构
其中STM32F3 单片机DAC1 输出正弦采样序列,形成信号U0。图中A1 为运放,信号U0通过缓冲器A2 产生激励信号U1,将U1的幅度与相位用复数表示。U1加载在R1两端,形成电流I1。电流I1流过传感器线圈L1与电阻R2上,在运放A1 输出端产生电压U2。R2与传感器线圈L1串联,用来减少信号相移,保证运放工作时的相位裕量。R1、R2为精密电阻,A3 为输出电路。
测量时,L1、R2串联阻抗设为,作为一个整体测量。得到后减去R2即可得到L1的阻抗。对于,加载在两端电压为U2。将U2的幅度与相位用复数表示。流过的电流为=1,通过采集U2、U1可得到两端的电压与流过的电流,进而计算=1的数值。
单片机ADC1、ADC2 对U2、U1,同步采样得到采样序列U2(n)、U1(n)。采用数字锁相放大器的方法测量、的幅度与相位,DAC2 用于输出测量结果。
数字锁相放大器由正交参考信号、数字相乘器、数字低通滤波器组成。如图2 所示,X(t)为输入信号,sin(ωt)与cos(ωt)为两路正交参考信号。输入信号与正交参考信号相乘对应的输出信号分别为YI(t)与YQ(t);信号YI(t)与YQ(t)经过低通滤波器输出信号分别为I(t)与Q(t)。
图2 数字锁相放大器结构
将输入信号定义为X(t)=Asin(ωt+φ),可得:
经过低通滤波器后,YI(t)与YQ(t)中交流分量被滤除,输出直流分量:
根据式(3)、(4)可得输入信号X(t)的幅度A与相位φ分别为:
根据式(5)、(6)可求得信号的幅度A与相位φ,其中相位φ为采样信号与参考信号之间的相位差。
在单片机DMA 控制器的操作下,设置激励信号S1的频率为f。ADC1、ADC2 进行同步采样,采样率为fs,采样率fs为激励信号频率f的N倍,这样每个信号周期有N个采样点。对信号U2、U1进行同步采样得到采样序列U2(n)、U1(n)。在单片机内部生产正交参考信号:。采样序列与正交参考信号的样点数都为kN个,k为整数。
设信号U2(n)的幅度为A2,相位为φ2;信号U1(n)的幅度为A1,相位为φ1。可得:
由于STM32F3 序列单片机无法实现同时采样。ADC1 和ADC2 之间存在固定的采样触发间隔,所以要进行相位修正。设触发间隔为ti,激励信号频率f,采样相位差φi=2πfti。假设信号U2(n)采样相位超前,对测量得到的信号进行修正得:
由于单片机计算反正切函数和做除法运算时,需要消耗较多的时间,不能发挥浮点运算器的优势,计算IU2c与QU2c时,根据cos(φ2-φi)=cos(φ2)·cos(φi)+sin(φ2)·sin(φi)求解。用乘法运算代替反三角函数运算,减少运算时间。
根据式(9)~式(12)可得:
根据式(13)、式(14)可得:
根据电涡流位移传感器的电路结构,电感线圈L1的阻抗为:
根据式(15)、(16)可计算线圈L1的损耗RL1为:
STM32F3 序列单片机的DAC 响应频率达到1 MHz。定时器触发DMA 向DAC1 传输正弦序列,触发频率为1 MHz。用DMA 循环的方式传输10 个点组成的正弦序列,输出100 kHz 的激励信号。单片机ADC 采样频率最高能到5 MHz。定时器触发ADC1 与ADC2 同步采样,触发频率为1.2 MHz,相当于激励信号每个周期采集12 个点。采样结果由DMA 传输,用DMA 循环传输的方式,每个循环传输240 个采样样点。DAM 传输有两个中断,分别是DMA 半数中断与DMA 完成中断。正交参考信号一个周期也预置为12 个点,长度为120 个点的浮点数。在两个DMA 中断内,根据两路采样信号和两个正交参考信号,通过数字锁相放大算法计算线圈损耗;再根据损耗和位移关系,用数据拟合的方法得到位移;最后把位移大小输出到DAC2。
图3 程序的基本流程
传感器线性校准和温漂补偿通过单片机算法实现。首先用实验的方法收集传感器线圈在不同温度Tn,不同位移Dn对应的损耗值Rn,在单片机的后台程序采集线圈温度Tx;接着根据实验收集的数据,求解出Tx最接近的位移Dx与对应的损耗值Rx;再用最小二乘法,可拟合得到一个多项式函数;最后在采样DMA 中断程序中,计算结果代入该多项式函数,可得线性校准后的位移。详细过程参考«高动态电涡流位移传感器温度实时补偿算法»[10]。
传感器静态测试装置如图4。用铁架台安装各个单元,从上到下分别为电涡流传感器、金属圆盘、支撑柱、微调Z轴。其中微调Z轴调整精度为10 μm。
图4 传感器静态测试装置
表1 是实验得到的线圈损耗与位移关系表。实验中使用锰铜丝绕制线圈,锰铜丝温漂低,有利于提高传感器的稳定性。线圈感应对象为2 mm 厚的铝板。线圈磁场有效作用距离大约等于线圈半径[11],实验用的线圈半径为21.6 mm,最大测量距离设定为10 mm。
表1 线圈损耗与位移(25 ℃)
采样DMA 中断内测量线圈损耗,经过线性校准和温漂补偿算法[10]得到线圈的位移。位移大小通过DAC2 输出。实验测量线圈位移量与DAC2 输出电压,如表2。传感器供电电压为24 V,工作电流为34 mA,线性度为0.51%。
根据表2 数据可绘制线圈位移与输出电压关系图,如图5 所示。
图5 线圈位移与输出电压
表2 线圈位移与输出电压
动态测试装置包含电机、可转动的亚克力圆盘组成的电动转盘。电动转盘上贴有金属箔,当电涡流传感器接近转盘,传感器能够间歇性、周期性地感应到金属面和非金属面。传感器输出信号呈方波状,通过测量方波边沿跳变时间,可得到传感器的响应时间。图6 为动态测试装置,图7 为输出波形。
图6 动态测试装置
由图7 动态输出波形可知,传感器输出的最大值与最小值之间,需要的跳变时间为1.820 ms,具有较高的动态响应能力。
图7 传感器动态测试波形
数字锁相放大器不需要外部参考信号,就能够准确地测量采集信号的幅度与相位,相比起传统的幅度相位测量方法,具备结构简单,精度高,稳定性好等优点。STM32F3 序列单片机集成高速DAC、ADC,既可以输出激励信号,又可采集响应信号;同时包含浮点运算器,可做数字信号处理。结合数字锁相放大器与STM32F3 序列单片机的特点,实现了一种电路结构简单、稳定性高、线性度好、动态响应高的电涡流位移传感器。