ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:813.75KB ,
资源ID:5004815      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5004815.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的光照度自动调节系统设计说明.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的光照度自动调节系统设计说明.docx

1、基于单片机的光照度自动调节系统设计说明摘 要随着互联网技术带动下的物联网的发展,智能家居逐渐开始迅猛发展。照明作为家庭用电中的重要部分,智能照明也拥有广阔的发展前景。而且随着人们对能源节约的越来越深入人心的认识,设计一种可以随着光照强度的变化来调节自身亮度的照明设备显得很有必要。针对这一问题,本设计采用光照传感器模块采集环境光照强度,然后利用STC89C51单片机对灯光亮度进行控制,完成了光照强度的实时检测与显示,同时可对灯光进行相应的亮度调节,完成了各功能模块的硬件电路设计和软件程序编写,最后用Proteus进行了模拟仿真。仿真结果表明该设计实现了光照强度的实时检测与显示并能对灯光亮度进行适

2、当调节。关键词: 智能照明;光照强度检测; STC89C51; 灯光自动控制; Abstract With the development of Internet technology, the smart home is beginning to develop rapidly.As an important part of the household,intelligent illumination also has a huge development prospect.And as the understanding of energy saving is deeply rooted

3、in peoples mind, designing a kind of light which can change its light intensity with the surrounding is very necessary. In order to solve this problem, this design uses the light sensor module to collect environmental light intensity and then use STC89C51 microcontroller to control the light brightn

4、ess.Completed the real-time detection and display for the light intensity, and to adjust the brightness of the lighting accordingly a system of the design of the hardware system and software program. After the simulation with the Proteus. The simulation results show that the design realizes the real

5、-time detection and display of the light intensity and can adjust the brightness of the light.Keywords:Intelligent lighting;Light intensity test;STC89C51;Automatic lighting control 1 绪论1.1 课题研究的背景及意义 电灯是人类最伟大的发明之一。自从有了电灯,人类就没有了对黑夜的恐惧。自从有了电灯,人类就增添了光明的信心。自从爱迪生发明第一盏炭丝白炽灯以来,电灯光源经历了由白炽灯到低气压气体放电灯,到HID高强度气

6、体放电灯,再到LED发光二极管的演变。电灯光源演变的动力基本在于更高的亮度需求,更低的能耗要求等等。随着科学水平的发展和社会的进步,人们对能源的需求量愈来愈大1。而受限于目前大比例使用的化石能源的不可取代性。能源的节约与合理利用成为社会科学中迫切需求的研究课题。在能量消耗之中,照明所消耗的电量在每一个国家的用电总量中都占比较大的比例。据相关部门统计,照明应用消耗的能源大约占全球消耗总能源的19%2。其中我国每年照明消耗的电量占全国总耗电量的12%;随着我国经济社会的快速发展,照明用电量还在以大约每年5%的速度增长。在很多使用照明设备场合,由于大多数照明设备灯光不可调节,所以产生许多不必要的能量

7、浪费和由此产生的经济损失。因此设计一种可以随着外界光照强度变化来调节照明设备的照明强弱的系统具有重大深远的经济效益和社会意义。在众多照明设备中,LED灯比其他比如荧光灯,节能灯、高压,钠灯等更容易实现而且能耗也更低3。 现阶段社会公民的节能意识的淡薄,造成了电能的极度浪费,一般存在以下几种浪费现象:由于我国大多数人的节能意识还很淡薄,对能源的使用很随意。而且由于在阳光照射条件人眼对照明设备发出的相对微弱的光不很敏感,在自然光照的条件下,人们往往不太容易觉察到灯光的存在,因此,设计一种可以进行光照强度自动调节的系统可以在很大程度上方便我们的生活;楼道里安装的灯在不需要时往往并不引人注意,而且也由

8、于其使用情况的随机性,也并太容易对其进行很好的控制4。如果楼道里安装的灯能在有人或者无人的条件下自动调节灯光光照强度,将促使我们在生活的点点滴滴上注意节约能源;从全国范围来看,这些也同样是对电力资源的一种极大的浪费,同时,这种有形和无形的浪费,给社会越来越带来了沉重的负担,不利于社会的可持续发展5。 总的来说,一个好的光照度自动调节系统可以改善工作环境,提高工作效率;一个好的光照自动调节系统也可以为我们提供一个良好的节能效果,并且可以延长灯具使用寿命;一个好的光照度自动控制调节系统可以提高管理水平;一个好的光照度自动调节系统还可以产生较好的投资收益效果6。因此,设计一个高效的光照度自动调节系统

