低成本及功能多元化的智能台灯设计*
2022-07-26李雪颖洪腾腾
李雪颖,段 洁,洪腾腾,周 洋
(1.黄河交通学院,河南 焦作 454950;2.河南省智能制造技术与装备工程技术研究中心,河南 焦作 454950)
台灯作为人们工作和生活中的常用电器,应用领域十分广泛,具备极强的发展潜力。伴随现代生活节奏的不断加快,人们在工作、学习中使用台灯的频率也逐渐加大,视力下降、颈椎酸痛等健康问题也愈发凸显[1]。而这些问题的诱因可能是光线不合理与坐姿不规范,因此智能台灯应运而生。现阶段随着各类芯片价格的猛涨,智能台灯价格也水涨船高,所以设计和开发出一款成本较低、能监测用户坐姿、自适应调节亮度,同时节能环保、适合大众的智能台灯尤为重要。
本文所设计的智能台灯,运用多种传感器与主控芯片相结合的设计,有自动和手动2 种模式供使用。采用自动模式时,能够根据周围环境的明暗实现对LED 灯光亮度的自动控制,同时利用红外热释电传感器检测周围是否有人,从而实现无人自动关灯;采用手动模式时,可以手动调节亮度。除此功能外,还可利用红外测距传感器测距,当人体距离台灯超过所设定的阈值时,蜂鸣器会发出警告,提醒人们纠正坐姿,防止近视。此外还可根据需求自己设定时长,当工作学习的时间达到所设定的时长,蜂鸣器给出提醒,配合指示灯闪烁,提醒人们劳逸结合,保护视力与颈椎。该设计是智能家居领域的一种供大众使用的产品,具备一定的市场化潜力。
1 系统硬件设计
智能台灯的功能要求如下:有人时根据环境光调节灯具的亮度,无人时关掉灯具,达到节能的目的;还能针对坐姿不规范给出提醒,通过调整坐姿防止近视;也具有定时功能,在进行了一段时间学习后给出提醒,该走出去呼吸新鲜空气、放松大脑保持高效的学习状态和良好心情。
本着设计模块化和成本低廉化的开发理念,在保证实现功能多元化需求的前提下,进行控制系统设计。该系统的组成可以分为主控部分、传感器部分、信号处理部分和提醒部分。硬件系统组成如图1 所示。
图1 硬件系统组成
本次电源模块选用USB 电源模块,其工作电压为5 Ⅴ,在现实生活中应用广泛。
1.1 控制模块
51 单片机原型由英特尔研发,由于性能稳定、价格低廉等优点,其成为应用最为广泛的单片机[2]。本设计的控制模块采用单片机作为主控芯片,对整个灯具系统的电路进行控制。单片机最小系统三要素是电源、晶振和复位电路[1]。
STC89C51 控制芯片成本低、易于购买,而且程序烧写方便,其开发编程环境友好,抗干扰能力强、功耗低且价格低廉,此外还可多次擦写,使用寿命较长。单片机的时钟信号由外部振荡和内部振荡2 种方式得到[2]。晶振选择频率为12 MHz。
1.2 智能台灯灯板电路设计
发光二极管是一种固态半导体器件,可以直接把电转化为光,与白炽灯和钨丝灯的发亮方式不同。考虑到智能台灯应具有寿命长、光效高、几乎没有辐射与消耗电能很少的特点,所以灯泡优先选择发光二极管。
在灯板的电路设计中选用12 个发光二极管,采用并联连接的方式。然后外接1 个USB 和1 个光敏电阻,USB 又用来和主控制板USB 相连接。自动调光时它的设计原理是:当光线增强时,光敏电阻的阻值快速减小,灯光变弱;而光线减弱时恰巧相反,借此实现对灯光强弱的自动调节。
控制方面,光敏电阻的模拟信号是通过和一个分压电阻串联相接入AD 转换器的模拟输入信号脚上。而手动模式下,光敏电阻的电路被阻断,通过脉冲宽度调制(PWM)技术对LED 进行亮度控制,而且通过外界添加2 个按键开关来实现调节亮度的操作。
1.3 信号采集模块设计
智能台灯单片机需要外界环境信号,而信号则需通过各种传感器进行采集。电路中选择热释电红外传感器、被动红外测距传感器和光敏电阻作为传感器部分的组件。
热释电红外传感器:压电陶瓷类电介质在电极化后能保持极化状态,称为自发极化[3]。因为红外辐射产生热量导致材料的内部温度上升至一定值时,表面附着的电荷转移出去一部分,故称为热释电[4]。为了平衡,它向外界释放电荷,产生了电压差,被系统监测并报警,这就是热释电传感器的工作原理。而且它对人体辐射的红外波长附近的红外辐射特别敏感,因此除人体外的其他物体很难引起探头检测。本设计使用的红外热释电红外传感器是HC-SR501 人体感应模块。
测距传感器:本文设计的台灯中为了纠正坐姿而加入了被动红外测距传感器,检测距离时可以根据要求自行调节电位器。该传感器有发射器、接收器和检测电路[5]3 部分。它在电路中的工作原理是检测到物体时,输出低电平的信号,反之输出高电平的信号,低电平会触发提醒。本文需要它对用户进行测距,有效距离是30 cm,正常安全坐姿也是在这个范围内,很人性化。而当用户靠近小于30 cm 时,低电平会使蜂鸣器产生报警,提醒用户坐姿不对,需要进行调整,能达到预期的目的。
光敏电阻:光敏电阻是一种对光强度变化敏感的电阻[6],能够感受外界光线强度,使内部电阻变化,从而影响整个电路,以此达到自动控制灯光强弱的目的。它正常时电阻大小几乎无穷大,故和发光二极管串联接入同一个灯板。光敏电阻的电阻阻值随着灯光的光照强度增大而减小,发光二极管具有单向导电性,它们反接便能完成对电路的自动控制。
STC89C51 接收的是数字信号,但是大多是传感器的输出信号为模拟信号,在该设计中使用ADC0809 完成传感器与单片机的通信。
1.4 数码管
智能台灯不仅需要能调节灯光的强度,而且还需要能提醒用户劳逸结合,这就需要借助定时功能,定时显示器常常使用数码管。数码管是由发光二极管组成的半导体材料。数码管通常有2 种,第一种由7 根发光二极管组成,第二种由8 根发光二极管组成。第二种数码管能够显示小数点,因为它多了一根发光二极管。智能台灯定时器为了区分分和秒,需要一个小数点来隔开显示,因此选择八段数码管更为合适。本系统使用共阴极数码管,当数码管亮起时,则发光二极管的阳极是高电平,反之是低电平。
1.5 按键模块设计
智能台灯上具有多种亮度调节功能,为了实现这些不同的功能,需要在电路上加上控制按键来实现不同功能的使用和切换。选取4 个不同的功能按键,K1的功能是手动和自动切换工作模式,K2 的功能是设定时间,K3 的功能是增加灯光的强度和加时间,K4 的功能是减弱灯光的强度和减时间。按键按下时,单片机接收到信号并执行相应的控制程序。
2 系统软件设计
本次设计的主程序流程如图2 所示,初始化后开始执行按键函数子模块,之后根据按键功能完成所对应的显示功能。
图2 主流程图
3 调试
3.1 软件调试
软件调试是设计过程中必不可少的一步,软件的编程选择Keil 软件来进行程序编译,Keil C51 是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性和可维护性上具有明显优势[7]。
Proteus 可以仿真51 系列、AⅤR、PIC、ARM 等常用主流单片机,还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果[8]。本次仿真图如图3 所示。
图3 仿真图
将由Keil 软件环境下编译生成的hex 文件置于Protues 软件所绘制的仿真图的单片机中[9],通过选择不同按键,完成自动和手动调节光照强度,同时也可设置学习时间,实现劳逸结合、保护视力的功能。仿真时一定要将仿真环境配置好,进行编程和仿真测试结束后,就开始准备进行实物硬件的调试。
3.2 硬件调试
硬件的测试分为静态测试和动态测试[10]2 种调试方式。LED 灯和硬件实物如图4 所示。
图4 LED 灯和硬件图
静态测试包含目检和万用表测试,静态测试完成后,进行动态测试,即对各种模块进行实际功能的测试[11]:通电后按启动开关,开启后台灯处于手动状态;手动状态下通过按“加”“减”按钮来控制灯的亮暗,若可以实现,则说明手动模式软件和硬件都过关;再按下切换键,灯光因为光照强度发生变化,说明光敏电阻通电后正常工作;距离台灯特别近时,蜂鸣器开始提醒且蜂鸣一段时间后自动关闭灯光,即证明红外距离传感器运行正常;再寻找一个无人环境,距离台灯很远后观察它是否会延时熄灭,若熄灭则证明热释电传感器运行正常。硬件测试的动态调试结束,则整个实物的测试过程在此结束。
4 总结
本文的主要研究内容是采用单片机作为核心控制单元进行智能台灯设计,硬件电路部分由热释电红外传感器、光敏电阻信号处理电路、提醒电路、灯光控制电路和故障报警电路等组成。选用C 语言进行软件程序设计,并选用Proteus 进行仿真。
设计中,以STC89C51 作为主控芯片,设置有手动和自动2 种模式,在手动模式下,利用“加”“减”按钮改变PWM 占空比,实现对台灯明暗度的调节,即完成对台灯亮度的手动调节;自动模式下,利用光敏电阻的电阻值随环境光照强度变化的特性,改变LED 两端电压,实现对灯光亮度的自动调节。此外,该台灯还具备实时测距和自主设定使用时长的功能,可提醒使用者纠正坐姿和注意劳逸结合。该智能台灯的控制电路设计简单,整体产品能耗低,性价比高,具备一定的市场推广价值。