基于单片机的 LED 照明灯智能调光系统设计

摘  要: 社会经济的不断发展,推动了智能化生活的进程,智能调光技术开始广泛应用在生活中,人们也逐渐提高了灯光亮灯率等的要求。基于此,笔者主要设计了基于单片机的 LED 照明灯智能调光系统,希望能够为相关研究提供一定的参考。
关键词: 单片机;LED 照明灯;智能调光系统

0  引言

我国的经济建设消耗了大量的能源,对我国实现可持续发展目标造成了非常大的阻碍,所以目前首要解决的就是如何避免能源浪费且高效利用能源等问题 。日常的灯光照明是现代生活中不可缺少的内容,同时也是能源消耗的重要内容,而 LED 灯作为固态冷灯源,在一定程度上节约了电能,并具有使用时间长和体积小等特点,能够满足我国绿色发展的目标,因此对其进行研究具有非常大的意义。

1  单片机与 LED 调光方式相关概述

1.1 单片机的概念与基本构成

单片机又被称为单片微型计算机( MCU ),在一个芯片的小型计算机中集结了计算机系统 [4-5] 。单片机的主要组成包括控制器、存储器以及运算器等,其与真正的计算机相比,缺少了输入、输出的相关设备,但是在实际的使用过程中非常有必要,可以将输入输出设备连接在开发设计板中就能做到与普通计算机一样。
单片机的基本构成包括中央处理器 CPU 、随机存取存储器 PAM 、只读存储器 ROM 以及中断系统等。其中,中央处理器的主要作用就是处理数据,并进行复位、位测试等相关操作;随机存取存储器的作用就是保证在存储系统运行的过程中能产生相关的数据信息;只读存储器的作用就是永久性的存储应用程序;中断系统可以使用编程进行控制。

1.2 LED 调光的方式探讨

一般情况下,大功率的 LED 器件具有大电流和低电压的特点,当电压发生变化时,电流量可能就会发生一定的变化,所以在目前市场上比较常用的 LED 照明灯一般是恒流驱动的形式,而且为了能实现节能的效果,通常会通过调灯降低 LED 的功耗,有效延长 LED 的使用寿命。 LED 主要的调光方式包括模拟调光、PWM 调光等。其中,模拟调光的电路相对比较简单,但是不容易精确调节输出电流,且调光的范围有限,所以在使用的过程中还存在一定的问题;PWM调光的效率相对较高,并且能够精准控制,能对软件进行有效控制,但是使用的成本相对较高。

2  基于单片机的 LED 照明灯智能调光系统设计

2.1 系统总体框架

本文在设计时主要采用了相关的光电检测设备,通过ADC0832 进行了模数转换,让整个系统能够根据周围环境的实际光照情况,利用单片机的芯片对灯光进行直接控制,当环境周围的灯光较亮时,灯光就会变弱,而当周围环境灯光较暗时,灯就会变亮,同时也可以手动对灯光的亮度进行控制。图 1 为基于单片机的 LED 照明灯智能调光系统框架。

2.2 系统设计的原理

本设计中的主控芯片型号为 STC89C52 单片机,与模数转换系统相结合,采集光源的信号主要通过光明电阻进行,并通过 PWM 调节发光系统,同时对整个电路进行供电的是5 V 的直流电源。在整个设计的过程中通过切换功能模式,能够让照明灯在不同的情况下实现自动或手动模式切换,有效满足使用者对灯光光源强度的需求。

2.3 软件设计

2.3.1 设计主程序

设计的主程序中包含 4 个子程序,分别为红外处理程序、按键处理程序、液晶显示程序以及 ADC0832 转换程序。其中,红外处理程序的作用是改变单片机的输出模拟量,从而对LED 灯的光照进行控制;按键处理程序的功能与红外处理程序的功能一致;液晶显示程序就是采集 A/D 转换的数值,同时对 PWM 值进行采集; ADC0832 转换过程就是模数转换光敏电阻采集到的模拟量,然后进行传输,最终到STC89C52 中。主要的程序流程图如 2 所示。

2.3.2 设计预设照度程序

外部中断 0 与外部中断 1 的服务程序构成了预设照度程序,其对预设的照度值进行控制,分别进行增加或减少,当系统初始化后,会将初始照度值在变量 L 0 中存储,当中断后,如果按下 K 1 ,就会触发 0 号的中断服务,增加 L 0 的值,然后将典型的 I 2 C 总线通信程序调用出来,在存取器 24C02C中写入L 0 ;如果按下 K 2 ,则会发出 1 号的中断服务,减少 L 0 值,并会存入相应的存取器中。

