ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:1.49MB ,
资源ID:5523344      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5523344.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(毕业设计(论文)-基于Zigbee的智能开关的设计与实现.docx)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

毕业设计(论文)-基于Zigbee的智能开关的设计与实现.docx

1、 基于Zigbee的智能开关的设计与实现 摘 要 近年来,智能家居是不断被人们提到的热点话题,其能够提升家居的安全性和舒适性,同时为用户提供了生活便利。除了其出色的用户体验,智能家居还有助于实现居住环境的节能环保,因此成为未来家居的发展方向。 本文首先提出了一种基于Zigbee技术的智能家居系统,该系统由用户手机、网络服务器、网关和若干功能性子节点组成。在此系统架构下,本文针对功能性子节点中的智能开关节点部分,从其硬件电路和软件程序两个角度分析了该类节点实现自动联网、断线自检、无线通讯等功能的原理,并设计了一个具有以上功能的智能开关节点设备。通过对节点的调试,该设备成功实现了用户

2、对智能开关的本地、远程控制。 该智能开关节点便于安装、使用简单、出现故障后能够完成自检,经过长期的测试证明,该节点在整个智能开关系统中能够正常稳定地运行。 关键词:智能家居 远程控制 Zigbee CC2530 Design and Implementation of Smart Switch Based on Zigbee Abstract Smart Home is a hot topic in recent years, which can enhance home security and comfort, while providi

3、ng convenient life. In addition to its excellent user experience, smart home also contributes to energy saving and environmental protection of the living environment, thus becoming the future direction of home. This paper presents a technique based on Zigbee smart home system, the system consists o

4、f mobile phone users, network servers, gateways, and several functional temper nodes. In this system architecture, this paper function temper intelligent switching node section, from hardware and software program analyzes the class two node network automatically, breaking the principle of self-test,

5、 wireless communications and other functions, and design of the intelligent switching node apparatus having the above functions. By node debugging, the successful implementation of the local device, remote control user intelligent switches. The intelligent switch node is easy to install, simple to

6、use, after a failure to complete the self-test, after a long test proved that the node can be normal and stable operation throughout the intelligent switch system. Key Words: Smart Home;Long-distance Control;Zigbee;CC2530 目 录 1.绪论 1 1.1 智能家居背景与意义 1 1.2 智能家居研究现状 1 1.3 智能开关概述 2 2.系统方案设计

7、4 2.1 课题设计目标 4 2.2 课题设计方案 5 2.3 Zigbee网络概述 6 2.4 论文章节安排 6 3.硬件电路设计 8 3.1 微控制器最小系统设计 8 3.2 触摸检测电路设计 11 3.3 继电器控制电路设计 11 3.4 电源转换电路设计 12 4.软件程序设计 14 4.1 程序设计方案 14 4.2 CC2530程序架构 14 4.2.1 Z-stack协议栈 15 4.2.2 操作系统抽象层 15 4.3 底层程序设计 16 4.3.1 设备组网入网 16 4.3.2 串口配置 16 4.4应用层程序设计 18 4.4.1 通

8、信协议设计 18 4.4.2 远程控制程序设计 20 4.4.3 本地控制程序设计 20 4.4.4 用户查询与通信检查程序设计 21 5.调试与分析 22 5.1 调试方案 22 5.2 底层调试 23 5.3 应用层调试 23 6.总结与展望 25 6.1 总结 25 6.2 展望 25 参考文献 27 附录 28 附录一 系统原理图和PCB 28 附录二 系统实物图 29 附录三 系统核心代码 30 致谢 34 33 常熟理工学院毕业设计(论文) 1.绪论 1.1 智能家居背景与意义 智能家居概念的前身最早可以追溯到上世纪80年代的美国。建造

9、于1984年的“都市大厦”坐落于美国康乃迪克州的哈特佛市。此项目对建筑中的各种信息进行收集和整合,创造出了世界上第一座“智能建筑”。该建筑的主要功能包括:对大楼空调、电梯、智能照明设备等进行监控;提供语音通信、电子邮件和情报资料等方面的信息服务。由于当时网络还未普及,传统的智能家居多采用有线技术,布线复杂、造价昂贵、用户体验度非常不好,因此在很长一段时间人们并不看好其发展。但随着互联网技术的发展,新一代基于无线通信的智能家居利用移动互联网技术、智能终端控制技术,使整个智能家居的舒适度提升了上去,智能家居又重新回到了人们的视野中。 智能家居创造了一种新的生活方式,这不仅不会影响用户的正常生活,

