多功能台灯设计_第1页
多功能台灯设计_第2页
多功能台灯设计_第3页
多功能台灯设计_第4页
多功能台灯设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

引言目前国内市面上的LED灯众多,但出于LED灯成本少制作简单,大多数厂商只集成了简单的时钟功能和手动调光功能,且多用廉价的冷光源(蓝光)LED来照明,长期使用对用户的眼睛内的黄斑区毒素量增高,严重威胁眼部健康。如何使用LED灯既节能又能保护使用者的视力,是本文想要解决的问题。LED灯价格便宜,功耗小,颜色丰富,发热量少,具有很多日光灯所没有的优点。如今提倡节能减排,只要将LED灯改为暖光的类型,就可以胜任日光灯的位置。除了改变LED灯芯的种类外,还能增加一些保护视力的功能进去,这也是为什么要加入光控和距离控制的原因。另外,目前国内LED灯主要是小台灯型式,通过内置电池或者用电脑的USB接口进行供电,所以本文想让LED灯有更多的小功能,不光光是放在桌子上照明这么简单,通过模型的设计和高度集成化让该LED智能灯具备自行车夜灯功能和行人夜路模式,这样不光在桌面上保护了使用者的视力,在夜晚也能一定程度上保证使用者的出行安全。本文介绍了以STC89C52RC为控制核心,通过光敏电阻感应使用环境的光照强度,并利用PWM调光技术对LED进行光照强度的自动调节。同时设置手动控制模式并加入时钟功能。利用红外传感器检查用户的位置和超声波距离传感器检测灯与书本的位置。该LED台灯电路相对简单,能较大程度地节电,延长LED灯的使用寿命,并且价格低廉,具有很高的市场和发展前景。

概论1.1课题研究背景随着现如今社会的高速发展,能源的消耗越来越大,而其中人民生活中的照明用电占有比较大的份额。据统计,在我国光照明耗电就占到了年发电总量的12%(超过100亿千瓦每小时),其中台灯的消耗也不容小觑。由于部分用户离开时不会随手关灯,导致很大一部分电能浪费;同时现今台灯大都采用白炽灯泡来充当灯芯,其使用寿命相对较短、产生的垃圾废料不易处理等关系,已经越来越不能适应如今节能减排的社会需求。LED灯在一定程度上能较好地改善白炽灯存在的问题。当电子与空穴复合时能辐射出可见光,以此原理制作出来了LED灯芯。LED灯芯发出的是冷光源,电光转化效率高(接近60%),工作电压低(3V左右),且能耗低,可控制好、无辐射,在同样的亮度下,LED能耗仅为白炽灯的10%,荧光灯的5%。LED寿命可达10万小时,是荧光灯的10倍,更是白炽灯的100倍。同时LED灯芯的成本仅仅只有白炽灯的十分之一,相比之下,选择LED等来当台灯灯芯是很明智的选择。由于现在台灯主要是使用交流电的设计,根据国内电网频率,灯芯会每秒钟产生100-120次的频闪,虽然人眼无法察觉到这快速的闪动,但对于我们的视力是一个严重的威胁。相比之下,LED灯芯采用的是直流电驱动,不会产生像白炽灯的频闪效益,对肉眼的刺激减小,从而保护了用户的视力。国内的LED台灯大同小异,都在做着自己外形的时尚,而很少去注意内在的技术,很少有人会去想在里面添加实用的功能。所以设计一款智能化程度较高的LED台灯是很有市场前景的。试想一下,一台能够感应主人是否在身边的台灯,一台能自我调节的台灯是不是很有吸引力呢?1.2系统方案的提出

