基于单片机的智能调光台灯设计
2022-12-03陈新芬邱小华金琦淳岳睿
陈新芬,邱小华,金琦淳,岳睿
(1.无锡城市职业技术学院 机电工程学院,江苏 无锡 214153;2.无锡市宏源弹性器材有限公司,江苏无锡 214161)
LED 作为一种固态冷光源,是继白炽灯、荧光灯、高强度放电灯之后的第四代新光源。本文研究基于单片机的智能LED 台灯设计,具有智能调节照明亮度,感应人员存在,达到人在灯亮,人走灯灭,节能环保的照明目的。
1 设计功能描述
本设计以STC89C52 单片机为主控芯片,利用C 语言编程,通过PWM技术实现智能调光台灯十级照明亮度功能。智能台灯可以工作在两种照明模式:自动照明模式和手动控制模式。
自动照明模式中,利用HC-SR501 人体红外传感器感知人员活动信息[1],同时利用光敏传感器感知当前环境光照强度,达到人在时,灯开,并控制LED 灯工作在合适的亮度等级。
手动控制模式中,利用功能切换按键,以及亮度增、减两个功能按键,实现台灯普通状态下手动控制照明亮度功能。
2 硬件设计
2.1 硬件电路图
本系统由主控单片机芯片STC89C52,电源,按键,LED 指示灯,光敏电阻,模/数转换芯片ADC0832,人体热释电红外传感器HC-SR501,照明用并联LED 小灯模块,以及若干电阻,电容,三极管等部分组成,其中STC89C52 单片机为本设计的控制核心[2]。原理图如图1 所示。
图1 电路原理图
2.2 单片机最小系统
单片机最小系统由STC89C52 单片机芯片(MCU)、晶振电路、复位电路、电源电路组成[3]。设计中的上电复位电路由电源,电阻R4,电容C1串联构成。系统上电时,电容C1 和电阻R4 的连接处,由于电容瞬间充电,会产生有效的单片机复位所需高电平,此高电平连接到单片机的9 号引脚RST(Reset)。单片机工作所需的晶振电路则由12MHZ 晶振X1,以及两个30PF 电容C2,C3构成,晶振电路为最小系统提供基准时钟信号,单片机内部的工作以此时钟信号为基准[4]。
2.3 红外感应电路
设计中,红外感应模块采用集成热释电红外线模块HC-SR501。该模块是基于红外线技术的全自动感应模块,能以非接触形式检测人员活动信息,对人体辐射出的波长在10μm 左右的红外线感应灵敏度高,抗干扰能力强。该集成传感器体积小并可以实现低电压工作模式,广泛应用于各类自动感应电器设备中。
红外感应模块的工作电压为+5V,工作状态适应温度在-15℃~+70℃,感应角度在<100 度锥角范围内可调,感应距离可以达到7m,反应延时时间短。触发方式分为不可重复触发以及重复触发,输出高电平有效。
本设计中,利用跳线的办法,将红外模块设置为重复触发工作方式。当人员出现在感应范围内时,模块输出有效高电平给到单片机P2.2 引脚。在延时时间段内,持续检测到人员活动信息时,红外模块重复触发方式下,引脚持续输出高电平信息给到单片机芯片。
2.4 光敏感应电路
设计中光照强度采集电路选用光敏电阻、ADC0832 模/数转换芯片等元件构成。光敏电阻R1 与10KΩ 固定值电阻R6 串联分压VCC,电阻R6 两端的电压值直接反应当前环境光照强度:当环境光照较强时,光敏电阻的阻值较小,电阻R6 两端分压VCC,分得的电压值较高;当环境光照较弱时,光敏电阻的阻值较大,电阻R6 两端的分电压值较小。环境光照越强,电阻R6 两端电压值越高,是直接反应环境光照的一个模拟量电压值。
上述反应环境光照强度的电压值是一个连续的模拟量值,单片机无法直接识别和处理,设计中,将此电压值送入ADC0832 模/ 数转换芯片实现数字量转换,转换后对应的数字量电压值送入单片机P2.1 口,为智能台灯的亮度调节做参考。
设计中选用ADC0832 作为A/D 转换芯片,ADC0832 为8 位分辨率A/D 转换芯片,其最高分辨可达256 级。ADC0832 处理数据的误差较小、转换速度快、稳定性能强,能与多个器件以及处理器连接,操作简便。
2.5 独立按键电路
设计选用三个独立按键:K1,K2 和K3,分别与单片机的P1.1,P1.2 和P1.3 三个I/O 口连接。K1 为工作模式切换按键,按下K1 台灯实现自动照明模式与手动照明模式之间切换。此设计中,台灯照明亮度等级划分为十档,K2 为亮度增加按键,连续按下K2 逐渐增加照明亮度,K3 为亮度降低按键,连续按下K3 逐渐降低台灯照明亮度。K2和K3 按键只能在手动照明工作模式下才发挥作用。自动照明模式下,台灯的照明亮度取决于环境光照及是否有人。
2.6 照明电路
照明模块采用独立LED 灯结构,模块通过USB 接口与单片机控制电路连接。智能台灯不用时,照明模块可以独立取下单独保存,使用时通过USB 接口连接控制电路。这样的设计使得照明模块电路便于检修和维护。
照明模块内部包含6 个并联的白色LED灯,每个LED 灯各自串联1 个限流电阻。照明模块电路采用PNP 三极管S8550 驱动,三极管基极串联一个限流电阻后连接单片机P1.4 接口,三极管发射极接VCC 电源,集电极连接LED 灯后连到电源地。只要单片机P1.4 口输出一个低电平信号,即可控制三极管导通,继而点亮LED照明灯。
2.7 指示灯电路
设计中利用一个绿色发光二极管D1 与一个1KΩ 的限流电阻R5 串联构成指示灯电路。指示灯电路发光二极管的亮灭标志着智能台灯的工作模式:绿色发光二极管点亮时,台灯工作于自动照明模式。发光二极管熄灭时,台灯工作于手动照明模式。指示灯电路连接单片机P1.0 接口。当按动K1 按键,P1.0 口输出低电平时,指示灯电路点亮,智能台灯进入自动照明模式[5]。
3 软件设计
接通电源,按下电源开关,系统进入主程序流程:首先定时器及中断系统初始化,系统上电后,模式指示灯绿色LED 灯点亮,示意系统上电后台灯默认进入自动照明模式,自动采集当前环境光照强度,对应当前环境光强,选择对应档位亮度点亮台灯。主程序接着循环检测模式切换按键1 是否按下:如果当前工作模式选择为手动控制模式,则程序调用手动工作模式子程序。如果当前工作模式选择为自动照明模式,则程序调用自动照明模式程序。在手动照明模式中,K2 和K3设计为亮度调节增减按键,通过按键K2 和K3 的增减功能,最终确定智能台灯的当前照明亮度等级。在自动照明模式中,系统自动采集当前环境光照强度,并根据当前环境光照,依照程序设计,控制智能台灯实现对应等级的照明亮度。环境光线越暗,智能台灯亮度越大。本设计中,智能台灯亮度等级设计为十级照明亮度等级。在智能照明模式中,台灯照亮的同时,自动检测当前环境是否有人,如果有人员活动,则台灯持续保持照明。如果人员离开,则智能台灯延时1 分钟后自动熄灭,达到节能环保的目的,图2 为智能台灯的主程序流程图。
图2 主程序流程图
4 仿真调试
利用Proteus 仿真软件,绘制本设计硬件电路。利用keil 编程,编译成目标代码后,输入仿真系统单片机芯片中。在仿真系统中,热释电人体红外传感器,用按键K4 开关代替,当按键K4 按下时,代表有人。光敏电阻阻值随环境光照强度变化用滑动变阻器RV1 代替。系统上电后,仿真界面显示绿色LED 指示灯D1 点亮,标志着程序进入自动照明模式:按键K4 此时按下,代表人在,同时滑动变阻器RV1 滑到最右端,代表当前环境为最暗状态,此时,照明LED 台灯D2 达到最大亮度。自动照明模式中,环境人在时,模拟环境亮度的滑动变阻器从最右端滑动到最左端,代表当前环境由黑变亮,仿真中可以看到照明LED 灯D2 亮度逐级降低,直至熄灭。自动照明模式下仿真电路如图3 所示。自动照明模式中,黑夜环境下,人体红外模拟按键弹起,代表人员离开,则系统进入延时倒计时,当延时到1 分钟时,系统自动熄灭照明LED 灯D2,达到人走灯灭的效果。
图3 自动照明仿真图
按下模式切换键K1,绿色LED 模式指示灯D1 熄灭,代表系统进入手动照明模式,此时,照明LED 台灯D2 的亮灭完全受K2 和K3 亮度等级设定按键控制,光敏电阻感知环境亮度及人体红外感应失去控制作用。
5 测试
实物焊接制作检测完成后,利用在线烧录软件STC-ISP 下载软件将编译后的.hex 机器文件烧录到STC89C52 单片机芯片中[6],插上电源,给系统上电,台灯执行智能照明模式:绿色LED 指示灯亮起,光敏采集电路开始工作,自动采集环境光线,确定当前照明亮度等级。人体红外传感器同时工作,人员离开超过一分钟,则台灯自动熄灭,人在,则台灯持续保持照明状态。在自动照明模式中,人来则灯开,人走,灯延时一分钟熄灭。按下K1 模式切换按键,绿色LED 模式指示灯熄灭,系统进入手动照明模式,此时台灯照明亮度取决于K2 和K3 按键的调节。人体红外传感器以及光敏感应电路不再发挥智能感应作用。自动模式实物图如图4 所示。
图4 自动照明实物图
6 结语
本文设计并制作完成了一款基于STC89C52 单片机的智能调光台灯。该智能调光台灯设备由光敏电阻,ADC0832 模/数转换芯片,人体红外线集成感应模块HC-SR501,独立按键,STC89C52 单片机芯片等元器件构成。设计中,利用单片机内部定时器,采用PWM技术实现照明亮度十个等级划分。
设计的不足之处在于此照明LED 灯的闪烁频率仅为100HZ,而理想的闪烁频率最好在200HZ 以上才能达到保护视力的目的,同时还需要考虑如何有效调低红绿蓝三原色输出,且尽量调低色温,才能最大程度保护眼睛和视力,降低频闪和蓝光的伤害。