10、而且能够提升用户的生活质量和工作效率。例如,上班之前只要按动遥控器上的按键,家里的电灯和电器就能全部关上,安全防范系统自动进入警戒状态;傍晚下班,用手机就可以遥控打开客厅里的空调和浴室里的热水器,回到家中就可以马上享受一个舒服的热水澡。此外,智能家居还能衍生出许多新用途用于满足不同人群的需求。目前广泛运用于智能家居系统的子节点设备包括智能开关、智能插座、智能窗帘、智能红外转发器等,因此使用前景十分广阔。 1.2 智能家居研究现状 1998年5月,新加坡举办了“98亚洲家庭电器与电子消费品国际展览会”。本次展览会的一大亮点,是通过在场内模拟“未来之家”,推出了新加坡模式的家庭智能化系统。进入

11、21世纪,国内的许多传统家电厂商和新兴互联网厂商也积极在智能家居领域施展拳脚,希望分得一杯羹。我国的海尔集团,已经在青岛东城建立了智能家居U-home系统;电商巨头京东,在2014年6月底公布了智能家居发展战略;与此同时,小米公司与华润置业等地产商联合,也在对智能家居领域进行探索。 目前,小米公司为智能家居生产商中的领军企业,该公司最近成功将两款智能家居产品推向市场,分别为智能插座和智能插线板,这两款产品均采用了目前广泛使用的WIFI技术,用户可以通过手机远程控制插座或插线板。插线板和插座都配有220V插口和USB插口,用户只要点击手机上的图标即可打开或关闭相应插口。 除了利用WIFI通信

12、外,应用于智能家居的通信方案还有红外通信、Zigbee通信等。其中Zigbee技术可以在家庭中建立一个Zigbee局域网,并对覆盖于该局域网下的若干智能家居子节点进行互联。Zigbee技术与WIFI技术相比,虽然通信距离短、通信速率没有互联网通信快,但由于其应用于室内控制,对通信距离和通信速率的要求较低,基本能满足家庭通信需要,并且其优点被进一步放大:设备成本低,使用期间无额外通信费用产生;功耗低,一节干电池可以维持一个Zigbee模块正常运行半年到一年,克服了大多数通信设备对不间断电源的依赖性。 1.3 智能开关概述 与上述提及的智能插座、智能插线板相比,智能开关在智能家居中使用得更加普

13、遍。家庭中控制照明设备的开关从最初的拉线开关、拇指开关,发展到如今常见的按键开关,在安全性、可靠性、便利性上都得到了更大提升。目前市场上的智能开关除了有触摸开关、射频控制开关,还有免布线开关、单火线给电开关等,这类智能设备正向易安装和人性化方面继续发展。 1.射频控制开关 射频控制开关利用射频通信原理,可通过射频遥控器对家中的开关进行单独控制或群控制,起到了一定便利性。该设备的缺点在于射频信号通信距离较短,当有障碍物遮挡时,遥控灵敏度会降低。 2.触摸开关 触摸开关利用触摸传感器控制开关动作,在安全性和美观性上都胜于按键开关。一方面,在外观上其略去了传统的机械开关结构,开关面板仅包含一

14、个触摸感应区域,造型更为一体。另一方面,由于没有机械开关的间隙,该类开关能安全应用于浴室、厨房等环境。该类开关的缺陷在于触摸电路的供电复杂,须对家庭原先电气线路进行改造。 3.免布线开关 免布线开关包含一个无需外部供电的移动开关和一个220V供电的控制器,当用户操作开关面板时,该移动开关能将环境中的机械能、光能转化为电能,然后利用无线通信技术将触摸信号发送给控制器,最终控制器会对相应照明设备进行通电断电操作。该类开关的优势在于降低了装修成本,免去家庭装修前期的一些开关布线工程;在安置开关时,用户可以个性化选择开关位置,无需对家庭中的照明线路进行改造;控制器可以配置成单个开关控制多路照明设备

