




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于LDC1000电感传感器的金属探测软件 V1.01/6基于LDC1000电感传感器的金属探测软件使用说明书1.前言LDC1000,是一款一种非接触式、短程传感技术的电感传感器芯片。通过SPI总线控制,可以设置不同的电感探测分辨率和中断触发条件,提供了多种运行模式。能够在灰尘、污垢、油和潮湿环境中实现导体目标的低成本、高分辨率感测,这使得它在恶劣环境中非常可靠。LDC1000 是世界上第一个电感数字转换器,可以通过线圈设计实现感测范围调整,精度高、成本低、功耗低。2.系统概述2.1功能概述本软件主要针对近距离金属探测应用,系统体积小,成本低。主控芯片采用了TI公司的超低功耗单片机MSP430F5529单片机,克服了恶劣环境下金属导体的高分辨率感测。能实现感测系数可调,自定义导体感测范围,还可以近距离感测特定的金属导体。传感器数据采集部分采用了SPI接口编程,占用硬件资源少。2.2系统结构概述本软件对应的硬件平台基于MSP430F5529型单片机,LDC1000作为金属探测传感器。SSD1963 TFT作为图像显示模块,从而构成完整的金属探测显示系统。MSP430F5529初始化LDC1000使其开始不断采样并输出寄存器值,并处理得到感测到的并联等效电阻阻值和谐振频率。MSP430F5529同时判断功能按键是否按下与刷新TFT屏幕。本系统流程如图1所示。图1 软件对应硬件系统结构示意图2/6图2为对应的 LDC1000通过SPI总线与MSP430F5529的连接。 图2 LDC1000通过SPI总线与MSP430F5529的连接图3.软件说明3.1设计说明MSP430通过SPI总线对LDC1000进行初始化,包括输入时钟方式、RP最大最小值、谐振最低频率、振动幅度、反应时间、中断触发值、电源模式等的预先设定后,LDC1000开始数据转换,然后MSP430单片机中断触发对数据进行读取和处理。3.2 SPI总线说明SPI(serialperipheralinterface)总线技术是Motorola公司推出的一种同步串行接口。SPI总线在芯片的管脚上只占用四根线,占用资源少。3.3 LDC初始化说明 LDC1000上电后就会按照内部寄存器缺省设置开始工作,MSP430F5529按照使用需要开始配置寄存器。本软件把LDC1000寄存器配置为:1、 外部时钟输入2、RP最小值3、谐振最低频率350kHz4、振动幅度4V5、反应时间6144(相对值,没有单位)3/66、中断触发模式7、电源使能模式(一直处于工作模式)3.4程序说明本软件硬件平台基于MSP430F5529微处理器,主要由main.c和3个子程序组成,system.c用于时钟初始化和看门狗的关闭以及精确延时函数;LDC1000.c是LDC1000电感传感器的驱动;SSD1963.c是TFT屏显示驱动。具体程序说明如下:在system.c中,函数WDT_Init ()用来关闭看门狗。函数SetVcoreUp (unsigned int level)用于设置MSP430F5529的内核电压。函数SET_CLOCK()设置单片机主时钟到达24MHz,辅助时钟ACLK到达24MHz,SMCLK选择外部时钟源XIN1,并且ACLK输出频率4分频,输出6MHz给LDC1000传感器。延时函数delay_us(x)与delay_ms(x)在system.h中以宏定义的方式给出。在LDC1000.c中主要有spi初始化函数spi_init()用于spi的端口初始化;spi读取寄存器函数char spi_readByte( char addr, char * data)、char spi_readWord(char addr, unsigned int * data)与char spi_readBytes( char addr, char * buffer, unsigned char len),其中addr为从机读数据的地址,data为读取到的寄存器值保存的地址指针,len为读取的字节数,这三个函数分别是单字节、双字节和多字节的寄存器读取函数,它们的返回值始终为0;spi写寄存器函数char spi_writeByte(char addr, char data)、char spi_writeWord(char addr, unsigned int data)和char spi_writeBytes( char addr, char * buffer, unsigned char len),其中addr为从机写入数据的地址,data为写入到的寄存器值保存的地址指针,len为写入的字节数,这三个函数分别是单字节、双字节和多字节的寄存器写入函数,它们的返回值始终为0。LDC1000初始化函数LDC1000_init()主要用于对MSP430F5529单片机的端口初始化与LDC1000传感器的初始寄存器值设置。在SSD1963.c中,主要对MSP430F5529单片机控制液晶屏幕的端口进行初始化,并对SSD1963屏幕主控芯片寄存器进行初始化。在SSD1963.c中定义了屏幕设置和屏幕刷新的各类函数,设置函数包括显示开、显示关、显示区域设置、光标坐标设置、扫描方向设置、显示方向设置等;刷新函数包括画点、画线、画矩形、填充颜色、写入数字、写入字符串等。在main.c中, WDT_Init()、SET_CLOCK()、LDC1000_init()、LCD_Init()分4/6别对看门狗、系统时钟、LDC1000传感器以及TFT屏初始化。然后初始化独立按键和中断输入,设置液晶屏幕用户界面。数据采集主要在最后的while循环中。在while循环中,判断是否触发中断,如果中断触发则读取寄存器的值并进行数据处理;判断独立按键是否按下,如果按下则判断的电阻值与谐振频率值改变;判断处理得到的数据是否满足要求,即是否检测到金属导体;液晶屏幕刷新并重新循环。软件流程图见图3。5/6图3 系统软件流程图4.小结6/6LDC1000是世界首款电感数字转换器。它通过非接触式、短程传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急诊科护理管理考试题库及答案
- 内民大护理招聘笔试题库及答案
- 大专学医考试题及答案
- 办公楼宇租赁合同细节
- 人才招聘协议承诺函(6篇)
- 企业内部培训记录与效果评估
- 教育机构教学质量评估表教学成果展示版
- 医疗安全教育培训评价课件
- 《中国古代诗词赏析高一课程教案》
- 《中国的传统建筑与文化:大学建筑学教学教案》
- 足浴前台礼仪培训课件
- 三人合伙工程合同协议书
- 2025曲靖市事业单位定向招聘驻曲部队未就业随军家属(8人)备考练习试题及答案解析
- 2025广西现代物流集团第三次招聘109人笔试备考题库及答案解析
- 入住敬老院协议合同模板
- 急危重孕产妇的救治课件
- 2025年河南省公开遴选公务员考试(案例分析与对策性论文)历年参考题库含答案详解(5套)
- 溶液计算题目及答案大全
- 光伏施工基本知识培训课件
- 煤矿井下自动隔爆装置(岩粉隔爆装置)专项辨识评估报告
- 挡土墙、围墙施工方案(技术标)
评论
0/150
提交评论