首页 > 范文大全 > 正文

基于CC1101的智能家居窗帘控制系统设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于CC1101的智能家居窗帘控制系统设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:电子信息技术的发展使得家居环境不断智能化,基于cc1101的窗帘控制系统的设计,作为智能家居的一个子系统,可以很好地管理家庭窗帘的应用。该系统是以单片机PIC18F452为微处理器,以芯片CC1101完成主从机之间的信息交换,主机完成数据的收发,控制并显示各个窗帘的状态,从机完成窗帘相关数据采集和数据收发。并对其工作原理和工作方式进行分析,给出其软硬件设计。

关键词:CC1101;窗帘控制系统;智能家居;PIC

中图分类号:TM76 文献标识码:A 文章编号:2095-1302(2015)06-00-02

0 引 言

随着科学技术的发展和进步,人们在不断接受着网络化和智能化的冲击,这已经成为一种不可抵挡的潮流,智能家居也成为了新世纪的发展趋势。作为智能家居的一个子系统,智能窗帘控制系统在很多地点具有很好地应用前景,比如高级家居、大型会议室、豪华酒店等[1]。本文提出基于射频发射器CC1101的智能窗帘控制系统的设计,可以实现窗帘的智能化管理,控制并显示各个窗帘的状态,拥有良好的发展前景和应用价值。

1 系统整体设计

本系统旨在对家庭内部所有自动化窗帘的智能管理,关键是利用无线传输技术进行数据和指令传输,电机控制技术进行窗帘智能控制[2]。微功率短距离无线数据传输技术是一种无线通信实用技术,可以使用射频接受发送芯片,在芯片添加少量器件就可以组成无线通信模块,利用单片机可以实现数据交换、发送及数据传输[3]。系统主机主要完成无线数据的接受和发送,对来自各从机的数据进行分析显示,并可以控制各从机窗帘的状态。从机完成窗帘状态采集和数据收发。其系统结构如图 1 所示。

图1 系统整体架构

该系统包括CC1101无线收发模块、微处理器单片机、显示模块、电机驱动模块和行程控制等。

2 系统硬件设计

2.1 微处理器设计

主机的处理器选用Microchip公司的PIC18F452芯片。Microchip公司的单片机具有功耗低、抗干扰能力强、内部资源丰富、种类齐全等特点。该单片机具有32 k的FLASH程序存储器、1 536字节的RAM、256字节的E2PROM、4个定时计数器、2个CCP和一个看门狗,另有ADC和SPI等多种通信[4]。其单片机电路如图2所示。

2.2 无线收发模块设计

短距离无线接收发送模块主要由无线数据发射和无线数据接收组成,其数据传输示意图如图3所示。单片机将数据发送给CC1101,再通过天线发射出去,接收端通过天线接收后进行处理,得到正确的、经过检验的准确数据,再传送给单片机。

CC1101是一款高性能极低功耗的RF应用通信芯片,其可以工作在315 MHz、433 MHz、868 MHz 和 915 MHz的 ISM(工业,科学和医学)和 SRD(短距离设备)频率波段,也可以通过设置改变其工作频率。并且CCl101 内部还有调制解调器,可以通过配置形成不同的调制格式,最大数据传输速度可以达到500 kb/s。在调制解调器内部,集成了一个误差校正功能,可以很好地提升通信性能。当CC1101处于发射状态时,可以通过编程动态调节其发射功率,最大发射功率可达到+10 dBm,功耗较低,并且拥有较强的抗干扰能力,接收灵敏度比较高。

CC1101中有SI、SO、SCLK和 CSn四个控制引脚,可以通过这些引脚和GDO2,对CC1101进行配置工作。SI、SO、SCLK是同步串行SPI通信接口,CSn 是芯片的选择引脚,当CSn 为低电平0时,单片机可以通过SPI与CC1101 通信。SO和SI 用于传输数据,SO为输出数据,SI为输入数据,SCLK为SPI接口的同步时钟;如果CC1101接受到数据,GDO2 电平就会发生跳变,我们可以通过单片机新型检测,判定是否有数据到来[5]。

图3 无线通信示意

本系统采用 433 MHz频段,把PIC18F452的RC6、RC4、RC5、 RC3引脚与CC1101的SPI接口SI、SCLK 、SO、CSn相连,通过编程对CC1101的寄存器进行配置和收发数据;利用单片机的RC7来检测CC1101的GDO2脚电平,通过中断来接受数据。图4为CC1101原理图。

