自动感应环境光调光控制器_第1页
自动感应环境光调光控制器_第2页
自动感应环境光调光控制器_第3页
自动感应环境光调光控制器_第4页
自动感应环境光调光控制器_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、等级:课 程 设 计课程名称测控电路课题名称自动感应环境光的调光控制器专 业测控技术与仪器班 级测控1301学 号201301200120姓 名郭鹏指导老师黄峰 徐谦 李亚 余晓霏2016年6月20日电气信息学院课程设计任务书课题名称自动感应环境光的调光控制器姓 名 郭鹏专业测控技术与仪器 班级1301 学号 20指导老师黄峰 课程设计时间2016年6月20日-2016年6月26日(17周)教研室意见意见: 审核人:一、任务及要求1)设计一个环境光亮度检测电路,并根据环境亮度进行台灯光照强度的自动调节;2)采用多只LED指示亮度等级,环境亮度达到最高时,自动关闭; 3)拓展部分:具有LED数码

2、显示亮度等级功能;4)安装、调试电路,记录调零、测试的数据,进行测试、分析;设计要求:1)设计以测量显示部分电路为主;2)进行系统的方案设计;3)要绘制原理框图,绘制原理电路4)要有必要的计算及元件选择说明5)如果采用单片机,必需绘制软件流程图6)写出课程设计报告。报告中应包括原理框图、参数曲线分析、操作方法、测控流程等,调试过程中遇到的问题,改进方法和总结体会。7)答辩二、进度安排周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。周二周三:完成硬件电路设计周四周五:设计报告撰写。周五进行答辩和设计结果检查。三、参考资料1.测控电路(第2版),张国雄,机械工业出版社.2006。2.

3、模拟电子技术基础(第2版),童诗白,高等教育出版社.1988。3. 传感器原理及应用(第2版),王化祥,天津大学出版社.1999。4. 中国传感器网站 目 录第1章 绪论1 1.1 单片机概述1 1.2选题的背景及意义1第2章 系统总体方案设计2 2.1 设计内容及要求2 2.2 设计的总体方案2第3章 系统的硬件电路设计3 3.1基于调光控制器的整体框图3 3.2 STC12C5A60S2单片机介绍3 3.3 电源设计4 3.4 A/D转换电路5 3.5 LCD显示电路5 3.6 LED驱动6 3.7 按键切换手动和自动6 3.8 自动控制7第4章 系统的软件设计8 4.1 系统流程图8 4

4、.2 系统程序8第5章 设计总结与体会14参考文献15附录 A 系统整体电路图161第1章 绪论1.1 单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种,单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,他们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压低功耗。1.2选题的背景及意义LED

5、是一种新型半导体固态光源它是一种不需要钨丝和灯管的颗粒状发光原件。LED光源凭借环保、节能、寿命长、安全等众多优点在打造节能、环保型社会的大环境下当仁不让地成为照明行业的新宠。21世纪的照明领域中LED应用毫无疑问是最振奋人心的,它将改变整个照明市场的结构,很快就能得到广泛的应用。LED的技术本身不是一个很新的东西,在很多年前, 就已开始使用LED来作仪器的指示灯。随着技术的发展,芯片和材料在性能上都有新的改进,从而也推动了LED更为广泛的应用。普通的白炽灯的寿命仅仅1000小时,而LED的寿命却高达50000小时,而且消耗的电量少的多。根据美国Sandia国家实验室的研究,如果白光二极管能够

6、普及应用,全世界照明用电的消耗减少50%。影响白光二极管系统普及的最主要问题还是它的价格和亮度,现在单个白光二极管的亮度还不够照亮整个房间,其价格却是白炽灯的10倍。随着科技的发展LED照明肯定带来更加明亮的光线和更少的能源消耗。随着经济的持续发展,中国的照明用电也将持续提高,绿色节能照明越来越受到政府的重视,LED照明就是在这样的情形下发展起来的4。据中国绿色照明工程促进项目办公室专项调查,我国照明用电每年在3000亿度以上,用LED取代全部白炽灯和部分荧光灯,可节省1/3的照明用电,相当于三峡工程全年的发电量。第2章 系统总体方案设计2.1 设计内容及要求1.设计内容 1)设计一个环境光亮

7、度检测电路,并根据环境亮度进行台灯光照强度的自动调节; 2)采用多只LED指示亮度等级,环境亮度达到最高时,自动关闭; 3)拓展部分:具有LED数码显示亮度等级功能; 4)安装、调试电路,记录调零、测试的数据,进行测试、分析;2.设计要求 1)设计以测量显示部分电路为主; 2)进行系统的方案设计; 3)要绘制原理框图,绘制原理电路; 4)要有必要的计算及元件选择说明; 5)如果采用单片机,必需绘制软件流程图。2.2 设计的总体方案PWM方法的基本思想就是利用单片机具有的PWM端口,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电流。