通过采用LED灯芯照明,提高了电能的利用率,并利用各种传感器检测,微处理器控制,来实现自动调光、视力保护、温度显示、时间显示、人体感应、距离感应等多项功能的智能LED台灯。1.2.1LED优势相较于普通照明,LED照明有许多优点,如表1-1所示。表1-1LED灯优点序号优点原因1高效节能生活中很为常见的60瓦的白炽灯来说,17个小时需耗费一度电,普通的LED10瓦节能灯100个小时才耗电一度,从中可以轻易的就比较出来LED的高效节能优势2环保优势LED节能灯不含有任何的有污染和有毒物质,废弃的LED可以进行回收,并且在使用中不会产生对人体有害的电磁波3使用寿命长久普通的LED节能灯的使用寿命就高达五万个小时4使用范围广泛由于LED良好的性能,可以适应非常多的使用环境和要求5使用灵活方便LED的体积较小,可根据应用需求对LED灯进行灵活组合,其颜色也可进行灵活搭配。因此,我们提出新型LED智能多功能台灯方案。1.2.2方案简述针对上述节能、环保、健康、功能等问题的研究,基于C52单片机和PWM调光的LED台灯以STC89C52RC作为主控芯片,设置了手动控制和自动控制。在手动控制时,分为5个档,输出不同的PWM占空比对LED的电流进行控制,从而实现了对光度的手动调节。在自动控制时,通过ADC0832模拟-数字转换芯片不断检验光敏电阻的电压来间接测量感应光度,将电压和预设的阈值进行对比,调整PWM的占空比对LED的电流进行控制,从而实现了对光度的自动调节。人体红外感应是小车红外避障传感器模块。当模块检测到前方有障碍物的反射信号时,OUT端口会持续输出低电平(0)的信号。红外避障模块的检测距离可以通过模块上安装的电位器进行调节,顺时调节电位器,检测距离增加,反之则检测距离减少。距离传感器是使用超声波模块,通过检测回波来计算多功能台灯与书本之间的距离,从而做到报警提示的作用。时钟模块使用DS1302时钟芯片来实现的,连接上备用电源后可以更加准确的报时。温度传感器是使用DS18B20数量温度传感器,由于芯片是发送数字信号,所以可以直接与微信处理器进行通讯。总体框图如图1-1所示。图1-1总体框图

