智能家居课程设计报告_第1页
智能家居课程设计报告_第2页
智能家居课程设计报告_第3页
智能家居课程设计报告_第4页
智能家居课程设计报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南通大学智能家居监控系统设计学 院:电气工程班级:电115姓 名:刘家辰学 号: 1112002083目录1 引言.32 系统设计 .33 硬件设计 .43.1单片机的选型 .43.2温度监测模块 .53.2.1 温度传感器简介 . .53.2.2测量原理 .53.2.3电路仿真 .63.3烟雾监测模块 .73.4 Zigbee 模块 .83.5报警模块 .93.6键盘输入模块 .103.7液晶显示模块 .113.8人体红外感应模块 . .114 主机软件设计 .124.1主机程序整体框架 .134.2无线发送 / 接收程序 . .134.3温度监测节点程序 . .154.4烟雾监测节点程序

2、. .174.5红外热释电监测节点程序 . .185 设计体会 .20第1页共22页6 参考文献207 附录21主机电路原理图21第2页共22页1 引言随着社会经济和科学技术的发展,社会信息化程度越来越高, 物联网的推出是时代发展的需要, “三网合一”、“ 三屏合一” 等新概念不断提出, 智能家居成为未来家居的发展方向。智能家居在两个方面具有重要作用:(1) 家居智化, 继而实现住户舒适最大化, 家庭安全最大化。智能家居通过其智能家庭控制帮助人们改进生活方式, 重新安排每天的时间计划表, 并为高质量的生活环境提供安全保障。(2) 智能家居的另一个重要作用是降低能源消耗,操作成本最小化, 帮助人

3、们节约日常能源消耗开支。智能家居主要通过智能家庭控制系统实现, 家庭控制网络是实现智能家庭控制系统的关键。 近几年, 各种家庭网络推进组织相继成立, 并各自推出了相关建议和标准, 但这些技术标准缺乏统一的通信接口, 相互间不兼容 , 无法提供家庭控制网络的完整解决方案。因此, 智能家居研究者面临的最大挑战和机遇是家用电子领域缺乏统一的通信标准和互操作协议。2 系统设计智能家居监控系统的总体设计框图如图 1 所示。该系统采用主从方式, 主机负责接收无线信息、 GSM远程报警、传感器阈值设置,从机负责温度、气体、烟雾、等环境信号采集处理及无线发送。 本文研制的智能家居环境监测报警系统能够实时监测煤

4、气泄漏、火灾、电热毯过热等温度异常、外人闯入等危险状态,并可实现电话号码报警,设置传感器阈值等功能。第3页共22页被检测对象温度检ZigBee测模块模块显示模块烟雾检ZigBee测模块模块温度监ZigBee蜂鸣器测模块模块ZigBee主单片报警模模块机块有害气ZigBee体监测模块模块红外感ZigBee应模块模块键盘输入模块图 1 智能家居监控系统的总体设计框图3 硬件设计3.1单片机的选型采用 AT89S51作为主要单片机AT89S51是一种可编程可擦除的只读存储器并带有 4K 字节的闪烁,具有是低功耗,高性能 CMOS8位微处理器,俗称单片机。 AT89S51内有 4K 字节可编程闪烁存储

5、器, 128 字节的内部 RAM,32 个外部双向 I/O 口,6 个中断源,两个 16 位定时计数器及两个全双工串行通信口 , 看门狗电路。 AT89S51 有片内振荡器和时钟电路,具有掉电模式和低功耗的闲置。AT89S51可降至 0Hz 的静态逻辑操作,第4页共22页空闲方式是停止 CPU的工作,但允许定时计数器、 RAM、中断系统及串行通信口继续工作。掉电方式是保存 RAM中的内容,但振荡器停止工作就要禁止其它所有部件工作直到下一个硬件复位。3.2 温度监测模块3.2.1 温度传感器简介温度传感器的种类众多,在应用与高精度、高可靠性的场合时 DALLAS(达拉斯)公司生产的 DS18B2

