引言
科技的不断进步,特别是计算机技术、通信技术和控制技术的迅猛发展与应用,促使广大居民家庭实现了生活方式现代化和居住环境舒适化与安全化。家居智能化成为了一种趋势,智能家居室内控制系统包括安防系统、火灾报警系统、灯光和家电控制系统等。随着智能家居的不断发展,对控制系统的快速性、便利性、可靠性和低能耗的要求不断提高。因此,开发一种低功耗并且方便操作的家居控制系统,能够弥补目前智能家居的缺陷。
参考文献[1]设计的智能家居控制系统必须依靠Internet网络才能实现对整个家居系统进行控制,这大大限制了应用场合,使其应用具有一定的局限性。参考文献[2]设计的家居控制系统利用ZigBee无线通信技术作为通信工具,但是其必须利用单独的外接ZigBee模块才能完成通信功能,所以制作成本较高。针对以上缺点,本系统采用MSP430系列单片机CC430F6135,其不但具有MSP430系列单片机的低功耗性能,而且具有RF无线收发器的功能,这两种性能充分满足了低功耗和无线通信的要求,使得系统的成本降低。本系统采用了触摸屏来对整个系统进行控制,方便用户使用,避免了操作面板上繁琐器件给使用带来的不便。
1装置整体运行原理
智能家居系统需要实现的功能大概有以下几个方面:
① 安防功能。目前家庭安防系统主要功能是监控非法闯入和门的开关等。一旦出现问题事件,系统会自动发出相应的信号给主控制器,及时通知用户有情况发生。
② 家电控制。对家电实行智能控制,用一个便携的触摸屏控制器就可以控制家里的任何电器,包括电视机、冰箱、空调、电脑等,还可以实现定时开关电器等功能。
③ 灯光控制。根据不同的室内自然光强度,可以智能地调节发光强度,外加的光敏控制元件可以感测外面光的强度,并根据实际设定的要求自动调节光照强度。
智能家居控制系统依靠一个主控制器来对整个家居进行控制,包括家电控制、灯光控制、家庭安防控制等,整个控制均通过触摸屏操作完成,方便用户使用。系统整体框图如图1所示,主控制器采用MSP430系列单片机CC430F6135为核心,其与触摸屏通过串口进行通信,触摸屏界面包含了家电控制、灯光控制、安防控制3个部分,点击其中一个模块会进入到相应的子模块中,其详细控制流程在软件部分会详细介绍。当触动一个功能后,触摸屏通过串口传递给CC430F6135控制指令,CC430F6135分析指令并通过其内部集成的RF无线收发模块将控制指令发送给驱动模块(驱动模块由CC430F6135控制),驱动模块通过其内部的RF无线收发模块接收指令,并按照指令要求驱动相应的家电设备。
图1系统整体框图
MSP430单片机最大特点就是低功耗,而且内部集成的RF无线通信模块可以节省外部单独外接的无线模块,降低成本,触摸屏的应用可以方便用户使用,避免了面板上繁琐的按钮器件给用户带来的不便。整个主控制器完全是手持化产品,方便移动和操作。
2系统硬件设计
智能家居控制系统的硬件设计包括主控制器设计和各个子驱动模块设计。
2.1主控制模块设计
2.1.1CC430F6135器件介绍
CC430F6135是MSP430F6xx MCU与低功耗RF收发器相结合的产品,可实现极低的电流消耗,从而使采用电池供电的无线网络应用无需维修即可工作长达数年以上。而且微型封装所包含的高级功能还可为创新型RF传感器网络提供核心动力,以向中央采集点报告数据。CC430F6135为16位超低功耗MCU,具有16 KB 程序存储器、2 KB的SRAM、CC1101无线电和USCI,供电电压为1.8~3.6 V,正常工作模式消耗电流为160 μA/MHz,低功耗模式3消耗电流为2.0 μA,从待机模式到唤醒模式响应时间不超过6 μs。
2.1.2CC430F6135的RF无线收发模块电路
CC430F6135内部集成了CC1101无线电收发器,本设计中的RF频率为889.99 MHz,数据传输速率为51.343 kbps,信道间隔为211.572 kHz,在本系统设计中,通过软件可以调节RF无线发送功率的大小,这样根据发射距离的远近去设置功率的大小,达到降低功耗的目的。其电路图如图2所示,因为系统需要5 V电源和3 V电源,所以在本系统中选用了5 V的电池,经过LM1117转换成3 V供给单片机。CC430F6135外接晶振为26 MHz。RF_N和RF_P为RF无线电发射引脚,两引脚外接天线,其功率可以达到-100 dBm以上。其传输距离在无间隔的情况下可以达到200 m左右,在有墙壁的情况下可以达到60 m,完全满足家居控制系统的要求。
图2CC430F6135的RF无线电路图
2.1.3触摸屏控制模块电路设计
本系统选用了北京迪文科技的DMT32240T035_01WN型触摸屏,所有的智能显示终端都是基于图形界面操作。其为4线电阻式模拟触摸屏,终端尺寸为3.5英寸,图形点阵为320×240,背光模式为LED式,输入电压可以选择范围为3~10 V,内置32 MB存储器,60个字库容量, 支持GBK(简体)、BIG5(繁体)等,而且支持用户自己设计的字库,其内部有96 MB的图片存储空间,最多存储153幅全屏图片。其提供RS232串口与PC等进行通信,通信方便,数据最高传输速率可以达到115200 bps。此触摸屏提供两种供电方式,分别为+3 V和+5 V。
DMT32240T035_01WN型触摸屏提供了丰富的指令集,通过输入相关的指令即可实现特定的功能,包括设置当前调色板颜色、设置字符间隔、光标显示、文本显示、点显示、图片显示、保存屏幕当前显示的图片、图片剪切、动态显示曲线波形、频谱显示、时间显示、蜂鸣器音量调节等,这些功能以及在本系统中的应用将在软件设计中作详细的介绍。
DMT32240T035_01WN型触摸屏在本系统采用的是+5 V的供电方式,根据器件本身的特性,其UART串口输出为+5 V的电平,因为CC430F6135的SCIA口输出的+3 V电压,这就需要一个电平转换芯片将CC430F6135输出的+3 V转换成+5 V电压,以便和触摸屏进行通信。为此选用了SP3223E型RS232接口芯片,其工作电压为+3 V,其外部需要连接4个电容以维持系统运行,其与触摸屏和CC430F6135硬件连接图如图3所示。SP3223E外接+3 V电源,其需要并联两个电容以便能够获得较好的标准电压,/EN直接地使SP3223E一直处于工作状态,CC430F6135的TX端口与SP3223E的T1IN端口相连,RX口与R1OUT端口相连,SP3223E的T1OUT端口与触摸屏的TX端口相连,R1IN端口与触摸屏的RX端口相连,这样就具备了CC430F6135与触摸屏的串口通信功能。
图3触摸屏与CC430F6135硬件连接图
2.2安防控制系统设计
2.2.1门控系统
门控系统的作用是当主控制器发出开门或关门的指令后,门控系统会根据指令的要求进行开门或者关门,此系统采用CC430F6135控制继电器开通,进而控制旋转电机工作去控制门的动作,为了保证继电器可靠而稳定的工作,本文选用TIANBO HJR3FFSZ系列继电器,此继电器负载端电压可以达到250 AVC/30 DVC,在环境温度介于-30~+60 ℃之间可以工作1×105次以上。工作电压为+5 V,额定工作电流为70 mA,因为CC430F6135的I/O输出为+3 V,所以不能直接驱动继电器工作,所以中间需加一晶体管S8050作为开关来控制继电器的开关,继电器通过接收CC430F6135的控制信息完成相应的控制动作。门控系统电路如图4所示。
图4门控系统电路图
2.2.2 报警电路设计
报警电路的作用是通知用户有人在门外或者有人闯入指定区域,其工作原理是当人体接近红外探头时,红外模块会发出一个信号给单片机,单片机会将有人接近的指令传送给主控制器,进而通知用户有人在门外。如图5所示,本模块采用红外热释电处理芯片BISS0001,BISS0001是一款高性能的传感信号处理集成电路。静态电流极小,配以热释电红外传感器和少量外围元器件即可构成被动式的热释电红外传感器,广泛用于安防、自控等领域。首先热释电红外传感器在有人接近的时候会输出一个信号,BISS0001内部的运算放大器OP1将此信号作第一级放大,然后由运算放大器OP2进行第二级放大,再经由电压比较器COP1和COP2构成的双向鉴幅器处理后,检出有效触发信号Vs给CC430F6135,CC430F6135检测出信号的变化,将触发指令通过内部集成的RF模块传输给主控制器,完成报警电路功能。
图5报警模块硬件电路图
2.3家电及灯光硬件电路设计
家电控制与门控系统的硬件电路基本相同,都是采用CC430F6135控制继电器的开关进而去控制家电的开关,其电路图与图4基本相同,在这里就不再给出硬件电路图。主控制器发出打开某个家电的命令,接收模块接收到命令后判断指令的功能,然后根据预先设计好的程序进行相关的控制。
灯光控制模块作用是对灯光的进行智能调节,这部分与图5的报警模块类似。在有人的情况下,系统会自动打开灯,如果没人活动灯会自动关断。在白天光照强烈的情况下,光敏电阻R9的阻值会降到最低,相当于短接,这时会使BISS0001芯片关闭,停止工作,这样芯片不再输出控制信号,使灯自动关闭。
3系统软件设计
智能家居控制系统的软件设计包括主控制器的软件设计、驱动模块的软件设计和触摸屏软件设计。
3.1主控制器软件设计
主控制器程序流程如图6所示。首先触碰触摸屏的开始图标,系统开始运行,此时触摸屏的界面会显示出3个模块,分别为家电控制模块、门控模块、灯光模块,每个模块都有自己的控制功能,以家电控制模块为例进行说明。触碰家电模块后,触摸屏界面显示一个框图表,包括电视机、音响、电脑等家电设备。触碰到电视机后,CC430F6135利用内部集成的RF收发模块发出打开家电的控制指令给CC430F6135为控制核心的驱动模块。驱动模块接收指令并判断指令的功能,然后连接到电视机的端口会置为高电平,此时控制电视机的继电器会闭合,电视机被打开,至此整个控制操作完成。在间隔40 s内若没有触碰触摸屏则CC430F6135会进入低功耗模式3中,系统的DC发生器被关断,只有晶振是活动的,系统的总中断允许位被打开。此时触摸屏也会进入低功耗模式,屏幕显示为黑白色,进入低亮模式,这样就能使功耗达到最低,延长电池使用时间。
3.2驱动模块软件设计
家电控制、门控控制、灯光控制等的驱动模块基本相同,现以家电控制的驱动模块为例进行说明,其程序流程如图7所示。驱动模块初始阶段会一直处于低功耗模块中,当主控制器发送控制指令后,驱动模块会被RF接收中断唤醒,并执行相应的指令功能。执行成功后,会发送执行成功的指令给主模块,然后进入到低功耗模式中,此时驱动模块的CC430F6135的I/O口会一直保持状态不变,DC发生器被关断,主中断被打开,此时功耗达到最低。
图6主控制器程序流程图7驱动模块流程
3.3触摸屏软件设计
DMT64480T056_01W型触摸屏内部集成了指令集,只要按照指令的要求通过串口输送给触摸屏,就可以实现该指令的功能,所有指令均是以十六进制为标准。在电脑上通过软件可以将图片和图片固定区域代表的指令下载到触摸屏中。其原理是当触碰触摸屏的一个区域后,触摸屏会输出预先配置好的指令给单片机,其指令代码规则为AA xx CC 33 C3 3C。在这里AA为固定的开始指令,之后xx是代表触碰区域预先设置好的指令代码,CC 33 C3 3C为固定的结尾指令。输出完这些十六进制字符后,单片机通过判断xx的值,进而去实现指定的功能。不同的区域可以设置不同的指令代码,这样就可以实现同一个界面多个触碰区域多个命令的功能。
CC430F6135串口配置子程序:
UCA0CTL1 |= UCSWRST;//使能串口功能
UCA0CTL1 |= UCSSEL_2;//配置时钟
UCA0BR0 = 9;//配置为115200 bps
UCA0BR1 = 0;
UCA0MCTL |= UCBRS_1 + UCBRF_0; //配置串口模式
UCA0CTL1 &= ~UCSWRST;
UCA0IE |= UCRXIE;//使能 USCI_A0 中断
RF无线收发模块子程序:
Strobe(RF_SRES);//启动 Radio Core
Strobe(RF_SNOP);
RF1AIES |= BIT9;
RF1AIFG &= ~BIT9; //清空RF收发中断
RF1AIE |= BIT9;//打开RF中断控制位
RxBufferLength = ReadSingleReg(RXBYTES);
//RF接收数据
ReadBurstReg(RF_RXFIFORD, RxBuffer, RxBufferLength);
结语
本文设计了一种基于CC430F6135的智能家居控制系统。此系统主要是由主控制器和驱动模块组成,系统采用的CC430F6135内部集成的RF收发模块和触摸屏是本系统的亮点,不但节约成本而且方便用户使用。