系统方案的选择2.1控制芯片的选择方案选择控制芯片主要因素有:1.处理性能:一个嵌入式处理器的性能取决于多个方面的因素,如时钟频率,内部寄存器的大小,指令是否对等处理所有的寄存器等。2.技术指标:目前,很多单片机集成了众多其他功能,这使得电路板中芯片数量大幅减少,从而减少了开发成本。开发者最先得考虑系统功能所要求的一些硬件能否无需过多的逻辑电路即可与单片机连接。之后才考虑单片机的一些外围芯片。例如中断控制器,内存管理器,时钟等的配套、串行设备等。3.功耗:单片机之所以用处广泛,除去功能多样化集成度高意外,最大的就是其低功耗的特点。这样很符合节能减排社会所倡导的节能环保原则。4.软件支持工具:如果只有一个单片机,而没有相应的编程软件和调试软件,单片机是无法发挥其最大功能的。因此选择合适的软件开发工具对系统的实现会起到很好的作用。5.是否内置调试工具:单片机如果内置了调试软件可以减少开发的周期,从而节约成本[1]。2.1.1STC89C52RC如右图2-1所示,STC89C52RC为40引脚双列直插式芯片,增强型8051单片机,工作电压在3.3V~5.5V,片内集成4K字节ROM和256字节RAM,具有EEPROM功能,两个定时/计数器,工作频率范围为0~40MHz,实际工作频率可达48MHz,有32个通用I/O口,可采用在系统编程或在应用编程,无需专用编程器和仿真器,指令代码完全兼容传统8051。具有价格低廉、兼容性强、超强抗干扰能力、超低功耗等优点。图2-1STC89C52RC单片机2.1.2主控制芯片的确定STC89C52RC相比其他两个单片机有着价格上的优势,且所提供的I/O口和其他功能完全满足多功能台灯的设计上需求。相比于AVR单片机和FPGA,STC89C52RC具有强抗干扰能力、低功耗、价格低等优点,所以选择STC89C52RC的性价比最高。2.2照明模块的选择由于LED是特性敏感的半导体器件,又具有负温度特性,因而在应用过程中需要对其进行稳定工作状态和保护,从而产生了驱动的概念。由于它受到LED功率水平的限制,通常需同时驱动多个LED以满足亮度需求。因此,需要专门的驱动电源来点亮LED。根据LED灯的驱动方式、电源利用效率、防护措施等方面来选择LED驱动电源,以此来达到提高能效、增加功能及功率密度、提高产品寿命周期和产品可靠性。2.2.1三极管驱动三极管,全称应为半导体三极管,也称双极型晶体管、晶体三极管,是一种控制电流的半导体器件其作用是把微弱信号放大成幅度值较大的电信号,也用作无触点开关。如右图2-3所示,三极管是在一块半导体基片上制作两个相距很近的PN结,两个PN结把整块半导体分成三部分,中间部分是基区,两侧部分是发射区和集电区,排列方式有PNP和NPN两种。基极偏置电源通过给发射结加正偏电压,集电极直流电源通过给集电图2-3三极管结加反偏电压,从而使三极管工作在放大区。以共发射极接法为例(信号由基极输入,从集电极输出,发射极接地),当基极电压UB出现一个细小的变化时,基极电流IB也会跟着出现一个小变化,受到IB的影响,集电极电流IC会出现很大的变化。IB如果越大,IC也会越大,相反,当基极电流变小,集电极电流也会变小,集电极电流的变化受基极电流的控制。三极管之所以能够放大就是因为在变化的时候,集电极电流的变化会比基极电流的变化大很多。IC的变化数值和IB变化数值之间的比值就是三极管的放大倍数β[3]。利用三级管放大有着成本低,易实现,易控制等优点,只要选择合适放大倍数的三极管就能很好地驱动LED灯,还能防止放大电路失真的现象发生。2.2.2PWM芯片控制LED灯的光照强度的控制主要是通过调节流通LED灯的电流大小来改变的。通过一个PWM(脉冲宽度调制)信号控制LED灯的导通时间,变相的控制了LED灯的平均输入电流。由于PWM信号是脉冲宽度调制信号,改变信号的时候,可以使频率和幅值不变,只改变高电平的持续时间,即输出波型的占空比。这是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。这样做的好处是可以减少LED灯的色彩偏移,以此达到减轻眼睛负担的效果,保护用户的视力。2.2.3照明方案的确定由于设计方案中,系统需要驱动电压5V,驱动12个白光LED,所以最经济实惠的方案是选择三极管驱动,且容易控制LED灯的电流大小,因此选择S8050三极管作驱动芯片使用。2.3本章小结综合考虑了多个主控芯片之后,决定使用STC89C52RC来设计这款智能灯。由于集成了多个模块,为了节约空间和最优照明效果,最后决定使用12个LED灯芯并联使用并使用S8050三极管来控制LED灯的电流大小。由于蓝光LED灯芯长时间使用对用户的眼睛有巨大损害,所以这边采用的是白光LED灯芯,减少用户使用时眼睛的负担。硬件设计硬件设计是一个项目中最关键的部分,如下图3-1和图3-2所示,这次多功能台灯的硬件设计主要是以STC89C52RC微型处理器为基础,S8050三极管调节LED灯的输入电流大小,以此来控制LED灯的亮度。选用光敏电阻、红外距离传感器、超声波距离传感器、温度传感器作为系统的信息采集元件,并采用ADC0832模数转换芯片对信息进行转换。图3-1系统框图图3-2硬件设计总体框图3.1单片机STC89C52RC芯片简介STC89C52RC是STC公司生产的一种高性能、低功耗的微型控制器,内部含有8K的可编程Flash存储器。STC89C52使用的是MCS-51内核,但在其中加入了很多新的功能。图3-3为STC89C52RC的引脚图。图3-3STC89C52RC引脚图1.STC89C52RC主要功能、性能参数[4]:(1)增强型8051单片机,内部包含有6时钟周期和12时钟周期;(2)工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机);(3)工作频率范围:0~40MHz,相比一般的8051的0~80MHz,实际工作频率可达48MHz;;(4)用户应用程序空间为8K字节(5)片上集成512字节RAM;(6)通用I/O口(32个),P0口需要加上拉电阻使用;(7)具有EEPROM功能;(8)内部含有看门狗功能;(9)共3个16位定时器/计数器。也就是定时器T0、T1、T2;(12)单片机的正常工作温度范围:-40~+85℃(工业级)/0~75℃(商业级);(13)PDIP封装;2.STC89C52RC单片机的引脚说明如表3-1所示。表3-1STC89C52RC单片机的引脚说明引脚功能VCC提供电压GND接地P08位的开路双向I/O口,连接LCD1602的数据口D0~D7上。P1内部自带上拉电阻的8位双向I/O口,与功能按钮、红外模块、DS18B20模块和时钟模块相连接。P2内部自带上拉电阻的8位双向I/O口,与LCD1602的RE、RW、RS和ADC0832连接P38个带内部上拉电阻的双向I/O口,可接收输出4TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流。P3.7/RD外部数据存储器读选通RST复位脚P4.5/ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。P4.4/PSEN外部程序存储器的选通信号。P4.6/EA/VPP当EA低电平时,这个时候的外部程序存储器,无论是否有内部程序存储器。XTAL1反向振荡放大器的输入和内部时钟工作电路的输入。XTAL2反向振荡器的输出3.STC89C52RC单片机最小系统能使单片机正常工作的最小硬件单元系统称为单片机的最小系统。如下图3-4所示STC89C52RC单片机最小系统包含电源电路、复位电路、晶振电路和单片机。通过添加其他的功能模块使得单片机可以完成更多复杂的功能。由于STC89C52RC内集成ROM/EPROM,所以其最小化系统只需要连接时钟电路和复位电路即可,简单方便,且性能可靠。图3-4STC89C52RC单片机最小系统原理框图时钟震荡电路8052系列单片机内部含有一个高增益反向放大器,用于构成振荡器,反相放大器的输入端为XTAL1,输出端为XTAL2,在这两个引脚之间接入一个石英体和两个电容就可以构成一个稳定的自激振荡器,当振荡在6MHz~12MHz时通常取30pF左右的电容进行微调。复位电路8052系列单片机需要启动时进行复位,会使CPU和系统中各个部件都处于一种确定的初始状态。复位信号从单片机的RST引脚输入,当信号为高电平时有效,其有效电平应当维持至少2个机器周期。单片机的复位有上电自动复位和按键手动复位两种方式,这里我们采用的是按键手动复位的方式,且采用电平复位的方式。STC89C52RC最小系统原理图如图3-5所示:图3-5STC89C52RC最小系统4.STC89C52RC中断应用任务在运行过程中,应内部或外部异步事件的请求中止当前任务,而去处理异步事件所要求的任务的过程叫做中断。中断方式传输数据可以有效提高单片机工作效率,适用于实时控制系统等优点,因而更为常用。当CPU正在处理某件事情的时候,外部发生的某一事件(如电平的变化、脉冲边沿跳变、定时器/计数器溢出等)请求CPU迅速去处理,于是CPU暂时中断当前的工作,转去处理所发生的事件。处理完该事件后,再回到原来的被中断的地方,继续原来的工作。中断流程如右图3-6所示。设计中在单片机模拟PWM波输出时使用了定时器0的中断服务。图3-6中断流程3.2LED驱动电路这里我们采用的是8050三极管作为电流放大芯片来使用。三极管,全称应为半导体三极管,也称双极型晶体管、晶体三极管,是一种控制电流的半导体器件其作用是把微弱信号放大成幅度值较大的电信号。三极管含有三个极,分别为集电极C,基极B,发射极E,按照所含的PN结不同,分为NPN和PNP两种。由于本设计采用的是8050NPN三极管来驱动12个LED灯,所以三极管的集电极和LED灯的阴极相接,发射极接地,基极接上限流电阻后与单片机相连。然后只需程序上设置触发条件后给基极一个高电平令其导通,这样LED灯就能点亮且只需改变基极的电流就能改变通过LED灯的电流大小,从而改变LED灯的亮度。由于我们是使用PWM来控制基极电流的大小,通过公式:IL=tONT式(3-1)中IL为实际输出电流,I为电路输入电流,tON图3-7LED驱动电路3.3其他功能控制电路3.3.1光敏电路光敏电阻是使用半导体技术制作的特殊电阻器,这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,使得光敏电阻的阻值迅速下降[5]。如右图3-8所示,利用光敏电阻的这个特性,使其通过ADC0832进行模数转换然后将数据传到单片机中进行处理,然后控制PWM波来控制三极管的基极电流,来达到控制灯的亮度的目的。图3-8光敏电路3.3.2超声波测距模块HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感应,精确度可以高达3mm。其工作原理是通过触发I/O口触发测距,给其至少10us的高电平信号,之后模块会自动发送8个40kHz的方波,自动检测是否有信号返回。若有信号返回则通过回响I/O口输出一个高电平,计算高电平的时间就能得到超声波发出到返回的时间,其公式为:S=T式(3-2)中S为检测距离,T为高电平时间,V为声速(340m/s)。1.电气参数如下表表3-2电气参数电气参数HC-SR04超声波测距模块工作电压DC5V工作电流15mA工作频率40Hz最近射程2cm最远射程4m测量角度15°输入触发信号10us的TTL脉冲输出回响信号输出TTL电平信号,如射程呈正比尺寸规格45*20*15mm2.HC-SR04超声波测距模块实物图图3-9HC-SR04超声波测距模块实物图3.超声波时序图超声波时序如图3-10所示,只需要给模块提供一个10us以上的脉冲触发型号,该模块内部发出8个40kHz周期电平并检测回波。一旦检测到回波则输出回响信号。回响信号的脉冲宽度与所测的距离呈正比,由此通过发射信号到回响信号之间的间隔时间来计算出距离。图3-10超声波时序图通过超声波测距模块来检测智能灯与书本之间的距离,如果距离过远则略微提亮LED灯的亮度并在显示屏上显示提醒用户注意书本与灯之间的距离。图3-11为超声波模块HC-SR04接线图。图3-11HC-SR04接线图3.3.3温度感应器信息通过单线接口送入DS18B20数字温度计或从其送出,因此从单片机到DS18B20之间只需要连接一根线(和地线),读、写和完成温度的变换所需的电源可以由数据线本身提供,而不需要外接电源。由于每一个DS18B20内部含有唯一的序列号,因此多个DS18B20可以存在于一条总线上。1.引脚图引脚说明:VDD:可选的电源;GND:地线I/O:数据输入输出口NC:空引脚图3-12DS18B20管脚图DS18B20的核心功能是它的直接读数字的温度传感器。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5℃,0.25℃,0.125℃和0.0625℃增量递增。在上电状态下默认的精度为12位。DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出[44h]命令。在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”(见单总线系统节),DS18B20正在温度转换中返回0,转换结束返回1[6]。2.温度/数据关系如表3-3所示。表3-3DS18B20温度数据关系表温度数据输出(二进制)数据输出(十六进制)+125000001111101000007D0h+8500000101010100000550h+25.062500000001100100010191h+10.125000000001010001000A2h+0.500000000000010000008h000000000000000000000h-0.51111111111111000FFF8h-10.1251111111101011110FF5Eh-25.06251111111001101111FE6Eh-551111110010010000FC90h3.DS18B20接线图图3-13DS18B20接线图3.3.4红外避障模块如右图3-14所示,这个模块对环境光的感应能力极强。模块上有一对红外线发射管与接收管,发射管周期性发射红外线,当模块前方检测到用户在附近时,红外线会被用户反射回来,然后被接收管接收,经过模块内置的比较器电路处理之后,上面绿色指示灯会亮起,同时输出口电平会拉低,单片机通过读取高低电平判断用户是否在附近。节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人的避障、避障小车、流水线上的图3-14红外避障模块计数等众多场合[7]。模块引脚说明:VCC外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连),GND外接GND,OUT接数字量输出接口(0和1)。该模块主要起到感应人体位置的作用,让模块感应到用户接近时控制LED灯,使其点亮,当红外避障模块感应到用户离开的时候会关闭LED灯,进入省电状态,等待用户下一次靠近LED灯时点亮它。红外避障模块的接线图如图3-15所示。图3-15红外避障模块接线图3.3.5时钟模块DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,且具有闰年补偿功能[8]。工作电压宽达2.5~5.5V。有备用电源供电,可设置备用电源充电方式。DS18B20管脚图如图3-16所示。图3-16DS18B20管脚图1.各引脚功能Vcc1:主电源;Vcc2:备份电源。SCLK:串行时钟,输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;2.DS1302工作过程在进行任何数据传输时,RST必须被制高电平(注意虽然将它置为高电平,内部时钟还是在晶振作用下走时的,此时,允许外部读写数据),在每个SCLK上升沿时数据被输入,下降沿时数据被输出,一次只能读写一位,适度还是写需要通过串行输入控制指令来实现(也是一个字节),通过8个脉冲便可读取一个字节从而实现串行输入与输出。最初通过8个时钟周期载入控制字节到移位寄存器。如果控制指令选择的是单字节模式,连续的8个时钟脉冲可以进行8位数据的写和8位数据的读操作,SCLK时钟的上升沿时,数据被写入DS1302,SCLK脉冲的下降沿读出DS1302的数据。8个脉冲便可读写一个字节。在突发模式,通过连续的脉冲一次性读写完7个字节的时钟/日历寄存器(注意时钟/日历寄存器要读写完),也可以一次性读写8~328位RAM数据[9]。3.DS1302接线图图3-17DS1302接线图3.3.6ADC0832模数转换如右图所示ADC0832是美国国家半导体公司生产的一种双通道A/D转换、8位分辨率芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μs,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便[10]。通过DI数据输入端,可以轻图3-18ADC0832引脚图易的实现通道功能的选择。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业喜欢。ADC0832的接线图如图3-19所示。图3-19ADC0832接线图3.3.7LCD1602液晶显示屏LCD1602液晶显示屏也叫1602字符型液晶显示屏,它是一种专门用来显示字母、数字、符号等的点阵型的液晶模块。它是由若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间的作用[11]。1.引脚作用如右图3-20所示。第1脚:GND为电源地;第2脚:VCC接5V电源正极;第3脚:V0为液晶显示器对比度调整端;图3-20LCD1602引脚图第4脚:RS为寄存器选择;第5脚:RW为读写信号线;第6脚:E端为使能端,高电平时读取信息,负跳变时执行指令;第7~14脚:D0~D7为8位双向数据I\O端;第15~16脚:空脚或背灯电源。15脚背光屏正极接线脚,16脚背光屏负极接线脚;2.LCD1602接线图图3-21LCD1602接线图3.4原理图设计本设计的原理图是使用AltiumDesigner15版绘制而成,AltiumDesigner是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高[12]。由于库中没有STC89C52RC和LCD1602的库文件,所以自己绘制它的库文件并加入原理图中。Altium简单好用,很适合新手使用。3.5本章小结本章主要是选择各个芯片和元器件模块,将其组合在一起实现预期的设计功能,为接下来的焊接电路和系统程序调试做足铺垫和基础。系统调试4.1程序编写本设计的单片机程序是使用KeilC51编写而成的。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。在开发大型软件时更能体现高级语言的优势[13]。KeilC51软件界面如图图4-1所示。图4-1KeilC51程序界面4.2程序流程图本设计采用的是以STC89C52RC单片机为基础,添加红外模块、超声波模块、温度传感器、光敏电路、时钟模块、LCD显示模块,光敏电路通过ADC0832与单片机进行数据通讯。通过这些模块的加入,让设计变得更加智能方便。系统任务流程图如图4-2所示。图4-2程序流程图智能灯接通电源后按下复位键,系统开始初始化设置,然后系统读取从红外模块发送来的A\D值,然后根据这个值来判断用户是否在智能灯附近,如果是则开始判断当前工作状态,不是则返回读取A\D值。系统判断当前工作状态,若为自动模式调节智能灯亮度,则手动模式不能生效,全部由系统自行判断当前亮度。若为手动模式,则系统关闭自动检测,完全由用户来调节智能灯的亮度。接下来系统会判断当前是否正常运行,如果是则循环会读取ad值的步骤,如果不是则系统任务结束。4.3硬件焊接通过焊锡和导线进行系统的硬件焊接工作,原本想用堆锡法进行焊接,但由于自己技术不佳且元器件排布相对较密,会发生错焊导致焊锡过多融化焊成一片,最后选择使用导线连接各个部件。由于买到的万用板是铜制的焊盘,焊接过程中发生了焊盘脱落的现象,只能临时修改元器件的位置来解决。究其原因是一方面是自己的技术不行,另一方面是自己没有做好事先的准备工作,不了解铜焊盘的注意事项。4.4硬件调试4.4.1手动模式如图4-3所示,当按动功能键之后进入手动模式,按动加键可以提高灯的亮度至最高亮度,按减键可以降低灯的亮度至灯熄灭。如图4-4所示。图4-3手动模式调试图4-4手动模式效果图4.4.4自动模式当系统接入电源时,在不按下功能键的情况下为自动模式,这个时候按动加、减键无效,当红外传感器感应到有用户接近时,向单片机发送低电平信号,然后单片机控制使灯亮起。如图4-5所示,为系统检测到用户的时候的效果图。图4-5自动模式效果图4.5本章小结通过KeilC51软件来编写单片机程序简单,且软件自带有编译和纠错的功能,在后期修改错误的时候起到很大的帮助。根据设计的要求,使用C语言来编写适合的程序,简单易懂。之后就是烧录进单片机中进行系统的硬件调试。硬件制作方面应该注意万用板的选用,选用使用过的型号来减少时间上的浪费。结论本设计的主控芯片采用的是STC89C52RC单片机,通过单片机与其他模块之间的相互通信,达到智能灯的人体感应、距离感应、自动调光、室内温度显示、报时功能等。利用PWM波来控制LED灯的亮度,并且使用ADC0832读取光敏电阻的电压值,以此来作为系统自动调光的数据参照。通过DS18B20读取当前室内的温度数据并显示在LCD1602液晶显示屏上,由于加入了DS1302时钟芯片,所以液晶显示屏上可以显示当前时间,且有备用电源接入时钟模块,所以即使断开电源,智能灯也能计时很长一段时间,这样不用每次启动都重置时钟芯片,方便用户使用。LED产业作为当今的新兴产业,越来越受到国家的重视。由于LED的优秀的性能,且非常符合当前所倡导的节能环保型社会,其发展的前景无可估量。这次设计的初始是想做一个智能的节能灯产品,所以直接联想到LED灯,通过单片机的多功能控制的特性可以大大增强LED灯的市场竞争力。通过这次的设计,了解到了可以通过改变占空比的方法来改变LED灯的平均输入电流,以此来调节LED灯的亮度。而且也是第一次自己手工制作一个完整的单片机产品,虽然期间碰到很多的问题,但也因此得到了很多经验。比如单片机的选择,模块的选择和接法,元器件之间的位置排布和布线,程序与硬件之间的接合,每一步很有成就感。而且之前喜爱C语言的关系,对于编程很感兴趣,能够理解每条指令的意思,这对以后工作的时候是很有帮助的。也是通过这次设计,暴露了自己很多的毛病。比如前期准备工做好,买到了不合适的器件和容易脱焊的万用板。购买元器件的时候忘记购买时钟芯片所需要的晶振和单片机的插座,导致后来废了很多金钱和时间重新购置。在焊接元器件上自己马虎粗心的缺点也表露出来。元器件插脚被焊坏或者堆锡过多导致器件插脚被焊在了一起,只能使用吸焊器将多余的焊锡吸走,这不光浪费了很多的焊锡,还浪费了大把的时间在焊接上。明白到自身的不足,才能更好的去改正,提高办事的效率和能力。

