资源描述
(2023届)
毕业设计
题 目: 基于AVR单片机的LED自适应调光系统设计
姓 名:
专 业: 电子信息工程
班 级:
学 号:
指导教师:
导师职称:
年 月 日
基于AVR单片机的LED自适应调光系统设计
摘 要
作为一种光源,调光是很重要的。不仅是为了在家居中得到一个更舒适的环境,在今天来说,减少不必要的电光线,以进一步实现节能减排的目的是更加重要的一件事。并且对于LED光源来说,调光也是比其他荧光灯、节能灯、高压钠灯等更容易实现,所以更应当在各种类型的LED灯具中加上调光的功能。
自适应调光系统硬件电路由四个部分组成:感光电路、AD转换电路、单片机控制电路、发光二极管驱动电路。软件部分采用PID算法,自动调节环境光照度。本设计以89C51单片机为控制器,运用光敏电阻采集环境光照度,采用脉宽调制方式调节三极管,进而调节LED的发光亮度,最终维持环境光照度在一个设定的水平。
关键词:LED,自适应调光,AVR单片机,PID算法
LED Adaptive Dimming System Based on AVR
Abstract
The quality of dimming of light source is very important. It is not only for a better environment at home. At present, it is also an even more important issue to lessen waste of unnecessary electric light and further achieve the goal of energy saving and emission reduction. What’s more, for light source of LED, it is easier to adjust brightness than fluorescent lamp, energy saving lamp, high pressure sodium lamp and other kinds of lamps. Therefore, we’d better add the function of brightness-adjusting to various kinds of LED lamps.
The hardware of adaptive adjustable optical-intensity system is consisted of four parts. They are photosensitive circuit, AD change-over circuit, single-chip microcomputer control circuit, and LED driving circuit. And the software of the system makes use of PID algorithm to adjust brightness of environment automatically. This design takes 89C51 SCM as controller, use photo conductive resistance to collect luminance of the environment. And the designer adopt pulse width modulation mode to adjust triode, which can help adjust brightness of LED to keep intensity of illumination of the environment at a set level.
朗读
显示相应的拉丁字符的拼音
字典
1. 介词
1. due to
2. because of
3. in view of
Keywords: LED, adaptive dimmer, AVR, PID
目录
摘 要 I
Abstract II
1 绪论 1
1.1 LED的国内外研究现状 1
1.2课题的意义 2
2系统设计原理 3
2.1 总体设计方案 3
2.2系统驱动方式选择 4
2.3 LED驱动设计注意点 4
3 硬件设计 6
3.1电源电路 6
3.2 感光电路 7
3.2.1 LED发光原理 9
3.3手动控制电路 9
3.4单片机控制电路 10
3.4.1 AT89C51简介 11
3.4.2 ADC0832简介 12
3.4.3 单片机控制电路 14
3.4.4 AD转换电路 15
3.4.5 PID控制的原理和特点 15
3.5晶振电路 17
3.6发光二极管驱动电路 17
4 软件设计 18
4.1系统流程图 18
4.2 初始化 19
4.3 读取当前亮度 19
4.4 手动调节 20
4.5 PWM调制亮度调节 20
5 总结与展望 23
5.1总结 23
5.2 展望 23
参考文献 24
致谢 25
附录Ⅰ 26
附录Ⅱ 硬件电路图 27
1 绪论
LED光源是21世纪光源市场的希望,众多优点预告其未来将逐步取代传统光源,奥科委指出高亮度LED将是人类继爱迪生发明白炽灯泡之后,最伟大的发明之一,当前全球能源危机的时候,能源是一种宝贵的资源,所以节约能源是我们未来面临的问题。
LED作为一种新型的节能、环保的绿色光源产品,必然是未来发展的趋势。
1.1 LED的国内外研究现状
在照明领域的技术革新中,LED的应用毫无疑问是最令人振奋的,它改变了整个照明市场的结构。
LED的发光强度很高,但它发出的热量很少。白炽灯会浪费大量的热能,霓虹灯容易破损,荧光灯会产生有毒气体 [1]。LED已被全球当作一种新型的高科技环保的节能光源。
近几年来,LED的发光效率已增长了100倍,而成本下降了10倍。在目前LED光源及市场开发中,极具发展与应用前景的是照明用LED,其用作固体照明器件的经济性显著,且有助于环保,正逐步取代传统的白炽灯[2]。目前,照明LED的应用每年发展的速度超过20%,世界上的许多发达国家都开始大量应用LED照明。现在,一般的LED的发光效率超过500m/W,专家预计,2023年也许超过1000m/W。功率型LED优异的散热特性与光学特性更能适应普通照明领域。为替代荧光灯,白光LED必须具有150~200lm/W的光效,并且每流明的价格应当控制在 0.015美元以下 [3]。想要做到这个标准,仍有很多技术要突破。根据理论上的说法,LED的发光效率可以非常接近100%。所以LED被当作21世纪的新型光源,很有希望在白炽灯、荧光灯、高强度气体放电灯之后的第四代光源。为了提高白光LED的发光效率,世界上许多国家的科研人员正从改善工艺和开发新材料入手,以改善产品结构。
美国波士顿的Photonics Research研究中心报道了LED技术方面的新进展,声称光效达成330lm/W。这种被称作photon-rectcling的半导体光源可发出蓝、黄两种波长的光[4]。所发出的光能使人感到的是白光。这种光效,与目前市场上的LED比要高10倍甚至更高。但是,应当指出,从实验室到商业化的产品这条路也许还十分漫长。
奥地利的照明设计公司做了一个大型的实验,用了14000只白光和彩色LED的混合照明整个房间。光照水平可以达成600-700Lux,足够一间普通办公室的照明。用计算机计算白光,蓝光,蓝/绿光,琥珀和红光二极管的混合效果,可以得到2500-3000K的暖色温,其显色指数非常好[5]。
由于LED产业不断涌现新技术、新产品、新应用,呈现出了朝阳工业的欣欣向荣的景象,可以相信,半导体技术不仅不会被其他技术取代,并且会继续沿着本来的轨道向前发展。半导体照明技术由于技术的先进性和产品使用的广泛性,已经被广泛认为是最具发展潜力的高科技领域之一[6]。半导体照明产业具有明显的节能和环保效果,也被认为是一个战略性的高技术产业。
1.2课题的意义
LED是一种新型半导体固态光源。它是一种不需要钨丝和灯管的颗粒状发光原件[7]。LED光源凭借环保、节能、寿命长、安全等众多优点在打造节能、环保型社会的大环境下当仁不让地成为照明行业的新宠,许多国家都开始推广LED的应用。
LED的应用在照明领域是最令人振奋的,它将开创一个新的照明市场,不久会成为市场的主打产品。其实LED的技术不是刚出现的,在许数年前就已经出现,但是那个时候LED只是被用作仪器和设备的指示灯[8]。近些年随着科技的突破,材料和芯片性能上都有新的改善和突破,使得LED的亮度和寿命都有了极大的改善,从而也推动了LED更为广泛的使用。
普通白炽灯的寿命只有1000小时,而LED的寿命则高达50000小时,并且消耗的电量要少得多。根据美国Sandia国家实验室的研究,假如白光二极管系统可以普及,全世界照明用电的消耗将减少50%[9]。影响白光二极管系统普及的重要障碍还是它的亮度和价格,目前白光二极管的亮度局限性以照亮整个房屋,并且其价格大约是白炽灯泡的10倍。LED照明技术的发展将带来更加明亮的光线和更少的能源消耗。
随着经济发展,我国的照明用电还将有大幅度的提高,国家对绿色节能科技的投入越来越大,LED照明是借助着这个大环境下才得以发展的。据中国绿色照明工程促进项目办公室专项调查,我国照明用电每年在3000亿度以上,用LED取代所有白炽灯和部分荧光灯[10],可节省1/3的照明用电,相称于三峡工程全年的发电量。
LED的优点尚有很多,作为全固态发光体,LED更加的耐震耐冲击,发热量也更低,并且不易破碎、不含汞、钠等也许危害健康的元素[11],更加安全,更加环保。
LED的应用十分广泛,应用在路灯照片、汽车尾灯、景观灯、液晶显示屏、手机背光源等[12]。
2系统设计原理
2.1 总体设计方案
本设计以89C51单片机为控制器,运用光敏电阻采集环境光照度,采用脉宽调制方式调节三极管,进而调节LED的发光亮度,最终维持环境光照度在一个设定的水平。涉及手动控制模块、光采集模块、电源模块、LED照明模块,总体框架图如下图2-1所示。
手动控制模块
89C51单片机
LED
照明
光采集模块
电源模块
图2-1 总体框架图
自适应调光调光示意图如下图2-2所示。
L2
这个LED用来自适应调光
L1
这个LED模拟环境亮度
电位器可以改变环境亮度
单片机
图2-2 调光示意图
工作原理:通电的时候,单片机采集亮度,以当前亮度为基准。假如环境变暗,则调亮L2亮度,直到环境亮度达成基准;假如环境变亮,则调暗L2亮度,直到环境亮度达成基准。
调节方法:L1是手动调的,代表环境其他光线的亮度的变化,假如L1变暗,这时候L2就要变亮,保证环境总的亮度不变,反之,假如环境其他光线L2变亮,这个时候L2就要暗下来了。L1手动调,L2会根据L1的亮度自动调节,这就是自适应调光。在一个环境比较暗的地方,调节L1,让L2亮起来。然后在拿到一个比较亮的地方,L2会变暗,甚至熄灭。
2.2系统驱动方式选择
为发光二极管照明选择一个可行的供电方式,是半导体照明普及必须要解决的一个问题。假如选择用市电驱动发光二极管,则需要解决降压和整流问题,尚有较小的体积和较低的成本,有比较高的变换效率,特别要考虑到安全隔离问题;考虑到对电网的影响,还要解决好电磁干扰和功率因素等问题。对中小功率的发光二极管灯来说,其最抱负的电路结构是隔离式单端反激变换器。对于大功率的应用而言,则应当使用桥式变换电路。
现阶段,家庭用电均为220V的市电,为了可以更加方便的应用我这个课题,我选择了使用市电驱动。
2.3 LED驱动设计注意点
电源有各种各样,但不管何种电源,都不能直接给LED供电。所以说要用LED做照明光源就必须解决好电源变换这个问题。事实上LED是一个电流驱动的低电压单向导电的器件,LED驱动器应具有小尺寸、高效率、直流控制、PWM调光、过压保护、负载断开、以及简朴易用等特点。为LED提供电的电源变换器设计的时候一定要注意以下的几个特点:
(1)LED是一种单向导电器件。根据这个特点,我们就可以考虑用直流电流或单向脉冲电流给LED提供电能。
(2)发光二极管是具有PN结结构的半导体器件,有势垒电势,这会形成导通门限电压,只有加载到LED上的电压值超过了这个门限电压,LED才会充足的导通。一般大功率的LED门限电压在2.5V以上,一般工作的时候的管压降为3—4V。
(3)二极管的电流/电压特性是非线性的。一般情况下流过LED电流的数值等于供电电源的电动势减去LED的势垒电势再除以回路的总电阻,总电阻是电源内阻、引线电阻、发光管体电阻的和。所以,流过LED的电流跟加在发光管两端的电压不会成正比关系。
(4)二极管的PN结是负的温度系数。温度升高会导致LED的势垒电势下降。根据这个特点,我们不能直接给 LED电压源供电,而是需要采用限流措施,不然随着管子工作时温度的升高电流会越来越大直到损坏器件。
(5)流过发光管的电流跟发光管的光通量之间的比值是非线性的。LED的光通量会随着流过发光管的上升而上升,但是却并不是正比关系,越是后来光通量的增长越是少。所以,我们应当让发光管在一个发光效率高的电流值下进行工作。
LED和其他光源同样,可以承受的电功率是有限的。假若加在LED上的电功率超过了一定的数值,发光管就非常有也许被损坏。由于材料特性和生产工艺等方面的区别,相同型号的发光管的势垒电势以及发光管的内阻也并不完全相同,这将导致发光管工作的时候管压降不一讲,加上发光管势垒电势具有负的温度系数,所以说LED不可以直接并联使用[15]。综上所述,用发光管作照明必须要设计一个合理的驱动。
3 硬件设计
自适应调光系统重要由:电源电路、感光电路、手动控制模块、单片机控制电路、AD转换电路、发光二极管驱动电路组成,原理图如图3-1所示。
单片机
AT89C51
电源电路
感光电路
AD转换电路
发光二极管驱动电路
晶振电路
手动控制模块
图3-1自适应调光系统
3.1电源电路
电源是电路中很重要的一个部分,其设计的好坏对整个系统的性能有非常大的影响。
要想得到+5V的电压,若选用12V的变压器,整流滤波后输出往往大于12V,会使稳压器功耗大,自身温度过高。故不选用输出电压为12V的变压器,而选用输出电压为9V的变压器。系统接通220V交流电源后,将220V交流电变压到9V,通过二极管全波整流、电解电容C8、C9滤波,再经一只正输出稳压器LM7805。为了缓冲负载突变,改善瞬态响应,输出端还采用了电容C6、C7,最后得到+5V的直流工作电源,用于给控制系统中单片机系统及其它外围电路供电。电路图如下框3-2所示。
图3-2 电源电路
如图所示电路为输出电压+5V,它由电源变压器T,桥式整流电路D1~D4,滤波电容C8、C9,防止自激电容C6、C7和一只固定式三端稳压器(7805)极为简捷方便地搭成的。
220V交流市电通过电源变压器变换成交流低压,再通过桥式整流电路D1~D4和滤波电容C8、C9的整流和滤波,在固定式三端稳压器LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压经常会由于市电电压的波动或负载的变化等因素而发生变化)。此直流电压通过LM7805的稳压和C6、C7的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。本稳压电源可作为TTL电路或单片机电路的电源。三端稳压器是一种标准化、系列化的通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件。
3.2 感光电路
照度是指被照物表面在单位面积上受到的光通量。一般用“呎烛光”来表达照度。1呎烛光,是指发光强度为1烛光的光源,在距离光源一呎、面积为一平方呎的垂直面上所产生的光照度。呎烛光平均的光照度就是每平方呎1流明,故可写作1流明/平方呎。光照度也有用“米烛光”为单位,称作“勒克司”,即一平方公尺的面积上受距离一米的烛光的照射。同样强度的光源,在物体上的照度和其与光源的距离有关,所以呎烛光的光照度大于米烛光的光照度。1呎烛光的光照度=10.76米烛光;1米烛光的光照度=0.093呎烛光。
照度是反映光照强度的一种单位,其物理意义是照射到单位面积上的光通量,照度的单位是每平方米的流明(Lm)数,也叫做勒克斯(Lux):1Lux=1Lm/平方米上式中,Lm是光通量的单位,其定义是纯铂在熔化温度(约1770℃)时,其1/60平方米的表面面积于1球面度的立体角内所辐射的光量。
一般情况:夏日阳光下为100,000LUX;阴天室外为10000LUX;室内日光灯为100LUX;距地面60CM桌面60W台灯为300LUX;电视台演播室为1000LUX;黄昏室内为10LUX;夜间路灯为 0.1LUX;烛光(20CM远处)10~15LUX。
下表3-3为学校照度标准参考表:
表3-3 学校照标准参考表
照 度(Lux)
场 所
1500~300
制图教室、缝纫教室、电脑教室
750~200
教室、实验室、实习工场、研究室、图书阅览室、办公室、教职工员休息室、会议室、保健室、餐厅、广播室、室内运动场
300~150
大教室、礼堂、休息室、楼梯间
150~75
走廊、电梯走道、厕所、值班室、校内室外运动场
75~30
仓库、车库、安全梯
感光电路由普通电阻、光敏电阻、运算放大器LM358组成,如下图3-4所示。普通电阻和光敏电阻组成分压电路,当环境亮度变化时,光敏电阻的阻值也会发生相应的变化,此时光敏电阻上的压降也发生变化。该压降通过LM358构成的电压跟随器,输出到AD转换电路。
图3-4 感光电路
3.2.1 LED发光原理
二极管由两部分组成,一端是P型,另一端是N型,P型中空穴占主导地位,N型中重要为电子。当他们连接在一起时,就会形成一个P-N结。当有电流通过时,电子就会被推向P区,在P区中电子会跟空穴复合,然后会以光子的形式发出能量,这就是LED发光的原理。
2.LED基本参数
(1)光通量:指人眼所能感觉到的辐射功率,它等于单位时间内某一波段的辐射能量和该波段的相对视见率的乘积。
(2)发光效率:发光体把受激发时吸取的能量转换为光能的能力。这是衡量现代光源性能的重要指标之一,如何提高电光源光效的研究是电光源研究中一个重要方面。
(3)光强:描述点光源发光强弱的一个基本度量,以点光源在指定方向上的立体角元内所发出的光通量来度量。
(4)照度:从同一方向看,在给定方向上的任何表面的每单位投影面积上的光照强度,照度是衡量物体表面被光源照亮的限度。
LED的基本参数有:
(1)最大正向电流IFm:在正常工作条件下加在LED两端的最大正向电流。
(2)最大反向电压VRm:在正常工作条件下加在LED两端的最大反向电压。
(3)允许功耗Pm:LED两端正向电压与正向电流之积的最大值。
(4)工作环境温度Topm:LED可以正常工作的环境温度范围。
3.3手动控制电路
手动控制电路由电阻、电容、按键组成,其框架如图3-5所示。通过手动按钮可以手动调节环境的亮度,从而改变LED亮度。
图3-5手动控制电路
3.4单片机控制电路
单片机控制电路由单片机、感光电路、手动控制模块、AD转换电路、发光二极管驱动电路等组成,电路如图3-6所示。通过1,2,3,4管脚可以控制感光电路,其四个管脚和ADC0832相连,组成AD转换电路;21,22管脚控制手动控制模块,18,19管脚控制晶振电路。以89C51单片机为控制器,运用光敏电阻采集环境光照度,采用脉宽调制方式调节三极管,进而调节LED的发光亮度,最终维持环境光照度在一个设定的水平。
图3-6单片机控制电路
3.4.1 AT89C51简介
1、89C51单片机的基本组成:
一个8位微解决器;片内256字节数据存储器RAM/SFR;用以存放可以读/写的数据;片内4KB程序存储器Flash ROM;4个8位并行I/O端口P0-P3,可输入和输出;两个16位的定期器/计数器,可计数;有5个中断源,两个中断优先级的中断控制系统;一个UART的串行I/O口,实现串行通信;片内振荡器和时钟产生电路;具有节电工作方式,也就是说掉电方式。
2、89C51单片机引脚及其功能
如下图3-7所示,为单片机AT89C51的引脚简朴介绍几个用到的引脚功能。
图3-7 单片机AT89C51的引脚图
(1)1到4这四个管脚属于P1口,其功能:8位准双向I/O口,可驱动4个LS型TTL负载。
(2)RST(9脚),其功能:复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
(3)12脚属于P3口,其功能:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。
(4)XTAL2(18脚):振荡器反相放大器的输出端。
XTAL1(19脚):振荡器反相放大器及内部时钟发生器的输入端。
(5)21,22脚为P2口,其功能:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。
(6)31脚接+5V。
3.4.2 ADC0832简介
ADC0832是美国国家半导体公司生产的一款芯片,它体积比较小,性价比高,兼容性好,应用比较广泛。
ADC0832特点:8位分辨率,双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在0~5V之间;工作频率为250KHZ,转换时间为32μS;一般功耗仅为15mW;PICC多种封装;商用级芯片温宽为0°C to +70°C。引脚图如下框3-8所示。
图3-8ADC0832引脚图
引脚功能说明:
1.CS片选使能,低电平有效。
2.CHO模拟通道0,差分输入时,作为IN+或IN-使用。
3.CH1模拟输入通道1,差分输入时,作为IN+或IN-使用。
4.GND电源接地。
5.DI数据信号输出,选择通道控制。
6.DO数据信号输出,选择数据输出。
7.CLK芯片时钟信号。
8.VCC电源输入。
ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换规定。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和解决器控制变的更加方便。通过DI 数据输入端,可以容易的实现通道功能的选择。
单片机对ADC0832的控制:
一般情况下ADC0832 和单片机有四条数据线相连,分别是CS、CLK、DO、DI。由于DO与DI在通信的时候不是同时有效的,并且和单片机的接口是双向的,因此有时候在电路设计时可以把这两个端口接在一根数据线上来用。当ADC0832没有工作时它的CS输入端应当是高电平,这个时候芯片严禁使用,CLK 和DO/DI 的电平可以是低电平或者是高电平。当进行A/D转换的时候,要先把CS的使能端置于低电平并且要连续到转换完全结束。这个时候芯片开始进行转换工作,同个时间解决器会向芯片时钟CLK 端输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表达启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始运用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完毕。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出为DATA0。紧接着输出8位数据,直到第19 个脉冲的时侯数据输出才算完毕,也就是意味着一次A/D转换的结束。最后将CS置高电平严禁使用的芯片,直接将转换后的数据进行解决就可以了。
作为单通道模拟信号输入时ADC0832的输入电压是0~5V并且8位分辨率时的电压精度为19.53mV。假如作为由IN+与IN-输入的输入时,可以将电压值设定在一个比较大的范围之内,这样可以提高转换的宽度。但值得注意的是,当进行IN+和IN-的输入的时候,假如IN-的电压大于IN+的电压则转换后的数据结果始终为00H。
3.4.3 单片机控制电路
该电路由发光二极管、电容、电阻、晶振、STC89C51组成,如下图3-9所示。单片机驱动ADC0832采集当前环境亮度,PWM驱动发光二极管调节环境亮度;和单片机12接口相连。通过PID算法,自动调光。
图3-9单片机控制电路
3.4.4 AD转换电路
AD转换电路由8位AD芯片ADC0832组成,如下图3-10所示。ADC0832的基准电压为5V,输入电压范围为0~5V,输出数字量最大值为255。
图3-10 AD转换电路
3.4.5 PID控制的原理和特点
在实际工程中,应用最为广泛的调节器控制规律为比例、积分、微分控制,可以被称为PID调制或者PID控制。控制器作为最早实用化的控制器已有50数年历史,PID控制器简朴易懂,性能优越,稳定性好,因此成为工业控制的重要技术之一。当被控制的对象的参数和结构不能完全知道,或者是得不到精确的数学模型时,其他的控制理论技术很难采用时,系统控制器的参数和结构只能依靠现场调试以及经验判断来拟定,这时应用PID控制技术最为方便。也就是说我们不完全了解一个系统和被控对象,或者是无法通过有效可行的测量手段来获得系统参数,这时候用PID控制技术最适合。PID控制,具体使用中有PI和PD控制。在实际使用中PID控制器是依照系统的误差,通过比例、 积分、微分计算出控制量进行控制的。
比例(P)控制
比例控制是最容易的控制方式,其控制器的输入信号和输出信号成比例关系。只存在比例控制时系统输出会产生稳态误差。
积分(I)控制
积分控制中,控制器的输入信号和输出信号成积分反比关系。对于一个自动控制系统来说,假如在进入稳态后有稳态误差的存在,就可以说这个控制系统存在稳态误差。在控制器中引入“积分项”可以用来清除稳态误差。随着时间的增长,积分项也会增大,所以说积分项对误差取决于时间的积分。因此,即使误差非常小,积分项仍会随着时间的增长而变大;它使控制器的输出增大以此来减小稳态误差,直到变成零。所以,运用PI控制器,可以使系统进入稳态以后没有稳态误差。
微分(D)控制
在微分控制中,控制器的输入误差与输出误差信号的微提成反比关系。由于存在较大惯性组件或者是滞后组件,具有克制误差的作用, 其变化总是落后于误差的变化所以会导致自动控制系统在克服误差的调节过程中有也许会出现振荡甚至是失稳。解决振荡的方法是克制误差作用的变化“超前”,也就是说在误差接近零时,克制误差的作用就该是零。就是说,在控制器中仅仅只是引入“比例”项远远是不够的,比例项的作用仅是放大误差的幅值,而目前规定它能预测误差变化的趋势,所以需要增长的是“微分项”,只有这样,具有比例微分的控制器才干提前使克制误差的控制作用等于零,甚至是负值,从而可以避免被控量的严重超调。因此对于有较大惯性或者滞后的被控对象,PD控制器可以改善系统在调节过程中的动态特性。
//PID自动调节亮度
if(PwmNow>PwmSet) 假如实际值大于设定值
{
PwmCount+=5; 输出加5
if( PwmCount>100) 假如超过最大值
{
PwmCount=100; 输出最大值
}
}
else if(PwmNow<PwmSet)
{
PwmCount-=5;
if( PwmCount>200)
{
PwmCount=0;
}
}
else;//end of PID
输出波形为方波。
3.5晶振电路
晶振电路由晶振、和电容组成,跟单片机的18,19这两个管脚相连,电路如下图3-11所示。
图3-11 晶振电路
晶振即晶体振荡器,能产生振荡,其特点是固有频率十分稳定,并且震动具有多谐性,除了奇频震动外尚有奇次谐波泛音震动。性能上,晶振的品质因素Q和特性阻抗都非常高,并且接入系数很小,因此具有很高的频率稳定度。
3.6发光二极管驱动电路
该电路由发光二极管、电阻和三极管9012组成如下图3-12所示,和单片机12接口相连采用灌电流方式,驱动发光二极管。
图3-12 AD发光二极管驱动电路
4 软件设计
4.1系统流程图
初始化
读取当前亮度
当前亮度>设定亮度?
减小PWM输出
增大PWM输出
N
Y
本设计采用C语言编程,先设定当下的环境亮度为设定亮度,当环境的亮度变亮的时候,即大于那设定亮度时,减小PWM输出,LED灯会变暗,并且以此当下的环境作为设定的亮度;当环境亮度再次改变,变暗的时候,程序会增大PWM输出,LED灯会变亮,并且以此为设定的环境亮度;通过设定环境亮度的标准来自动调节LED亮度。
4.2 初始化
// 亮度手动调节按钮初始化
sbit Key1 = P2^0;
uchar PwmCount = 0;
uint T1sCount =0;
uchar PwmSet = 0; //当前所设立的亮度
uchar PwmNow = 0; //当前环境的实时亮度
//定期器0初始化
void Time0_Init()
{
TMOD = 0x01;
IE = 0x82;
TH0 = 0xFF;
TL0 = 0xA3; //11.0592MZ晶振,1ms
TR0 = 1;
}
4.3 读取当前亮度
//主函数
void main()
{
Time0_Init();
PwmCount = 0;
delay(100);
PwmSet = GetVal0832(1); //读初始亮度
while(1)
{
//按键调节亮度解决
if( Key1==0)
{
while(Key1==0);
PwmSet+=10;
if(PwmCount>250)
{
PwmSet =0;
}
}//end of KeySet
PwmNow = GetVal0832(1); //读取当前亮度
4.4 手动调节
//按键调节亮度解决
if( Key1==0)
{
while(Key1==0);
PwmSet+=10;
if(PwmCount>250)
{
PwmSet =0;
}
}//end of KeySet
PwmNow = GetVal0832(1); //读取当前亮度
4.5 PWM调制亮度调节
PWM是英文“Pulse Width Modulation”的缩写,翻译成脉冲宽度调制,是运用微解决器的数字输出来对模拟电路进行控制,是一种很好用的技术,在许多领域中有广泛的应用,比如说测量、通信、功率控制与变换等。脉冲宽度调制是一种对模拟信号电平进行数字编码的方法。通过使用高分辨率计数器,方波的占空比被调制用来对一个具体的模拟信号电平进行编码[14]。PWM信号还是数字的,在给定的任何时间,满幅值的直流供电不是完全有(ON),就是完全无(OFF)。电流源或电压是以一种断(OFF) 或通 (ON)的反复脉冲序列被加载到模拟的负载上。断的时候即是供电被断开的时候,通的时候即是直流供电被加到负载上的时候。只要满足带宽足够这个条件,任何的模拟值都可以使用PWM进行编码。
//PWM输出,一个周期100等分,PwmCount表达LED点亮所占的比例,这个比例越大,LED越亮
if(TCount<PwmCount)
{
LedPwm = 0;
}
else
{
LedPwm = 1;
}
TCount++;
if(TCount==100)
{
TCount = 0;
} //end of PWM
TH0 = 0xFF;
TL0 = 0xA3; //11.0592MZ晶振,1ms
}
//主函数
void main()
{
Time0_Init();
PwmCount = 0;
delay(100);
PwmSet = GetVal0832(1); //读初始亮度
while(1)
{
//按键调节亮度解决
if( Key1==0)
{
while(Key1==0);
PwmSet+=10;
if(PwmCount>250)
{
PwmSet =0;
}
}//end of KeySet
PwmNow = GetVal0832(1); //读取当前亮度
//1s时间调节一次亮度
if(T1sCount>1000)
{
T1sCount =0;
(PWM在编程中的运用)
5 总结与展望
5.1总结
本次毕业设计由于时间、经验、水平等局限,做出的东西并不完美。虽然可以做出了实物,简朴的功能也可以运用;但是有很多地方都没做到位。最重要的是以下3点:
1.当初设计的时候是想产生白光的,但由于时间紧张,技术规定比较高,没有达成这个规定。
2.有个LED会一闪一闪的,重要是采用的AD是8位精度的,当初在选择芯片的时候考虑的不够周到,下次有时间一定把它完善。
3.本来考虑用一
展开阅读全文