智能照明控制系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能照明控制系统的设计与实现
摘要智能照明控制系统是针对目前普遍存在灯光常开的电能浪费和自习室或教室不能充分利用的现象而设计的。该智能灯光控制系统将单片机控制技术、ZigBee无线通信技术以及传感器技术融合于一体。通过BISS0001集成芯片处理传感器采集到的室内人体红外和光照强度信息来控制继电器开关,ZigBee终端模块将照明信息传递给ZigBee协调器模块,ZigBee协调器模块通过串口与上位机通信,从而实现实时监控和记录照明使用率的功能。本文所论述的智能照明控制系统在硬件方面主要包含传感器采集部分、数据处理部分和ZigBee无线传输部分;软件方面主要包含基于C语言编写ZigBee无线通信部分和基于C#语言编程的上位机部分。该智能照明控制系统在对提高教室使用率和节能两方面效果显著,符合当今校园节能环保的诉求。
关键词智能照明控制;ZigBee无线通信技术;传感器技术;C语言;C#语言
0 引言
从物联网概念的提出到应用到各个领域仅仅花了几年的时间,而随着物联网的快速发展,生活中的许多地方因此发生了巨大的改变。家居生活的智能化,物流设备的自动化等等,让我们体验到物联网带来的不仅仅是科技的进步,更是一种提高生活质量和整合资源的方法[1]。如今,随着国家经济水平的提高,人们的收入水平也变得十分可观,因此自己愿意投入更多的时间去学习,并且愿意让子女继续深造,由于学习的人数不断增加和校园的规模不断扩大,引发了校园电量浪费和教室/自习室不充分利用的现象[2]。晚上自习学习完成后,在教学楼/自习室的灯光开关需要教学楼管理员手动关闭,浪费了大量的人力资源和时间[3]。目前对于解决这个问题有了迫切的需求,智能照明是解决该问题的关键技术之一。
1 系统构成和方案选择
本系统主要采用的硬件构成是:CC2530ZigBee模块、BISS0001传感信号处理集成模块、Windows 操作系统的PC端。
本系统主要采用的开发环境是:IAR Embedded Workbench操作系统开发平台、Microsoft Visual Studio2015C#编译环境。
本系统主要采用的编程语言是:C语言、C#语言。
该设计的系统框图如图1所示。
图1系统框图
2 硬件环境搭建
2.1基于BISS0001模块电路
如图2所示是BISS0001内部框架图,它是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器及参考电源等构成的数模混合专用集成电路。该集成电路芯片在一些传感器控制和延时器控制器上得到广泛的应用。以下图3所示的是可重复触发工作方式下的波形,由于本系统是实现人在灯亮的工作方式,所以不能让灯在有人的情况下熄灭,本系统使用的触发方式
则是可重复触发工作方式,其工作过程可根据波形进行分析。其中与不可重复触发工作方式的主要不同在于配置引脚A的电平,当引脚A为高电平时,VC信号也为高电平时,则VS可以重复触发,使得VO在延时周期内一直为有效状态,即只要在延时周期内VS发生第二次触发就可以再次刷新延时时间,当VS保持为高电平,则VO一直保持有效状态;若VS保持低电平,则在延时周期结束后VO恢复为无效状态,并且,同样在封锁时间Ti时间内,任何VS的变化都不能触发VO为有效状态。
图2 内部框图
图3 可重复触发工作方式波形图
如图4是本系统的功能应用电路图。由图可以看出运算放大器OP1将从14引脚输入的热释电红外传感器的输出信号作第一级放大,然后从16引脚输出,并经由C3耦合,到13引脚输入到第二个运算放大器OP2,进行第二次信号的放大,并且将直流电压抬升,从OP2输出的放大信号送到由比较器COP1和COP2组成的双向鉴幅器,检出有效触发信号VS去启动延迟时间定时器。同时结合
光照情况,R3为光敏电阻,用来检测环境照度。根据光敏电阻的特性,当环境较明亮,光照强度强时,R3的电阻值会降低,使VC脚的输入保持为低电平,从而封锁触发信号VS,两者相结合控制有效输出信号VO。而输出信号VO经晶体管T1放大驱动继电器去接通照明灯泡。其中输出延迟时间:Tx≈24576*R9*C7;封锁时间:Ti≈24*R10*C6。
图4 基于BISS0001模块电路图
2.2无线传输硬件电路
本系统通过ZigBee终端结点对BISS0001模块VO引脚输出电平高低情况的检测来判断照明情况[4],检测到高电平则说明照明灯是开启的,而检测到低电平则说明照明灯是关闭的,进一步处理该信息发送简单字符串到ZigBee机协调器[5],协调器接收到字符串后,再一步对字符串处理,将消息通过串口传输的方式发送至上位机[6],其电路设计如图5所示。本系统使用的了四个BISS0001模块分别采集四处光照强度和热释电红外信号控制白炽灯开关,然后将四个模块的VO引脚循环采集后进行通过ZigBee无线传输到协调器和上位机进行显示并记录。
图5 电路设计总图
3 软件程序搭建
3.1基于ZigBee无线传输程序设计
程序是建立在协议栈库函数的基础上进行设计的,如图6是程序流程图,程序执行中首先关中断,在完成端口和函数的初始化后,然后开启中断,协调器与终端相互连接完成组网[7]。这里的流程对协调器和终端模块都适用,两者不同的地方在于设置不同的ID和处理接收到信息的模式,相同的节点模块配置不同的模式可作不同的用途,同一块节点模块既可以充当协调器,也可以充当终端,同样也可以用作路由器使用[8],主要关注的是工作在OSAL主循环中需要执行的事件和事件处理函数,通过判断事件的优先级来控制事件被执行的先后顺序。这也是产品开发者需要了解和设计的部分。
图6 程序流程图
终端:如图7流程图,配置引脚为输入模式,定义终端模块传输ID号为0;表达了循环采集四个VO引脚的高低电平信息判断是否开灯,然后调用协议栈库函数的子函数将数据发送到最近的协调器上。当1区域、2区域、3区域、4区域的灯亮时,分别发送字符串“01\r\n”,“02\r\n”,“03\r\n”,“04\r\n”,当1区域、2区域、3区域、4区域的灯灭时,则分别发送字符串“10\r\n”,“20\r\n”,“30\r\n”,“40\r\n”。