9、是有意义而且有需要的。1.2 国外研究现状目前在全球范围内,丹麦一直走在能源的利用与节约前列。其在能源利用与节约方面的成功经验给我们提供了一个很好的借鉴。他们不断地建设或经自主研发或由国外引进的先进节能照明及供热系统。政府及其注重家庭耗电和公共照明的节约,并且规定了许多各类住房节能目标的硬性指标。该国统计数据显示,所有居民入住未装有各种节能装置的房屋时,他们最终将会花费比拥有节能方案的同类房屋高出8%的费用7。该国的节能项目经验教训在已经欧盟国家中广为流传。国外研究并成功开发的智能照明及控制系统,按照网络拓扑可以为集中式和分布式。集中式主要为星状结构,该结构以中央节点为控制核心,把其他节点全部

10、连接起来。其中所有的照明控制器、信息采集器和控制面板等都在中央节的控制器上,由中央控制器向周围的执行单元发送指令从而来调节设备的发光情况;与之相对应的另一种系统结构为分布式,该系统以中央节点来统筹全局,组建起主干网络和若干子网8。各个设备都有独立的信息处理及逻辑控制单元,显示和控制部分直接连在子网,从而有更加高效的调节速率。1.3 国内研究现状 在我国目前还不太成熟的市场中,尽管智能照明及其控制设备发展前景十分广阔,但受限于当前市场环境条件和由于未能普及所造成的价格较高等特点,智能照明及其控制设备目前在我国仍未得到较大面积的推广和使用。而且目前社会仍缺少智能照明及其光照控制产品的消费意识,商家

11、和厂家也未对其进行及时的宣传,因此我国当前的智能照明仍具有较大发展前景9。然而,智能照明设备对于国内目前的消费水平仍显得有些奢侈,智能照明设备的价格十分高昂,相比其节约的能源,民众还是难以负担智能照明设备相比传统照明设备产生的额外费用,所以智能照明产品及控制设备在当今社会上还难以真正实现大规模普及。国内智能照明行业已逐步兴起,海尔、瑞郎等都已投入大量精力于智能照明和相关设备的研发10。随着互联网时代的到来,以及现代通信技术等一系列先进技术的发展,人们越来越重视数字化家居。智能照明及设备作为智能家居的重要部分,能在很大程度上促进家居智能化的发展,随着智能家居的热潮,智能照明市场也渐渐有兴旺发展的

12、势头。鉴于当前发展势头,智能照明设备和技术将很快走进人们身边11。1.4 本设计主要内容本设计以外界环境光照强度的实时检测及灯光光照强度的控制为研究方向,研究了各种目前可行的数据采集方案和灯光光照强度的调节方式,经分析比较最后确定了合适的方案。设计了一个以STC89C51单片机为核心的控制电路,用罗姆半导体公司生产的BH1750FVI型光照强度传感器进行外界环境光照强度信息的获取,通过总线将光照强度数据信息送给单片机,经过单片机处理后,通过LCD1602液晶进行当前光照强度的显示,并根据采集到的光照强度数据进行判断,调节通电发光二极管的数量,从而实现自动光照调节。本文主要内容如下:第1章主要介

13、绍了光照自动调节设备及技术的研究背景,其在国内和国外的研究发展状况等,为本设计提供了相关理论依据和应用前景分析。第2章主要介绍了系统拟采用的光照强度信息获取方案的选择及调光方案的选择,详细分析比较了各种方案的优缺点,并最终确定了本设计所采用的方案。第3章主要介绍了本系统所采用的硬件电路,完成了从各元器件的选则到各模块原理图的绘制,以及整个系统的搭建。第4章主要介绍了本系统控制程序的编写编译和仿真,并对所得结果进行了详细的分析。2 方案分析2.1 光照传感器的方案分析信息是控制的前端,只有获取目标信息后才能对系统进一步进行控制。为了控制灯光亮度,本系统需要采集外界光照强度信息,获取该信息后下才能

14、继续之后的信息处理及灯光控制工作,故而需研究与讨论光照强度信息的获取方式。方案一:光敏电阻器光敏电阻器主要由半导体光电晶体组成。当有阳光照射到光电晶体表面时,该晶体内的载流子数量将会随光照强度的增加而随之增长,与此同时电导率会随之增强11。光敏电阻器本质上就是利用半导体的光电效应而制成的一种阻值会随入射光的变化而变化的可变电阻器。当入射光的光照强度大时,阻值将下减,当入射光的光照强度小时,阻值会变大。将其与一已知且固定阻值的电阻串联接入电路,就可以根据其分压值的变化来测量光照强度的对应改变。但其输出的电压信号是模拟信号,还需继续增加一模数转换,并需要对硬件进行不断调试,而且还需要对不同的光照强