6、0温度传感器当仁不让。DS18B20具有以下特性:( 1)独特的单线接口仅需一个端口引脚进行通讯;( 2)简单的多点分布应用;( 3)无需外部器件;( 4)可通过数据线供电;( 5)零待机功耗;( 6)测温范围 -50+125,以 0.5 递增。华氏器件 -67+257,以 0.9 递增;(7) 温度以 9 位数字量读出温度数字量转换时200ms(典型值);(8) 用户可定义的非易失性温度报警设置;(9) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(10) 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统。3.2.2 测量原理DS18B20有三个主要数字部件: 1

7、)64 位激光 ROM, 2)温度传感器, 3)非易失性温度报警触发器 TH和 TL。器件用如下方式从单线通讯线上汲取能量:在信号线处于高电平期间把能量储存在内部电容里, 在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 DS18B20也可用外部 5V 电源供电。第5页共22页DS18B20+5VVDDI/OuP图 3 DS18B20与单片机的连接方式DS18B20依靠一个单线端口通讯, 如图 3 所示。在单线端口条件下, 必须先建立 ROM操作协议,才能进行存储器和控制操作。 因此,控制器必须首先提供下面 5 个 ROM操作命令之一: 1)读 ROM,2)

8、匹配 ROM,3)搜索 ROM,4)跳过 ROM,5)报警搜索。这些命令对每个器件的激光 ROM部分进行操作,在单线总线上挂有多个器件时, 可以区分出单个器件, 同时可以向总线控制器指明有多少器件或是什么型号的器件。 成功执行完一条 ROM操作序列后,即可进行存储器和控制操作,控制器可以提供 6 条存储器和控制操作指令中的任一条。一条控制操作命令指示 DS18B20完成一次温度测量。 测量结果放在 DS18B20 的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器 TH和 TL 各由一个 EEPROM字节构成。如果没有对 DS18B20使用报警搜索命令, 这些

9、寄存器可以做为一般用途的用户存储器使用。 可以用一条存储器操作命令对 TH和 TL 进行写入,对这些寄存器的读出需要通过暂存器。 所有数据都是以最低有效位在前的方式进行读写。图 4 DS18B20温度测量电路原理图3.2.3 电路仿真1>未达到设定值前:第6页共22页2>到达设定值之后:3.3 烟雾监测模块MQ系列气体传感器是常见的气体传感器,它有多种系列,可用于不同气体浓度的检测。 它的工作原理为: 其内部由活性很高的金属氧化物半导体 (常用的是 SnO2)组成,金属氧化物半导体在空气中被加热到一定温度时,氧原子被吸第7页共22页附在带负电荷的半导体表面, 半导体表面的电子会被转

10、移到吸附氧上, 氧原子就变成了氧负离子, 同时在半导体表面形成一个正的空间电荷层, 导致表面势垒升高,从而阻碍电子流动。 在敏感材料内部, 自由电子必须穿过氧化物半导体微晶粒的结合部位 (晶界)才能形成电流。 由氧吸附产生的势垒同样存在于晶界而阻碍电子的自由移动, 传感器的电阻即缘于这种势垒。 在工作条件下当传感器遇到还原性气体时,氧负离子因与还原性气体发生氧化还原反应而导致其表面浓度降低,势垒随之降低,传感器的阻值减小。在给定的工作条件下和适当的气体浓度范围内,传感器的电阻值和还原性气体浓度之间的关系可近似由下面方程表示:Rs=AC- 其中: Rs:传感器电阻 ,A: 常数 ,C: 气体浓度

11、, :Rs 曲线的斜率通过对传感器两端电压的测量可以得到传感器的阻值, 进而可以得到所测气体的浓度。MQ-7半导体气体传感器具有对 一氧化碳的高灵敏度、优异的稳定性、长寿命、大的电信号输出、优异的选择性,常用于家庭、商业、工业环境的一氧化碳、煤气探测装置。MQ-7 工作条件:环境温度: -20 +55 湿度: 95%RH环境含氧量: 21%烟雾监测模块由一块 MQ-7 型气敏传感器芯片及若干外围电路组成。其测量电路如图 5 所示。图 5 烟雾监测模块测量电路3.4 Zigbee模块ZigBee是 一 种 低 速 无 线 个 域 网 技 术 ( LowRate Wireless Personal

12、Network, LRWPAN)。它用途很广泛,多适用于一些分布范围较小,通信数据量不大,数据传输速率相对较低, 但同时对传输数据的可靠性和安全性有一定的要求,同时成本低和功耗低且易安装使用的场合。选用CC2530 作为无线通信模块的核心芯片。外观图如图5.2 所示。第8页共22页CC2530-ZigBee 无线通讯模块是采用 TI 最新一代 CC2530 ZigBee 标准芯片,适用于 2.4GHz、 IEEE 802.15.4、ZigBee 和 RF4CE 应用。 CC2530 芯片包括了极好性能的一流 RF 收发器,工业标准增强性 8051 MCU ,系统中可编程的快闪内存, 8KB R