15、或多路开关控制同一照明设备,在卧室床头灯开关应用上使用广泛。与射频控制开关相比,该类开关遥控距离更远,当有障碍物遮挡时信号稳定。 4.单火线给电开关 单火线给电开关是替代传统面板开关的成熟解决方案。传统开关在进行线路设计时,往往只引出了火线,然后再将各用电设备连接至零线上,因此家庭中原先开关盒的引线仅包含了火线输入口和火线输出口。该单火线给电开关利用火线即可完成取电工作,优势在于无需对家庭线路进行改造、无需控制器即可控制家中的照明设备,安装过程更加便利。在解决供电问题后,该设备还可加入远程控制功能,进一步提升开关的智能性。

16、 2.系统方案设计 智能家居系统的核心是建立用户与节点间的双向通信关系。本文提出的智能家居通信策略与小米插座所使用的不同,在该系统方案中,承担通信任务的设备包括手机、服务器、网关和若干节点设备,各设备之间的关联如图2-1所示。手机与服务器、服务器与网关间的通信在互联网中进行,网关与若干节点的通信在Zigbee网络中进行,在该通信网络下,用户可以通过手机进行远程控制或在家中进行本地控制。 图2-1 智能家居系统框图 2.1 课题设计目标 本文研究的核心内容选取自智能家居系统中的一个重要单元——智能开关节点。该节点为了满足

17、用户的日常需求,不仅在功能上需要具备本地控制和远程控制功能,在使用过程中还需要考虑人性化因素。总结上述需求,该智能开关节点的设计目标包括: 1. 对于本地控制,用户可以通过实体开关在家中对电气设备进行控制,此时手机上可同时接收到开关状态更新的消息。 2. 对于远程控制,用户可以通过手机软件对家中的电气设备进行控制,同时能够监测家中电气设备的状态。 3. 为方便用户安装使用,该节点在首次启动时,网关能与节点自动配对,断电重启后能自动重连。 4. 为保证通信质量,系统能自动检测网关与开关设备间的连接状态,并能上报连接失败的消息。 5. 为了增强该智能开关设备的兼容性,在对电路元器件进行选

18、型时应考虑提升其带负载能力。 2.2 课题设计方案 对于本地控制功能的解决方案,直接对开关节点设备进行编程即可实现。对于远程控制功能的解决方案,则需要上述系统框图中提及的各设备相互配合才能实现。 首先,用户使用手机连接互联网,在手机软件中输入的操作指令会先发送至服务器,再由服务器发送至特定家庭的网关中,最终与家庭中的各节点进行Zigbee通信。其中网关主要在互联网通信和Zigbee通信之间起转发作用,在家庭网关接收到用户发来的指令后,网关会和家庭中的Zigbee设备进行通信并实现相应的用户指令,如智能开启家中的电气设备。 其余设计目标可通过编写代码解决。在软件程序设计方面,该智能开关节

19、点使用TI公司推出的Z-stack协议栈进行编程。该节点所有功能的实现,是依靠通信中数据包的正确收发以及单片机对数据包的正确分析。开关的控制信号和开关状态都包含在相应数据包中,当接收到完整数据后,程序会根据通信协议分析该数据包的含义,最终做出相应的处理。在该数据包中,一个字节的数据就可控制8个照明设备,且发送数据包的长度无限制,因此该智能开关节点具有灵活的可扩展性。 为了满足上述设计方案的实现,在硬件电路设计方面,该智能开关节点包含一个电源转换电路模块,用于各个元器件的供电;一个主控制器最小单元CC2530,用于建立Zigbee网络和执行相应的程序操作;此外还包括三路触摸开关,分别控制三路家

20、用电气设备,其硬件框图如图2-2所示。 图2-2 智能开关节点硬件电路框图 在触摸检测电路中,触摸开关采用电容式开关设计,并使用专门的触摸开关检测芯片检测触摸开关的状态;智能开关的执行机构是继电器,其开关触点端与电气设备串联接入220V市电中;继电器的电磁线圈端与一个三极管串联接入5V直流电,其基极与CC2530单片机控制引脚相连。为了获得更好的用户体验,在进行开关操作时触摸面板会有彩色灯光提醒:当进行开启动作时,触摸开关会由绿色变成红色;当进行断开动作时,触摸开关由红色变为绿色。 在满足基本功能实现的基础上,在实际使用中还要求智能开关系统设计简洁,功耗小。该课题选用的CC2530

