LDC1000电感的检测原理是利用电磁感应原理。在线圈中加一个交变电流,线圈周围会产生交变磁场,这时如果有金属物体进入这个磁场则会在金属物体表面产生涡流。涡流电流与线圈电流的方向相反。涡流产生的感应电磁场与线圈的电磁场方向相反。涡流与金属体磁导率、电导率、线圈的几何形状、几何尺寸以及头部线圈到金属导体表面的距离等参数有关。
涡流产生的反方向磁场跟线圈耦合在一起,就像是有另一个次级线圈存在一样。这样LDC1000的线圈作为次级线圈就形成了一个变压器。如下图所示由于变压器的互感作用,在初级线圈这一侧就可以检测到次级线圈的参数。
电磁感应图
互感感应图
原理图
设Ls为初级线圈的电感值,Rs为初级线圈的寄生电阻。L(d)为互感,R(d)是互感电阻的寄生电阻,其中d为距离的函数。
交流电若只加在电感上(初级线圈),则在产生交变磁场的同时也会消耗大量的能量。这时将一个电容并联在电感上,由于LC的并联谐振作用能量损耗大大减小,只会损耗在Rs和R(d)上。由此可知检测到R(d)的损耗就可以间接的检测到d。
由上可知LCD1000并不是直接检测串联电阻,而是检测等效并联电阻。
基于ldc1000的单片机测试数据程序
LDC1000 模块
sbit MISO=P1^3;
sbit MOSI=P1^0;
sbit CSN=P1^1;
sbit SCK=P1^2;
VCC -------- +5v
GND -------- GND
1602液晶
VSS GND
VDD +5V
VO
RS/RD P2^6
RW P2^5
E P2^7
D0 P0^0
D1 P0^1
D2 P0^2
D3 P0^3
D4 P0^4
D5 P0^5
D6 P0^6
D7 P0^7
请在上电之前,检查好接线是否正确。
单片机源程序如下:
#include《reg51.h》
#include《intrins.h》
#include“lcd.h”
unsigned char PuZh[]=“ LDC1000 VALUE: ”;//logo
unsigned char code ASCII[12] = {‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’};//字库
unsigned short LDC_value=0;//返回值
unsigned char disbuff[4]={0,0,0,0};//显示缓存
void main(void)
{
InitLcd1602();//1602液晶初始化
LcdShowStr(0,0,PuZh);//显示logo
FLOAT_LDC_init();//LDC1000模块初始化
while(1)
{
LDC_value=filter()/10;//采样
disbuff[0]=LDC_value/1000;
disbuff[1]=LDC_value%1000/100;
disbuff[2]=LDC_value%1000%100/10;
disbuff[3]=LDC_value%1000%100%10;
DisplayOneChar(6, 1, ASCII[disbuff[0]]);
DisplayOneChar(7, 1, ASCII[disbuff[1]]);
DisplayOneChar(8, 1, ASCII[disbuff[2]]);
DisplayOneChar(9, 1, ASCII[disbuff[3]]);
}
}
结语
在传感技术领域,不管是高端灵敏度、高精度的超声传感器,或者是低端、低成本的开关式传感器,这些工作LDC1000都可以胜任。