13、AM 以及许多其他功能强大的特性,可广泛应用在 2.4-GHz IEEE 802.15.4 系统、 RF4CE 控制系统、 ZigBee 系统,其应用领域可为:家庭医院建筑物自动化,工业控制测量和监视,低功耗无线感测器网络等各方面应用。无线模块的软件主要由两部分构成, 一部分为主程序, 实现串口数据到无线数据的转换;另一部分为中断服务程序, 实现无线数据到串口数据的转换 CC2530 的开发环境是 IAR Embedded Workbench IDE,采用 C 语言编程,流程图 6 如下:开始初始化时钟初始化电源初始化串口初始化 DMA初始化无线无线接收串口接收到数N据?数据在 DMA 的控制

14、下从 RadioY区转移到 Memory 区串口数据经 DMA控制转移到 Radio区中DMA 工作结束后产生中断,通无线发送过串口将转移到 Memory 中数据发送出去图 6ZigBee 模块软件设计流程图3.5 报警模块当需要报警时, 单片机将通过一个 I/O 口进行报警。报警电路由一个蜂鸣器和三极管 9013 组成,当单片机的 WARN口输出高电平时, 9013 导通,蜂鸣器联通,从而发出声音,声音的大小可由 WARN口输出的方波频率控制。第9页共22页图 7报警模块电路3.6 键盘输入模块在单片机系统中, 键盘的设计主要有三种方式: 独立按键式键盘、 行列扫描式键盘和 N×(

15、 N-1)键盘。独立按键式键盘使用单片机的 I/O 口线直接连接,每个按键对应一根口线, 一般应用在按键较少的场合。 但系统功能较多、 按键数量较大时,独立式按键就不能满足需要了。此时需要使用行列扫描式键盘接口,可以通过少量的 I/O 口线连接较多的按键。 在有的应用场合, 单片机的 I/O 口线非常紧缺,又需要较多按键的键盘,这时可使用 N 条口线上连接 N×( N-1)个按键的方法予以解决。本设计中采用的是独立按键式键盘,接线方式如图 8 所示。图 8 行列扫描式键盘原理图在独立按键式键盘上实现键盘主要有三个步骤: 判断有无按键被按下并消除抖动;键盘识别;等待按下键盘松开。1判断

16、有无按键被按下并消除抖动在图 8 中,按键开关一端接地,一端通过一个上拉电阻接高电平作为输出,当按键按下时, 输出电平由高变为低, 通过单片机进行延时消除抖动即可判定为一次有效按键触动。2. 键盘识别经确认的有效按键触动后就可以进行键盘的识别,由单片机对 KEY口输入进第10页共22页行识别从而得到对应的键值。3. 等待按下按键松开键盘识别后单片机将采用 while 来检测按键的输出电平是高还是低来确定按键是否松开,未松开则一直在等待直到松开。3.7 液晶显示模块LPH7366是 NOKIA公司生产的可用于其 5110、 6150,6100 等系列移动电话的液晶显示模块, 国内厂家也生产有类似

17、的兼容产品。 该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。 与其它类型的产品相比, 该模块具有以下特点:1>84×48 的点阵 LCD,可以显示 4 行汉字;2> 采用串行接口与主处理器进行通信, 接口信号线数量大幅度减少, 包括电源和地在内的信号线仅有 9 条。支持多种串行通信协议 (如 AVR单片机的 I 、MCS51的串口模式等),传输速率高达 4Mbps,可全速写入显示数据,无等待时间;3> 可通过导电胶连接模块与印制版, 而不用连接电缆, 用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换;4>LCD控制器 / 驱动