21、芯片,自带Zigbee通信功能且体积小,无论在技术上还是功耗上,都能够满足智能家居的配置要求,因而成为智能家居控制单元的首选。 除了对节点的基本功能进行软件设计,在进行程序编写前还需进行其他配置,如选择网络拓扑结构、Zigbee通信方式等。在Zigbee网络拓扑结构的选取上,该课题为了更方便地添加其他开关设备,最终选用网型拓扑结构。考虑到家庭中有众多待检测和待控制的设备,该课题的通信方式既包括点对点通信,又包括广播通信。当网关对所有节点设备发送操作指令时,采用广播通信方式;当节点向网关上报设备信息时,采用点播通信方式。 2.3 Zigbee网络概述 智能家居系统的本质是一个多节点网络,对

22、于节点设备的控制主要通过Zigbee模块之间的通信实现。根据不同Zigbee设备在网络中所扮演的角色划分,包括协调器、路由器和设备终端。 (1)协调器。一个Zigbee网络需要协调器来建立,在系统启动初始,协调器主要负责建立和配置网络。在网络建立后,协调器与路由器的作用相同。 (2)路由器。路由器是信息传递的枢纽,其既能接收周围节点上报的信息,也能发送控制信息控制周围节点。 (3)设备终端。设备终端作为整个网络的末端,不能再延伸出节点,对整个网络的建立和维护没有贡献,且本身只做接收信号功能,无法上报信息。终端不需要持续供电,在系统设计时可在需要它时与它通信,在其余时间终端可以处在休眠状态

23、能很好地延长使用寿命。 在该智能家居系统中,网关用于建立Zigbee网络,其作为协调器使用。由于该智能开关节点在方案设计中已指出需要双向通信功能,因此为需要将开关节点作为路由器使用,根据以上分析,该系统不涉及到设备终端。 2.4 论文章节安排 1. 绪论。主要介绍了智能家居的背景、研究现状,并对目前智能开关中衍生出的基本种类进行简要概述。 2. 系统方案设计。主要介绍了智能开关节点的设计目标和设计方案,并简要介绍了Zigbee网络的基本组成。 3. 硬件电路设计。主要介绍了CC2530最小系统和智能开关电路的设计,并对芯片的选取和外设电路进行了分析。 4. 软件程序设计。首先简要

24、梳理了智能开关节点的软件设计思路,之后结合实际功能重点阐述了应用层的软件设计。 5. 调试与分析。首先简要分析了一些功能模块的具体调试过程,之后重点阐述开关节点的运行调试情况,并给出最终的调试图片。 6. 总结与展望。主要是对该课题在研究过程中遇到的问题进行总结,并提出该作品的不足之处以及其他需要改进优化的方面。 3.硬件电路设计 由智能开关节点的硬件电路框图2-2可知,该节点的硬件电路设计主要分为四个部分:微控制器最小系统、触摸检测电路、继电器控制电路和负载部分,除此以外还有为各电路供电的电源转换电路

25、智能开关节点的硬件设计为了满足易安装、结构简单的要求,应尽可能缩小设备体积。在实际使用中,该开关节点用于控制负载上火线的通断,因此仅需在节点的负载端引出相应端子与负载相连,本章主要介绍其他四部分电路。 3.1 微控制器最小系统设计 目前市场上主营三种Zigbee芯片,分别是:德州仪器的CC2530 、飞思卡尔的MC1321X系列和意法公司的EM250。 CC2530采用标准的8051处理器,可以和2.4GHZ的Zigbee无线收发电路配合工作。目前德州仪器提供Z-stack协议栈,且已经开放免费下载,而其他几家公司的情况如下:飞思卡尔 Zigbee开发套件3个月自动失效,购买正版需要1

26、200美元;EMBERR ZIGBEE 2006 软件的报价为10000美元。 此外CC2530是包括闪存存储器和Zigbee射频收发模块的集成芯片,是真正的单芯片解决方案。飞思卡尔的芯片采用两个硅片和SIP技术共同包装,在大量生产情况下,肯定不及单芯片方案。 综上所述,CC2530无论从性能上还是成本上都具有极大的优势,因此本课题最终选择德州仪器的CC2530芯片作为主控芯片。该芯片包含128KB的系统内可编程闪存,8KB的RAM,具备在各种供电方式下的数据保持能力。在外设电路上,该芯片具有5路DMA通道和21 个通用I/O 引脚CC2530芯片最小系统电路示意图如图3-1所示,其外围电路

