版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要LED技术的重大进步和智能家居的兴起引起照明系统的巨大变革,而能源的短缺也使人们越来越看重照明器具的节能效果。为了跟上时代潮流,同时也为了节约用电,有必要设计一个智能LED照明系统。设计一个电源来驱动LED平稳工作并利用ARM系列处理器来实现智能照明,是本设计要实现的目标。本设计采用Buck电路作为LED灯的恒流驱动电源,用STM32芯片作为主控芯片,用PID算法完成对系统的闭环控制,用光敏电阻确定当前环境的光照强度,通过STM32芯片进行判断和控制,调节LED灯的亮度。也可以通过手动模式来控制LED灯的开关,调节LED灯的亮度。为了让一个电源能同时驱动恒流电源和STM32芯片,设计了一个辅助电源。通过测试,该系统工作稳定,达到了题目的要求。本设计可以用于路灯、走廊、教室等公共场所,也可以用于台灯等小型照明系统。该系统在光照充足的使用环境中能降低输出的电流或者关闭LED灯,避免了在一些公共场所出现的浪费电力的现象,达到了节约用电的目的。当其用于台灯等地方时,可以给用户足够的光照,避免用户在黑暗环境下用眼,保护用户视力。关键词:LED,STM32,智能照明,开关电源AbstracSignificantadvancesinLEDtechnologyandtheriseofsmarthomehaveledtotremendouschangesinlightingsystems,andtheshortageofenergyalsomakespeoplepaymoreandmoreattentiontotheenergy-savingeffectoflightingappliances.Inordertokeepupwiththetrendofthetimesandsaveelectricity,itisnecessarytodesignanintelligentLEDlightingsystem.DesigningapowersupplytodrivetheLEDtoworksmoothlyandusingARMseriesprocessorstoachieveintelligentlightingisthegoalofthisdesign.Inthisdesign,BuckcircuitisusedastheconstantcurrentdrivingpowersupplyofLEDlamp,STM32chipisusedasthemaincontrolchip,PIDalgorithmisusedtocompletetheclosed-loopcontrolofthesystem,photoresistorisusedtodeterminethelightintensityofthecurrentenvironment,andSTM32chipisusedtojudgeandcontrolthebrightnessoftheLEDlamp.ItcanalsocontroltheswitchoftheLEDlampbymanualmodeandadjustthebrightnessoftheLEDlamp.InordertomakeapowersupplydriveconstantcurrentpowersupplyandSTM32chipatthesametime,anauxiliarypowersupplyisdesigned.Throughtesting,thesystemworksstablyandmeetstherequirementsofthesubject.Thedesigncanbeusedinstreetlamps,corridors,classroomsandotherpublicplaces,aswellasdesklampsandothersmalllightingsystems.ThesystemcanreducetheoutputcurrentorturnofftheLEDlampinthesufficientilluminationenvironment,avoidwastingelectricityinsomepublicplaces,andachievethepurposeofsavingelectricity.Whenitisusedindesklampandotherplaces,itcangiveusersenoughlight,avoidusersusingeyesindarkenvironment,andprotectusers'eyesight.KeyWords:LED,STM32,Intelligentlighting,SwitchingModePowerSupply目录10532_WPSOffice_Level11绪论 126759_WPSOffice_Level21.1课题的背景 1594_WPSOffice_Level21.2国内外发展现状 17704_WPSOffice_Level21.3课题的目的和意义 24738_WPSOffice_Level21.4主要完成的工作 226759_WPSOffice_Level12总体设计 35251_WPSOffice_Level22.1系统组成及网络结构 33441_WPSOffice_Level22.2系统工作原理 4594_WPSOffice_Level13硬件电路设计 64034_WPSOffice_Level23.1硬件总体设计 617328_WPSOffice_Level23.2辅助电源设计 612472_WPSOffice_Level23.3Buck电路模块设计 625309_WPSOffice_Level23.4控制模块设计 117704_WPSOffice_Level14软件设计 1526024_WPSOffice_Level24.1软件总体设计 1517094_WPSOffice_Level24.2软件介绍 1510074_WPSOffice_Level24.3按键判断 1516515_WPSOffice_Level24.4ADC信号采集 1612367_WPSOffice_Level24.5PWM控制 1616199_WPSOffice_Level24.6PID控制算法 174738_WPSOffice_Level15系统测试及结果 185251_WPSOffice_Level16总结与展望 2318053_WPSOffice_Level26.1总结 2314295_WPSOffice_Level26.2展望 23绪论课题的背景从二十世纪电灯被发明出来到今天,随着能源成本上升,节能成为照明工具的发展目标之一。在白炽灯、荧光灯之后,更节能的LED灯逐渐成为当今主流的照明工具。LED是英文Light-EmittingDiode的简称,其中文正式名称是发光二极管。LED作为半导体电子元件的一种,其作用是把电能转化为光能。1962年,世界上第一个红光LED被研发出来,拉开了LED照明的序幕,随后出现黄色的LED,到了1993年和1994年,蓝色、绿色的LED也被相继研制出来和实现量产,并被应用到除指示灯以外的地方,如霓虹灯等。到了1996年,由日本的日亚公司(同时也是发明蓝光LED的公司)成功开发出白光LED,让LED灯完全代替传统照明灯成为可能。LED刚开始出现时,多数被应用在模拟电路和电子机器,用作指示灯。后来,随着越来越多的不同颜色的LED被研制出来,LED开始被应用于其它领域,如交通指示灯、汽车信号灯、甚至是显示屏。但早期的LED无法用作照明器具,不仅亮度达不到照明的要求,而且相同功率下成本比白炽灯要高得多。近年来,经过人们对LED的发光材料不断深入研究和LED制造工艺的不断进步,LED的材料早已不局限于以往氮、磷等化合物,扩展到了复合材料、有机材料、硅等,以三色LED为代表的多色LED也在不断发展,各种高亮度LED更是层出不穷,最重要的是,LED的成本已经降低到人人都能接受的价格。所以,LED已经具备了进入照明领域的全部条件。LED非常敏感,普通的LED只能用几伏的电压驱动,不能直接连接220V的交流市电。因此想要把LED应用到照明系统中,就要给LED配套合适的驱动电源,使LED灯稳定工作。虽然目前的LED驱动电源发展得很快,但仍未跟上LED技术的发展。驱动电源的效率、精度等方面还有待提高,寿命更是远远比不上LED的寿命。所以设计出高品质的驱动电源对于LED照明来说至关重要。除了改进照明工具之外,智能照明控制技术在照明节能方面也发挥着越来越重要的作用。传统的照明控制方式由于不方便控制和部分人的生活习惯问题产生大量的电量浪费,而智能照明控制系统则很好的解决这个问题。智能照明系统能自动的控制灯光的开关,在需要调节亮度的时候也能自动的调节亮度,不需要人的操作,自然减少了认为因素造成的电力浪费。在照明设计中,通过运用智能照明控制系统,不仅能保证照明的稳定性和可靠性,还能节省电量,减少不必要的浪费,适合当代绿色生活的理念。智能照明系统体现社会的进步和科技的发展,是智能家居发展的一部分,也是信息时代背景下照明设计的一种必然发展趋势。智能照明在国内外的发展现状在国外,特别是西方发达国家,由于整体的生活水平较高,目前在智能LED照明市场中占据较大的分量。美国的飞利浦公司研发了多种LED灯具,其中的智能LED路灯与无线系统结合,使得几个工作人员就能监控全市路灯的状况。还有LED植物照明系统,它可以通过智能LED的光照控制植物生长的方向,加快生长速度。在澳大利亚达尔文市,全市的街道照明都已经换成无线控制的LED,并由一套中央管理系统控制。另一边,日本也开始了自己的智能照明实验,在商店街的路灯增加智能照明系统,让路灯的灯光能追踪路人的脚步,使民众在夜间出行更加安全。以上几个例子可以看出,智能照明已经融入到国外的城市规划里面,成为建设智慧城市的一部分。在国内,大规模的智能照明尚未形成主流,但智能照明的发展依然迅猛。珠海多士科技设计了一款卧室使用的智能LED灯,能感应3米内用户的起身动作,自动亮起柔光,而不是刺眼的强光,而且不会因为用户在床上的翻身动作而造成误感应。华为与欧普照明在2018年合作推出了智选读写台灯、香薰助眠灯、全彩灯泡三款智能LED产品。除了传统的照明企业,像华为、小米甚至是恒大这种地产企业也加入到智能照明的研发中。再加上国内政策的导向作用,势必会有更多的企业参加智能照明的竞争。所以,即使现在国内智能照明的发展与国外还有一定的差距,凭借着资本和政策优势,在不久之后一定会与国外照明行业齐头并进。目前,全球智能照明市场超过500亿美元,而LED驱动电源的市场也超过400亿元。与国外相比,国内智能照明不足的不是技术,更不是资金,而是品牌。就以LED的驱动电源来说,国内有400家以上具有一定规模的LED电源企业,有品牌影响力的不足10%。因此,发展智能照明不止要在技术上追赶国外,还要建立自己的品牌。课题的目的和意义智能照明在国内尚未大范围普及,大多数建筑物在照明上仍使用传统的手动开关。一些大厦可能会在楼梯或者消防紧急通道中使用声控或红外检测的灯光开关,但也只是少数。采用智能照明,一方面可以根据环境自动调节最适合的亮度,改善工作和生活环境,提高工作效率和生活场所的宜居度,另一方面通过智能开关,避免人工开关的麻烦,提高管理水平,减少照明系统运行维护的费用和人为的资源浪费。本课题紧跟当前智能LED照明的历史发展机遇,响应国家支持LED照明发展的政策,以改善人居生活环境和倡导绿色节能为目的,对行业发展、个人生活、科技提升和社会建设都有一定的积极意义。1.4主要完成的工作本课题基于智能照明的概念,设计出一个基于STM32的智能LED照明电源。分别设计LED驱动电源模块、单片机控制模块和辅助电源模块,通过光敏电阻模块采集环境光照信息,用单片机根据采集的光照信号控制占空比输出适合环境的照明亮度,并以PID算法对系统进行闭环控制。主要完成以下工作:1、查阅相关资料,制定系统设计的总体方案,研究照明控制方案和闭环控制方案。2、完成STM32最小系统、LED驱动电路模块和辅助电源的电路设计,进行原理图的绘制,完成相关电路的调试和测试。3、完成STM32的主程序、光敏信号采集部分、PWM输出部分、PID控制算法的软件设计和调试。4、整体程序与电路的综合调试。2总体设计2.1系统组成及网络结构本设计主要是设计出一个基于STM32的智能照明系统,该系统分为手动模式和自动模式。自动模式下STM32通过光敏模块得到当前环境的光照亮度,然后进行判断处理,得出应该发出的照明亮度。手动模式下通过按键来调节LED灯的亮度。2.1.1STM32最小系统系统设计首先要考虑处理器的选用。目前市场上有各种各样不同价位、不同性能、适合各种应用场景的单片机。单片机的选型,要考虑单片机的内核类型、内部和外部的存储空间大小、数据总线的位数、IO口的数量、单片机的主频和功耗以及片上资源是否满足所设计系统的应用需求。综合考虑性价比和功耗,控制系统电路中的处理器选用了目前应用特别广泛的STM32系列高性能单片机。考虑到STM32众多管脚带来的焊接工作的麻烦,以及为了简化设计的步骤,减少不必要的操作失误,我选用了市面上现成的STM32F103VET6最小系统板。2.1.2光照信号采集模块光照信号采集模块即光敏电阻传感器模块,由光敏电阻和电压采样电路组成。电路实际上是由光敏电阻和一个普通电阻串联在一起,然后在两个电阻中间增加一个采样点,组成一个采样电路,进行分压采样,从而获取到光敏电阻当前接收的光照强度。2.1.3电源电路拓扑LED驱动电源的电路拓扑选用Buck电路。Buck电路是一种降压是的直流变换电路。基本电路由开关管、续流二极管、输出滤波电感和输出滤波电容组成。如图2.1所示。图2.1Buck变换器2.1.4辅助电源为了同时给控制电路和驱动电路提供稳定的不同电压的低压直流电源,要在前面加上辅助电源。辅助电源主要是利用两个输出电压不同的开关电压调节器LM2596S,分别输出5V和12V的稳定电压。如图2.2所示,LM2596S内含150KHz的固定频率震荡器、1.23V的基准稳压器、保护电路、电流限制、热关断电路等。芯片工作在输出不可调的状态下仅需4个外部部件就可以正常工作,即使工作在输出可调状态也仅需6个外部部件,足以证明其功能的强大。另外,该芯片选用的是TO-263封装,是表贴元件,不需要加装散热片,但要在PCB上留有足够的覆铜面积以供散热。图2.2LM2596内部框图2.2系统工作原理该设计在整体上分为单片机控制部分、环境光照信号采集部分、PWM照明输出部分、辅助电源部分和电源电路拓扑部分。单片机控制部分在整个系统中主要实现控制系统的输出、实现采样数据的本地处理、系统闭环控制等功能,电源电路拓扑部分作为LED灯的驱动电源,辅助电源部分用来辅助单片机和驱动电源的输入。2.2.1单片机控制部分ARM体系结构是非常优秀的处理器体系结构,适合功能专一、性能要求较高的嵌入式系统。STM32以ARMCortexM3为内核,最高主频为72MHz。工作时,根据按键判断实行LED灯的开关、切换模式、调节亮度等操作;获取光照信号模块采集到的信息,根据获取到的光照信息分配合适的占空比进行PWM输出;获取输出端的电压电流信息,利用PID算法进行系统闭环控制。2.2.2光照信号采集部分光照信号采集部分与单片机控制部分相连接,采集环境光照信号。环境光照信号经过分压电路后送入ADC进行采样,然后在单片机的控制下通过定时器输出合适的占空比。2.2.3模数转换器工作原理ADC是英文Analog-to-DigitalConverter的缩写,中文名称是模数转换器。ADC可以将模拟信号转化为数字信号,将模拟量转化为数字量。模拟信号作为数据要输入单片机或其他需要用数字量输入的地方,需要转换成数字信号的形式。模数转换器应用范围非常广泛,在各种不同的产品中都可以找到它的身影。对于本设计的信号采集模块来说,不需要太高的分辨率,调理电路输出的信号比较纯净,幅值也满足一般ADC对输入信号的要求,所以不需要位数太高的ADC来提高对信号采样的精度。所以在该系统的信号采集部分上选择了STM32单片机上的12位分辨率的ADC对光电信号进行采样。信号经过调理电路后直连到单片机的ADC输入引脚,不仅节省了成本,而且ADC采样的控制与数据的读取都非常的方便、稳定和可靠。2.2.4PWM输出部分工作原理PWM即脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种技术。PWM的工作原理就是对电路的开关器件的开通时间和关断时间进行控制,使输出端得到一系列幅值相等的脉冲,在单位时间内这些脉冲的输出与调制前的电路输出相等。如果按照一定的规律对脉冲的宽度进行调制,就可以改变电路输出的大小和输出频率。在本设计的PWM输出部分中,STM32芯片输出的PWM控制LED驱动电路开关管的开关频率,通过改变频率的高低改变驱动电路输出电流的大小,从而控制LED亮度的大小,达到调节亮度的目的。2.2.5Buck电路工作原理在Buck电路中,输出滤波电感和输出滤波电容的作用是在开关管开通期间存储电能,在开关管关断期间充当电路的电源给电路供电,续流二极管的作用是在开关管关断期间给输出滤波电感和输出滤波电容产生的电流提供通路。Buck变换器在工作时根据开关管的通断分为2个开关模态。当开关管开通时,由电源给负载供能,并给输出滤波电感和输出滤波电容充能,此时续流二极管关断;当开关管关断时,由输出滤波电感和输出滤波电容给负载供能,此时续流二极管导通,作为开关管关断期间的电流通路。2.2.6辅助电源工作原理直流电源输入驱动电路和单片机前,先分别经过两个输出电压一大一小的稳压电路。先经过输出电压大的稳压电路,输出较大的电压,然后输出端接着电压小的稳压电路,最后输出较小的电压。3硬件电路设计3.1硬件总体设计整个系统分为STM32主控芯片、Buck电路和辅助电源3大部分。在这3大部分中,电源先连接辅助电源,然后分别连接控制芯片和Buck电路。按键模块和光敏传感器模块直接与STM32主控芯片相连。Buck电路与STM32主控芯片之间连有电压采样电路、电流采样电路和PWM驱动电路。STM32通过电压采样电路和电流采样电路对输出的电压和电流进行采样,判断输出是否达到期望的电压电流值,如果没有达到期望就控制调节PWM的输出,改变输出的电压电流值,使输出达到期望值。3.2辅助电源设计将13V-36V的直流电源接入辅助电源,就能分别输出12V和5V的直流电。12V输出作为Bcuk电路的输入,而5V输出作为驱动STM32芯片的电源。因为两个输出值都是固定的,所以电路采用LM2596典型应用电路的固定输出样式,即由两个电容,一个电感和一个二极管组成的电路。同时,为了方便和节省资源,将12V输出也作为5V输出电路的输入,让两个电路串联起来。在输出端和输入端接上型号为KF-301的接线端子,方便连接电源和其他电路。辅助电源的PCB图3.1所示,电路拓扑及元件参数如图3.2所示。图3.1辅助电源PCB图图3.2辅助电源电路拓扑及元件参数3.3Buck电路模块设计在Buck电路模块中,包含Buck电路、PWM驱动电路、电压采样电路和电流采样电路。其中PWM驱动电路用于控制调节Buck电路中的开关管,电压采样电路和电流采样电路负责采样输出的电压和电流并将采样信息传送到STM32主控芯片。Buck电路模块总体布局如图3.3所示。图3.3Buck电路模块PCB图3.3.1Buck电路设计Buck电路的主要功能是作为一个恒流源,输入12V的直流电压,输出0-350mA的电流,具体输出值由STM32控制的PWM驱动电路输出的PWM值决定。实际上电路输出的电流值能大于350mA,但是LED灯的特性决定了它不能通入太大的电流,所以在主控芯片STM32中用程序限制了最大输出电流为350mA。输出滤波电感大小为220uH。输出滤波电容大小为470uF。功率开关管选用N沟道的功率场效应管IRF3205,其漏极连续电流ID为110A,漏极峰值电流IDM为390A,门极电压为±20V,开关时间为230ns,通态电阻为8mΩ。IRF3205引脚图如图3.4所示。图3.4IRF3205引脚图续流二极管选择肖特基二极管SS54,耐压值为40V,额定电流为5A。Buck电路的拓扑及元件参数如图3.5所示,J1为电源输入端口,J2为电源输出端口,IN+为电流采样点,VO为电压采样点。图3.5Buck电路拓扑及元件参数3.3.2PWM驱动电路设计PWM驱动电路使用IR2104半桥驱动器。通过主控芯片STM32传来的使能信号和PWM信号来控制IR2104,从而控制Buck电路里的功率开关管IRF3205的开通时间和关断时间,达到控制Buck电路输出的目的。IR2104的耐负瞬态电压最大为600V,ton与toff典型值分别为680ns和150ns,死区时间的典型值为520ns,栅极驱动电压为10V-20V。其内部框图如图3.6所示。图3.6IR2104内部框图PWM驱动电路采用的是IR2104的典型连接电路,虽然IR2104有两个输出端,但是在本设计中只需要驱动一个功率开关管,所以需要连接一个输出引脚,即HO脚,令一个输出引脚LO脚不连接电路。PWM驱动电路的电路图如图3.7所示。其中,J3端口为信号与电源输入端,1-5分别为GND、12V、PWM信号、芯片使能信号、GND。接收芯片使能信号的SD脚高电平使能IR2104芯片,低电平IR2104芯片不工作HO脚无信号输出。图3.7PWM驱动电路3.3.3采样电路设计电流采样电路选用INA193电流检测器。INA193是德州仪器公司在2004年推出的产品,被广泛用于用于笔记本电脑、通信设备、汽车、电流充电器及电源管理等。INA193的主要特点为:共模电压范围宽,从+16V到+80V;高精度,在工作温度范围内误差小于3%;带宽达500KHz;小尺寸封装,工作温度范围为-45℃~+125℃;工作电压+2.7V到+13.5V;工作电流最大为900μA,功耗低;输出电压正比于监测电流,监测范围大[1]。INA193的内部电路框图及典型应用电路如图3.8所示。图3.8INA193的内部框图及典型应用电路在本设计中,采用INA193的典型应用电路对Buck电路的输出电流进行采样监测。在采样点串联一个0.05Ω的电阻,然后将INA193的正负输入端与采样电阻的两端相接。INA193得到电流检测电阻两端的电压后,经过芯片内部电压增益,在输出端输出增益后的电压。在输出电压的增益公式中,LS是监测的电流,RS是电流检测电阻的阻值,LS与RS的乘积为电流检测电阻两端的电压,RL是INA193内部的电阻,为100kΩ。根据公式,INA193的电压增益为20倍,又因为电流检测电阻为0.05Ω,所以输出电压大小的值等于监测电流大小的值。电流采样电路图如图3.9所示。图3.9电流采样电路电压采样电路采用简单的分压采样电路。在输出电压采样点分别串联一个10kΩ的电阻和一个1kΩ的电阻,将两个电阻中间的电压值作为采样值输出。实际电压值为采样值的11倍。电压采样电路如图3.10所示。图3.10电压采样电路3.4控制模块设计在该模块中,STM32芯片作为整个控制模块的核心,根据由按键模块、光敏传感器模块和输出采样电路传来的信号,判断当前系统状态,分配合适的占空比来控制PWM输出。3.4.1STM32最小系统设计本设计选用集成了STM32F103VET6的最小系统板,最小系统如图3.11所示。该芯片由世界十大半导体公司之一的意法半导体公司出品。STM32F系列属于中低端的32位ARM微控制器,以Cortex-M3为内核,功耗低,处理能力强,为LQFP100封装。设计时,处于方便使用已有的STM32F103VET6,但在本设计中只使用了电源接口、ADC等很少一部分功能和接口。所以在实际生产应用中可以使用资源更少的芯片来应对生产需求,从而降低生产成本。图3.11STM32最小系统STM32的最小系统相对于其他较高端的ARM处理器来说比较简单,该系统外接一个8MHz的无源晶体振荡器到STM32芯片的OSC_IN脚和OSC_OUT脚,经过STM32芯片内部锁相环倍频到72MHz后提供给单片机内核。STM32的复位电路由一个RC电路和与电容并联的按键组成,复位引脚NRST接在复位电路的电阻与电容之间,NRST引脚保持一段时间低电平即可使STM32复位。在STM32芯片刚上电时,由于电容还没有容纳电荷,5V电源经电阻R9对电容C23充电,可以近似地看成5V电源与地之间形成回路,NRST引脚上的电平被正在充电的电容拉低。当电容充满电的时候,回路断开,NRST引脚上的电平被拉高,STM32芯片跳出复位状态开始正常工作。在系统调试时,如果需要复位,只需按下复位按键,将NRST引脚上的电平强制拉低,STM32芯片便可完成复位。值得注意的是,只有在STM32芯片的BOOT0和BOOT1引脚都是低电平的状态下,STM32芯片才能正常启动。但是在烧写程序时,BOOT0引脚要处在高电平状态才能选择相应的启动模式来烧写程序。所以在系统中将BOOT0和BOOT1引脚均接一个100K的电阻将电平拉低,烧写程序时,在BOOT0端口上外接5V电源电压就可以完成程序的烧写。3.4.2光敏传感器模块设计光敏传感器模块如图3.12所示,R7为1KΩ电阻,R6为光敏电阻。当环境光照强度越大,光敏电阻的阻值就越小,反之就越大。通过读取该电路的电压,就可以得出当前环境光照强度。光强信号采集电路的采样端连接在STM132芯片的PC2引脚上面,使用5V电源供电。图3.12光敏传感器模块3.4.3功能按键模块设计STM32芯片的特点之一是所有的IO口都可以作为中断源。在该系统中,设置了4个用户按键。KEY1是LED灯的开关,KEY2是工作模式的切换,KEY3和KEY4用来在手动模式时手动增减LED灯的亮度。KEY1、KEY2、KEY3、KEY4分别用RC电路连在PB12、PB13、PB14、PB15上,低电平有效。当有某一按键被按下时,IO口被拉低到低电平,这时IO口上产生一个下降沿,STM32芯片检测到按键,跳转到相应的程序中进行处理。按键与STM32的接口电路如图3.13所示。图3.13按键与STM32的接口电路4软件设计4.1软件总体设计软件部分选用MDK5进行设计。软件模块包括main、delay、adc、pwm、timer、key、led等。整个系统包括输出电压电流信号和光照信号的采集、PID控制算法以及占空比输出。STM32实现对信号采集点的控制,对于信号的采集涉及到ADC,而对于占空比输出涉及到PWM、TIM。上电之后,等待按键按下,如果KEY1按下,则LED灯打开,然后每隔40ms判断一次按键,直到再次检测到有按键按下;如果按下KEY2则在手动模式和自动模式间切换;在手动模式下,如果按下KEY3降低亮度,按下KEY4则是增加亮度。按键检测完后还会检测LED灯的电压,如果电压超过8V,则触发警报使LED灯闪烁。检测到KEY1被按下后,先打开LED灯,然后检测系统处于何种模式。如果计入手动模式,LED灯保持打开。系统检测用户设定的亮度并改变流过LED灯的电流,从而改变LED灯的亮度。调节亮度按钮每按一次增加或减少LED灯20mA的电流,电流调节的范围为50mA到350mA。如果进入自动模式,先检测当前环境光照强度。如果足够亮,则关闭LED灯;如果当前环境亮度不够,则保持LED打开,并根据当前的环境光照强度改变LED灯的亮度。4.2软件介绍MDK是RealViewMDK的简称,由KeilSoftware公司开发出来。本设计使用的MDK版本是MDK5.14。该版本使用的μVision5IDE集成开发环境很适合本设计,也适用于以前版本的开发项目,不过要自己去官网下载一些支持包。MDK5由MDKCore和SoftwarePacks两部分组成。MDK适合不同技术水平的开发者使用,包含许多组件,支持所有基于ARM的设备,能帮助开发工程师更好地完成开发工作。4.3按键判断首先用KEY_Init初始化按键输入的IO口,然后开启按键端口的时钟,之后设置PB12、PB13、PB14、PB15分别对应KEY1、KEY2、KEY3、KEY4,端口模式为输入上拉模式,最后初始化对应端口。本电路的按键可以一直按着并连续触发。当检测到KEY1、KEY2、KEY3、KEY4中某一个按键被按下时,4个按键分别对应的Button1、Button2、Button3、Button4中被按下的那个就会被赋值1。配合主程序中的if语句,从而达到KEY1控制LED灯开关,KEY2控制模式切换,KEY3和KEY4控制手动模式下亮度的功能。在完成一次按键动作后,Button的值变为0,直到下一次的按键动作。按键处理函数的流程图如图4.1所示。图4.1按键处理流程图4.4ADC信号采集ADC信号采集通道选用ADC1。ADC信号采集使用了ADC_Init和get_ADC这两个函数。ADC_Init用来初始化ADC信号采集的IO口,get_ADC用来获得ADC的值。将ADC的时钟配置为PCLK2的8分频,即9MHz。对ADC的模式进行配置,设置ADC的模式为独立ADC模式、不使用外部触发转换、采集数据右对齐、要转换的通道数目为4。配置ADC1的通道10/11/12/13为7.5个采样周期。ADC值转换成电压值、电流值的关键程序如图4.2所示。图4.2ADC转换为电压值和电流值4.5PWM控制本设计使用TIM4定时器的通道3和通道4,即STM32芯片的PB8和PB9引脚。PWM的频率设置为48KHz,计数上限为1500-1。设置用来作为TIM4时钟频率除数的预分频值为0分频。设置时钟分割:TDTS=Tck_tim。设置计时器向上计数。设置待装入捕获比较寄存器的脉冲值为0。定时器模式为脉宽调制模式,因为是向上计数,所以当TIMx_CNT<TIMx_CCR*时,输出电平才有效。使能TIM4在ARR、CCR3和CCR4上的预装载寄存器。在主程序中设定PWM的初始值为600,最小值为5,最大值为1200。4.6PID控制算法在本设计中,利用PID控制算法,根据期望电压(电流)值跟采集到的实时电压(电流)值求误差。PID控制器通过此误差值求出PWM值,输出调节BUCK电路,即可使实时电压(电流)值达到期望值。根据偏差的比例(P)、积分(I)、微分(D)进行控制(简称PID控制),是控制系统中应用最为广泛的一种控制规律[2]。比例控制虽然不能消除稳态误差加大比例系数还会引起系统不稳定,但可以迅速地反应误差,从而减小误差。积分控制用来消除残差,但是太强的积分控制会加大系统超调,引起系统振荡,可以通过积分分离、抗积分饱和、梯形积分、消除积分不灵敏区等措施改进积分控制。微分控制有利于减少超调、提高系统稳定性,改善系统动态性能,但是微分控制过于灵敏,容易引起控制过程的振荡。要改进微分控制,可以在输出串联一个惯性环节,组成不完全微分PID控制器,或者只对被控量微分,不对偏差微分,避免给定值的升降给系统带来的负面影响。在主程序中,PID控制算法的比例系数、积分系数和微分系数分别为0.42、0.00、0.00。PID的关键代码如图4.4所示。(4-1)(4-2)图4.4数字PID控制增量型控制算式5系统测试及结果单片机系统的测试有很多种,如串口测试、JTAG在线测试,或者利用一些显示设备,如TFT-LCD、数码管、LED指示灯和蜂鸣器等。尽管有多重多样的测试方式,但是系统测试的最终目的只有一个,就是验证系统能否正常工作,是否达到预期的效果。在该系统的调试过程中,主要利用直流电源作为电源输入以及用LCD1602显示系统的照明模式、LED的实际电压和电流和系统设定的电流值。实际上显示屏对于系统的运作没有太大作用,但为了让测试结果能更直观地显示出来,在STM32最小系统上安装了LCD1602模块,并编写了驱动程序。系统整体实物图如图5.1所示。图5.1系统整体实物图首先,将直流电源的正负两端接在预先流出来的电源接口,如图5.2所示。下方接口是正极,上方接口是负极。电路允许接入13V-36V的直流电源,本次测试接入的是15V的直流电源。上电之后,STM32最小系统的LED指示灯点亮,显示屏通电。在显示屏上,S表示当前系统设定的LED电流值,I表示当前LED的实际电流值,V表示当前LED的实际电压值,OFF表示当前LED灯处于关闭状态,Manu表示系统处于手动模式。实际效果如图5.3所示。图5.2接入直流电源图5.3显示屏信息按下KEY1,LED灯打开,从显示屏可以看出,LED灯状态指示变为ON,当前工作在手动模式,电流设定值为150mA,LDE灯的实际电流值为148mA,实际电压值为6.08V。实际效果如图5.4所示。图5.4手动模式演示效果按下KEY4,增加设定的亮度,每按一下设定电流值增加20mA,连续按下KEY4达到最大亮度。如图5.5所示,电流设定值达到最大的350mA,继续按下KEY4也不会再继续增加。此时LED灯的实际电流值为350mA,实际电压值为6.48V。图5.5最大亮度按下KEY3,减小设定的亮度,每按一下设定电流值减小20mA,连续按下KEY3达到最小亮度。如图5.6所示,电流设定值达到最小的50mA,继续按下KEY3也不会再继续减小。此时LED灯的实际电流值为52mA,实际电压值为5.60V。图5.6最小亮度按下KEY2,切换成自动模式,显示屏的右上角出显示为Auto。系统根据光敏电阻模块受到的光照强度调节LED的亮度。如图5.7所示。图5.7自动模式用手完全遮住光敏电阻模块,模拟黑暗环境。此时光敏电阻没有受到光照,系统自动将LED
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度云南省高校教师资格证之高等教育心理学题库练习试卷A卷附答案
- 2024年度云南省高校教师资格证之高等教育法规题库与答案
- 2024年度云南省高校教师资格证之高校教师职业道德全真模拟考试试卷A卷含答案
- 低空经济产业机遇与挑战
- 2024年医用材料制造项目资金需求报告代可行性研究报告
- 赣南师范大学《地理科学导论》2021-2022学年第一学期期末试卷
- 江西省宜春市上高二中2025届高三上学期10月月考试题 物理 含答案
- 阜阳师范大学《书法》2022-2023学年第一学期期末试卷
- 汽车修理工(高级)试题题库及答案
- 福建师范大学《组织行为与人际技巧》2023-2024学年第一学期期末试卷
- 公开课听课教师签到表
- 开展新技术、新项目科室内讨论记录
- 主题班会-同学情教学课件
- 道德与法治《健康看电视》优秀课件
- 泌尿系统完整结构培训课件
- 规培体表肿物切除术
- 新教材北师大版高中数学必修一 2.3函数的单调性和最值 课时练(课后作业设计)
- DB32∕T 943-2006 道路声屏障质量检验评定
- 四年级(上册)综合实践活动课教学案(贵州科学技术出版社)
- 腹泻教学课件
- 中考体育篮球运球考试规则与练习方法(附场地图)
评论
0/150
提交评论