引言
照明控制在日常生活中是必不可少的,无论是用于日常的照明还是装饰,都在这个社会中扮演着不可或缺的角色。从第一盏灯光的亮起到现今智能化的照明设备,照明控制技术经历了从手动控制到自动控制,然后到智能照明控制的发展过程。以上所述的这些系统的共同特点就是均采用有线控制的方式,复杂的布线施工,在一定程度上造成了系统安装维护以及维修等方面的不方便,系统的可扩展性也比较差,移动性能不好,维护成本相对而言也很高。这些缺点阻碍了智能照明系统的发展以及应用。
随着无线通信技术的日渐成熟,安装成本低、安装布置灵活,而且还具有可移动性,方便对系统的重新布置,这些优点都在很大程度上促进了无线智能照明控制系统的发展。本文采用IEEE802.15.4e协议组建无线网络,适合各种不同建筑物的结构和布局,适用于不同照明设备的选型与配置,以达到照明设备的多元化控制的目的,并可与窗帘、家电设备协同控制实现情景模式的切换。
智能照明系统的总体设计
智能照明系统是物联网智能家居的重要组成部分,本设计是基于IEEE802.15.4e协议的无线传感网络,网络中需要一个协调器对网络进行自主控制,并通过家庭网关与家居中的其他终端设备进行通信,网关负责组员的管理及数据转发等任务。智能终端通过数据监控中心转发数据来控制灯光节点。灯光节点可以设置成路由或节点设备,对灯具进行开关和调节亮度的控制。本设计的主要内容包括:智能终端控制、无线控制节点及传感器节点接入、远程数据中心、远程客户控制。系统结构图如1所示。
在本系统中,无线节点主要负责接收终端控制命令及进行灯具亮度的控制;家庭网关负责网络的管理与数据的转发;协调器负责网络的建立和节点的管理;监控中心和终端控制机是整个系统的中枢,实现对照明的集中管理和对智能家居的整体控制。
无线传感网可以根据要求组成星形或树形的网络,星形网络一般用于较简单的建筑,适合家庭组建。灯光节点和传感器由路由及协调器接入智能家居家庭网关,由家庭网关与智能终端和服务器相连,构成统一的控制网络。每个灯光节点都有无线收发的功能,可以做协调器或路由。
智能灯光控制器的设计
硬件设计
智能灯光灯光控制器主要实现对家庭内部单个灯光节点的控制(开、关、调光),其硬件框图如图1所示,灯光控制器的硬件主要由微处理器、射频模块、光控制器以及电源模块四部分组成。
图1 智能照明系统结构图
图2 硬件框图
(1)微处理器:从低功耗和功能性考虑采用STC10系列单片机作为微处理器,主要用来分析和控制照明情况。
(2)射频模块:采用CC2430作为射频芯片,负责与协调器进行通信,并通过串口与微处理器交换数据。
(3)光控制器:采用WS100T10集成电路控制可控硅触发电路接收微处理器的指令来进行灯光亮度的调节。
(4)电源模块:电源电路直接从市电220V经AC/DC模块降压、整流转换成12VDC后,通过稳压芯片L7805和AS1117-3.3稳压、滤波后,得到稳定的5V和3.3V电源。
软件设计
智能灯光控制器的应用程序采用Keil C语言编写,采用Keil C51可以完成编辑、编译、连接、调试、仿真等整个开发流程。
光强控制模块主要包括两部分功能:灯具能够根据外界光强,自适应进行开关控制;用户可以根据个人喜好开关灯具和调整灯具的灯光亮度。
软件流程设计
软件流程设计是编制软件的重要环节之一。清晰的软件工作流程可以高效、快速地开发出所需的应用软件,并能优化程序结构,所以软件设计应按照软件流程图展开。由于篇幅有限,只绘出部分典型模块设计流程图。此设计中的调光控制器通过控制双向可控硅的导通来实现白炽灯(纯阻负载)亮度的调整。双向可控硅的特点是,导通后即使触发信号去掉,它仍将保持导通;当负载电流为零(交流电压过零点)时,它会自动关断。所以在交流电的每个半波期间都要送出触发信号,触发信号的送出时间就决定了灯泡的亮度。调光的实现方式就是在过零点后一段时间才触发双向可控硅开关导通,这段时间越长,可控硅导通的时间越短,灯的亮度就越低;反之,灯就越亮。这就要求要提取出交流电压的过零点,并以此为基础,确定触发信号的送出时间,达到调光的目的。智能灯光控制器的流程图如图3所示。
图3 智能灯光控制器的流程图
工作原理
调光控制器要控制的对象是50Hz的正弦交流电,通过光耦取出其过零点的信号(同步信号),将这个信号送至单片机的外中断,单片机每接收到这个同步信号后启动一个延时程序,延时的具体时间由按键来改变。当延时结束时,单片机产生触发信号,通过它让可控硅导通,电流经过可控硅流过白炽灯,使灯发光。延时越长,亮的时间就越短,灯的亮度越暗(并不会有闪烁的感觉,因为重复的频率为100Hz,且人的视觉有暂留效应)。由于延时的长短是由按键决定的,所以实际上就是按键控制了光的强弱。
无线路由节点设计
路由节点主要负责网络节点的管理与数据的转发。灯光场景控制中设备较多,数据转发压力大,所以我们采用增加路由节点来实现区域的覆盖,增强网络的稳定性,其工作流程如图4所示。上电初始化完成后,路由节点加入网络,对无线网络信号进行检测。若接收到上传数据,则在数据中加入自己的拓扑信息再继续上传,否则,直接将数据上传;若接收到发给自己的命令,则响应该命令;若接收到发给其他节点的数据,则进行向下的转发。
图4 路由节点工作流程
控制终端程序设计
室内终端的界面功能实现
室内机是以GM8120为核心的嵌入式操作系统,采用Linux2.4.19版本,在GM8120 Linux SDK已经集成了GM8120芯片中外围设备所有器件驱动。系统采用图形用户界面(WIMP Window.Icom.Menu.Poingion Device)实现人与监控设备之间的交互,图形用户界面的特点是人们不需要去记忆和敲打繁琐的命令,只需要通过“指”“点”直接操作界面,就可以在窗口中“所见即所得”。采用Framebuffer(帧缓冲)技术和libjpeg函数库实现监控设备LCD液晶屏上的图形界面。通过UART2完成GM8120核心板与触摸屏控制器的通信,以实现人与监控设备的交互。
智能照明系统在室内机上实现的操作界面包括对单个灯光进行控制和与其他家电设备一起组成相应的情景模式。灯光控制界面是家居控制主界面下的2级界面,在利用Framebuffer技术实现图形用户界面之前,首先要绘制好图片,以.jpg的文件格式进行存储,并将其放到/usr/pic目录下,计算出LCD液晶屏缓冲区的大小,完成屏幕缓冲区向用户控件的映射工作。然后通过调用Libjpeg函数库中的API进行JPEG解压缩,将解压后的数据存储到屏幕缓冲区的映射空间,就可以直接在LCD液晶屏上实现图形界面。
灯光控制中的应用
我们通过灯光控制终端可以实现对于家庭内部所有灯光的控制工作。为了实现智能控制的效果,在拥有控制灯光亮度功能的同时,还设计了窗帘、电视和空调的开关控制,通过这样一个整体控制,可以实现各种不同的工作模式,实现智能灯光控制的效果。情景模式是预先设置好的场景控制,调出场景控制界面,下级菜单有会客模式、就寝模式、就餐模式、全开/全关模式。然后通过按键控制,可以发出控制命令,把预先设置好的模式转换成具体的命令包发给网关。模拟实际用户家庭情况,并根据实验室智能家居展示相关条件,设计了如表1所示的一组灯光和设备的运行组合。
图5给出了灯光控制终端软件工作流程。
室内机场景控制界面的操作界面如图6所示。
图5 室内控制终端流程
图6 室内机场景控制界面
表1 情景模式组合
结束语