8、本方法所要求的单片机必须具有ADC端口和PWM端口这两个必须条件,另外ADC的位数尽量高,单片机的工作速度尽量快。在调整充电电流前,单片机先快速读取充电电流的大小,然后把设定的充电电流与实际读取到的充电电流进行比较,若实际电流偏小则向增加充电电流的方向调整PWM的占空比,LED灯光度变亮;若实际电流偏大则向减小充电电流的方向调整PWM的占空比,LED灯光度变暗。本文介绍了以STC12C5A60S2为控制核心,通过光敏电阻感应光度,并利用PWM调光技术对LED进行光度的自动调节。该LED灯电路简单,很大程度上节省电能,延长LED灯寿命。第3章 系统的硬件电路设计3.1基于调光控制器的整体框图基于

9、STC单片机的PWM调光是以STC12C5A60S2作为主控芯片,设置了手动控制和自动控制。在手动控制时,分为三档,输出不同的PWM占空比对LED的电流进行控制,从而实现了对光度的手动调节。在自动控制时,通过STC12C5A60S2内部模拟-数字不断检验光敏电阻的电压来间接测量感应光度,将电压和预设的阈值进行对比,调整PWM的占空比对LED的电流进行控制,从而实现了对光度的自动调节。总体框图如图3.1所示。图3.1 整体框图3.2 STC12C5A60S2单片机介绍STC12C5A60S2/AD/PWM系列单片机是宏晶技术生产的单片机/机器周期的单片机,是高速/低功耗/超强抗干扰的新一代805

10、1单片机,指令代码完全兼容传统的8051,但速度快8-12倍。内部集成MAX810专用的复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强化干扰场合。 利用STC12C5A60S2的IO口P1.1接收光敏电阻采集的当前光照测检测输出数据。IO口P1.3产生产生相应的PWM波,给高亮度LED,从而有不同的光照。IO口P0作为LCD液晶显示器的数据/指令输入端口。由于STC12C5A60S2内部集成了复位电路,所以该设计省略了外部RC复位电路。STC12C5A60S2单片机的时钟电路采用的是内部的时钟电路,利用单片机内部的振荡电路,并在XLAT1和XLAT2两引脚间外接石英晶体和电容

11、构成的并联谐振电路,使内部振荡器产生自激振荡。石英晶体Y1频率是12.0M,C1和C2是30pf。STC12C5A60S2基本外围电路如图3.2所示。 图3.2 STC12C5A60S2单片机最小系统线路图3.3 电源设计本次设计我选用的降压稳压部分由三端稳压管7805、电解电容组成,将9V转换成稳定的5V。电路图3.3所示:图3.3 电源电路3.4 A/D转换电路在信号采集方面,我选用了光敏电阻和电位器来构成信号采集电路,如图10所示。AD转换电路有STC12内部10位AD组成。STC125A60S2内部AD基准电压5V,输入电压范围为05V,输出数字量最大值为1024。图3.4 信号采集电

12、路3.5 LCD显示电路本设计当前光照采用的是LCD1602显示检测信息。所以单片机需要给LCD分配3位个控制信号IO口和8位数据传输IO口,LCD的EN控制端连接P2.2,RS控制端连接P2.0,RW控制端连接P2.1,8位数据总线连接PO口。(LCD部分电路如图3.6)。图3.5 LCD电路引脚分配图3.6 LCD电路3.6 LED驱动 LED的亮度受电流控制,通过控制电流调节LED灯的亮度。利用公式可知,利用调整PWM不同的占空比就可以控制电流的大小。电流由三极管9013提供驱动,PWM由P1.3输出,低电平有效。如下图3.7所示:图3.7 PWM电路3.7 按键切换手动和自动K3按下为

13、自动控制,K4按下为手动控制,来回按K3、K4切换。当手动按键按下时,K1为LED亮度增加,当增加到最大值自动为最小,K2为LED亮度减小,当减少到最小值时自动为最大。如下图3.8所示:图3.8 按键电路3.8光敏电阻光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换。因此,不断采集光敏电阻对地的电压便可以获知LED灯周边光强的变化。如下图3.9所示:图3.9光敏电路第4章 系统的软件设计4.1 系统流程图 图4.1 程序流程图4.2 系统程序#include STC12c5a.h

14、 /stc头文件#includeintrins.h /包含_nop_空操作的定义typedef unsigned char uchar;typedef unsigned int uint;sbit RW=P21;/写入时一直为低电平,读出时为高。sbit RS=P20; /指令数据选择端sbit LCDEN=P22;/使能端sbit key1=P30;sbit key2=P31;sbit key3=P32;sbit key4=P33;uchar j=0;void AD_init();/AD初始化/函数声明void delay(uint a);uint AD_work(uchar channel