2.3.3 照度检测程序的相关设计

程序经过初始化的工作并进行延时后,就会自动发出采集信号,并对设备的地址以及读取的信号进行传送,按照字节逐一取出并合并采集到的相关数据信息,最终就能得到环境中实际的光照度值。为了能够保证测量的准确性,相关工作人员还可以进行多次采集工作,最终计算出数据平均值,部分 C 源程序经过 BH1750 处理的过程如下:
// BH1750 初始化
void Iiit__BH1750 ()
{
Single__Write__BH1750 0x01 );
}
// BH1750 中的数据读取出来
BH1750 数据进行读取
void Red__BH1750 void
{uchar
BH1750__Start. ();
// 发出起始信号
BH1750__SendByte Address+1 );
// 发送具体的设备地址;对信号进行读取
for i=0 i 2 i++
// 读取 2 个及以上的字节数据;存储
{
BUF[i]=BH1750__RecvByte ();
BUF 表示数据存储数组)
if i=1
{
BH1750__SendACK 1 );
// 最后一个数据回到 NOACK
}
else
{
BH1750__SendACK 0 );
// 回应 ACK
}
}
BH1750__Stop ();
// 停止信号;
Delay ();
}

3  模式控制程序的相关设计

3.1 模糊控制

因为环境光照度会受到多种因素的影响,比如天气、窗帘等,这些随机且不可预测的因素所带来的影响是非线性的,所以为了让人们生活的环境能够拥有最适宜的光照度,就可以使用模糊控制对照明灯光的强度进行控制调节。模糊控制器能够处理模糊化,并推理模糊。使用照度对电路进行测量,能够得出相对比较精准的照度值,并将其作为基础,就能了解控制器的输出变量值。如果照度值与预期的照度值之间存在差异,就将其表示为 e ,它们之间存在的变化率就为 ec=de/dt ,模糊化对应的基本领域。得出比较准确的模糊语言变量后,就将原有的经验作为依据和基础,就能开展相应的推理工作,得出模糊的控制量 U ,根据一定的算法公式对 U 进行解模糊化,就可以将其转化成可以进行精确控制的变量 PWM 信号占空比,由于不需要严格的数学模型中进行模糊控制,所以本文设计的系统中具有较好的智能控制效果,且具有动态响应快、稳定性好等特点。

3.2 模糊控制规则的相关设计

在模糊控制器中,最重要的核心就是模糊控制规则,模糊控制规则主要是人们在研究调光控制过程中总结得出的相关经验。比如,在教室、阅览室等场所中,照明要求的亮度一般在 200 lx 以上,并且不允许超过 760 lx 。设控制的基本论域是从 0 100 lx ,预设的照度值设为 500 lx ,那么就可以知道可以允许的误差范围为 -500 500 ,误差的变化率就会在 [-100 100] ,然后会进行以下的处理工作。首先,要模糊化处理相关的照度值,不断简化相关的控制,并量化模糊的语言,一般将模糊语言变量分为 7 个等级,并能得到更加准确的模糊集合论域,然后使用量化的因素对其进行标定,让其与基本论域相对应,进行处理的过程中可按照模糊控制处理方法的基础开展,将模糊语言的变量设为 E/EU/U ,并选择三角形的隶属函数,从而获得相关的隶属值,让变量模糊化更加精确。其次,需要对模糊控制的规则进行确定,并且还要进行一定的模糊推理工序,模糊控制的规则一般是由模糊条件的语言所构成,其相关的规则如图 3 所示,对 E 和EC进行实时测量计算,并对模糊控制规则表进行查询,就能得到最后的模糊输出量 U 的具体值。
最后,需要进行解模糊化工序,让模糊控制量更加精确,就能够用于 LED 驱动器中对其进行控制,本文设计所采用的算法为加权平均值法,计算公式如式(1 )所示,通过解模糊化控制变量后就能得到更加准确的控制量 u

3.3 模糊控制的相关程序研究

