《传感器实验报告(共24页).doc》由会员分享,可在线阅读,更多相关《传感器实验报告(共24页).doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上本科实验报告课程名称: 传感器与射频识别技术 实验项目:传感器与射频识别技术课程实验 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 年 月 日太原理工大学学生实验报告学院名称计算机学院专业班级 学号 学生姓名 实验日期2016.12.27 成绩课程名称传感器与射频识别技术实验题目搭建CC2530接口编程开发环境一、实验目的:1. 了解ZigBee 无线网络节点开发平台基本知识;2. 掌握IAR8.10的安装方法及参数设置方法;3. 掌握仿真器的驱动程序及USB 转串口驱动程序安装的方法。 二、实验设备:1.中软国际ETC-WSN物联网实验平台一套(内含各传感
2、器,以及连接线缆等设备);2. PC机一台; 3. IAR8.10软件及设备驱动程序三、实验内容:搭建CC2530接口编程开发环境四、实验步骤及数据分析:1 IAR集成开发环境的安装(1)IAR介绍ZigBee 无线网络节点开发平台软件开发平台IAR Embedded Workbench(简称EW)的C/C+交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW 对不同的微处理器提供一样直观用户界面。EW 今天已经支持35 种以上的8 位/16 位32 位ARM 的微处理器结构。EW 包括:嵌入式C/C+优化编译器,汇编器,连接定位器,库管理员,编辑器,项目管理器和C-S
3、PY 调试器中。使用IAR 的编译器最优化最紧凑的代码,节省硬件资源,最大限度地降低产品成本,提高产品竞争力。IAR System 是嵌入式领域唯一能够提供这种解决方案的公司。EW 支持35 种以上的8位/16 位/32 位的微处理器结构。IAR Embedded Workbench 集成的编译器主要产品特征: 高效 PROMable 代码 完全标准 C 兼容 内建对应芯片的程序速度和大小优化器 目标特性扩充 版本控制和扩展工具支持良好 便捷的中断处理和模拟 瓶颈性能分析 高效浮点支持 内存模式选择 工程中相对路径支持IAR Embedded Workbench 是一套完整的集成开发工具集合:
4、包括从代码编辑器、工程建立到C/C+编译器、连接器和调试器的各类开发工具。它和各种仿真器、调试器紧密结合,使用户在开发和调试过程中,仅仅使用一种开发环境界面,就可以完成多种微控制器的开发工作。(2) IAR安装IAR软件安装图解(1)打开光盘目录:ETC-WSN物联网光盘资料/ZigBee网络/tools/IAR8.10后,双击启动EW8051-EV-Web-8101.exe程序,将看到如图3.1的界面:图3.1点击NEXT后出现界面如图3.2所示:直接点击NEXT,出现图3.3:图3.3安装会提示输入License,此时我们需要运行注册机进行破解。在光盘同一目录下双击启动IAR kegen
5、PartA.exe程序。 把破解机的HostID里面的小写字母换成大写的字母然后点击Generate会产生新的key,把产生的新的License number 和License key复制到安装程序中即可。部分安装截图如下:图3.4图3.5图3.6图3.7接下来一直点击Next直到界面如下图所示:图3.8选择Install,然后开始安装,等待安装完成。安装成功界面如下图所示:图3.9点击Finish,安装结束。2. Flash下载软件安装1.打开光盘目录:ETC-WSN物联网光盘资料/ZigBee网络/tools后,双击启动Setup_SmartRFProgr_1.10.2.exe程序,根据提
6、示一直默认安装,直到完成。 2. 当利用仿真器进行程序下载或调试时需要安装仿真器的驱动程序。IAR 自带了CC2530 的仿真下载调试驱动程序,只要找到这个文件就可以安装。 3.在第一次使用仿真器的时候,操作系统会提示找到新硬件,并弹出窗口。选择仅一次安装,执行下一步,选择指定位置安装,下一步,指定在 IAR的安装路径中(默认是 C:Program FilesIAR SystemsEmbedded Workbench 6.0 Evaluation8051driversTexas Instruments )搜索最佳驱动程序。默认安装直到完成。 3 驱动程序安装(1) 仿真器驱动程序安装图解1)在
7、没有安装辅助软件的时候,驱动程序可以在IAR 的安装文件中找到,IAR 自带了CC2530 的仿真下载调试驱动程序,只要找到这个文件就可以安装。在第一次使用仿真器的时候,操作系统会提示找到新硬件,并弹出下图所示的窗口。选择仅仅一次安装,执行下一步。图3.10图3.11图3.12图3.13在 IAR 的安装路径中找到chipcon 文件夹(路径位:C:Program FilesIAR SystemsEmbedded Workbench 4.05 Evaluation version8051driverschipcon),按系统提示直至完成安装。图3.142)安装辅助软件后仿真器的驱动安装当安装了
8、辅助软件后,就可以自动安装驱动程序了。将仿真器通过开发系统附带的 USB 电缆连接到 PC 机,在 Windows XP 系统下,系统找到新硬件后提示如下对话框,选择自动安装软件,点下一步。图3.15图3.16向导会自动搜索并复制驱动文件到系统。图3.17系统安装完驱动后提示完成对话框,点击 完成 退出安装。图3.18(2) USB 转串口驱动安装USB 转串口驱动程序安装的方法和步骤和仿真器驱动的安装基本相同,但首次使用时系统会自动找到硬件,请不要选择自动安装,将光盘中的驱动程序拷贝到硬盘中,然后找到驱动程序位置,安装,如下图所示。图3.19系统安装完驱动后提示完成对话框,点击完成退出安装。
9、五、实验小结: 这是第一次实验,首次接触要用到的软件,安装颇费了一番功夫的,经过各种尝试,最终顺利安装完毕。期间破解软件需要使用管理员权限才可以正常运行成功,驱动软件也需要手动安装才可以正常运转,这都给我积累了经验,为以后的几次试验提供了很大的帮助.太原理工大学学生实验报告学院名称计算机学院专业班级 学号 学生姓名 实验日期2016年12 月 成绩课程名称传感器与射频识别技术实验题目温湿度传感器一、实验目的:1. 了解SHT1X系列温湿度传感器的特性及工作原理;2. 掌握温湿度传感器采集数据的使用方法;3.熟悉传感器的操作、响应方式。 二、实验设备:1.中软国际ETC-WSN物联网实验平台一套
10、(内含各传感器,以及连接线缆等设备);2. 装有IAR8.10软件的PC机一台; 3. CC2530仿真器一台。 三、实验内容:采集温湿度传感器节点周期性(1Hz)向协调器报告采集到的温湿度值; 四、实验步骤:1.传感器选型(参考数据手册)SHT10的测量范围为:湿度0100%RH,温度 -40 123.8 C。SHT10为单片数字温湿度传感器,采用CMOSens专利技术将温度湿度传感器、A/D转换器及数字接口无缝结合,使传感器具有体积小、响应速度快、接口简单、性价比高等特点。其引脚定义如下图所示:典型应用电路如下图所示:(1) SHT10的主要特点如下:相对湿度和温度的测量兼有露点输出; 全
11、部校准,数字输出; 接口简单(2-wire),响应速度快; 超低功耗,自动休眠; 出色的长期稳定性; 超小体积(表面贴装); 测湿精度4.5%RH,测温精度0.5(25)。 (2)电源引脚(VDD、GND) SHT10的供电电压为2.4V5.5V。传感器上电后,等待11ms,从“休眠”状态恢复,在此期间不发送任何指令。电源引脚(VDD和GND)之间可增加1个100nF的电容器,用于去耦滤波。 (3)串行接口 SHT10的两线串行接口(bidirectional 2-wire)在传感器信号读取和电源功耗方面都做了优化处理,其总线类似I2C总线但并不兼容I2C总线。 串行时钟输入(SCK)。SCK
12、引脚是MCU与SHTIO之问通信的同步时钟,由于接口包含了全静态逻辑,因此没有最小时钟频率。串行数据(DATA)。DATA引脚是1个三态门,用于MCU与SHT10之间的数据传输。DATA的状态在串行时钟SCK的下降沿之后发生改变,在SCK的上升沿有效。在数据传输期间,当SCK为高电平时,DATA数据线上必须保持稳定状态。为避免数据发生冲突,MCU应该驱动DATA使其处于低电平状态,而外部接1个上拉电阻将信号拉至高电平。对照温湿度传感器模块实物与电路图为 SHT10的管脚与CC2430的P06、P07连接。2.启动协调器和传感器模块。3. 通过串口助手观察温湿度数据(注:串口号需要根据实际情况进
13、行选择)。 4. 关键代码分析(1)、 void SerialApp_Init( uint8 task_id ) P0SEL |= 0x01; /打开P0_0口的ADC功能 P0DIR &= 0x01; /将P_0设置为输入模式 函数功能说明:将P0_0设置为ADC.0模式。 (2)、 uint16 HalAdcRead (uint8 channel, uint8 resolution) 该函数由系统提供,位于hal_adc.c中。 功能:读取ADC转换的结果; 参数:channel,ADC通道选择,0到7可选; resolution,ADC精度选择,8bit、10bit、12bit、14bi
14、t可选; 返回值:ADC转换的结果。(3)采集数据if ( events & TEMPANDHUM_READ_EVT ) Temperature = ReadSHT10(TEMPERATURE); /读取温度 UART0_Format.Command = 0x01; UART0_Format.Data0 = Temperature8; UART0_Format.Data1 = Temperature; Humidity = ReadSHT10(HUMIDITY); /读取湿度 UART0_Format.Data2 = Humidity8; UART0_Format.Data3 = Humidi
15、ty; osal_set_event(SerialApp_TaskID,SERIALAPP_SEND_EVT); /发送RF消息 /周期性启动温湿度采集事件 osal_start_timerEx(SerialApp_TaskID, TEMPANDHUM_READ_EVT, 5000); return ( events TEMPANDHUM_READ_EVT ); 5.实验结果在串口助手数据接收窗口,观察到如下图所示: 可以得到当前温度值,湿度值,经过换算温湿度值如下表:当前温度换算值当前湿度换算值0x0A5C26.520x103A41.54%0x0A5826.480x101841.2%0x0A
16、7126.730x0FFA40.90%0x0A5C26.520x0FB640.22%平均值26.5640.97% 6.进行多次测量,记录并对测量结果进行粗大误差处理,计算最佳值。五、实验总结温湿度传感器通过ZIGBEE与协调器通信,然而实验室好多温湿度传感器一起工作的话,会互相连接,到一个人少的地方排除其他人的干扰,才能正确读到自己的传感器传来的数据。还有就是COM口的选择也要选对,否则接收不到数据,收到乱码的话勾一下HEX显示,就能看到十六进制的数据了。太原理工大学学生实验报告学院名称计算机学院专业班级 学号 学生姓名 实验日期2016.12成绩课程名称传感器与射频识别技术实验题目光敏传感器
17、一、实验目的:1. 了解光敏传感器的特性及工作原理;2. 掌握光敏电阻的使用方法; 3. 熟悉传感器的操作、响应方式。 二、实验设备:1.中软国际ETC-WSN物联网实验平台一套(内含各传感器,以及连接线缆等设备);2. 装有IAR8.10软件的PC机一台; 3. CC2530仿真器一台。 三、实验内容:光照传感器节点周期性(1Hz)向协调器报告采集到的光照ADC值。 四、实验步骤:1.基本原理光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光
18、敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达110M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.40.76)m的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。光敏电阻的主要参数是: (1)光电流、亮电阻。光敏电阻器在一定的外加电压下,当有光照射时,流过的电流称为光电流,外加电压与光电流之比称为亮电阻,常用“100LX”表示。 (2)暗电流
19、、暗电阻。光敏电阻在一定的外加电压下,当没有光照射的时候,流过的电流称为暗电流。外加电压与暗电流之比称为暗电阻,常用“0LX”表示。 (3)灵敏度。灵敏度是指光敏电阻不受光照射时的电阻值(暗电阻)与受光照射时的电阻值(亮电阻)的相对变化值。 (4)光谱响应。光谱响应又称光谱灵敏度,是指光敏电阻在不同波长的单色光照射下的灵敏度。若将不同波长下的灵敏度画成曲线,就可以得到光谱响应的曲线。 (5)光照特性。光照特性指光敏电阻输出的电信号随光照度而变化的特性。从光敏电阻的光照特性曲线可以看出,随着的光照强度的增加,光敏电阻的阻值开始迅速下降。若进一步增大光照强度,则电阻值变化减小,然后逐渐趋向平缓。在
20、大多数情况下,该特性为非线性。 (6)伏安特性曲线。伏安特性曲线用来描述光敏电阻的外加电压与光电流的关系,对于光敏器件来说,其光电流随外加电压的增大而增大。 (7)温度系数。光敏电阻的光电效应受温度影响较大,部分光敏电阻在低温下的光电灵敏较高,而在高温下的灵敏度则较低。 (8)额定功率。额定功率是指光敏电阻用于某种线路中所允许消耗的功率,当温度升高时,其消耗的功率就降低。电路连接为2. 采集传感器数据代码。 宏 #define PHOTO_READ_EVT 0x0004 定义了光敏电阻采集数据事件。if ( events & PHOTO_READ_EVT ) /查看光敏电阻状态 /光敏电阻连接
21、在P0_0上,第一个参数必须是HAL_ADC_CHANNEL_0,采用10bit精度。 PhotoResult=HalAdcRead(HAL_ADC_CHANNEL_0 ,HAL_ADC_RESOLUTION_10); /0-512 UART0_Format.Command = 0x01; UART0_Format.Data0 = PhotoResult8; /保存ADC结果 UART0_Format.Data1 = PhotoResult; osal_set_event(SerialApp_TaskID, SERIALAPP_SEND_EVT); /发送RF消息 /周期性采集光敏电阻ADC结
22、果 osal_start_timerEx(SerialApp_TaskID, PHOTO_READ_EVT, 5000); return ( events PHOTO_READ_EVT ); 3.实验结果光敏传感器ADC采样结果为0x0171,如果改变传感器周围的亮度,这个值会变小。4.在同样的亮度下多次测量,记录测量结果。五、实验总结本次试验有了前面的基础之后,做起来就很得心应手了,一样的套路,先烧传感器,再连接串口读数据,很简单就完成了。在这个过程中了解光敏传感器的特性及工作原理,同时掌握光敏电阻的使用方法以及熟悉传感器的操作、响应方式.太原理工大学学生实验报告学院名称计算机学院专业班级
23、学号 学生姓名 实验日期2016.12 成绩课程名称传感器与射频识别技术实验题目ISO14443数据读取1. 实验目的 (1)学习和了解HF ISO14443reader的原理。(2)了解WSN与HF ISO14443reader结合应用。(3)动手做WSN与HF ISO14443reader结合应用试验,提高动手能力。(4)亲自动手实验,找到14443的标签,并读取标签中的数据。2. 实验内容(1)了解熟悉WSN模块、HF ISO14443reader的构成。(2)对模块做简单的测试操作。3. 基本原理交变的磁场RF,工作在13.56MHZ,LC谐振回路,共振,产生电荷;累积到2V以上,作为
24、内部工作电压,PICC的内部数据发射出去或接受读写器的数据,PCD对接收到的信号进行解调,解码后送至网关。线圈电压的累积类似于变压器初级线圈与次级线圈的关系4. 所需仪器本实验所需仪器为13.56M标签、RFID试验箱、RFID读卡器电源。除此之外还应准备一根miniUSB线与两个跳线帽。5. 实验步骤(1)打开RFID试验箱电源;(2)连接13.56M读卡器电源并打开底板上的电源;(3)观察读卡器上的CC2530红色LED常亮;(4)用13.56M标签靠近读卡区域辐射面,当读取标签时,会有蜂鸣器提示音,并且在网关的LCD上会有显示当前读取的ID号和金额;(5)按上下按键,会发现金额的变化,代
25、表读卡成功(也代表写数据成功,变化的数据被检测到了)。13.56M模块读卡示意图:6. 实验讲解读到卡之后,对卡的数据的处理。这段代码的注释讲的已经很清楚了。 if ( events & RFID_EVT ) uint8 state; static uint8 hasCardOld = FALSE; static uint8 hasCardNow = FALSE; hasCardOld = hasCardNow; hasCardNow = Request(RF_CMD_REQUEST_STD); if(hasCardOld != hasCardNow) /返回1说明检测到卡 state = R
26、eadCardNum(); /读卡号,存储在CardNo数组里面 if(!state) /读卡正确 BEEP = 1; UART0_Format.Command = SEND; UART0_Format.Data0 = CardNo0; /d UART0_Format.Data1 = CardNo1; UART0_Format.Data2 = CardNo2; UART0_Format.Data3 = CardNo3; MIF_READ(RevBuffer, block_numset(1); /读出数据块0的数据放在RevBuffer里面 UART0_Format.Data4 = RevBuf
27、fer2; /卡内块0中的第一个字节为金额高位 UART0_Format.Data5 = RevBuffer3; /卡内块0中的第二个字节为金额低位 osal_set_event(SerialApp_TaskID, SERIALAPP_SEND_EVT); MicroWait(50000); MicroWait(50000); BEEP = 0; else CardNo0 = CardNo1 = CardNo2 = CardNo3 = 0; osal_start_timerEx(SerialApp_TaskID, RFID_EVT, 1000); return ( events RFID_EV
28、T ); /*/*名称: MIF_Read */*功能: 该函数实现读MIFARE卡块的数值*/*输入: buff: 缓冲区首地址*/* Block_Adr: 块地址*/*输出: FM1702_NOTAGERR: 无卡*/* FM1702_PARITYERR: 奇偶校验错*/* FM1702_CRCERR: CRC校验错*/* FM1702_BYTECOUNTERR: 接收字节错误*/* FM1702_OK: 应答正确*/*/uint8 MIF_READ(uint8 *buff, uint8 Block_Adr)uint8 temp;WriteReg(0x22,0x0f);buff0 = RF_CMD_READ; /0x30buff1 = Block_Adr;temp = Command_Send(2, buff, Transceive);if(temp = 0) return (1); /错误temp = ReadReg(0x04);if(temp = 0x10) Fifo_Read(buff); return (0); /正确return (1);7.实验总结: 这个实验相对来说比较容易的,因为以前也上过物联网导论,RFID那时候就接触过,这门课又加深了印象,让我对射频识别技术有了更深刻的认识。专心-专注-专业