百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

LED照明闭环控制系统的设计与实现

cac55 2024-11-21 10:56 23 浏览 0 评论

摘 要: 为了节能和智能控制灯光,构建了一个以STC12C5410AD单片机为核心的LED照明闭环控制系统,实现了对白光LED照明的闭环控制功能。该系统利用光敏电阻实时采集环境光线强度,自动调节白光LED亮度;采用A/D转换将光线强度的模拟量转化为数字量;采用I/O口实现对LED的PWM功率控制;采用电流驱动,电流步距可调的方式来调节白光LED。通过测试表明,该系统提高了照明环境的品质,具有电路简单、可靠性强的优点。

0 引言

白光LED由于其独特的发光原理使其具有节约能源、环保、寿命长、发光效率高、成本低、减少维护费用、提供更好的灯光品质等优点[1],而成为人们关注的焦点。近年来在各行业的应用得以快速发展,包括在景观、沿途公路、隧道等场所都有一定的应用。目前国内外己经开始实行对灯光的智能控制,但国内对楼宇灯光的智能控制还很简单且不完善,大多依然是传统式的人工管理,造成了电能浪费和经济损失,而且过强或过弱的光照条件会带给人不适感觉。因此本文设计了LED照明闭环控制系统,采用PWM调光技术,采集环境光线强度,自动调节3 mm LED亮度,达到经济、节能的目的。

LED照明闭环控制系统由12个3 mm白光LED组成,采取软硬件设计相结合的方式,以STC12C5410AD单片机[2]为核心来实现总体方案的设计,从而完成该闭环控制系统的功能。

1 总体思路的设计

系统的硬件电路框架如图1所示,主要由STC12C5410AD主控制模块、数据采集模块、脉冲电流驱动模块、通信模块、人机界面模块5个模块组成。其中,主控制模块以STC12C5410AD为核心由电源模块、时钟模块、复位模块构成。数据采集模块利用感光元件光敏电阻采集环境光线强度,再利用STC12C5410AD的ADC转换器把光线强度值的模拟量转化为数字量。脉冲电流驱动模块主要由S8050和白光LED构成,通过脉宽调制PWM产生的脉冲电流来驱动LED,改变脉冲电流的占空比来调节LED的亮度。人机界面模块包括键盘处理模块、LED显示模块和数码管显示模块。键盘处理模块用来调节LED亮度变化的步长,而且当前步长通过数码管显示模块的七段数码管来显示。串口通信模块用于硬件电路与PC的通信,传输数据。

该系统的软件设计采用功能模块化编程思想实现,不同的模块完成相应的功能,并有程序上的中断、循环等。

2 硬件电路的设计

2.1 系统主控制模块

系统主控制模块是由STC12C5410AD单片机、电源模块、时钟模块、复位模块等构成,是整个硬件电路的核心,处理各种输入信号,发出指令控制各个器件工作,主控制电路如图2所示。

电源模块为单片机及其他元器件提供5 V及3.3 V直流电压。时钟模块为单片机提供标准时钟和运算速度。复位模块用于硬件电路的稳定性和可靠性。

2.2 数据采集模块

STC12C5410AD单片机带有8路10位的高速A/D转换器,速度可达到100 kHz。随着光照的变化,感光元件光敏电阻从亮阻到暗阻的变化值在1 k级别到几百k之间。设计中采用光敏电阻与一个100 k电阻串联分压的办法来将光敏电阻阻值的变化转化为可以采集的电压变化。

数据采集模块主要由光敏电阻[3]及100 k电阻构成。该闭环控制系统采用P1.7作为A/D转换口。采集环境中,根据光线强度的变化,光敏电阻的阻值随着改变,通过转化为电压的变化,将电压的模拟量转化为其数字量,然后根据电压的大小来调节单片机输出的脉冲电流占空比,从而调节脉冲电流的大小,进而自动调节LED亮度的大小。

2.3 脉冲电流驱动模块

该系统中运用脉宽调制PWM技术[4]来驱动12个白光LED。脉冲电流驱动模块用脉宽调制PWM技术产生的脉冲电流驱动LED,具有亮度高、散热性能好、驱动效率高等优点。通过STC12C5410AD,PWM信号频率通常会超过100 Hz,以确保这个脉冲电流不会被肉眼察觉。

脉冲电流驱动模块由S8050和白光LED组成,硬件电路如3图所示。其中S8050是最大集存器电流为0.5 A的NPN型晶体三极管,用在各种放大电路中。用三极管S8050驱动12个并联排列白光LED,单片机通过PWM控制工作在饱和区的S8050,使其饱和导通或者截止,从而实现对LED灯亮度的控制。S8050饱和导通时,其集电极电流可以达到500 mA,可以提供12个LED所需的工作电流。

2.4 人机界面模块