15、度进行标定,增加了成本和难度,且可靠性较低。方案二:光照强度传感器成熟的商业光照强度采集模块的内部集成了传感器、调理电路、放大电路和模数转换。拥有精度高,可靠性好,实时性优,性价比高等诸多优点12。目前已经商业化的光照采集模块有Intersil公司生产的ISL29033,罗姆半导体生产的BH1750FVI,On Electronics公司生产的On9658等等。这种类型传感器具有片内高集成度,很强的可靠性,和高性价比的特点,能够实时监测光强并将数据传递给控制芯片。依据以上比较,在能够达到目的的条件下,方案二中的BH1750FVI是更加合适的方案。故本设计中采用罗姆半导体生产的BH1750FVI

16、作为光照强度采集模块。2.2 调光方式的方案分析目前光照调光方案有模拟调光、可控硅调光和控制点亮LED数量调光三种方案。下文会以这三种方案来展开分析:方案一:模拟调光模拟调光的原理是通过改变电流的强弱,来实现改变灯的亮度13。普遍采取的实现方法有两种:其一是调节与灯串联的限流电阻 Rs 的大小,从而实现调节电流的目的;其二是采取控制电流调节芯片的模拟调光功能引脚来控制输出电流的大小,进而调节灯光亮度。模拟调光具有一个很大的缺点:驱动器的能量利用效率会随输出电流的减小大幅度下降,而这必将使整体耗能加大,使能源利用的效率下降,不符合节能趋势。再有由于灯光的电流和色温之间存在着相关关系,因而灯光色温

17、会随着电流的变化而产生变化14。因此在许多对灯光颜色有要求的条件下,不适宜运用模拟调光。方案二:可控硅调光三端双向可控硅是一个电压驱动开关,其工作原理是通过与其并联的滑动变阻器调节其两端电压从而控制其两端电压,进而控制其开关动作。通过迅速的开关动作来调节灯光的总体亮度15。因此采用可控硅会使灯产生100Hz的频闪,对人眼健康不利,要想去掉频闪则需要增加负载调节电路,而这必将使驱动器的能量利用效率下降,也与节能的出发点不合。方案三:通过控制导通的LED数量控制亮度 每个LED亮度基本相同,因此可以在需要高光强的情况下增加导通LED数目,在不需要高光强的情况下减少导通LED数目。LED具有亮度高,

18、价格低,控制简单的优点。根据以上分析可以得出,最简单易行且可靠的调光方案是通过控制导通LED的数量调光。3 硬件设计3.1 硬件选型及电路设计本设计采用BH1750FVI来获取当前外界环境的光强度信息,得到的信息送给STC89C51单片机处理。处理后的数据会通过LCD1602进行实时显示,此即为外界的光照强度。同时单片机将该光照强度值与初设数值来对比,根据对比结果来调节导通LED灯的数量,从而实现灯光的控制。硬件电路框图如图3.1所示。图3.1 系统硬件电路框图3.1.1 单片机本设计采用STC89C51单片机作为控制芯片。它有4KB可重复编程的片内Flash,512Byte的RAM,4组8位

19、的I/O接口和三个定时器16,满足本设计需求。并且还有功耗低、价格便宜的优势。该单片机的控制主要通过其4组I/O接口实现。其4组I/O接口特点描述如表1。表1 STC89C51 I/O口描述P0口八位双向I/O口可被作为低8位地址/数据复用端口P1口八位双向I/O口主要作为通用I/O使用P2口八位双向I/O口可被作为高8位地址端口来访问外部数据存储器P3口八位双向I/O口除作为通用I/O口使用外,主要是使用其第二功能图3.2是该单片机的引脚图。图3.2 单片机引脚图3.1.2 晶振电路晶振虽然不复杂但对单片机运行是不能缺少的,由它提供使单片机正常工作的时钟信号。因为石英晶振拥有极好的频率稳定特

20、性以及很强的抵抗外界干扰能力,因此它是十分理想的基准频率产生器件。如图3.3是单片机的晶振电路。其中单片机的内部电路和片外器件一起作用而构成一个简单的时钟发生电路,单片机内部振荡器的频率与外部晶振的频率十分相似,通常情况下在1.2MHz24MHz之间选则,为了方便计算,常常选择12MHz。反馈电容C1和C2的作用是对电路进行充电和放电,它们的电容值一般在20pF100pF之间选则,本电路二者均选用30pF的电容17。图3.3 晶振电路硬件原理图3.1.3 复位电路复位电路也是单片机不复杂却很重要的模块之一,其功能是对单片机进行复位的初始化操作。它的工作条件是在单片机的RST引脚加上稳定的大于2