27、包括时钟电路、复位电路和射频收发电路。 图3-1 CC2530最小系统电路示意图 1. 时钟电路 在微处理器单元的晶振接口两端跨接一个高速石英晶体振荡器,再并联电容和电阻组成谐振电路。由于石英晶体起振较慢,需要将晶体尽可能靠近OSC_IN和OSC_OUT两个引脚。32kHz晶振能为系统提供稳定的时钟信号。具体电路见图3-2。 图3-2 时钟电路 2. 复位电路 CC2530上的20号RESET引脚为是复位引脚,当该引脚为低电平时单片机复位,该管脚接一个10K的上拉电阻,以保持高电平的状态。并联接入一个0.01uF的电容可以起到滤波的作用。具体电路见图3-3。 图3-

28、3 复位电路 3. 射频收发电路 射频收发电路用于收发数据。在对天线的设计中,虽然PCB板印制天线可以减少电路板的空间,但在设计过程中由于受板材的介电常数,参考地的大小,层叠间距等等因素的影响,该课题最终选择外接天线。 为了增加信号接收发送的可靠性,该课题选用CC2591芯片作为前端功率放大电路。根据德州仪器公司提供的2.4GHz射频电路参考原理图,在天线的设计上采用分离的电容电感元件进行射频收发信号的匹配电路,CC2530的RF_P和RF_N管脚是一对差分输入输出信号。为了达到最好的发送接收效果,外围电路参数应严格按照德州仪器公司官方提供的典型参数值。具体电路见图3-4。 图

29、3-4 射频收发电路 4. CCDebugger程序下载接口 CC2530程序下载需要外部仿真下载器CCDebugger,单片机与仿真器的接线如图3-5所示。表3-1给出了下载器引脚的名称: 表3-1 CCDebugger接线说明 1.GND 地线 6.SCLK 下载时钟线P1.5 2.VDD 设备电源线 7.RESET 复位线 3.DC 调试时钟线 P2.2 8MOSI 数据输出线P1.6 4.DD 调试数据线 P2.1 9.3.3V 仿真器输出电压 5.CSN 下载片选 P1.4 10.MISO 数据输入线P1.7 CCDebugge

30、r提供两组接口,一组是SPI通信接口,最高传输速率可以达到50Mbps,用于分析数据和抓包使用。此外还提供程序下载接口,需要使用GND、VDD、RESET、DC和DD四个引脚。当仿真器上的指示灯由红变绿,表示仿真器检测到单片机,可以开始下载。 图3-5 CCDebugger下载接口 3.2 触摸检测电路设计 该课题设计的智能开关节点包含三路触摸开关。触摸开关的设计来源于电容的工作原理,触摸开关实际是一块金属电极。由于人是导体,当人手靠近金属电极时,在手指与金属电极之间会产生微弱电场,此时金属电极与人手便成为电容的两极,用户在触摸过程中会改变原来电容的容值。BS813A-1是触摸开关

31、检测芯片,该芯片能感应到触摸区域的电容变化从而识别用户是否操作了开关。C12、C13、C14三者功能相同,用于调整各路开关的灵敏度,当该电容的容值增大时,灵敏度变低,该芯片使用手册推荐选取的容值范围为0-25pF。 由电路原理图3-6所示,触摸信号检测引脚KEYX与输出响应信号OUTX依次对应,下面以触摸开关K1为例阐述硬件电路运行机制。当检测到用户触摸K1时,OUT1保持在高电平,松开后变为低电平,电平的变化会引起单片机执行响应操作。对触摸开关K2或K3操作与此相同。 触摸区域上方有一块塑料导光板,其将电极与人手隔离,6个发光二极管两两一组,由单片机控制。布线时,将发光二极管贴近导光板,

32、能使面板呈现不同颜色便于用户分辨开关状态。下面以触摸开关K1为例阐述硬件电路运行机制,假设此时开关控制的用电设备处于断电状态。当触摸开关操作一次,触摸开关背光灯由绿色变为红色,设备启动;当再进行一次操作,触摸开关背光灯由红色变为绿色,设备断电。对触摸开关K2或K3操作时有相同的现象,具体电路如图3-7所示。 图3-6 触摸检测电路 图3-7 灯光指示电路 3.3 继电器控制电路设计 继电器控制电路用于控制220V交流回路的通断,是触摸检测电路的执行机构,执行通断任务的器件是继电器。HRS3FNH-S-DC5V