18、器芯片已绑定到LCD晶片上,模块的体积很小;5>采用低电压供电,正常显示时的工作电流在200A 以下,且具有掉电模式。LPH7366的这些特点非常适合于电池供电的便携式通信设备和测试设备中。图 9液晶显示模块电路3.8 人体红外感应模块HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口 LHI778 探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。第11页共22页图 10HC-SR501人体感应模块实物图功能特点 :1、全自动感应 :人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。

19、2、光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应。3、温度补偿 (可选择,出厂时未设 ):在夏天当环境温度升高至 3032,探测距离稍变短,温度补偿可作一定的性能补偿。4、 两种触发方式:(可跳线选择)a、不可重复触发方式 :即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平, 直到人离开后才延时将高电平变为低电平 (感应模块检测到人体的每一次活动后会自动顺延一个延时时间段, 并且以最后一次活动的时间为延时时间的起始点 )。5、具有感应封锁时间 (默

20、认设置 :2.5S 封锁时间 ):感应模块在每一次感应输出后(高电平变成低电平) ,可以紧跟着设置一个封锁时间段, 在此时间段内感应器不接受任何感应信号。此功能可以实现 “感应输出时间 ”和 “封锁时间 ”两者的间隔工作,可应用于间隔探测产品; 同时此功能可有效抑制负载切换过程中产生的各种干扰。 (此时间可设置在零点几秒 几十秒钟 )。4 主机软件设计编写程序时,应当首先确定一个比较完整的程序结构, 在此结构的基础上逐步细化,最终完成程序所要求的全部功能。 本文是按照模块的思想来规划整个软件系统的设计, 对系统所应实现功能进行分析, 并考虑硬件设备, 将软件分为主第12页共22页机软件设计和从

21、机软件设计两个部分。本节和3 节将对软件设计过程进行阐述。4.1 主机程序整体框架系统按照功能分层次进行实现, 每个部分完成各自部分的功能, 所有源程序写在对应模块的 .c 文件中,而宏定义、外部变量声明、函数声明保存在对应名称的 .h 文件中。如前述,系统主机要实现低功耗, 绝大部分处理将安排在中断程序中。 程序框架如图 11 所示。检测状态N状态异常 or有按键?Y初始化、读取配置参数置相应标志根据标志进退出低功耗无行相应处理限循返回环进入低功耗( a)系统主程序( b)中断程序图 11 主机程序整体框架中断程序:实现各种状态及按键的检测,若正常或无按键,直接返回;否则置相应标志后退出低功

22、耗模式,以便主程序完成处理。主程序:根据各个中断程序中设置的标志位进行相应报警处理或按键处理,处理完成后进入低功耗模式。按上述框架实现程序,可以使得 CPU 无须时时刻刻执行程序,在没有中断时进入低功耗状态, 从而提高系统运行时间。 后续节将分别阐述主程序和各个中断程序的实现过程。4.2 无线发送 / 接收程序在进行 CC2420通讯之前需要确定发送和接收数据的帧格式,为了简化,不用官方 Zigbee的数据帧格式。在这个项目中采用下面的数据帧格式。CC2420处于接收状态下,它开始接收新的一帧数据当它检测到SFD和前导码时。表 3CC2420发送与接收数据帧格式MAC协议数据单元( MPDU)

23、前导码帧起始分隔帧长度源地址目的地址负载帧检查系列符( SFD)( CRC)4字节1字节1字节1字节1字节4字节2字节0x000x7AMPDU发送者地接收者地数据? 发射 , 0x00.的长度 :址址或广播? 接收,第2 个字第13页共22页0x08地址 0xFF节的第 7位当CRC 正确为 1,否则是 0数据帧发送时, CC2420自动在数据包的开始处加上前导码和帧起始分隔符在数据包末尾加 CRC检验。发送与接收程序代码见附录 2.一、发送按以下步骤进行数据发送:1把数据流按顺序存入 TX FIFO:a.帧中 MPDU的长度,通常情况下是 0x08b.本地地址c.接收者地址或广播地址0xFF

24、d.用于发送的四个字节,从MSB开始(也就是 In31:24->In7:0 )e.两个字节的 0x00,它表示 CC2420自动替换 CRC位。2检查 CCA信号并且在信道空闲时才进行操作。另一做法是用 STXCCA命令寄存器代替第 2和第 3步。不管你采用哪一种方法来执行 CCA,建议你要经过一段“随机”长的时间的等待后才重试。3执行 STXON命令寄存器4在任何新数据写入 TX FIFO前请确认 SFD变高后变底并且已经等待了至少60个时钟周期。二、接收接收数据帧时, CC2420自动计算帧的 CRC校验。你要人工检查接收帧的最后一个字节的 CRC校验位。存到 RX FIFO的首个字

