韩燕,王世豪,蔡晓敏,景妍妍
(南京邮电大学 通达学院电气工程学院,江苏扬州,225000)
在全球变暖的大形势下,节能减排受到国内外广泛关注,得益于微控制器的迅速发展,以单片机为控制核心的各家用电器受到普遍欢迎。在此背景下,考虑到普通台灯功能单一,如只能手动控制开灯、关灯、调节灯光的亮度等级;用户在离开后若忘记关灯会导致电能的浪费;在使用过程中坐姿不规范,使用时间过长导致用眼过度,视力下降等问题,设计了一套多功能台灯控制系统,该系统以单片机为核心,结合PWM 调光,传感器技术来丰富台灯的功能。
本文将从总设计介绍系统的各功能组成模块;从硬件设计介绍各功能模块的选型和具体作用——硬件是载体;从软件设计体现系统的控制思想——软件是灵魂;最终完成系统调试实现系统功能。
本系统以STC89C52 为控制核心,功能模块主要包括电源电路、超声波测距、人体红外检测、光敏模块、模拟台灯控制模块、按键模块、液晶显示、温度检测以及报警模块等部分[1]。
本设计的控制目的是改善传统台灯功能单一的问题,除了可手动控制台灯的亮灭,结合光敏电阻和红外传感器,增加了自动控制的功能,在外界环境亮度不足,且有人在附近活动时能够自动开灯;增加了超声波测距和报警功能,考虑到用户坐姿不良,长时间工作学习,会造成身体不适,故用户距离桌面太近,使用时间过长时,台灯会发出不同的报警声,提示用户及时调整;另外还增加了温度实时监测与液晶显示。相比于传统台灯,该系统功能更加多样化、人性化。系统组成框图如图1 所示。
图1 系统组成框图
主控制器采用的STC89C52 是一种低电压、低功耗、高性能的单片机,其丰富的片上资源足够本系统使用。其作为控制核心,需要与其它功能模块之间完成数据交互,从而实现对台灯的控制[2]。该款单片机性价比高,供货渠道稳定,并有稳定度较高的下载器可供使用,因此在系统上并没有设计下载电路,只设计了最小系统[3]。单片机最小系统如图2 所示。
图2 单片机最小系统
电源电路的设计需综合各功能模块考虑,系统中STC8 9C52 单片机需要5V 的供电电压;超声波模块、蜂鸣器和显示屏等模块的工作电压都是5V;模拟台灯的工作电压可在5~10V 选择;红外检测模块的工作电压4.5~20V;温度传感器的工作电压3~5.5V;综上考虑,选择5V 的直流电源比较合适。系统采用型号规格为DC-005 的电源插座,电源适配器插上电源后,通过按键开关接通电路,加上几个滤波电容,即得到足够系统工作的+5V 电源,电路中串联一个LED 灯和一个限流电阻作为电源工作指示灯。电源电路如图3 所示。
图3 电源电路
考虑到按键数量不多,系统I/O 口比较充足,故采用独立按键设计以节省软件设计工作量。按键模块由七个按键组成如图4 所示,复位按键S1 见图2。其他按键分别为设置按键也可以理解为菜单键;确认按键;加/减按键,主要作用是调节超声波提示距离和久坐提示的时间,同时也用来在手动模式下调节亮度;手动/自动模式切换按键;手动模式下的开关按键。
图4 按键模块
光敏模块在本设计中的作用是检测外界环境的亮度,采用光敏电阻结合ADC0832 的设计,光敏模块电路图如图5所示。其功能是将光照强度转换为数字信号送给单片机,由单片机对光照强度进行判断[4]。后续单片机会以此作为判断条件,对台灯实现控制。
图5 光敏模块
本设计增加红外检测模块的目的,一方面是考虑到用户走后忘记关灯,从而导致电能的浪费,另一方面是在自动模式下,通过该模块感应是否有人在周围活动并结合光敏模块来实现台灯的自动控制。红外检测模块电路图如图6 所示。
图6 红外检测模块
系统在台灯功能展示环节,采用USB灯模拟台灯的工作,USB 灯体积小、功耗小、技术成熟、功能稳定、价格实惠。台灯控制模块电路图如图7 所示。台灯亮度的调节,采用PWM 也就是脉宽调制调法来控制,不管是在手动模式还是在自动模式下,都是通过该方法改变其亮度。改变脉冲序列的周期可以调频,改变占空比可以调压,通过这种方法使电压与频率协调变化进而改变充电电流,达到调节亮度的目的[5]。
图7 台灯控制模块
超声波传感器是本系统的关键性功能模块,用来实现坐姿提醒功能。超声波模块与单片机相连,其启动是由单片机提供一个10μs 以上的脉冲触发信号,随后其内部会发出方波并检测回波,一旦检测到回波则向单片机发送回响信号,通过发射信号与收到回响信号的时间间隔就可以计算出距离[6]。当距离小于设定值时,触发报警电路工作,发出提示音,在一定程度下达到约束坐姿,保护视力的目的。超声波模块原理图如图8 所示。
图8 超声波测距模块
报警模块由两部分组成,蜂鸣器作为坐姿提醒,当坐姿不合适用户距离桌面过近时,会发出蜂鸣提示,蜂鸣器电路如图9 所示;喇叭“叮叮叮”的声音作为久坐提示,提醒用户适当休息避免用眼过度,喇叭的驱动需通过语音芯片与单片机相连,喇叭电路如图10 所示。
图9 蜂鸣器电路
图10 喇叭电路
温度检测模块的作用是实时监测室内的环境温度,并将温度信息送给单片机处理,以便后续能在显示电路中实时显示室内温度。在本系统中温度测量芯片采用的是广泛使用的DS18B20。温度检测模块电路图如图11 所示。
图11 温度检测模块
显示电路用于实现室内环境温度显示、距离显示、久坐提示的时间倒计时以及亮度等级。考虑到本设计中能够显示数字和英文已经基本满足要求,且为了后期调试方便,选择了LCD1602A 带排针的液晶显示屏,显示电路如图12 所示。
图12 显示电路
系统上电加载程序,器件和端口完成初始化后,调用按键扫描程序,根据按键情况完成初始设置进入工作状态。
调用温度测量子程序,环境亮度处理子程序,并将温度信息和亮度信息通过显示程序显示在液晶屏上。
根据按键情况,判断手动按键是否按下,没有则系统进入自动模式;按键按下则进入手动模式等待手动开关灯操作。
在自动模式下,首先调用人体红外检测处理程序判断是否有人靠近,其次根据环境亮度处理子程序数据判断亮度是否充足。如果有人靠近且此时环境亮度不足则自动开灯,并根据环境亮度自动调光。
在手动模式和自动模式下有人靠近时,均会调用超声波测距处理子程序,根据设定值判断用户距离,距离过近蜂鸣器就会间断提醒;其次调用定时子程序,定时时间到系统喇叭会发出语音提示后重置倒计时。实现久坐提示和坐姿提醒以防用眼过度从而保护视力。
多功能台灯的软件控制流程如图13 所示。
图13 软件控制流程图
系统实物如图14 所示,该图为上电完成初始设置后的整体工作画面。手动按键没有按下则默认是自动模式,表示自动模式的指示灯会亮,当周围环境的亮度低于9 级并检测到有人靠近时开灯,同时根据环境亮度控制USB 灯的亮度等级,在一定程度上达到节能的效果。程序默认的久坐提示时间为50 分钟。
系统可以实现以下功能:台灯的手动控制模式和自动控制模式(可通过按键切换);亮度自动调节;坐姿提醒;久坐提示;温度、亮度、距离、久坐倒计时显示。
图14 液晶屏显示内容做如下解释:
图14 系统实物图
L:7-2,其中7 表示的是光敏电阻检测到的环境光亮度等级,范围是0~9,等级越高表示外界环境亮度越高;2 表示的是USB 灯的亮度等级,范围也是0~9 级,同理等级越高USB 灯的亮度越高;
Dis:024cm,表示超声波测得的用户距离;单片机将此距离与设定值做比较;
T:25C,表示温度传感器测得的环境温度,为了数据的准确性10 秒更新一次;00:47:04,表示的是久坐提示的倒计时时间。
本设计在普通台灯的基础上,增加了自动控制,智能调光,坐姿提醒,久坐提示,温度显示等功能,经济环保性价比高。经过测试系统硬件电路无异常,软件运行顺利,基本达到了笔者设计的初衷,实验证明了多功能台灯系统控制方案的可行性。但如若完全符合生产生活需求,在外形的设计以及照明光源的设计上还需做进一步改进。