该人机界面模块包括LED显示模块、数码显示模块和键盘处理模块。LED显示模块用来显示12个LED。键盘处理模块用来调节LED亮度变化的步长。调节LED亮度变化的步长时,数码管显示模块用来显示当前步长的值。当LED亮度小时,增加步长,使LED的亮度增强;当LED亮度大时,减少步长,使LED的亮度减弱。

2.5 通信模块

由于上位机带有RS232接口,利用上位机的串行口与下位机进行RS232通信,传输数据。通信模块电路采用了PC的RS232标准串口设计的单电源电平转换驱动芯片MAX232,进行串行通信。利用STC12C5410AD的串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片,整个接口电路简单,可靠性高。

3 软件框架的设计

软件设计框架以STC12C5410AD单片机为核心,以Keil uVision3为编程平台,采用C51编程,实现系统的功能。采用功能模块化编程,不同的模块完成相应的功能,并有程序上的中断、循环等。该系统的软件设计框架包括主程序、中断服务程序和子程序构成,如图4所示。其中,子程序包含A/D转换、PWM[5]驱动、串口通信、键盘处理、LED显示、数码管显示等程序。

3.1 主程序设计

主程序由初始化程序和功能程序设计构成。初始化程序包括串口初始化、A/D转换初始化、脉冲调制PWM初始化、外部中断初始化,功能程序设计用来完成系统的整个运行程序。主程序设计的工作流程图如图5所示。

3.2 中断服务程序设计

中断服务程序包括外部中断0和外部中断1服务程序,用于控制PWM脉冲电流的占空比的大小调节。其中,外部中断0服务程序用于按键Key1处理,当按键Key1按下时,增加电流步距,电流占空比减少;外部中断1服务程序用于按键Key2处理,当按键Key2按下时,减少电流步距,电流占空比增加。

3.3 子程序设计

3.3.1 延时程序设计

延时程序设计采用for循环的方法来延时,主要用于按键消抖。

3.3.2 A/D转换程序设计

利用感光元件光敏电阻来采集光照强度,然后将采样值通过I/O口送给A/D转换器。A/D[6]转换程序的设计将采样值模拟量转化为数字量,以查询方式来读取A/D转换的结果。设计中采取A/D转换的10位结果,并将取特殊功能寄存器ADCDATA的前5位和ADCLOW2的前2位作为A/D转换的结果。A/D转换流程图如图6所示。

3.3.3 PWM驱动程序设计

PWM驱动程序利用单片机内部PCA模块工作在8位PWM模式。采用矩形波电流脉冲来驱动LED。LED的平均电流是最大峰值电流与占空比的乘积。当最大峰值电流一定时,输出的亮度取决于驱动脉冲电流的占空比。向PCA捕捉寄存器/比较寄存器CCAP0L和CCAP0H赋值,控制输出信号的占空比。通过寄存器CCAP0H值,装载到CCAP0L值。

3.3.4 串口通信程序设计

串口通信程序用于通过PC把程序下载到单片机中。其设计采用定时器1的8 bit自动重装模式设计波特率,使用中断的方式来发送数据。

4 测试与调试

在测试过程中,采用模块化思想测试各个功能。首先,串口通信程序是否能够发送数据,通过串口调试助手进行检验。在串口调试助手的窗口观察是否有数据显示,若出现“1”,则程序正确,否则错误。其次,测试中断程序,主要是检测按键的消抖。最后,测试A/D转换程序,主要是查看A/D转换的结果及其变化。

根据测试的程序,调试好各个功能模块的程序,然后综合调试系统的整个功能。通过在不同的环境下光线的强弱来控制光敏电阻的阻值,从而控制12个白光LED的亮度。当光线较强时,光敏电阻的阻值变小,A/D采样的结果变大,PWM脉冲电流的占空比减小,LED的亮度变小;当光线较弱时,光敏电阻的阻值变大,A/D采样的结果变小,PWM脉冲电流的占空比增大,LED的亮度变大,从而实现了系统功能。

5 结论

本文设计的LED闭环控制系统可以节约电能,减少经济损失,克服了人工管理的缺点,能实时采集环境光线强度,自动调节LED亮度,实现了对LED照明的闭环控制功能,提高了照明环境的品质,给人一种舒适的生活工作环境,具有电路简单、可靠性强等优点。

参考文献

[1] 樊岳标,刘丽兰,韩鎏.LED照明控制与仿真一体化系统设计[J].机械制造,2013,51(592):24-27.

[2] 胡礼广,王刚.基于STC12C5410AD单片机的镶嵌控制系统设计与实现[J].微型机与应用,2011,30(8):73-75.

[3] 徐梅.基于AT89C51的室内照明控制系统的设计[J].自动化与仪器仪表,2011(5):43-44,47.

[4] 张兴,秦会斌,郭石磊.基于UCC3818A的600W APFC电源设计[J].微型机与应用,2015,34(6):23-25,28.