以照度检测程序为基础,处理好采集到的照度值,如果照度值比给定的最大值还要大,则输出的 PWM 信号的占空比为 0 ,就会关闭 LED 照明灯。如果照度值比给定的最小值小,则输出的 PWM 信号的占空比为 1 ,这时 LED 照明灯会按照额定的最大值进行工作。如果其相等于设定的相关照度值,就说明程序中的相关信号占空比与原来一样,以上描述的都是特殊值,而在这些特殊值外还有一些标准值,它们都必须按照相关的算法标准进行计算,并查询相关的模糊控制表,最终得出比较准确的模糊输出量,然后再求出占空比,最后将 PWM 信号通过单片机输出,控制相关的驱动电路,从而实现对 LED 照明灯光强度调节的目标。

4  系统的调试情况研究

在实验室内模拟测试设计的系统,对系统的可靠性和准确性进行验证,通过相关的仿真实验可以知道,本文设计的LED 照明灯智能调光系统感知环境照度的反应较快,并且单片机控制输出占比、处理数据相对比较稳定,LED 照明灯不仅能够自动调控,还可以手动完成控制,说明设计的该类系统与预期功能的要求相符。本文所使用的照度传感器的精度相对较高,能够精确检测环境的照度,并且在存储器件内的环境照度值等能满足各种照度环境的要求;利用模糊控制的短发,能够让照明灯进行智能调光工作,让其根据环境照度的变化而变化,让调光更加准确,但是在系统中使用的传感器精度相对较高,所以支出的成本也比较高,并且模糊控制还是以经验为基础,导致调节更加负杂,所以还需要相关学者进行更加深入的研究,积极解决目前该系统中还存在的响应速度慢以及反复采集环境照度等问题,并降低系统的成本,使其既经济又实惠。

5  结  语

在现代化社会的不断发展过程中,出现基于单片机的LED 照明灯智能调光系统是必然趋势,其不仅能够满足人们的照明需求,还能节约大量的电能,能帮助我国实现可持续发展的目标,具有非常大的应用价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

骨传导耳机哪个牌子好?精选靠谱好用的TOP5骨传导耳机推荐!

在超过八成的音乐爱好者都面临听力健康问题的当下,骨传导耳机因其独特的听觉体验和对听力的保护,在音频设备市场中备受瞩目。但近期我发现不少用户在选购骨传导耳机时常常受到不专业产品的误导。身为有着5年经验的数码博主,在此提醒大家&…

老师怎样用微信发布期末成绩

老师们,期末季又到了,还在为如何发布成绩而头疼?今天,就让我来分享一些小技巧,让你们在微信上发布成绩更加高效,同时又能保护学生的隐私。 首先,我们要确保成绩的安全性和隐私性。在微信上&…

数据恢复篇:如何在 Android 手机上恢复未保存/删除的 Word 文档

在 Android 手机上访问 Word 文档通常很简单,但是当这些重要文件被删除或未保存时会发生什么?这种情况虽然令人痛苦,但并非毫无希望。到 2024 年,有几种强大的方法来处理此类数据丢失。本指南重点介绍如何在Android手机上恢复已删…

Python | Leetcode Python题解之第208题实现Trie(前缀树)

题目: 题解: class Trie:def __init__(self):self.children [None] * 26self.isEnd Falsedef searchPrefix(self, prefix: str) -> "Trie":node selffor ch in prefix:ch ord(ch) - ord("a")if not node.children[ch]:retur…

2008-2022年款哈弗维修手册和电路图线路图接线图资料更新

经过整理,2005-2022年款长城哈弗全系列已经更新至汽修帮手资料库内,覆盖市面上99%车型,包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传感器、保险丝盒图解对照…

word怎么转换成pdf?分享3种PDF文件转换技巧

word怎么转换成pdf?在日常办公中,将Word转换成PDF可以带来诸多便利。首先,PDF格式具有跨平台的通用性,无论在哪个操作系统或设备上,都能保持文档的原始布局和格式。其次,PDF文件不容易被篡改,可…

【Unity】 HTFramework框架(五十二)使用 HybridCLR 热更新

更新日期:2024年7月1日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 HybridCLR 热更新一、启用宏定义二、导入HybridCLR三、设置热更新程序集四、资源、代码热更 HybridCLR 热更新 HybridCLR是一个特性完整、零成本、高性能…

Mac多线程下载管理器:Neat Download Manage 最新版

Neat Download Manager(NDM)是一款功能强大的下载管理软件,它可以帮助用户更有效地管理和下载网络资源。这款软件支持多种浏览器和协议,可以提升下载速度,恢复中断的下载任务,以及自动化下载过程。在使用任…

