找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4814|回复: 2
打印 上一主题 下一主题
收起左侧

单片机智能台灯Proteus仿真与hex文件分享

[复制链接]
跳转到指定楼层
楼主
制作出来的实物图如下:

本文介绍了一种基于PWM调光的智能台灯设计。把单片机技术和PWM调光技术结合起来实现台灯光强的调节。即在不改变PWM方波周期的前提下,利用单片机控制PWM的占空比,从而来改变电压的大小实现灯光亮度的调节。并且提供手动控制和自动控制两种模式,使台灯应用起来更加人性化。  
本设计通过对各模块的硬件和软件的设计,基本能够达到设计要求,满足人们日常对台灯的功能使用。
单片机的选择
方案一:采用DSP作为系统控制器。DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。DSP具有对元件值的容限不敏感,受温度、环境等外部因素影响小,容易实现集成,可分时复用,共享处理器,方便调整处理器的系数实现自适应,可用于频率非常低的信号等优点。但DSP硬件电路比较复杂,且价格昂贵,数字系统由耗电的有源器件构成,没有无源设备可靠。  
方案二:采用单片机作为系统控制器。单片机具有可靠性强、性价比搞、电压低、功耗低等优点得到迅猛发展和大范围推广,单片机算术运算功能强,软件编程灵活,自由度大,可用软件编程实现各种逻辑功能,本身带有定时器、计数器,可以用来定时和计数,并且其功耗低,体积小,计数成熟和成本低等优点。
基于以上分析,拟定方案二,用STC89C52单片机作为控制器。
2.2.2 显示方案的选择
目前常见的调光技术主要有:1采用直流电源LED的调光技术。2采用脉宽调制(PWM)来调光。3用可控硅对LED调光。按照常规技术的应用有以下三种方案可供选择。  
方案一:采用直流电源LED的调光技术  
如果需要要改变LED的亮度,实现起来相对来说比较容易。发光二极管具有单向导电性是由电流驱动的器件,因为LED的亮度是取决于通过它的电流,在一定范围内电流越大其亮度越亮,反之则越小。调节LED的亮度只需要调节电流大小,而LED工作电流很小通常需要串接限流电阻,所以当我们改变其限流检测电阻就能实现改变其电流大小从而改变LED的亮度。但是通常限流检测电阻阻值非常小,用一个很小阻值的电位器来调节电流,操作起来很难实现电流调节。所以一般不采用调节电阻大小来实现调节电流。因此为了实现电流调节,有些芯片提供一个控制电压接口,通过改变输入的控制电压就可以改变其输出恒流值。这样实现起来就比较容易。然而用调正向电流的方法来调亮度会产生一些问题,那就是在调亮度的同时也会改变它的光谱和色温。调电流会产生使恒流源无法工作的严重问题。长时间工作于低亮度有可能会使降压型恒流源效率降低温升增高而无法工作。调节正向电流无法得到精确调光。  
方案二:采用脉宽调制(PWM)来调光
LED是一个发光二极管,它可以快速实现开关。这一特点是其他的发光器件所无法比拟的。因此,我们需要把供电源改成脉冲恒流源,改变电源脉冲宽度的方法,就可以改变其亮度。种方法称为脉宽调制(PWM)调光法。假如脉冲的周期为tpwm,脉冲宽度为ton,那么其工作比D(或称为孔度比)就是ton/tpwm.改变恒流源脉冲的工作比就可以改变LED的亮度。简而言之,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。脉宽调制调光的优点:1、不会产生任何色谱偏移;2、PWM调光具有极高的调光精确度;3、可以和数字控制技术相结合来进行控制。因为任何数字都可以很容易变换成为一个PWM 信号;4、PWM调光能够通过软件的方式比较容易实现,使用范围广阔。  
方案三:可控硅调光  
普通的照明灯具通常采用可控硅来调光,例如白炽灯和卤素灯。因为他们基本是一个纯阻器件,以这样纯阻器件为照明工具的灯光系统对输入电压没有要求,输入电压是否是正弦波交流电对其没有任何影响。通过纯阻器件的电流和电压波形是完全一致的,所以不管电压波形如何偏离正弦波,所以改变输入纯阻器件电压的有效值,就可以调光。但是可控硅却不能对以LED为照明器件的照明系统进行调光。因为LED并不是一个纯阻性的器件。  
综述来说LED调光最好采用的技术是PWM调光。采用PWM调光时,可以运用微控系统,例如单片机,通过程序可以预先设置好灯光的亮度等级,然后通过调节等级就能实现对灯光的亮度的调节。PWM调光是可以直接应用于调光型台灯的。因此最终选择PWM调光。第3章 系统硬件设计
3.1 整体方案设计
3.1.1 系统概述
整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。其它个模块围绕着单片机最小系统展开。其中包括,照明设备采用USB小灯进行模拟,使得设计在外形上更加美观,在USB小灯内部,是6颗白色LED灯;光照强度采集模块,是使用光敏电阻+ADC0832方案;指示灯模块由一颗绿色的小灯构成,指示灯亮时是自动模式,熄灭时是手动模式;按键模块由3个按键组成,包括模式切换按键、亮度减少按键和亮度增加按键;最后是供电采用常用的USB5V进行供电。3.3.3 LED照明电路原理图
LED灯照明电路如图3-4所示。本设计采用市面上的一种USB小灯作为照明设备,拆开这个小灯的外壳可以发现,里面其实是6个白色的LED灯串联了6个电阻。使用该USB小灯,不仅简化了设计,而且在外形上更加美观,更接近实际台灯的外观。实际电路采用PNP三极管的驱动,三极管型号是S8550,基极串联一个限流电阻后连到单片机的IO口,发射极接电源,集电极串联USB小灯后连到电源地。只要单片机该IO口输出一个低电平信号,即可控制三极管导通,继而点亮LED灯。3.4 光照强度采集电路
3.4.1光敏电阻概述
光敏电阻器(photovaristor)又叫光感电阻,是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内就激发出电子—空穴对,参与导电,使电路中电流增强。
光敏电阻的重要特性是它的阻值大小随着环境光的改变而改变,当环境光比较强时,它的阻值减小,相反当环境光较弱时,它的阻值就会增大,这是跟它本身的制作材料有关的。本文的智能节能台灯设计也是利用了光敏电阻的这一特性,用它来感应环境光的强度。若是环境光较强的时候,比如白天时,光敏电阻的阻值就很小,传感器信号处理电路会根据它的阻值进行相应的处理;相反当环境光较弱的时候,比如晚上或者阴天时,它的电阻值就会变大,传感器信号处理电路就会把这些信号经过处理传到单片机控制电路,从而启动点亮台灯。
3.4.2光敏电阻工作原理  
用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。在暗环境里,它的电阻值很高,当受到光照时,只要光子能量大于半导体材料的禁带宽度,则价带中的电子吸收一个光子的能量后可跃迁到导带,并在价带中产生一个带正电荷的空穴,这种由光照产生的电子—空穴对增加了半导体材料中载流子的数目,使其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后,由光子激发产生的电子—空穴对将逐渐复合,光敏电阻的阻值也就逐渐恢复原值。
3.4.3光敏电阻的分类
根据光敏电阻的光谱特性,可分为三种光敏电阻器。紫外光敏电阻器:对紫外线较灵敏,包括硫化镉、硒化镉光敏电阻器等,用于探测紫外线;红外光敏电阻器:主要有硫化铅、碲化铅、硒化铅。锑化铟等光敏电阻器,广泛用于导弹制导、天文探测、非接触测量、人体病变探测、红外光谱,红外通信等国防、科学研究和工农业生产中;可见光光敏电阻器:包括硒、硫化镉、硒化镉、碲化镉、砷化镓、硅、锗、硫化锌光敏电阻器等。主要用于各种光电控制系统,如光电自动开关门户,航标灯、路灯和其他照明系统的自动亮灭,自动给水和自动停水装置,机械上的自动保护装置和“位置检测器”,极薄零件的厚度检测器,照相机自动曝光装置,光电计数器,烟雾报警器,光电跟踪系统等方面。
3.4.4光敏电阻的主要参数  
光敏电阻的主要参数有亮电阻,暗电阻,光电特性 光谱特性,频率特性,温度特性。在光敏电阻两端的金属电极之间加上电压,其中便有电流通过,受到适当波长的光线照射时,电流就会随光强的增加而变大,从而实现光电转换。没有极性,纯粹是个电阻期间,使用时可加直流也可以加交流。
3.4.5 ADC0832简介
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。
3.4.6 光照强度采集电路
本设计的台灯有自动调节亮度的功能,因此必须采集环境中的光照强度,以便进行台灯亮度的计算和控制。光照强度采集使用的方案是光敏电阻,由于光敏电阻采集到的是光照强度的模拟量,因此使用ADC0832将光照模拟量转为数字量再传给单片机进行处理。该模块的电路图如图3-5所示。
3.5 红外感应电路
光电传感器E18-D80NK-N这是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出。有效的避免了可见光的干扰。透镜的使用,也使得这款传感器最远可以检测80厘米距离的问题(由于红外光的特性,不同颜色的物体,能探测的最大距离也有不同;白色物体最远,黑色物体最近)。
检测障碍物的距离可以根据要求通过尾部的电位器旋钮进行调节。
该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点,可以广泛应用于机器人避障、流水线计件等众多场合。  
该红外传感器是个NPN 型光电开关,其输出状态是0,1,即数字电路中的高电平和低电平。在检测到目标是低电平输出,正常状态是高电平输出,输出时外加一个上拉电阻即可连接到IO口上。其上拉电阻阻值一般在1K 左右。               
3.6 按键输入模块
键盘是人与单片机打交道的主要设备。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺”现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。
本设计中由于采用的按键数量较少,只有3个按键,分别是“模式切换按键”、“亮度减少按键”和“亮度增加按键”,故采用了独立键盘的方式。按键的连接

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


仿真工程与hex文件分享(源码暂时不分享):
仿真.rar (57.5 KB, 下载次数: 96)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:488191 发表于 2020-12-23 22:50 | 只看该作者
有51代码吗
回复

使用道具 举报

板凳
ID:1109254 发表于 2024-1-24 21:43 | 只看该作者
思路明确,目地性很专业。谢谢提供的思路!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表