智能家用情景照明系统的分析与设计
2022-08-15贾兴茹杨一丛李寰宇张书豪吉雨岢
贾兴茹,杨一丛,李寰宇,张书豪,吉雨岢,王 琦
(山西大学自动化与软件学院,山西 太原 030000)
0 引言
随着人们的居住条件和环保意识的日益提高,对灯光和照明的要求也逐步提升。在日常生活中,普通的家用照明系统给生活带来不便,如:在灯光照度过强浪费电量而灯光照度较弱影响视力时,人们无法按照自己的需求调整灯光的光照强度;开灯关灯需要主动走到开关前,浪费了不必要的时间和精力;灯光无法恰当地根据当前使用者的情境和需求而丰富、准确地营造氛围,娱乐性不强。
家用智能照明系统为上述问题提供了解决方案。该系统利用自动化技术,通过自动检测和自动控制集成,实现灯光光照强度自动控制;同时,结合LD3320语音识别系统控制灯光亮灭,并设定情景模式以满足家庭娱乐的需求。
1 家用智能照明系统结构
家用智能照明系统[1]包括语音系统[2]、感光装置、主控制器、自动光照系统、照明控制装置、照明装置、电源模块。系统通过语音指令选定不同的光照模式:自动调光模式和情景模式。自动调光模式下,照明强度随着外界环境光照强度的不同而变化。系统自动调节照明装置[3]的照度,达到用户当前所需的亮度。情景模式下,系统点亮对应特定模式的照明装置。
智能照明系统的控制原理如图1所示。
图1 智能照明系统结构框图
2 硬件设计
整个电路的硬件部分[4]主要包括主控制模块、感光装置、语音控制模块、辅助控制模块和照明装置。
STC11L08XE是主控制模块[5]。感光装置为光敏电阻和模拟数字转换器(andlog to digital converter,ADC)(TLC549),用于采集光照信号,并将其转换为数字信号传输给主控制模块。语音模块为LD3320,负责采集声音信息。主控制模块对采集到的信息进行处理。STC89C52作为辅助控制模块,通过串行通信的方式接收信息,并通过调节占空比的方式实现对照明装置的亮度控制。
光敏电阻、STC11L08XE、STC89C52和照明装置组成自动调光系统;LD3320与STC11L08XE组成语音部分。各部分系统由STC11L08XE统一调控。
在运行脉冲宽度调制(pulse width modulation,PWM)程序时,芯片会处于不停循环的状态,如跳出循环则需要外部中断。而语音系统所需的外部中断情况复杂。所以硬件设计采用双机通信的形式来完成相应的程序:由STC11L08XE负责提供数据;由STC89C52芯片执行PWM程序。这样既能使程序运行更加顺畅,又能减轻主控制模块的运行负担。
2.1 主控制模块
主控制模块STC11L08XE的工作电压为5.5~3.7 V,拥有8 KB的Flash,1 280 B的SRAM,含有异步串行接口,因此能满足主控制模块对资源的需要。主控制模块主要用于接收并处理来自感光模块和语音模块的信号,再将其传递至辅助控制模块以控制照明装置照明。
STC11L08XE单片机系统结构如图2所示。
图2 STC11L08XE单片机系统结构图
2.2 语音控制模块
LD3320 芯片是一款“语音识别”专用芯片。该芯片集成了语音识别处理器和一些外部电路,包括ADC、数字模拟转换器(digital to analog converter DAC)、麦克风接口、声音输出接口等。识别的关键词语列表是可以任意动态编辑的[6]。工作电压为3.3 V,支持并行和串行接口,每次识别最多可以设置 50 项候选识别句。每个识别句可以是单字、词组或短句,长度为不超过10个汉字或79 B的拼音串。另一方面,识别句内容可以动态编辑修改,因此可由一个系统支持多种场景[7]。
2.3 辅助控制模块
辅助控制模块STC89C52工作电压为5.5~3.8 V[8],是一种低电压、高性能CMOS8位单片机。片内含8 KB可反复擦写的只读程序存储器(erasable programmable read-only memory EPROM)。器件采用ATMEL公司的高密度、非易失性存储技术生产。片内置通用8位中央处理器(central processing unit,CPU)和FLASH存储单元
2.4 感光装置模块
光敏电阻采用Φ3系列的GL3526,具有体积小、响应时间快,输出电压稳定等特点,满足对室内光照的检测及数字信号装换的需求。主控制模块提前预设好室内光照强度值。光敏电阻根据实际光照强度改变阻值影响感光模块电压。TLC549将电压转换成数字信号传输至主控制模块。主控制模块对数字信号进行相应换算,将换算值与设定值对比后,向辅助控制模块传送控制指令。
3 软件设计
软件部分由主程序和子程序组成。主程序分为主机主程序和从机主程序(即PWM程序)。子程序又分为情景模式子程序、自动调光子程序和A/D转换子程序。主机主程序位于STC11L08XE芯片中,是整个系统的枢纽,负责收集LD3320和ADC的数字信号,经过计算处理之后将所得结果传给STC89C52。PWM程序将STC11L08XE的所传结果转换为相应的PWM波,并通过PWM波控制每个灯泡的亮灭与光照强度。LD3320子程序负责收集语音信号。A/D转换子程序负责收集光照强度信号[9]。
3.1 主机主程序
智能家用照明系统程序流程如图3所示。
图3 智能家用照明系统程序流程图
3.2 PWM程序
PWM子程序烧录于STC89C52中:通过软件延时的方法调节占空比[10];通过中断的方式结束当前状态,转换为对应状态进行调节。PWM波的各项参数均由上位机提供。PWM程序流程图如图4所示。
图4 PWM程序流程图
3.3 情景模式子程序
情景模式子程序预先设定各情景模式下的对应参数,通过与从机STC89C52串行通信,利用从机调整不同照明装置的亮灭,并通过调节对应照明装置PWM波的占空比来调整亮度,从而达到对应情景模式下的亮度。
3.4 自动调光子程序
自动调光子程序每隔一段时间通过感光模块收集光照强度信息,与预设的理想光照进行比较并通过改变PWM波的占空比来调整光照系统光照强度,从而改变室内的光照强度,以保证室内的光照强度处于预设光照强度范围内。此过程均由系统实现,不需要人力反复调整。
3.5 A/D转换子程序
A/D转换子程序将光敏电阻发出的模拟电压量转换为数字量,发给主芯片提供外界光照信号。
4 情景模式的应用分析
为改善生活品质,增加生活氛围感,系统设定了几种情景模式,分别为读书模式、餐饮模式、观影模式、休息模式、娱乐模式。通过不断试验设计了每种情景模式对应的不同灯组参数。每个灯组的正端接DC 5 V,通过调节负端低电平的占空比来调节光照强度。
情景模式参数设置如下。
①读书模式:点亮灯组1、灯组2、灯组3,各灯组亮度分别设置为额定亮度的100%。
②餐饮模式:点亮灯组1、灯组2、灯组3、灯组4,各灯组亮度分别设置为额定亮度的50%。
③观影模式:点亮灯组2、灯组3、灯组4,各灯组亮度分别设置为额定亮度的10%。
④休息模式:点亮灯组1,灯组亮度设置为额定亮度的10%。
⑤娱乐模式:点亮灯组1、灯组4,各灯组亮度分别设置为额定亮度的50%。
5 PWM仿真
PWM仿真结果如图5所示。
图5 PWM仿真结果
6 结论
本文设计的智能家用情景照明系统共使用了STC11L08XE、LD3320和STC89C52三块单片机。其中:STC11L08XE为上位机,负责计算处理和统筹整个系统,系统的各项指令均由STC11L08XE发出;LD3320作为下位机,负责语音信号与数字信号的转换即人机交互;STC89C52同为下位机,负责将上位机的指令装换为PWM波控制灯泡光照强度及亮灭,以实现各种情景模式。
本文设计的智能家用情景照明系统通过用户简单的语音指令实现舒适的光照环境和所需的氛围,同时由自动控制系统实现更加准确的亮度调节,使用户的室内光照条件更舒适。