15、);uint AD_get(uchar channel);uchar disbuf= illumin: . ;uchar PWM=0xec,0xe7,0xe0,0xda,0xd3,0xcd,0xc0,0xa6,0x9a,0x80,0x33,0x00 ;/ 92.5%-0%void pwm_set(unsigned char a);void pwm_init()CCON=0; /PCA初始化CH=0; /PCA高8位CL=0; /PCA低8位CMOD=0x00; /f=sysclk/256/12CCAPM0=0x42; /p1.3PCA_PWM0=0x00;CR=1; /启动PCA计数器void

16、 pwm_set(unsigned char a)/占空比设置CCAP0H=CCAP0L=a;void write_com(uchar com )RS=0;RW=0;LCDEN=0;P0=com ;delay(5);LCDEN=1;delay(5);LCDEN=0;void write_dat(uchar date)RW=0;RS=1;LCDEN=0;P0=date;delay(5);LCDEN=1;delay(5);LCDEN=0;/液晶初始化void LCDinit()write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x3

17、8);void display(unsigned int z)uchar i;disbuf9=z%1000/100+0x30;disbuf11=z%100/10+0x30;disbuf12=z%10+0x30;for(i=0;i=900)pwm_set(0xEC); if(850=AD_work(1)&(AD_work(1)900)pwm_set(0xE7);if(750=AD_work(1)&(AD_work(1)850)pwm_set(0xe0);if(700=AD_work(1)&(AD_work(1)750)pwm_set(0xda);if(600=AD_work(1)&(AD_wor

18、k(1)700)pwm_set(0xd3);if(500=AD_work(1)&(AD_work(1)600)pwm_set(0xCD);if(400=AD_work(1)&(AD_work(1)500)pwm_set(0xC0);if(300=AD_work(1)&(AD_work(1)400)pwm_set(0xA6);if(200=AD_work(1)&(AD_work(1)300)pwm_set(0x9A);if(150=AD_work(1)&(AD_work(1)200)pwm_set(0x80);if(100=AD_work(1)&(AD_work(1)150)pwm_set(0x

19、33);if(AD_work(1)100 )pwm_set(0x00);if(key4=0)/ 手动模式delay(5);if(key4=0)while(key3=1)write_com(0x80);display(AD_work(1);if(key1=0)delay(5);if(key1=0)if(j=11)j=0;pwm_set(PWMj+);if(key2=0)delay(5);if(key2=0)if(j=0)j=11;pwm_set(PWMj-);uint AD_get(uchar channel)ADC_CONTR=0x88|channel; /开启AD转换1000 1000 即P

20、OWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0_nop_(); _nop_(); _nop_(); _nop_();/要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR 寄存器while(!(ADC_CONTR&0x10); /等待转换完成ADC_CONTR&=0xe7; /关闭AD转换,ADC_FLAG位由软件清0return(ADC_RES*4+ADC_RESL); /返回AD转换完成的10位数据(16进制)/*unsigned char GETADCResult()/AD转换unsigned char AD;AD

21、C_CONTR=ADC_POWER|ADC_SPEEDHH|ADC_START;_nop_();_nop_();_nop_();_nop_();while(!(ADC_CONTR&ADC_FLAG);ADC_CONTR&=ADC_FLAG;/关闭ADVo=ADC_RES*5*10/256;return Vo;uint AD_work(uchar channel)float AD_val; /定义处理后的数值AD_val为浮点数uchar i;uint AD_V;for(i=0;i0;i-); /1T单片机i=600,若是12T单片机i=125void AD_init()P1ASF=0x02;

22、/P1.1 作为模拟功能AD使用ADC_RES=0; /清零转换结果寄存器高8位ADC_RESL=0; /清零转换结果寄存器低2位ADC_CONTR=0x80;/开启AD电源delay(2); /等待1ms,让AD电源稳定ES=1;EA=1;第5章 设计总结与体会历时一周的课程设计终于结束,通过这次课程设计,使我将以前的所学的知识很好的应用在实际生产过程中,是我们步入社会参与实际工作的一次极好的演示。当然,我在做课程设计中遇到了很多技术性的难题,但我在黄老师的提示和鼓舞下,上网,看书,查资料,终于在规定的时间里完成本次课程设计。由于所学的专业知识有限,难免有些难以解决的问题,所以这次课程设计的

23、资料来自广泛。既有我从图书馆找来的专业书籍,还有部分从互联网上搜寻到的相关的信息内容,力求使做出来的设计与自己所学的专业框架紧密联系。综上所述,加之自己的水平有限,所以这次课程设计难免有所纰漏。本次课程设计报告主要是在参考各种资料和相关文献的基础上完成的,所参考的文献在报告中已经列出来,在这里也说明一下。报告的整个制作过程的却不容易,有艰辛的一面,亦有喜悦的一面,但整个过程来说还是蛮充实的,毕竟在整个设计的过程中,自己又对已学的专业知识梳理了一下,而且对于实际的应用和需求也参考了各个方面的资料,所以整个设计过程下来,自己整体的专业水平进行了一次升华。在设计报告中,自己对于某些方面的知识,还不是很精确的了解和熟知

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论