致谢语在这里首先得感谢我的指导老师王巧兰老师,是她在我找不到其他老师的情况下答应带我做完毕设。她主张让学生自己独立完成成品,如果遇到问题再去找她寻求帮助。这样可以锻炼自己处理事情的能力,积累这些方面的经验。通过自己的努力,来达到所预期的效果,没有什么比这个更加有成就感的了。所以我很感谢王巧兰老师给了我这样的机会和给予我的帮助,我会吸收这次设计所学习到的所有经验,并以此让自己今后努力做好每一项任务。感谢在这4年里指导过我的所有老师们,我不光学习到了很多专业方面的知识,还分享到了老师们的为人处事之道,这对于我以后步入社会来时有巨大的帮助。感谢我的同学们、朋友们,是你们一直照顾我,让我一直保持着乐观积极的心态去面对一天。无论前方有多大的困难,也不能轻言放弃。在此,由衷的感谢一直以来帮助我的老师们、同学们、朋友们,谢谢你们!

参考文献[1]罗丽容.智能射频光传输模块监控系统的设计与实现[D].武汉:武汉理工大学,2007.[2]金重亮.基于模型车辆的四轮转向控制技术研究[D].江苏:江苏大学,2010.[3]王品一.非接触双向电能传输电路的研究[D].重庆:重庆大学,2013.[4]沈睿谦.基于单片机及机器学习的电子舌系统设计与研究[D].浙江:浙江大学,2013.[5]袁志远.基于ARM光伏板控制系统研究和实现[D].西安:西安科技大学,2013.[6]刘健荣.基于嵌入式技术的风力发电垂直风道气流场检测装置设计[D].广东:华南农业大学,2012.[7]许文超.手势绘图锁的应用研究[J].电脑知识与技术,2015,11:24.[8]王浩然.LED双色屏及其控制系统的设计与实现[D].杭州:杭州电子科技大学,2010.[9]郑蓉.基于ARM7的多相位交通信号控制器开发与实现[D].上海:上海交通大学,2009.[10]张瑞.重型卡车防翻侧控制电路和控制软件的研究[D].广东:广东工业大学,2010[11]谭青.基于Zigbee的无线温湿度监测系统设计[D].山东:山东科技大学,2014.[12]倪光明.激光辅助多通道振动信号采集处理系统[D].成都:电子科技大学,2014.[13]梅毅.便携式LED颜色测量系统设计[D].上海:复旦大学,2007.