25、节是长度字节。 CC2420将不会接收任何数据除非它已经处于接收模式 12个信号周期。你必须在数据包的发送过程中加入等待时间以便 CC2420检查和接收数据。按以下步骤进行数据接收:1 检查 FIFO和FIFOP信号,确认是否有新数据到来。2 如果有新数据到来,开始从RX FIFO中读取。a. 首字节是长度字节。要保存,因为它是帧结束的唯一标志。马上清除 RX FIFO如果它的长度不是 0x08。b. 接收源地址并检查它是否与希望的发送者相匹配。如果不匹配则随机的丢弃整个帧。对地址的检查请参考 4.4节。c. 接收目的地址并检查它是与本地地址相匹配还是广播地0xFF。如果不匹配则随机的丢弃整个

26、帧。d. 接收并保存 4字节负载到一个你将要设计的 FIFO中。e. 接收两字节的 CRC信息。如果 CRC没有检查,则丢弃先前保存的数据负载。3任何时候 RX FIFO只要发生下溢或溢出,马上清除 FIFO。接收中断程序如图所示。第14页共22页开始设接收数据状态收到数据?NOYES设发送数据状态回送数据数据类型?温度烟雾红外置火警标志置煤气标志置闯入标志退出低功耗返回图 11无线接收流程图4.3 温度监测节点程序温度监测节点采用和主机类似的程序框架。 主程序流程和温度采集判断流程分别如图 12、13 所示。第15页共22页开始系统初始化NO参数未配置?YES等待配置读取参数NO有标志?YE

27、S发送温度数据无线置接收状态收到回送数据?进入低功耗图 12 温度监测节点主程序流程图开始检测温度NO超限?YES置温度标志退出低功耗图 13 温度检测、判断流程图第16页共22页无线节点同样有低功耗的要求, 另一方面考虑到温度变化不快, 所以程序中对温度的检测间隔进行,每 10s 采样一次,使用一个定时器实现。在定时器中断服务程序中实现温度检测及是否超限的判断,若超限置超限标志后退出低功耗,以便主程序实现处理。在温度节点中要实现对上位机温度设定数据的接收,和主机类似,待机状态下 CC2420处于休眠模式 GIO1 pin 周期性输出一方波, 接于 MSP430F149具有中断功能的 P1.6

28、 上,定时通知 CPU处理通信任务。其中 P1.6 设为上升沿中断。中断程序中判断是否接收到温度设定数据, 若接收到则更新本地设定数据, 并写入FLASH信息段。DS18B20 数字温度计提供 9 位 (二进制 )温度读数 指示器件的温度 信息经过单线接口送入 DS18B20或从 DS18B20读出,因此从主机 CPU,到 DS18B20仅需一条线 (和地线 )。这也决定了对 DS18B20的操作时序有严格的要求。下面简单介绍其工作过程及时序。开始DS18B20初始化,NO成功?DS18B20初始化,NOYES成功?YES发送跳过读 ID 号命令发送跳过读 ID号命令发送读 ScratchPa

29、d命令发送温度转换命令从ScratchPad读取温度延时 1s温度转换为十进制保存返回图 14温度转换程序流程4.4 烟雾监测节点程序烟雾检测主要是测量烟雾传感器的电压,可以通过单片机AD 模块将电压值数字化,通过调节灵敏度分压电阻可以得到适合的报警值,若单片机获得的AD值超过这一报警值,则延时 1s,然后每隔 1s 采集一次烟雾传感器电压值,若5次该电压值均超过设定的报警值, 则置报警标志位并通过无线发送给主机进行处理。烟雾监测节点主程序流程和中断服务程序流程分别如图15、16 所示。第17页共22页开始初始化NO5次 AD 值均超过报警值?YES发送烟雾报警进入低功耗图 15 烟雾监测节点主程序流程图开始置烟雾标志退出低功耗图 16 中断服务程序流程4.5 红外热释电监测节点程序红外热释电监测节点程序的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论