33、继电器的触点最大可承受250V的交流电,额定电流可达10A,满足设计目标。线圈吸合触点所需的电压为5V,因此增加S8050三极管作为开关管使用。并联在线圈两端的二极管能为电感线圈提供泄放回路从而保护三极管。该系统中共包含三个继电器控制电路,分别用于控制三路负载。单片机输出引脚P1.6、P1.7、P2.0用于输出高低电平控制三极管,其电平变化分别与K1、K2、K3有关。 为防止开关在动作时产生电弧,该电路在继电器的触点端并联了灭弧装置,该装置等效为一个RC串联电路。为防止电网电压波动损坏负载,须在负载端并联气体放电管、压敏电阻和瞬态抑制二极管,保护电压选择市电的1.3至1.4倍。这三类原件均为

34、过压保护原件,当电压过大时,其内阻会急剧减小造成短路效应,从而保护家庭用电设备。 下面以触摸开关K1为例分析其电路原理,电路如图3-8,其中Load表示负载。当开关K1按下时,P1.6置为高电平,三极管导通,此时触点间吸合;当再次按下K1时,P1.6为低电平,三极管关断,磁场消失使触点弹回,此时电路开路。由于线圈的储能作用,线圈中的电流使线圈与二极管形成回路,该残余电流在回路阻抗中被消耗。对触摸开关K2或K3操作时,分析方法一致。 图3-8 继电器控制电路 3.4 电源转换电路设计 电源转换电路是为单片机最小系统、触摸检测电路和继电器控制电路供电。根据实际需求,该智能开关节点需要

35、以下两种电压: 1. 5V直流电压:为触摸检测电路、继电器控制电路提供5V的高电平。 2. 3.3V直流电压:为CC2530最小系统和射频功率放大电路CC2591供电。 由220V交流电转为5V直流电选用集成的AC-DC模块电源HZ025S05。该方案无需外围电路且具有过温、过流、短路保护等功能,安全可靠。电路图如图3-9所示。 为了更安全地保证各用电设备在极端情况下不会损坏,在整流模块的输入端并联了突波吸收器07D471K,突波吸收器又称为压敏电阻,当电压在正常范围内时,压敏电阻两端的电阻极大,能达到十几兆欧姆。当有大的尖峰电压出现时,电阻阻值会急剧变小,产生类似“短路”的效果,从而

36、起到吸收过大尖峰电压的作用。考虑到电阻标称值与电阻实际值之间的误差(1.1到1.2倍)、以及交流电峰值与有效值之间的偏差(1.4倍),最后选取压敏电阻吸收电压是额定电压的2到2.2倍。 经整流降压模块得到的5V直流电压再通过LM1117转为3.3V直流电压。LM1117是常用的低电压线性稳压器,稳压效果好且价格低廉,电路图如图3-10所示。 图3-9 交流转直流降压模块 图3-10 降压线性稳压电路 4.软件程序设计 系统方案设计章节已对课题设计目标中的软件部分

37、作了简要概括,本章将以程序分析为主,首先提出具体的节点程序设计方案,再从组网入网开始,逐步梳理实现节点所有功能的底层、应用层程序的执行机制。 4.1 程序设计方案 在系统方案设计中已提及,该节点的程序设计采用双向通信方案:一方面,网关需要将数据转发至智能开关节点,使开关动作;另一方面,节点需要反馈当前开关状态,将信息及时上报至网关。 通过梳理节点需要完成的各项任务,图4-1描述了节点端的程序运行流程:在协议栈框架下,程序不断轮循检测图中的三个判断条件。当触摸开关动作时,代表执行本地控制,此时无需经过通信环节即可直接控制继电器动作;当接收到网关发来的Zigbee数据包后,程序会对数据包进行

38、分析,判断用户具体执行何种操作,包括远程控制、检测开关状态和检测连接状态;当定时器中断到来,表示需要进行心跳数据包发送,该数据包用于检测通信是否正常。 图4-1 程序设计流程图 4.2 CC2530程序架构 为了提升代码执行效率,同时使程序更有条理,本课题使用Z-stack协议栈对智能开关节点进行软件开发,并引入了操作系统抽象层的概念。 4.2.1 Z-stack协议栈 Z-stack协议栈是德州仪器公司提供的一套配合CC2530芯片使用的程序方案,德州仪器公司为了用户更方便地使用Zigbee,为用户预留了应用程序层,使用户能免除配置底层协议的忧虑。 图4-2 Z-

39、stack协议层 图4-2是协议栈的协议层框架。Z-stack协议栈将IEEE802.15.4协议与Zigbee联盟协议整合在一起,各协议层主要包括物理层、媒体访问控制层、网络层和应用层。德州仪器公司提供了模板工程代码,可以从官方网站免费下载得到。打开工程后,各层协议都位于对应子文件夹中,在进行程序设计前,首先需要明确以下三个协议层: 1. PHY层和MAC层:即物理层和媒体访问控制层。该协议层由IEEE 802.15.4标准定义。 2. NWK层:用于组建Zigbee网络,由Zigbee联盟标准定义,用于提供建立网络,维护网络的接口函数,支持四种网络拓扑方式。 3. APL层:是协议

40、栈的最顶层,该层用于存放编程人员的代码,实现用户需要的功能。 4.2.2 操作系统抽象层 OSAL是Operating System Abstract Layer的开头字母缩写, OSAL模仿操作系统执行程序的原理,将所执行的任务根据优先级分级,单片机不断检测是否有任务需要执行,然后根据优先级再进行相应的程序处理,这种执行程序的方式称为轮询执行方式。与循环执行方式相比,轮循执行时考虑了任务之间的优先级,这使得代码执行效率更高,运行更稳定。在OSAL下,整个程序的执行流程如图4-3所示。 图4-3 操作系统抽象层运行流程图 4.3 底层程序设计 节点底层程序设计主要为了解决智能开

41、关节点在初次启动时的自动配对问题,以及利用串口进行程序调试。正确进行组网入网和串口配置是解决该问题的关键。 4.3.1 设备组网入网 系统运行时,网关会发起建立Zigbee网络的流程。第一步是确定一个信号稳定不受干扰的信道,第二步是配置网络参数,包括网络号PANID,以及16位网络地址等。这些配置在初始化过程中就已经完成,用户不需要做过多配置。 在含有多个Zigbee网络的环境下,网关要配置一个不同于现存Zigbee网络的网络号,而节点设备要准确加入该网络号所对应的Zigbee网络中。为了实现这一目的,需要将程序代码中的-DZDAPP_CONFIG_PAN_ID变量赋为0xFFFF,此时

42、网关会预先扫描周围Zigbee网络的网络号,然后分配一个不同于周边网络号的PANID,最后再使其他节点设备都加入到该网络号所建立的Zigbee网络中。 按上述方法修改代码后,当设备进行首次启动配对,应先将各节点接近网关,当确认完毕网络号,且存至flash后,表示配对成功。当系统断电重启后,所有设备仍能加入之前设定好的Zigbee网络中。 4.3.2 串口配置 串口是进行程序调试的重要通道,在进行程序编写时,常常将串口作为单节点调试时的调试工具。串口驱动程序包括三个步骤:初始化串口、登记任务号、调用串口收发函数。 对于初始化串口和登记任务号,协议栈中有相关的初始化函数供开发人员调用和配置

43、串口配置信息存放在结构体变量uartConfig中: typedef struct { uint8 baudRate; bool flowControl; halUARTBufControl_t rx; halUARTBufControl_t tx; . . . . . .}halUARTCfg_t; uartConfig.baudRate用于配置串口的波特率,在该程序中选择波特率为115200 bit/s。uartConfig.flowControl用于配置流控制,在这里要关流控制。之后须对串口管脚RX/T

44、X进行分配。最后调用MT_UartRegisterTaskID(task_id) 函数对串口事件登记任务号。 MT_UartProcessZToolData( uint8 port, uint8 event )函数用于接收串口端发来的数据。入口参数port代表串口号,event表示调用该函数的事件。串口数据接收流程图如图4-4。 图4-4 串口数据接收流程图 首先程序不断检测串口接收数据缓冲区是否有数据,当有数据时,程序将接收到的数据存储在定义好的一个数组中,通过for语句按字节赋值给该数组单元,并记录接收的字长。当接收到数据时,将定义的标志位挂起,表示接收到了发来的数据。当fla

