无线传感器网络课程基于zigbee智能窗帘控制系统Word文档下载推荐.docx
《无线传感器网络课程基于zigbee智能窗帘控制系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《无线传感器网络课程基于zigbee智能窗帘控制系统Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
目录
1.需求分析2
2.总体设计3
2.1系统硬件电路设计4
2.2微控制器模块5
2.3电源模块6
2.4光敏传感器模块7
2.5joystick设计7
2.6直流电机7
3主要软件设计8
3.1初始化函数9
3.2按键函数9
3.3周期性发送函数10
3.4点对点发送函数11
4总结12
5参考文献12
1.
需求分析
基于Zigbee技术的智能窗帘控制器作为物联网智能家居中的核心部分,可以大大提高智能家居系统给用户带来的体验度。
它可以定义为一个过程或者一个系统,通过无线传感器网络技术、射频识别技术等,将物理世界中的实体连接到因特网上,从而实现智能识别和管理。
在物联网环境下,人们可以通过各种设备全天候获得特定服务。
不仅仅是通过个人电脑,那些连接到互联网的智能终端也可以方便地为人们提供信息和执行决策。
作为物联网的典型应用,智能家居业务发展备受瞩目。
智能家居可以让用户有更便捷的方式来管理家用设备,使多个设备形成联动;
而且,智能家居中的各个设备可以相互间通信,在没有用户指挥的时候也能根据不同的状态互动的运行,从而为用户带来更高效、舒适、方便和安全的家居环境。
【前人研究进展】以往的智能家居系统以及各类智能传感模块都PC为控制心,采用有线的方式连接。
每次安装智能家居系统都需要做大量的布线工作。
随着我国物联网进发展的快车道,Zigbee正逐步被国内越来越多的用户接受,并在部分智能传感器场景应用。
简单的说,Zigbee是一种高可靠的无线数传网络,类似于CDMA和GSM网络。
Zigbee数传模块类似于移动网络基站,通讯距离从标准的75m到几百米、千米,并且支持无限扩展。
Zigbee技术是一种近距离、低复杂度、低功耗、高速率、低成本的双向无线通讯技术,主要用于距离短、功耗低且传输速率不高的各种电子设备之间的数据传输以及典型的有周期性、间歇性和低反应时间数据传输。
基于Zigbee技术的物联网智能家居系统与以前的主机式集中控制系统的最大区别是采用基于Zigbee组网通信方式,省去了复杂、困难的布线工作,降低了成本,实现了家居的智能化。
【本研究切入点】以嵌入式家庭网关为核心,采用基于Zigbee无线方式对系统中的各类智能模块进行通信。
【拟解决的关键问题】基于基于Zigbee技术的智能窗帘控制系统作为智能家居的有机组成部分,在其中加入基于Zigbee模块,使得该智能窗帘控制系统可以和整个智能家居系统组成一个网络,达到对家庭窗帘环境的全天候、多手段的监视和控制
2.总体设计
CC2530是用于2.4-GHz.IEEE.108.15.4、ZIGBEE和RF4CE应用的一个真正的片上系统(SOC)解决方案。
它能够以非常低的总的材料成本建立强大的网络节点。
CC2530结合了领先的RF收发器的优良性能,业界标准的增强型8051CPU,系统内可编程闪存,8-KBRAM和许多其它强大的功能。
CC2530有四种不同的闪存版本:
CC2530F32/64/128/256,分别具有32/64/128/256KB的闪存。
CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。
运行模式之间的转换时间短进一步确保了低能源消耗。
CC2530F256结合了德州仪器的业界领先的黄金单元ZigBee
协议栈(Z-Stack™),提供了一个强大和完整的ZigBee解决方案。
CC2530F64结合了德州仪器的黄金单元RemoTI,更好地提供了一个强大和完整的ZigBeeRF4CE
远程控制解决方案。
图1CC2530原理图
系统的射频通信采用Chipon公司的CC2530,通过Zigbee无线网络技术,用簇状连接方式组网。
中心控制节点定期检测光照强度,避免阳光直射办公区域。
系统硬件框图如图2所示。
图2系统硬件框图
2.1系统硬件电路设计
智能窗帘控制器由5个模块组成,其硬件结构框架如图2所示:
CC2530无线收发微控制器模块,该模块负责采集无线控制信号、输出与客户操作动作相对应的控制信号并可以与Zigbee智能网关交互信息,利用其接收到的用户指令转换成窗帘控制相关信息;
②电源模块,主要负责将输入的市电转换成电路各模块及元器件工作点电压;
③过零信号检测模块主要是检测市电的过零点信号,将检测到的过零点信号输入到CC2530微控制器模块供其使;
④开关量驱动模块由3个按键构成,按下后产生一个低电平信号,CC2530微控制器检测此触号并判断其是开窗帘信号还是关窗帘信号亦或是停止运行信号,驱动可控硅导通节点,实现窗帘正反转。
图3硬件结构与框架
2.2微控制器模块
本系统微控制器模块选择的是CC2530芯片,CC2530是用于Zigbee的一个真正的片上系统解决方案。
它能够以非常低的总的材料成本建立强大的网络节点,并且各网络节点支持无限扩展,同时结合了领先的RF收发器的优良性能,业界标准的增强型8051CPU,系统内可编程闪存,8-KBRAM和许多其它强大的功能。
CC2530具有不同的运行模式,每种模式耗电量不同,并且根据模块实时工作状态进行自动切换,使得它尤其适应超低功耗要求的系统。
运行模式之间的转换时间短,进一步确保了低能源消耗。
因此CC2530可以理想用于智能窗帘控制系统中,该微控制器模块好比人体的大脑,完成对各个模块的控制和协调整个系统的工作。
CC2530微控制器模块也是整个系统组网和控制的核心,其主时钟晶振采用的是32MHz无源晶振和32.768kMz晶振,天线设计采用PCB天线形式。
微控制器模块电路如图4所示。
图4微控制器模块电路
2.3电源模块
由于窗帘旋转电机采用的是市电供电,因此智能窗帘控制器输入端需输入市电220V,而CC2530芯片需要直流3.3V供电,所以就必须设计电源模块将市电220V降压到3.3V。
将交流市电采用整流滤波后再由变压器降压,并在电压输出末端采用电源稳压调整器件ZR431进行电压的采样、比对及反馈后得到末端输出电压VDD为3.3V,即可为CC2530芯片供电。
电源模块电路如图5所示。
图5电源电路
2.4光敏传感器模块
在一块光电导体两端加上电极,贴在硬质玻璃、云母、高频瓷或其它绝缘材料基板上,两端接有电极引线,封装在带有窗口的金属或塑料外壳内。
光敏面作成蛇形,电极作成梳状,这样即可以保证有较大的受光表面,也可以减小电极之间距离,从而减小极间电子渡越时间,提高灵敏度。
如图6所示
图6光敏电阻
2.5joystick设计
Joystick(遥杆)也称为“五向键“导航键”,可以表示上、下、左、右及中间的joy_push五个方位。
Joystick的中间键joy_push和OK按钮并联连接至P0.5引脚,其他四个方向经过运算放大器调理后,通过一个ADC通道(P0.6)输人CC2430oJoystick拨向不同的方位(上下左右)就会产生不同的电压,经ADC采样计算后得出其方位状态。
Cancel按钮接P0.1,按下Cancel按钮时P0.1变为低电平,通过P0.1的电平判断Cancel键的状态。
2.6直流电机
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
之后详细设计了基于MCS-51单片机的直流小电机PWM调速的系统硬件电路以及各电路硬件说明目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,;
最后是实现直流小电机PWM直流调速系统软件设计。
3主要软件设计
CC2530微控制器模块作为系统的核心模块,主要完成发出驱动信号、检测按键信号及与Zigbee智能网关通信等工作。
当系统执行过零检测程序后将检测后的过零时间点作为延时定时器的起点,系统一直检测是否有按键消息或者来自Zigbee智能网关接收的控制信号。
如果检测到该类信号,将控制可控硅的导通,窗帘电机开始动作。
由于ZigBee模块的标准通讯距离是在75m,很难实现远距离通讯,所以在系统设计时加入路由节点,由控制单元发送指令到最近的路由节点,节点通过算法选择下一个路由或者终端节点通过对环境的光照强度、湿度的变化以及红外遥控来对智能窗帘网络化控制系统进行测试窗帘关起;
湿度低时,窗帘关起,反之开启光照强度强按下红外遥,电机取反。
ZigBee术传输距离,测试结果。
微控制器模块程序流程如图8所示。
否
。
图8微控制器模块程序流程
3.1初始化函数
voidSampleApp_Init(uint8task_id)
{
SampleApp_TaskID=task_id;
SampleApp_NwkState=DEV_INIT;
SampleApp_TransID=0;
MT_UartInit();
//串口初始化
MT_UartRegisterTaskID(task_id);
//注册串口任务
P0SEL&
=~0X20;
P0DIR|=0X20;
=~0X10;
P0DIR&
}
3.2按键函数
voidSampleApp_HandleKeys(uint8shift,uint8keys)
{
(void)shift;
//Intentionallyunreferencedparameter
if(keys&
HAL_KEY_SW_6)
{
#ifdefined(ZDO_COORDINATOR)
SampleApp_SendPeriodicMessage();
#else
#endif
}
HAL_KEY_SW_1)
{
/*TheFlashrCommandissenttoGroup1.
*Thiskeytogglesthisdeviceinandoutofgroup1.
*Ifthisdevicedoesn'
tbelongtogroup1,thisapplication
*willnotreceivetheFlashcommandsenttogroup1.
*/
aps_Group_t*grp;
grp=aps_FindGroup(SAMPLEAPP_ENDPOINT,SAMPLEAPP_FLASH_GROUP);
if(grp)
//Removefromthegroup
aps_RemoveGroup(SAMPLE