[5] 郭凤仪,赫广杰,刘丹,等.基于单片机的光伏路灯照明系统的设计与实现[J].计算机测量与控制,2013,21(6):1615-1617,1627.

[6] 戴明,王琪,吴万庆,等.一种便携式多体征参数监护系统的设计及实现[J].电子技术应用,2015,41(2):78-81.

相关推荐

Mac电脑强制删除任何软件方法-含自启动应用

对于打工者来说,进入企业上班使用的电脑大概率是会被监控起来,比如各种流行的数据防泄漏DLP,奇安信天擎,甚至360安全卫士,这些安全软件你想卸载是非常困难的,甚至卸载后它自己又安装回来了,并且还在你不...

Linux基础知识 | 文件与目录大全讲解

1.linux文件权限与目录配置1.文件属性Linux一般将文件可存取的身份分为三个类别,分别是owner/group/others,且三种身份各read/write/execute等权限文...

文件保护不妥协:2025 年 10 款顶级加密工具推荐

数据安全无小事,2025年这10款加密工具凭借独特功能脱颖而出,从个人到企业场景全覆盖,第一款为Ping32,其余为国外英文软件。1.Ping32企业级加密核心工具,支持200+文件格...

省心省力 一个软件搞定系统维护_省心安装在哪里能找到

◆系统类似于我们居住的房间,需要经常打理才能保持清洁、高效。虽然它本身也自带一些清理和优化的工具,但借助于好用的第三方工具来执行这方面的任务,会更让人省心省力。下面笔者就为大家介绍一款集多项功能于一身...

JAVA程序员常用的几个工具类_java程序员一般用什么软件写程序

好的工具做起事来常常事半功倍,下面介绍几个开发中常用到的工具类,收藏一下,也许后面真的会用到。字符串处理:org.apache.commons.lang.StringUtilsisBlank(Char...

手工解决Windows10的若干难题_windows10系统卡顿怎么解决

【电脑报在线】很多朋友已经开始使用Win10,估计还只是测试版本的原因,使用过程中难免会出现一些问题,这里介绍解决一些解决难题的技巧。技巧1:让ProjectSpartan“重归正途”从10074...

System32文件夹千万不能删除,看完这篇你就知道为什么了

C:\Windows\System32目录是Windows操作系统的关键部分,重要的系统文件存储在该目录中。网上的一些恶作剧者可能会告诉你删除它,但你不应该尝试去操作,如果你尝试的话,我们会告诉你会发...

Windows.old 文件夹:系统备份的解析与安全删除指南

Windows.old是Windows系统升级(如Win10升Win11)或重装时,系统自动在C盘创建的备份文件夹,其核心作用是保留旧系统的文件、程序与配置,为“回退旧系统”提供保...

遇到疑难杂症?Windows 10回收站问题巧解决

回收站是Windows10的一个重要组件。然而,我们在使用过程中,可能会遇到一些问题。例如,不论回收站里有没有文件,都显示同一个图标,让人无法判别回收站的空和满的真实情况;没有了像Windows7...

卸载软件怎么彻底删掉?简单几个步骤彻底卸载,电脑小白看过来

日常工作学习生活中,我们需要在安装一些软件程序,但随着软件的更新迭代速度,很多时候我们需要重新下载安装新的程序,这时就需要将旧的一些软件程序进行卸载。但是卸载软件虽然很简单,但是很多小伙伴们表示卸载不...

用不上就删!如何完全卸载OneDrive?

作为Windows10自带的云盘,OneDrive为资料的自动备份和同步提供了方便。然而,从隐私或其他方面考虑,有些人不愿意使用OneDrive。但Windows10本身不提供直接卸载OneDri...

【Linux知识】Linux下快速删除大量文件/文件夹方法

在Linux下,如果需要快速删除大量文件或文件夹,可以使用如下方法:使用rm命令删除文件:可以使用rm命令删除文件,例如:rm-rf/path/to/directory/*这个命令会递...

清理系统不用第三方工具_清理系统垃圾用什么软件

清理优化系统一定要借助于优化工具吗?其实,手动优化系统也没有那么神秘,掌握了方法和技巧,系统清理也是一件简单和随心的事。一方面要为每一个可能产生累赘的文件找到清理的方法,另一方面要寻找能够提高工作效率...

系统小技巧:软件卸载不了?这里办法多

在正常情况下,我们都是通过软件程序组中的卸载图标,或利用控制面板中的“程序和功能”模块来卸载软件的。但有时,我们也会发现利用卸载图标无法卸载软件或者卸载图标干脆丢失找不到了,甚至控制面板中卸载软件的功...

麒麟系统无法删除文件夹_麒麟系统删除文件权限不够

删除文件夹方法例:sudorm-rf文件夹名称。删除文件方法例:sudorm-r文件名包括扩展名。如果没有权限,给文件夹加一下权限再删。加最高权限chmod775文件名加可执行权限...

取消回复欢迎 发表评论: