物联网应用技术实训指导书HD文档格式.docx
《物联网应用技术实训指导书HD文档格式.docx》由会员分享,可在线阅读,更多相关《物联网应用技术实训指导书HD文档格式.docx(81页珍藏版)》请在冰豆网上搜索。
图1-3
1.接口定义
(注意:
NC端口必须悬空)
1.1电源引脚(VDD,GND)
SHT11的供电电压范围为2.4-5.5V,建议供电电压为3.3V。
在电源引脚(VDD,GND)之间须加一个100nF的电容,用以去耦滤波。
见图1-4。
SHT1x的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理;
传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的元件,传感器可以连接到I2C总线上,但单片机必须按照传感器的协议工作。
图1-4
图1-4:
典型应用电路,包括上拉电阻RP和VDD与GND之间的去藕电容。
2.1.2串行时钟输入(SCK)
SCK用于微处理器与SHT1x之间的通讯同步。
由于接口包含了完全静态逻辑,因而不存在最小SCK频率。
DATA引脚为三态结构,用于读取传感器数据.当向传感器发送命令时,DATA在SCK上升沿有效且在SCK高电平时必须保持稳定。
DATA在SCK下降沿之后改变。
为确保通讯安全,DATA的有效时间在SCK上升沿之前和下降沿之后应该分别延长至TSUandTHO–参见图1-5。
当从传感器读取数据时,DATATV在SCK变低以后有效,且维持到下一个SCK的下降沿。
为避免信号冲突,微处理器应驱动DATA在低电平。
需要一个外部的上拉电阻(例如:
10kΩ)将信号提拉至高电平。
上拉电阻通常已包含在微处理器的I/O电路中。
图1-5:
时序图,缩写词在表1-1有注释。
加重的DATA线由传感器控制,普通的DATA线由单片机控制.有效时间依据SCK的时序。
请注意数据读取的有效时间为前一个切换的下降沿。
表1-1:
SHT11I/O信号特性
2传感器的通讯
2.1启动传感器
首先,选择供电电压后将传感器通电,上电速率不能低于1V/ms。
通电后传感器需要11ms进入休眠状态,在此之前不允许对传感器发送任何命令。
2.2发送命令
用一组“启动传输”时序,来完成数据传输的初始化。
它包括:
当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变为低电平,随后是在SCK时钟高电平时DATA翻转为高电平。
参见图1-5。
图1-5:
"
启动传输"
时序
下述方式表示已正确地接收到指令:
在第8个SCK时钟的下降沿之后,将
DATA下拉为低电平(ACK位)。
在第9个SCK时钟的下降沿之后,释放DATA(恢复高电平)。
表1-2SHT11命令集
2.1.3温湿度测量
发布一组测量命令(‘00000101’表示相对湿度RH,‘00000011’表示温度T)后,控制器要等待测量结束。
这个过程需要大约20/80/320ms,分别对应8/12/14bit测量。
确切的时间随内部晶振速度,最多可能有-30%的变化。
SHT1x通过下拉DATA至低电平并进入空闲模式,表示测量的结束。
控制器在再次
触发SCK时钟前,必须等待这个“数据备妥”信号来读出数据。
检测数据可以先被存储,这样控制器可以继续执行其它任务在需要时再读出数据。
接着传输2个字节的测量数据和1个字节的CRC奇偶校验(可选择读取)。
uC需要通过下拉DATA为低电平,以确认每个字节。
所有的数据从MSB开,
右值有效(例如:
对于12bit数据,从第5个SCK时钟起算作MSB;
而对于8bit数据,首字节则无意始义)。
在收到CRC的确认位之后,表明通讯结束。
如果不使用CRC-8校验,控制器可以在测量值LSB后,通过保持ACK高电平终止通讯。
在测量和通讯完成
后,SHT1x自动转入休眠模式。
警告:
为确保自身温升小于0.1°
C,SHT1x的激活时间应小于测量值的10%–e.g.对于12位测量,最多1秒1次。
2.1.4通讯复位时序
如果与SHT1x通讯中断,可通过下列信号时序复位:
当DATA保持高电平时,触发SCK时钟9次或更多,参阅图1-6。
接着发送一个“传输启动”时序。
这些时序只复位串口,状态寄存器内容仍然保留。
图1-6:
复位时序
2.1.5CRC-8Checksum计算
数据传输的可靠性由CRC-8的校验来保证.它确保可以检测并去除所有错误数据。
如上所述,用户可选择是否使用CRC功能。
2.1.6状态寄存器
SHT1x的某些高级功能可以通过给状态寄存器发送指令来实现,如选择测量分辨率,电量不足提醒,使用OTP加载或启动加热功能等。
下面的章节概括介绍了这些功能。
详情可参阅应用说明“状态寄存器”。
在读状态寄存器或写状态寄存器之后,8位状态寄存器的内容将被读出或写入,参阅表1-2。
通讯请阅图1-7和图1-8状态寄存器各bit请参阅表1-3。
图1-7:
状态寄存器写
图1-8:
状态寄存器读
图1-9和1-10描述了整个通讯过程。
图1-9:
测量时序.TS=传输开始,MSB=高有效字节,
LSB=低有效字节,LSb=低有效位。
图1-10:
相对湿度测量时序示例,数值“0000’0100‘0011’0001”=1073=35.50%RH(未包含温度补偿)。
DATA有效时间已标出,可参见DATA线。
加粗部分的DATA线由传感器控制,普通的DATA线由单片机控制。
表1-3:
状态寄存器位描述
2.1.7相对湿度
湿度的非线性补偿请参阅图1-11为获得精确的测量数据,建议用以下公式进行信号转换。
公式中的参数见表1-4:
表1-4:
湿度转换参数
99%以上的湿度已经接近饱和必须经过处理显示
100%RH13.请注意湿度传感器对电压无依赖性。
图1-10:
从SORH到相对湿度的转化
2.1.8湿度信号的温度补偿
由于实际温度与测试参考温度25℃(~77℉)的显著不同,湿度信号需要温度补偿。
温度校正粗略对应于0.12%RH/℃@50%RH,温度补偿系数请参阅表1-5。
表1-5:
温度补偿系数
2.1.9温度转换系数
由能隙材料PTAT(正比于绝对温度)研发的温度传感器具有极好的线性。
可用如下公式将数字输出(SOT)转换为温度值,温度转换系数请阅表1-6:
表1-6:
温度转换系数
露点
SHT1x并不直接进行露点测量,,但露点可以通过温度和湿度读数计算得到.。
由于温度和湿度在同一块集成电路上测量,SHT1x可测量露点。
露点的计算方法很多,绝大多数都很复杂。
对于-40–50°
C温度范围的测量,通过下面的的公式可得到较好的精度,参数见表1-7:
表1-7:
露点(Td)计算参数
请注意公式中的“ln(…)”表示自然对数.RH和T应引用经过线性处理和补偿的数值。
2.2光敏传感器(模拟量)
光电传感器是采用光电元件作为检测元件的传感器。
它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。
光电传感器一般由光源、光学通路和光电元件三部分组成。
光电式传感器是以光电器件作为转换元件的传感器,光电检测方法具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,因此,光电式传感器在检测和控制中应用非常广泛。
1.光敏电阻结构图:
图1-1
2.硬件连接图
图1-2
2.3可燃气体传感器(模拟量)
MQ-2图1-3
应用
可用于家庭和工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、
氢气、烟雾等的探测。
MQ-2气敏元件的结构和外形如图1所示(结构AorB),由微型AL2O3陶瓷管、SnO2敏
感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏
元件提供了必要的工作条件。
封装好的气敏元件有6只针状管脚,其中4个用于信号取出,
2个用于提供加热电流。
A-A和B-B管脚在电路中是短接的。
2.4噪声传感器(模拟量)
2.5气压传感器(模拟量)
2.6震动传感器(开关量)
2.7红外热释电传感器(开关量)
热释电红外线传感器主要是由一种高热电系数的材料,如锆钛酸铅系陶瓷、钽酸锂、硫酸三甘钛等制成尺寸为2*1mm的探测元件。
在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由于自身温度升高而产生的干扰。
由探测元件将探测并接收到的红外辐射转变成微弱的电压信号,经装在探头内的场效应管放大后向外输出。
为了提高探测器的探测灵敏度以增大探测距离,一般在探测器的前方装设一个菲涅尔透镜,该透镜用透明塑料制成,将透镜的上、下两部分各分成若干等份,制成一种具有特殊光学系统的透镜,它和放大电路相配合,可将信号放大70分贝以上,这样就可以测出10~20米范围内人的行动。
见实物图1-11。
图1-11红外人体感应模块
1.功能特点
①全自动感应:
人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。
②光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应。
③温度补偿(可选择,出厂时未设):
在夏天当环境温度升高至30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。
④两种触发方式:
(可跳线选择)
a、不可重复触发方式:
即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;
b、可重复触发方式:
即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
⑤具有感应封锁时间(默认设置:
2.5S封锁时间):
感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。
此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品;
同时此功能可有效抑制负载切换过程中产生的各种干扰。
(此时间可设置在零点几秒—几十秒钟)。
⑥工作电压范围宽:
默认工作电压DC4.5V-20V。
⑦微功耗:
静态电流<
50微安,特别适合干电池供电的自动控制产品。
⑧输出高电平信号:
可方便与各类电路实现对接。
2.使用说明
①感应模块通电后有一分钟左右的初始化时间,在此期间模块会间隔地输出0-3次,一分钟后进入待机状态。
②应尽量避免灯光等干扰源近距离直射模块表面的透镜,以免引进干扰信号产生误动作;
使用环境尽量避免流动的风,风也会对感应器造成干扰。
③感应模块采用双元探头,探头的窗口为长方形,双元(A元B元)位于较长方向的两端,当人体从左到右或从右到左走过时,红外光谱到达双元的时间、距离有差值,差值越大,感应越灵敏,当人体从正面走向探头或从上到下或从下到上方向走过时,双元检测不到红外光谱距离的变化,无差值,因此感应不灵敏或不工作;
所以安装感应器时应使探头双元的方向与人体活动最多的方向尽量相平行,保证人体经过时先后被探头双元所感应。
为了增加感应角度范围,本模块采用圆形透镜,也使得探头四面都感应,但左右两侧仍然比上下两个方向感应范围大、灵敏度强,安装时仍须尽量按以上要求。
3.红外热释电传感器的电路连接(见图1-12)
2.8RFID射频识别装置
准备知识3:
3.1FlashProgrammer下载程序快速入门
1、物理地址是产品出厂时,生成的全球唯一的地址,命名为物理地址(MAC)。
Primary读取的是物理地址,不可擦写。
2、修改用户地址
点击Secondary,点击ReadIEEE,在右方地址框输入所需地址,然后点击WriteIEEE,即可写入地址,若写入成功,状态栏显示successfully。
3、IAR编译
协调器为coordinator,路由和终端为enddevice。
*SampleAppMaster.c和SampleAppSlave.c已编译好时会生成的hex文件,在类似以下地址中:
C:
\Users\HeDong\Desktop\Zigbee整理总文件夹\Zigbee程序\精简版
4、选择载入.hex文件,并下载。
*如需使用物理地址,需在地址框中输入16个FF。
项目一:
应用设备的安装与调试
一:
硬件实物介绍
安装参考
二:
硬件设备的安装与调试
实训硬件提供:
开关电源、3.3V电压模块、四路隔离继电器模块、PWM调压模块、温湿度传感器节点、安防控制节点、光照度监控节点、电控锁、声光报警器、LED灯泡、RFID读卡器、智能电表等器件。
目标:
进行智能家居监控系统硬件设备的选型
熟练掌握各模块的使用规则
正确的进行应用设备的安装与接线
要求:
学生根据任务书要求,在工作环境中,进行智能家居监控系统硬件设备的选型、安装、接线、编程与调试(代码见附录1)。
1.1工作任务
学生将实训提供的开关电源、3.3V电压模块、四路隔离继电器模块、PWM调压模块、温湿度传感器节点、安防控制节点、光照度监控节点、电控锁、声光报警器、LED灯泡、RFID读卡器、智能电表等器件安装在装置的适当位置。
参考绘图见附录2)
采用实训指定的Protel99SE软件绘制系统接线图,并按接线图在实训装置上设计布线路径,完成智能家居控制系统的布线和各设备器件的接线。
无线感知层的调测
实训提供6个感知节点模块;
并提供两个半定制ZigBee协议栈,网络拓扑已设定成星型网,包含“协调器”、“路由”及“终端”三种网络角色,其中“协调器”具备网络管理及数据转发功能,“路由”具备读取电表信息功能,“终端”具备RFID读卡功能,其余功能实现符合发布的“无线组网通信协议”。
6个感知节点模块对应信息如表1所示:
表1感知节点信息表
节点模块
节点号
标签号
网络角色
传感器
执行器
感知节点0
00
协调器
感知节点1
01
1
路由
光照度传感器
LED灯泡
感知节点2
02
2
电表
感知节点3
03
3
终端
热释红外传感器
声光报警器
感知节点4
04
4
RFID读卡器
感知节点5
05
5
电控锁
(1)感知节点的设置
①根据工位号,按表2所示,设置6个感知节点模块的“SecondaryIEEEAddress”。
并贴好标签纸加以区别,其中“协调器”对应‘0’号,其余对应“1~5”号。
表2SecondaryIEEEAddress设置表
SecondaryIEEEAddress(8个字节,16进制)
0F
10
FF
工位号
注:
工位号(16进制):
01、02、03、04、05、06、07、08、09、0A、0B、0C、0D、0E、0F、10、11、12、13、14、15
节点号(16进制):
00、01、02、03、04、05
②根据工位号,按表3所示,设置ZigBee网络的PANID。
表3PANID设置表
工位号(16进制)
06
07
08
PANID(16进制)
2010
2020
2030
2040
2050
2060
2070
2080
09
0A
0B
0C
0D
0E
2090
20A0
20B0
20C0
20D0
20E0
20F0
2100
11
12
13
14
15
2110
2120
2130
2140
2150
③根据ZigBee网络角色,下载对应Z-Stack到感知节点,将0号感知节点配置成“协调器”,1~5号感知节点根据表1配置成“路由”和“终端”,并将这6个节点组成无线个域网,网络拓扑为星型网。
(2)完善感知节点ZigBee协议栈代码(代码已给出,见附录1)
根据表1,在1~5号感知节点上安装传感器及连接执行器,完成对应的感知节点功能配置。
感知节点功能配置完毕后,修改ZigBee协议栈,完成下述功能:
1感知节点1能根据无线接收到的指令,读取光照度值,并无线传输给“协调器”。
2感知节点3能根据无线接收到的指令,读取热释红外传感器状态,并无线传输给“协调器”。
3感知节点1能根据无线接收到的指令实现LED灯泡调光。
4感知节点3能根据无线接收到的指令控制声光报警器。
5感知节点5能根据无线接收到的指令控制电控锁。
项目二:
程序的编写与调试
2.1初始操作:
2.1.1协议栈中网络结构类型修改:
地址:
NWK→Nwk_globals.h
Nwk_globals.h
143行
网状网
#elif(STACK_PROFILE_ID==HOME_CONTROLS)
#defineMAX_NODE_DEPTH5
#defineNWK_MODENWK_MODE_MESH
#defineSECURITY_MODESECURITY_COMMERCIAL
星状网
#defineNWK_MODENWK_MODE_STAR
#defineSECURITY_MODESECURITY_COMMERCIAL
树状网
Nwk→Nwk_globals.c
134行
byteCskipRtrs[MAX_NODE_DEPTH+1]={6,6,6,6,6,0};
byteCskipChldrn[MAX_NODE_DEPTH+1]={20,20,20,20,20,0};
byteCskipRtrs[MAX_NODE_DEPTH+1]={6,0,6,6,6,0};
byteCskipChldrn[MAX_NODE_DEPTH+1]={20,0,20,20,20,0};
byteCskipChldrn[MAX_NODE_DEPTH+1]={6,20,20,20,20,0};
2.1.2修改信道及网络编号(PANID)
Tools→f8wconfig.cfg
第35行开始
Zigbee的信道范围是:
11~26信道。
如,此时的信道为22。
第58行
-DZDAPP_CONFIG_PAN_ID=0x2020//等号后面为可修改PANID
*以上信道和PANID必须在MASTER和SLAVE中保持一致!
2.1.3生成Hex文件操作:
1、Options→Linker→Output修改→①勾上overidedefault→后缀改为.hex
②选择other→intel-extended
二、进入Tools→f8w2530.xcl至208~209行
去掉注释符,即生成Hex。
3、①如欲进行仿真需加上注释;
②选择上Formatdebug
③去掉overidedefault和Other。
2.2程序重点
2.2.1消息处理流程
分别有T_Buffer结构体、R_Buffer和Tback_Buffer(原名为Tra