45、g标志位置位后,程序根据记录的字长分配内存空间,将接收到的数据赋值给分配好的内存空间中,该内存空间的首地址存放在一个结构体指针变量pMsg中方便调用。最后登记任务,将串口接收到数据时间发往OSAL等待处,并清空指向pMsg的数据,等待下次继续接收数据。 对于从串口发送数据,须调用HalUARTWrite(uint8 port, uint8 *buf, uint16 len)函数。该函数的入口参数分别为串口号、数据包内容以及数据包长度。 4.4应用层程序设计 在本课题的系统设计方案中已指出,应用层程序设计主要包括本地控制、远程控制、用户查询和断线自检。这些基本功能的实现由协议栈中分配的几类

46、基本事件触发,事件间用switch语句分隔,主要有: 1. AF_INCOMING_MSG_CMD:表示射频收发端接收到数据。该事件用于执行网关与节点间的远程通信 2. KEY_ CHANGE:表示芯片I/O口作为按键使用时,键值发生变化。该事件用于执行本地的触摸开关控制程序。 3. CMD_SERIAL_MSG:该事件表示芯片串口收发端接收到数据。 以上三类事件组成了应用层程序的基本框架,各功能程序代码均在该框架下编写。由于节点需要时刻保持与网关的通信,程序中主要包含了网关与节点间的通信协议的使用,该通信协议由程序设计者修订。本节首先将在该框架下介绍智能开关节点的通信协议,并在该协议

47、的基础上介绍应用层程序的执行流程。 4.4.1 通信协议设计 通信协议是实现智能开关基本功能的基础,因此首先需要规划好Zigbee数据包的格式。Zigbee在通信过程中主要包括上行消息数据包、下行消息数据包和心跳数据包。 1. 上行数据包 上行数据包用于上报当前的开关状态或者开关子节点的物理地址。数据包是长度为7字节的十六进制数组,数据包格式如下表所示。 表4-1 上行数据包指令表 帧数 1 2 3 4 5 6 7 帧结构 帧头 数据长度 设备短地址 设备短地址 命令字 可变数据 校验字 数据 0xFB 0x01 0xXX 0xXX 0x

48、XX 0xXX 0xXX 1) 帧头为0xFB,代表该数据包为上行消息,该上行消息要上传至网关。 2) 数据长度为可变数据的长度,以字节计算,上行数据包的可变数据为1字节。 3) 设备短地址用于网关识别目前哪一个节点设备正在工作。设备短地址由网关分配,在组网时会对每一个节点分配一个短地址。该地址长度为2字节,从0x00起向后排,高八位在前,低八位在后。 4) 命令字表示上行数据包的含义。在实现本地控制任务时,该位为0x01,其他命令字的含义见表4-2。 表4-2 上行数据包命令字指令表 上行数据包命令字 含义 0x01 节点上报开关状态,且此时是由触摸开关发起的 0x

49、02 节点上报该设备的物理地址 0x03 节点上报开关状态,且此时是由用户远程发起的。 5) 可变数据用于表示开关信息,当为0x01,表示控制开关K1;0x02时,表示控制开关K2;当为0x03时,表示控制开关K3。 6) 校验字用于检测数据包的正确性。从最高位起,较高位与较低位进行异或运算,循环运算至最低位。 2. 下行数据包 下行数据包直接由网关发送至节点的,数据包是长度为7字节的十六进制数组,数据包的指令表如图所示: 表4-3 下行数据包指令表 帧数 1 2 3 4 5 6 7 帧结构 帧头 数据长度 目的地址 目的地址 命令字 可变数据

50、 校验字 数据 0xFE 0x01 0xFF 0xFF 0xXX 0xXX 0xXX 1) 帧头为0xFE,代表该数据包为下行消息。 2) 目的地址为2个字节,当为0xFFFF时,表示通信方式为广播方式。 3) 命令字表示该下行数据包的含义。在实现远程控制任务时,该位为0x03。其他命令字数据的含义见下表: 表4-4 下行数据包命令字指令表 下行数据包命令字 含义 0x01 命令节点发送当前开关状态。 0x02 命令节点发送其物理地址。 0x03 命令节点设备执行开关动作 可变数据和校验字的数据规则与上行数据包一致,以下不再赘述。以控制开关K1为例,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服