21、个机器周期的高电平信号。因此按下复位按键以后,仍然需要经过一定时间的信号保持才能撤去该信号,否则无法进行有效复位操作。为了有效复位,避免因在按键过程的抖动影响复位操作,通常采用RC复位电路来避免该情况18。其原理图如图3.4所示。图3.4 复位电路硬件原理图3.1.4 光照强度传感器光照强度传感器的主要作用是感知与获取当前外界环境的光照强度,采集到当前环境的光照强度值后,通过总线与单片机通信,单片机将以该光照强度信息作为下一步动作的依据。该传感器的原理是其中的光敏二极管PD在不同光照强度的照射时,产生的电流不一样,运算放大电器AMP能将电流的改变转化为容易测量的电压的波动,接下来由片内模数转换

22、模块将电压信号转变为数字信号19。原理框图如3.5所示。由于在Protues元器件库中并没有BH1750FVI这一型号传感器。故在模拟仿真中,使用光敏电阻和固定电阻串联分压,再加一A/D转换芯片来模拟光照强度传感器。图3.5 光照采集系统原理图 BH1750FVI转换完成的光照强度数字信号依据通信协议与单片机通信。总线时序图如图3.6。图3.6 总线时序图 总线由PHILIPS公司设计,多用于主控制器和从器件间的主从通信,适合在小数据量场合使用,传输距离比较短,并且在任意时刻可以有多个从机,却只能有一个主机。市场上已有许多种类非常丰富的兼容芯片。已成为工业标准而广泛应用。通信协议硬件部分由两条

23、线路构成,其一是数据线SDA,其二是时钟线SCL。连到总线线路上的所有器件能通过唯一的7位二进制硬件地址和其它器件之间实现通信,主/从机角色可实时配置,主机即可当成数据发送端也可成为数据接收端。该协议要求在高电平时钟周期内,SDA上的数据一定要维持稳定不可发生跳变,否则会出现误判。SDA上信号的变化仅可以发生在SCL线为低电平的时候。通信的开始条件规定为当SCL为高电平的时候,SDA线上由高电平跳变到低电平,通信结束条件规定为当SCL为高电平的时候,SDA线上由低电平跳变到高电平。应该注意,无论是起始信号还是终止信号,都是由主机发出的。只要具有总线硬件接口的器件连到总线,就能检测到该信号。总线

24、在起始信号之后,就为繁忙状态,停止条件之后为空闲状态。每当主机向从机发送完一字节的数据后,主机需要等待从机给出应答信号,以确认从机是否成功收到了该数据,应答信号有固定的规范:低电平0表示应答,高电平1表示非应答。总线上传送的信息既能是器件地址信号,也可以是数据信号。起始信号后要求由主机发送一个由7位从机硬件地址加上1位读写位构成的一字节信号,信息传输都必须由主机发出终止信号表示本次传输完成20。STC89C51并没有单独的总线接口,因此必须利用软件模拟时序。以实现总线的数据传输。模拟具体时间如图3.7所示。图3.7 模拟时序时间3.1.5 显示电路显示电路是本系统的输出端,这里将实时显示外界的

25、光强照度值。本设计采用的显示模块为LCD1602液晶。LCD液晶屏相对于LED数码管,其可读效果更好,可展示的信息也更丰富。在本设计中,LCD1602液晶负责显示当前外界光照强度值。其原理图如图3.8所示。图3.8 LCD1602液晶硬件原理图3.1.6 调光电路调光电路是本系统中的被控部分。当单片机从光照强度传感器获取光照强度值,判断当前环境光照强度在某一光照强度范围时,点亮对应数量的LED,即可实现对光源强度的控制。原理图如图3.9所示。图3.9 调光电路硬件原理图3.2 整体电路设计本设计采用的硬件原理图均使用Altium Designer13绘制。该软件功能十分强大,内部拥有许多电子元

26、器件模型21,应用时只需寻找所需元器件就能对其应用调试。还可对该元器件的每个参数分别改变,从而迎合用户所需。依据前面的整体框架思路,用Altium designer13画出了整体的原理图。整体硬件原理图如图3.10所示。图3.10整体硬件原理图4 软件设计4.1 系统软件功能本系统软件运行流程如图4.1所示。程序进入主函数后,BH1750FVI传感器模块将不停地采集光照强度数据,STC89C51单片机内部程序会将采集到的数据传送至LCD1602液晶实时显示并与设定值进行比较。如果测得数值大于或等于200,所有的LED都不会被点亮;如果数值小于200但大于或等于160,LED1被点亮;如果数值小