2.3 电机控制和驱动模块

电机的控制和驱动包括利用霍尔元件对行程进行控制,室内光照读取,CC1101数据收发和电机驱动。其原理框图如图5所示。

电机带动磁铁旋转,通过霍尔元器件可以检测到波形,以此来测量电机运转行程;利用光感来测量室内光照强度,如果光线较暗,可自动调节窗帘开关;利用CC1101模块进行数据收发;其电机驱动电路,Run脚控制直流电机运转,Run高电平时,Q2导通,电机通电转动。Direction控制电机运转方向,Direction高电平Q3导通,电机接正,电机正转;Direction低电平,继电器切换,电机接负,电机反转。原理图如图6所示。

图5 从机示意图

3 软件架构设计

3.1 总体流程图

系统包括主机和从机两部分,主机完成无线数据的接受和发送,显示各个窗帘的状态,从机完成数据的采集和控制。图7是总的流程图。

3.2 无线通信协议

该系统实现了主机跟窗帘从机的通信,将每个窗帘视为一个节点,每个节点都是对等的。主机可以通过无线通信控制各节点开关,并定时查询各节点状态。各窗帘节点随时上报各自开关状态和百分比。主机、从机均拥有自己的地址,其协议如表1所列。

表1 无线通信协议

字节 1 2 2 1

格式 帧头 1 1 1 1 CRC

主机地址 从机地址 状态 百分比

数据头:用来检测有效数据帧的到来。

主机地址:主机的地址。

从机地址:各从机窗帘电机的地址。

状态:开、关、停。

百分比:开合的百分比。

CRC校验:循环冗余校验码,用来校验数据的有效性。

(a)主机流程 (b)从机流程

图7 总体流程图

3.3 CC1101初始化

单片机是通过SPI接口跟CC1101进行数据交换,系统上电后,需要对单片机的SPI接口进行设置。通过对SPSCON和SPSTAT进行设置,配置为主机模式,SCLK频率为晶振频率的1/8,数据发送时高位在前,数据接受采样时在时钟上升沿。

初始化完SPI接口,需要通过单片机对CC1101进行初始化。CCll01内部有40多个寄存器,需要对它们进行一一配置才可以确定CCll01的工作方式,具体的寄存器信息可以参照CCll01技术手册。通过SPI接口传送信息,依次配置CCll01内部的寄存器。CC1101寄存器设置的程序为:

void Spi_WriteReg(uchar Addr, uchar Value)

{

CSn = 0;

while (Miso);

SpiComm(Addr); //写入寄存器地址

SpiComm(Value); //写入配置参数

CSn = 1;

}

Spi_WriteReg()函数完成了寄存器的配置,Spi_Comm()是单片机通过SPI向CC1101发送一个字节的程序:

uchar Spi_Comm(uchar Dat)

{

SSPBUF=Dat;

while(BF_FLAG==0);

return SSPBUF;

}

相应寄存器配置完后,CC1101处于空闲状态,可以发送STX和SRX指令使它进入发射或者接收状态来传输数据。

4 结 语

该系统以PIC为微处理器,CC1101为无线收发器,对电机进行有效控制,以达到窗帘智能化管理的目的。本文对该系统主机和从机的工作原理及其软硬件设计进行了分析,实现了窗帘的无线控制。其作为智能家居的一个子系统,拥有一定的实际应用价值。但具体的性能测试和后期智能家居的大范围控制还需进一步研究和探讨。

参考文献

[1] 吕莉 ,罗杰.智能家居及其发展趋势[J].计算机与现代化,2007(11):18-20.

[2] 王春武,刘春玲,姜文龙,等.基于单片机的无线智能窗帘控制器的设计[J].吉林师范大学学报(自然科学版),2010(1):93-95.

[3] 郑相全.无线自组网技术实用教程[M].北京:清华大学出版社,2004.

[4] 李路,严明,何友国.基于 PIC 单片机的无线报警系统设计[J].通信技术,2011,44(3):48-50.

[5] 李丽军,王代华,祖静.基于 CC1100 的无线数据传输系统设计[J].国外电子测量技术,2007,26(12):42-45.