如何设置农历日程提醒 农历提醒小妙招

在中国,农历仍然承载着深厚的文化传统和民俗意义。无论是庆祝传统节日,还是纪念亲朋的生日,农历日期都显得格外重要。然而,随着生活节奏的加快,我们有时会因忙碌而遗忘这些特殊的日子。这时,一个能够准确提…

游戏AI的创造思路-技术基础-关于艾宾浩斯遗忘曲线的迷思

对于艾宾浩斯遗忘曲线和函数,我一直都有小小的迷思,总想实验下用艾宾浩斯函数来替换sigmoid函数作为激活函数,打造更接近人类的AI算法,这篇文章旨在讨论下 目录 3.10. 艾宾浩斯曲线 3.10.1. 定义 3.10.1.1. 曲线计算公式 3.10…

干货分享:Spring中经常使用的工具类(提示开发效率)

环境:Spring5.3…30 1、资源工具类 ResourceUtils将资源位置解析为文件系统中的文件的实用方法。 读取classpath下文件 File file ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX "logback.xml") ; // ...读取文件系统文件 file Resou…

【刷题汇总--数字统计、两个数组的交集、点击消除(栈)】

C日常刷题积累 今日刷题汇总 - day0011、数字统计1.1、题目1.2、思路1.3、程序实现 2、两个数组的交集2.1、题目2.2、思路2.3、程序实现 3、点击消除(栈)3.1、题目3.2、思路3.3、程序实现 今日刷题汇总 - day001 1、数字统计 1.1、题目 请统计某个给定范围[L, R]的所有整数中…

百事可乐推出具有视频屏幕和人工智能技术的智能罐头

在最近于法国戛纳举行的国际创意节上,百事公司推出了创新的智能罐头。这些罐头不同于传统产品,它们采用了环绕式3D屏幕,能够展示高清视频内容,为品牌宣传和促销带来了全新的视角。经过两年多的精心研发,这些智能罐成为…

LLM原生开发路线图指南

引言 大型语言模型(LLM)正在迅速成为现代人工智能的基石。然而,目前还没有出现公认的最佳实践,而且先驱们往往没有明确的开发路线图。因此,这种状况急需要有人重新发明有关轮子;否则,将会使人陷…

spring中集成mybatis,并测试是否成功

首先你要配置pom.xml <!-- 连接 MySQL 数据库的驱动程序 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><!-- spring-jdbc -->&…

Advanced slides插件无法预览幻灯片

advanced-slides的官方地址&#xff1a; MSzturc/obsidian-advanced-slides: Create markdown-based reveal.js presentations in Obsidian (github.com) 官方教程和文档&#xff1a; Advanced Slides Documentation (mszturc.github.io) 中文版也有博客翻译了&#xff1a;Ob…

软考中级系统集成项目管理工程师备考笔记

目录 一&#xff0c;通用内容 &#xff08;一&#xff09;信息与信息化 1.1&#xff0c;信息 信息基本概念 信息的传输模型 信息的质量属性 1.2&#xff0c;信息系统 信息系统的基本概念 信息系统定义 信息系统集成 1.3&#xff0c;信息化 信息化层次 信息化的核心…

66、基于长短期记忆 (LSTM) 网络对序列数据进行分类

1、基于长短期记忆 (LSTM) 网络对序列数据进行分类的原理及流程 基于长短期记忆&#xff08;LSTM&#xff09;网络对序列数据进行分类是一种常见的深度学习任务&#xff0c;适用于处理具有时间或序列关系的数据。下面是在Matlab中使用LSTM网络对序列数据进行分类的基本原理和流…

AD20操作使用part1

AD20的使用 原理图库&#xff0c;也称为元件库。文件的后缀为 .SchLib。 原理图就是表示电路板上各器件之间连接原理的图表&#xff0c;原理图绘制的前提是拥有所需的原理图库。 PCB库&#xff0c;也称为封装库。文件的后缀为 .PcbLib &#xff0c;在该文件中可以画各个器件的封…

简单爬虫案例——爬取快手视频

网址&#xff1a;aHR0cHM6Ly93d3cua3VhaXNob3UuY29tL3NlYXJjaC92aWRlbz9zZWFyY2hLZXk9JUU2JThCJTg5JUU5JTlEJUEy 找到视频接口&#xff1a; 视频链接在photourl中 完整代码&#xff1a; import requestsimport re url https://www.kuaishou.com/graphql cookies {did: web_…