在线时间532 小时
UID3101413
注册时间2016-1-27
NXP金币256
TA的每日心情 | 奋斗 2021-11-30 16:16 |
---|
签到天数: 206 天 连续签到: 1 天 [LV.7]常住居民III
金牌会员
 
- 积分
- 7879
- 最后登录
- 2025-4-11
|
本帖最后由 混森蓝兽 于 2016-11-27 14:41 编辑
LDC1000 是世界首款电感到数字转换器。提供低功耗,小封装,低成本的解决方案。 LDC1000 只需要外接一个 PCB 线圈或者自制线圈就可 以实现非接触式电感检测。
LDC1000 的电感检测并不是指像 Q 表那样测试线圈的电感量, 而是可以测试外部金属物和 LDC1000 相连的测试线圈的空间位置关系。利用 LDC1000 这个特性配以外部设计的金属物体即可很方便实现:水平或垂直距离检 测;角度检测;位移监测;运动检测;振动检测;金属成分检测。
LDC1000 采用的是spi接口,所以我们首先需要利用LPC824的spi与ldc1000通信,完成模块的初始化。四线SPI,接口简单,通信速度快。
- Chip_GPIO_PinSetDIR(LPC_GPIO_PORT, 0, 16, false);//MISO
- Chip_GPIO_PinSetDIR(LPC_GPIO_PORT, 0, 17, true);//MOSI
- Chip_GPIO_PinSetDIR(LPC_GPIO_PORT, 0, 18, true);// CSN
- Chip_GPIO_PinSetDIR(LPC_GPIO_PORT, 0, 19, true);//SCK
复制代码 然后是初始化,就是根据需求,按着datasheet设置对应的寄存器,我这里直接按官方的推荐方案来设置:
- FLOAT_SPI_init();
- DELAY_US(3000);
- FLOAT_Singal_SPI_Write(LDC1000_CMD_RPMAX, RPMAX);
- FLOAT_Singal_SPI_Write(LDC1000_CMD_RPMIN, RPMIN);//0x14
- FLOAT_Singal_SPI_Write(LDC1000_CMD_SENSORFREQ, RFREQ); //谐振频率计算
- FLOAT_Singal_SPI_Write(LDC1000_CMD_LDCCONFIG, 0x17);
- FLOAT_Singal_SPI_Write(LDC1000_CMD_CLKCONFIG, 0x00); //L配置LDC1000的输出速率
- FLOAT_Singal_SPI_Write(LDC1000_CMD_THRESHILSB, 0x50);
- FLOAT_Singal_SPI_Write(LDC1000_CMD_THRESHIMSB, 0x14);
- FLOAT_Singal_SPI_Write(LDC1000_CMD_THRESLOLSB, 0xC0);
- FLOAT_Singal_SPI_Write(LDC1000_CMD_THRESLOMSB, 0x12);
- FLOAT_Singal_SPI_Write(LDC1000_CMD_INTCONFIG, 0x02);
- FLOAT_Singal_SPI_Write(LDC1000_CMD_PWRCONFIG, 0x01);
- FLOAT_SPI_Read_Buf(LDC1000_CMD_REVID,&orgVal[0],12);//orgVal[]对应上面写入的值说明初始化正常
复制代码 初始化无误之后,我们利用示波器可以查看到连接在LDC1000上线圈中交流频率的变化,当有金属物体接近线圈时,频率会产生变化。而且,变化的程度与金属的材质、大小、距离相关。
小视频正在加载中。。。
|
|