我们知道,当不存在待测物时,发射线圈的等效阻抗为:

forum.jpg

当发射线圈产生的磁场内存在待测物时,发射线圈的等效阻抗为:

forum.jpg

forum.jpg

根据 forum.jpg 的数值,可以分辨出待测物的类型;

forum.jpg

涡流示意图

直接检测相位差可行吗

假设施加发射线圈的电压复数形式为 forum.jpg ,则接收电压 forum.jpg

如果检测接收信号与发射信号的幅度,以及接收信号与发射信号的相位差,则可以算出发射线圈的阻抗。

因为发射信号与接收信号的为单一频率的信号,而且频率相同,检测相位差比较简单的办法为:

分别将发射信号与接收信号通过过零比较器处理成50%占比空的数字方波信号。

将两路方波信号送入单片机的CCP捕捉功能脚,利用单片机的CCP功能,分别捕捉发射信号的跳变时间以及接收信号的跳变时间,将两个时间相减,再与信号的周期进行运算即可以得到相位差。


这里的问题在于:

相对于 forum.jpg forum.jpg forum.jpg forum.jpg 是比较大的数值,小的阻抗的变化导致的相位变化小,如果采用CCP捕捉,需要单片机通过数值计算滤除干扰进行分析,早期性能差的单片机难以胜任。

相位差检测的数值处理方法

随着近些年单片机技术的发展,特别是性价比极高的cortex-m内核处理器的普及应用。

对模拟信号进行高速采样并对数值进行处理已不成问题。

按照下述步骤实现相位差数值检测的算法:

1) 以 forum.jpg 为采样率对接收信号采样 N+N/4个数据,得到一组数组A,

2) 根据发射信号的频率,在一个周期内对信号 forum.jpg 采样N个点,保存为一个数组B,

3) 计算 forum.jpg 的数值,记为R;

4) 计算 forum.jpg 的数值,记为X;

5) 在多个周期内计算R和X的滑动平均值,记为 forum.jpg 以及 forum.jpg

6) 计算 forum.jpg 的数值,根据这一数据判断待测物的类型。

forum.jpg

R, X的变化波形



来源:物联网全栈开发