27、于160但大于等于125,LED1和LED2被点亮;如果数值小于125,但大于等于50,LED1,LED2和LED3被点亮;如果数值小于50,则所有LED灯均被点亮。图4.1 系统软件流程图4.2 程序调试STC89C51单片机可采用C或汇编作为编程语言,因为汇编阅读起来不方便,可移植性也不好,故而选择使用C语言编程。本设计采用KeiluVision4来对控制程序编写和编译。如图4.2,打开Keil uVision4程序后,首先需要新建一个工程,为了保证良好的识别,该工程名尽量使用英文和数字,避免出现中文。为了跟硬件很好的配合,要确定所采用的单片机具体种类。由于型号库里并没有STC89C51,

28、这里选择具有相同8051内核的Atmel公司生产的AT89C51,确定后就建立了一个工程。图4.2 KeiluVision4确定单片机种类 然后新建文件,文件名也最好避免使用中文,以c为后缀名,保存。如图4.3所示。图4.3 Keil uVision4工程里新建C语言程序最后将C文件添加到左侧刚刚新建的工程里,如图4.4所示。然后就能里面中写入C语言控制源程序了。图4.4 KeiluVision4工程里添加C语言程序程序编写完成后,最好及时保存,已防止出现意外情况丢失,而产生不必要的麻烦。选择编译程序,KeiluVision4将对控制源代码开始纠错和编译,并会在Build Output对话框中

29、提示出编译中出现的错误和警告结果。假若编写的代码中有错误,对话框中就会提醒出错原因和大概地点,点击报错的那一段就能找到源代码中有问题的地方附近。更改源代码之后,继续查错,到没有出现错误提示。源程序没有问题后,点击Target Options按钮,找到Output,把Create Hex File 的前面勾上,点击后继续编译,就会在工程路径产生了以.hex为扩展名的文件。如图4.5,代码编译之后提醒信息错误数为0,警告数为0。图4.5 程序编译4.3 仿真分析想出了设计方案,搭建出完整电路图,调试了代码并编译生成可被单片机识别的文件,还有必要来检查设想的实施方案可否实行,代码有没有BUG。可以使

30、用Proteus软件来进行模拟仿真。Proteus是一款专业的电路设计仿真软件22。此软件拥有十分丰富的元件库,如果未找到所需元件也能亲自动手设计,基本能够满足本设计所需。如图4.6所示,按照完整电路图,画出了仿真图。由于其元件库中没有BH1750FVI,所以改用一固定电阻和一光敏电阻串联分压,然后由A/D转换输出光照强度值,这个一过程与BH1750FVI的工作过程是相似的。图4.6 系统仿真图要想使其可以开始运行,必须在单片机中添加控制代码。左键点击单片机芯片中心区域,在出现对话框中“Program File”这里点击,然后找到在前面编译完成的.hex文件,选择确定之后就可以把编译生成的.h

31、ex文件下载到51单片机中。如图4.7所示。图4.7 Proteus中向单片机载入程序加载控制代码之后,选择软件左边的,之后就能开始仿真测试。测试开展后,LCD1602液晶会展现A/D模块获取的信息。在Proteus仿真中,红色代表高电平,蓝色代表低电平。当发光二极管两边都是高电平时,它无法导通。当二极光的正极为高电平,负极为低电平时,即可导通并发光,也即当发光二极管正极端为红色,负极为蓝色时,表示该管被点亮。可以发现,对应不同输入数值范围,会有不同数量的LED被点亮。且随着输入数值变小,即表示光照强度变小,被点亮发光二极管数量会随着增多。当光照强度大于或等于200Lx时,四个发光二极管均是熄

32、灭状态,仿真结果如图4.8所示;当光照强度大于或等于160Lx,而小于200Lx时,一个发光二极管被点亮,仿真结果如图4.9所示;当光照强度大于或等于125Lx,而小于160Lx时,两个发光二极管被点亮,仿真结果如图4.10所示;当光照强度大于或等于50Lx,而小于125Lx时,三个发光二极管被点亮,仿真结果如图4.11所示;当光照强度小于50Lx时,四个发光二极管均被点亮,仿真结果如图4.12所示。图4.8 光照强度大于200Lx,LED均熄灭图4.9 光照强度大于150Lx,小于200Lx,一个LED被点亮图4.10 光照强度大于125Lx,小于150Lx,两个LED被点亮图4.11 光照强

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1