附录附录一.原理图附录二.源程序#include<reg52.h> //调用单片机头文件#include<LCD1602.h>#include<LCD1602define.h>#include<DS1302.h>#include<18b20.h>#defineucharunsignedchar//无符号字符型宏定义 变量范围0~255#defineuintunsignedint //无符号整型宏定义 变量范围0~65535unsignedintscale;sbithongwai=P1^1;//红外 sbittd_led=P3^5;//台灯sbitSCL=P2^1; //SCL定义为P2口的第2位脚,连接ADC0832SCL脚sbitDO=P2^2; //DO定义为P2口的第3位脚,连接ADC0832DO脚sbitCS=P2^0; //CS定义为P2口的第1位脚,连接ADC0832CS脚unsignedcharCH=0x02;//通道的选择:0x02就是单通道0;0x03就是单通道1;//0x00就是双通道ch0=“+”;ch0=“-”//0x01就是双通道ch0=“-”;bitflag_moshi;unsignedcharPWM=20;//赋初值//占空比控制变量voiddelayms(unsignedcharms);voiddelay(unsignedchart);ucharguangxian;//光线的显示变量ucharkey_can;/********************独立按键程序*****************/voidkey(){ staticucharkey_new; key_can=20; if((P1&0x1c)!=0x1c) { delayms(10); if(((P1&0x1c)!=0x1c)&&(key_new==1)) { key_new=0; switch(P1&0x1c) { case0x18:key_can=1;break; //左边第1个 case0x14:key_can=2;break; //左边第2个 case0x0c:key_can=3;break; //左边第3个 } } } else key_new=1; }/****************按键处理函数***************/voidkey_with(){ if(key_can==1) //设置键 { flag_moshi=~flag_moshi; } if(flag_moshi==1) //手动模式 { TR0=1; if(key_can==2)//加 { if(scale==40){PWM=255;}elsescale++;;} } if(key_can==3)//减 { if(scale==0){PWM=0;}elsescale--;}} voidtimer0(void)interrupt1//定时器0中断服务程序{staticunsignedintn;//n用来保存当前时间在一秒中的比例位置n++;//每250微秒增加1if(n==40)//1秒的时钟周期{n=0;//使n=0,开始新的PWM周期td_led=1;//使LED灯亮}if(scale==n)//按照当前占空比切换输出为高电平td_led=0;//使LED灯灭}//程序中从tt=0开始到scale为低电平,从scale开始到n=10为高电平,//由于scale是变量,所以改变scale就可以改变占空比/***********读数模转换数据********************************************************/ //请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解,本函数是模拟0832的串行协议进行的 //110通道 //111通道unsignedcharad0832read(bitSGL,bitODD){ unsignedchari=0,value=0,value1=0; SCL=0; DO=1; CS=0; //开始 SCL=1; //第一个上升沿 SCL=0; DO=SGL; SCL=1; //第二个上升沿 SCL=0; DO=ODD; SCL=1; //第三个上升沿 SCL=0; //第三个下降沿 DO=1; for(i=0;i<8;i++) { SCL=1; SCL

温馨提示

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

评论

0/150

提交评论