基于ZigBee的智能家居系统
下载后可任意编辑 基于ZigBee的智能家居系统 摘 要: 基于ZigBee的智能家居系统是针对家居高度自动化、智能化的要求提出的一种新的解决方案。主要用ZigBee手持控制器无线采集室内环境参数,远程控制各种家居电器,实现家居控制、参数检测的完全自动化、智能化。设备以C8051F020单片机为控制核心单元,检测湿度,负责驱动电机,处理和传输数据。采纳高精度传感器作为湿度检测器件,直流电机等为执行机构,完成环境参数检测,对窗帘、沟通电电器等的控制功能。用手持设备通过IP-LINK1270模块串口实现了室内无线通信,可以接收湿度数据,控制简单家居。本系统具有良好的开发和应用前景。 关键词: ZigBee 无线通信 湿度检测 智能家居 由于生活质量的日益改善,各种家电设备的高度自动化和智能化已经成为一种消费需求,同时科学技术的飞速进展,让这种需求的达到已经不再遥远。新的ZigBee协议在无线传感器网络和各种无线终端控制方面有良好的前景,为传感器网络和控制设备提出了新的方案。基于ZigBee的网络控制系统就可以实现对各种家电设备的控制和调节,只需要对旧式家电(家居)进行改装,或加入必要的驱动电路,便可以实现小信号对沟通电器的控制。室内温度、湿度等环境参数直接影响生活质量,同样可以通过ZigBee控制器对室内温度、湿度检测设备进行较远距离的适时采集,然后根据个人意愿对家电(家居)进行不同程度的调节。 我们对有用小功率电扇进行了改装,对窗帘装上直流电机和定滑轮,可以由ZigBee控制器向单片机发送命令对电扇和窗帘的开关程度控制和调节。室内参数检测方面,开发了湿度检测设备,可以有效的反馈实时数据。 一、系统(主设备)结构及各部分功能 在整个系统设计方案中,以C8051F020为核心,作为数据处理器和设备控制器,整个设备也可作为工业现场设备,从属于ZigBee核心控制器。 系统(主设备)结构如图所示, 图1 系统(主设备)总体结构图 上图中所示各个模块的基本功能分别为: (1)湿度传感器模块:把传感器信号作滤波处理,并送入单片机模拟通道。 (2)L6203电机驱动模块:当单片机的提供信号满足条件时,输出电压驱动电机正转或反转。 (3)晶闸管电扇控制模块:单片机选择驱动不同的晶闸管,以实现对沟通电电器如电扇的控制。 (4)独立式按键:对四个按键的组合运用,设置湿度报警的上限和下限;操作控制电扇、窗帘。 (5)声光报警模块:当湿度值超出人为设定的报警限时,自动报警。 (6)数码管显示:三位数码管显示湿度相对百分比,精确到小数后一位。 二、模块设计实现原理 1、电源设计 在整个系统中,所选湿度传感器需要5.0V的直流稳压电源,单片机C8051F020需要3.3V的直流稳压电源,电源的设计要求非常严格。如图所示,我们选用LM2576芯片,产生5V的电源,输入电源可以选择通过变压器直接输入9V~24V的直流信号,以满足电机驱动芯片L6203的电源;5V直流电源通过ASM1117产生3.3V电源提供给单片机C8051F020。电源模块产生信号比较稳定,能够很好的满足系统需要。 图2 电源电路 2、传感器数据采集模块 本系统中,我们选用了北京宝利马公司生产的湿敏传感器,具有良好的线性关系,输出0.9V~3.8V的模拟信号,可以直接输入单片机。如图所示,传感器输出信号通过电容滤波,减小波动和干扰误差后,输入单片机C8051F020进行A/D转换,并且可以通过选择开关,选择单片机模拟通道。 图3 传感器接口电路 3、通信模块 整个控制网络系统中的无线通信功能是通过IP-LINK1270模块和C8051F020之间的串口通信实现的。IP-LINK1270模块是完全符合IEEE802.15.4标准与ZigBee法律规范的2.4GHz无线收发模块。需要3.3V的工作电源和逻辑电平,刚好保证和C8051F020顺利通信,其复位端与单片机复位端相连,单片机上电的同时IP-LINK1270模块也复位。该模块在使用之前,需要配置其网络号,节点号以及信道和频率等,以便准确的向设备发送数据或命令。 图4 通信接口电路 4、电机驱动和晶闸管开关模块 用芯片L6203作为电机的核心驱动,从单片机I/O口输出一路信号作为L6203的使能信号,控制芯片的通断。再由单片机提供两路信号,两路信号呈现一高一低时方可驱动电机,高低的顺序不同,电机的转动方向不同。 图5 执行电机驱动电路 5、其它常用模块 本系统中所用到的常用模块主要包括独立式按键电路、声光报警电路和三位数码管显示电路。 图6 报警、按键、显示电路 独立式按键采纳上拉的方式接入单片机,当无按键按下时,I/O输入上拉电源提供的的高电平,而当有按键按下时上拉电阻一端接地,输入有效信号高电平。 由于单重的声音或灯光,在工业现场不一定达到预期地报警效果,我们选用灯光报警的方式,通过单片机用三极管控制蜂鸣器和发光二极管通断。 三位数码管用动态的显示方式节约了I/O资源,同样通过控制三极管的通断来实现数码管的片选,只要扫描频率足够高,视觉就感受不到闪耀。 三、部分软件流程 1、湿度检测设备主流程 C8051F020单片机各种资源丰富,功能强大。先必须对单片机进行初始化,包括系统时钟、定时器、端口等的初始化,还有一些特别功能ADC等的初始化,然后进入A/D,依次报警限检测,湿度百分比显示,执行按键功能等。 图7 湿度检测主流程图 2、A/D转换流程 C8051F020的内嵌12位ADC,可以通过向AD0BUSY写“1”启动转换,应查询AD0INT位以确定转换何时结束。查询步骤如下: 1、 写“0”到AD0INT; 2、 向AD0BUSY写“1”; 3、 查询并等待AD0INT变“1”; 4、 处理ADC0数据。 图8 A/D转换流程图 3、串口中断服务流程 在整个通信过程中,家居设备始终处于被动地位,只需要不断地检测接收中断,一旦中断标志置位,进入中断服务程序,接收数据,解析数据,推断属于执行命令还是查询数据命令,假如为后者,需要设备立即反馈数据,并推断是否发送成功。若没有成功,连发第二次数据。 图9 串口中断流程图 4、ZigBee控制器流程 ZigBee手持是整个系统地核心,我们在已有的手持硬件中嵌入了自己的操作流程和显示界面。作为命令的发出源,必须不断地扫描按键接口,一旦有按键,则执行相应规定命令或发送特定数据。 然后等待一段时间,接受数据(或反馈信息),在LCD界面显示相应标志或数据。基本流程图如下: 图10 ZigBee控制器流程图 三、设备操作规则 1、湿度检测设备按键(报警限)设置 四个按键负责设置报警上限和下限的增加或减小,每次击键上限或下限都增加或减少2%,并且同时显示报警限。 S1&S3(先按下S1) S1&S4(先按下S1) S2&S3(先按下S2) S2&S4