版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
激光器电源的高精度温度控制器系统与算法的研究摘要激光器是二十世纪最重要的发明之一,激光器的使用极大地改变了人们的生活方式。但是在实际生产生活中,在稳定性、耐用性等方面对激光器要求极为苛刻,特别是在温度控制系统方面。温度的极小偏差会导致激光器输出的波长以及频率受到影响,从而影响正常使用。一般来说,温度改变1摄氏度,波长改变0.2-0.3nm,因此需要实现对激光器电源温度的高精度控制。本文主要设计了一种高精度温度控制系统。在算法方面,本设计采用了模糊PID控制算法,该算法兼具了模糊控制的强抗干扰能力以及PID控制算法消除稳态误差两者的优点。同时,该算法通过了在MATLAB软件SIMULINK工具箱进行系统仿真论证。最后根据仿真结果,搭建了以STM32为控制核心的温度控制系统,并且通过精密调节TEC的电流大小和方向,实现了对温度的高精度控制。关键词:激光器;STM32;模糊控制;PID控制TheResearchofAlgorithmandProgrammingonTemperatureControlSystemofLaserDiodeAbstractLaserisoneofthemostimportantinventionsofthe20thcentury,andithasvastlychangedpeople'slifestyle.However,it’sextremelydemandingintermsofstabilityanddurabilityinactualproduction,especiallythetemperaturecontrolsystems.Inaddition,eventhoughthelittlechangeoftemperaturewillaltertheoutputoflasers’wavelengthandfrequency,thenaffectingnormaluseoflaser.Accordingtothedata,foreachdegreeCelsiusofthetemperatureofthelaser,0.2-0.3nmofthewavelengthwillalter.Therefore,itisnecessarytocontrolthetemperatureoflaserdiodewithhigh-precision.Thispaperpresentsahigh-precisiontemperaturecontrolsystemofthelaser.Inalgorithmandprogramming,thelaserusesthefuzzyPIDcontrolalgorithm,whichhasboththestronganti-interferenceabilityoffuzzycontrolandtheadvantagesofPIDcontrolalgorithm.Totakeitastepfurther,thealgorithmhasbeendemonstratedintheSIMULINKtoolboxofMATLABsoftware.Finally,accordingtotheresultofsimulation,atemperaturecontrolsystemwithSTM32asthecontrolcorewassetup,andtheprecisecontrolofthecurrentanddirectionoftheTECwasachievedhigh-precisiontemperaturecontrol.Keywords:Laser;STM32;fuzzycontrol;PIDcontrol目录1前言 11.1本设计的目的、意义及应达到的技术要求 11.2本设计在国内外的发展概况及存在的问题 11.3本设计应解决的主要问题 22激光器电源温度控制系统算法的研究 22.1PID控制原理理论 22.2智能控制 42.3系统算法设计 93温度控制系统的设计 103.1温控系统总体框架 103.2温度系统硬件总体介绍 113.3单片机软件处理模块设计 134系统仿真 154.1MATLAB及SIMULINK的简介 154.2系统仿真过程 15总结和展望 18参考文献 20谢辞 21附录 22 PAGE251前言20世纪90年代末,伴随着工业革命以及Internet的逐步普及,各大工业领域繁荣发展,其中,光纤通信行业在整个领域中呈现发展迅猛的状态,光电子行业的繁荣对经济、科研、军事、医疗等各个领域起着不可替代的作用,工业的发展越来越离不开激光器。其中由砷化镓、砷化镉、硫化锌等半导体材料作为工作物质的半导体激光器受到人们的大力欢迎,其效率可以达到20-40%,同时它具有转换效率高、集成度高、体积小、价格低等优点,成为了信息技术领域中必不可少的核心器件,并且它被广泛应用于光纤通信、光盘、激光雷达等[1]。半导体激光器是将电子转化为光子的器件,在工作过程中常常会伴有各种非辐射以及各种载流子的损耗。这种损耗会导致激光器电源温度上升,系统温度的上升进而导致激光器的输出波长以及光损耗等各个方面受到严重影响。在目前量产的半导体激光器中,在电流恒定且环境湿度恒定的情况下,激光器电源系统温度每升高一度,激光器输出的波长会大约增加0.2-0.3nm[2]。同时,由于激光器工作过程中热损耗很大,这种损耗大约占总功耗的50%-70%,若没有及时地温度下降措施,会导致芯片温度快速升高,造成系统不稳定以及寿命降低,所以给激光器电源一个稳定并且快速的温度控制系统非常重要。在目前激光器的发展中,由于温度控制精度的限定,激光器的应用在未来还有广泛的空间。因此,需要不断设计并实验,不断提高激光器温度的控制精确度。1.1本设计的目的、意义及应达到的技术要求在实际生产生活中,大部分工业控制系统采用PID控制系统或者模糊控制系统。但是由于实际生产往往具有很多不确定的因素,上述两种控制模式均存在一定的局限性,例如PID控制器较难建立精确的数学模型,模糊控制难以消除稳态误差。在这种情况下,设计一种新型的控制系统,对控制理论实际应用发展有着非常重要的意义。1.2本设计在国内外的发展概况及存在的问题国内外很多公司、学校以及研究所都致力于提升激光器输出波长的稳定性及系统的耐用性,并不断改善半导体激光器的温度控制系统的核心控制算法。目前,国外如WAVELENGTH、THORLABS等公司生产的激光器温度控制系统分辨率可以达到0.001摄氏度,长期稳定性控制在0.005摄氏度以内,并且具有性能高、价格低等特点[3]。相比之下,国内生产的激光器温度控制系统测温精度只能达到0.02摄氏度左右,分辨率较低,需要大力改进,同时半导体激光器系统的工作稳定性、可靠性、算法等方面都需要改善,才能让激光器得到更加广泛的应用。半导体激光器发光原理是根据固体的能带理论,通过一定的激励使得能带与杂质能级之间产生受激反射作用,采用载流子复合发光的方式[4]。这种发光方式导致了半导体激光器在工作时会产生较多热量,而这部分热量如果没有得到及时得散发,将会影响系统主控板的温度,导致系统不稳定,从而导致LD的输出功率和波长受到影响,除此之外,也影响设备的使用年限。故为了能够让半导体激光器输出稳定在目标输出波长,需要精确控制激光器LD二极管的温度,在温度出现波动能够及时调整,严格减少LD输出工作波长的波动。因此,为了能够让半导体激光器得到更进一步的应用,需要致力于改善激光器的温度控制系统,根据自动控制理论,不断开发新算法,实现高精度温度控制。除此之外,提高半导体激光器温度控制精度、设计更优控制算法,不仅能够提高激光器的应用,同时也能促进信息、航空航天等领域的发展,同时对光通信等行业的进一步发展有着深远的学术价值。1.3本设计应解决的主要问题本文主要对激光器温度控制算法的研究,预期控制精度达到0.1摄氏度。本设计首先基于自动控制理论,设计温度控制模型,在此基础上研究目前工业上使用较多的PID算法、模糊控制算法,以及查阅文献了解目前温度控制系统的算法优化情况,通过分析各个算法的优缺点,以及结合工程上会出现的情况,设计了一种模糊PID控制算法。同时分析激光器在工程实际生产中可能会出现的一些干扰情况,最后在MATLAB中的SIMULINK工具下模拟仿真算法对温度模型的控制效果,并且通过实物调试,不断优化,从而实现对激光器电源的高精度温度控制,达到预期目标。2激光器电源温度控制系统算法的研究(1)本文在充分了解恒温控制系统的控制需求后,通过查阅相关资料,并根据自动控制原理,设计半导体激光器温度控制系统,运用MATLAB软件功能下SIMULINK功能建立仿真模型,并不断优化算法。经过仿真,不断优化参数,最终得到兼具调节时间较短,超调量小,无稳态误差的高精度温度控制系统,以保证激光器输出可靠、稳定的波长。(2)本设计采用STM32f103作为主控芯片,使用半导体TEC的制冷和加热功能调节系统温度,根据设定温度以及实际温度,单片机输出控制信号改变TEC工作的电流大小和方向,不断对激光器电源温度系统的温度进行调整至设定温度,确保激光器处于正常的输出状态。本设计主要研究PID算法、模糊控制算法及模糊PID算法,运用传递函数的形式,分析他们各自的控制精度以及优缺点,最终确定最优的传递函数。2.1PID控制原理理论在平时生产中,为了提高生产效率以及减少人力成本,同时完成复杂繁琐精密的工作,经常会应用自动控制系统来提高效益。在自动化控制系统中,有反馈控制、前馈控制、顺序控制等方式,其中PID控制系统是前馈控制系统是实际生产中非常常用的一种控制系统,其控制全称为比例积微分控制[5]。根据PID系统的属性,它的算法较为简单且鲁棒性好,同时又因为它具有可靠性高的优点,故PID算法深受研发人员的青睐,被广泛运用于精度要求不高的工业控制中。在实际的应用领域中,PID控制系统的设计一般都是在微控制器或者计算机的条件下进行,根据控制要求,调节PID控制器的三个参数,调整并优化控制系统。2.1.1PID控制原理介绍PID控制系统是闭环控制中的一种,系统运行时根据被控对象反馈控制信号进行调节,其结构主要由PID控制器、执行器、受控对象等部分组成,其具体流程图如图2-1所示。其中PID控制器由比例环节、积分环节、微分环节三个环节线性叠加组成。在设计过程中,通过不断验证并优化这三个环节的参数,达到稳定性、快速性、准确性三个要求的最优效果。图2-1PID控制流程图PID属于线性控制器的一种,一般以偏差值作为输入信号,其中偏差值e(t)由期望值r(t)和实际输出y(t)相减得到et微控制器将获得的偏差值进行比例、积分、微分运算,计算完成后将获得的三个值进行线性组合构成控制量,输出到被控对象,以改善系统的动态性能,其控制算法可以表示为:u表示为传递函数的形式为:G其中,Kp为比例系数,TI为积分时间常数,比例调节作用:比例调节起到了信号放大的作用,在控制过程中,比例控制部分加快系统响应速度。在系统偏差产生的时候,比例环节的运用使被控量朝着偏差减小的方向调整,使系统能够稳定地输出所需信号。比例系数太小会导致系统调整力度较小,在出现较大干扰的情况下,无法及时恢复设定值,调节时间较长;而增大比例系数可以增强系统的灵敏度,但是过大的比例系数会增加系统震荡次数,导致系统稳定性大幅降低。同时,仅靠比例环节几乎很难达到系统理想的控制状态,在系统只存在比例环节控制的时候,系统会存在稳态误差,动态性能较低。积分调节作用:积分环节在控制过程中主要起到一个消除稳态误差的作用。积分环节的运用能够提高系统的无差度,但是积分调节与比例环节存在一个90度的相位滞后,会使得系统稳定性相对降低。在设备工作过程中,系统不断比较设定温度值于系统温度值,只要二者存在偏差,积分器便会一直作用。在积分调节的运用中,需注意积分环节会使调节器和调整反应速度降低。微分调节作用:微分环节具有超前调节的能力,它的相位比比例控制超前90度,能够预知系统偏差的变化趋势,能够较好地缩小系统地调节时间,当系统偏差速度变化的时候,微分环节朝偏差速度减小的方向起作用。2.1.2PID控制算法的改进由于计算机只能处理量,故计算时需要对PID算法进行数字化处理,系统运行中需要不断对e(t)进行累积,会造成系统计算量过大,因此需要将位置式PID算法优化为增量式PID算法,即:∆增量式PID算法不仅能够减少处理器的计算量,同时由于该算法的控制量只是由最近几次采样值确定,因此增量式PID控制算法能够较为准确地判断系统当前地状态,进一步的能够获得较好的输出状态。并且当系统不稳定,处理器计算存在误差或计算精度较低时,由于输入参数只是最近几次采样值的偏差,故对控制对象的影响较小,动态性能提升,使得系统的抗干扰能力得到提高。参数整定是PID控制中最核心的部分,也是PID算法中最复杂的部分,不同的参数整定方法直接反应系统的调节精度及品质。其中整定方法中较为常用的主要有动态特性参数法、临界比例度法、经验试凑法等,在实际应用中,需要被控量的输出波形,多次调试直到获得较满意的控制参数[6]。2.2智能控制智能控制代表着工业的发展水平,从二十世纪中叶以来,自动控制理论经历了“经典控制理论”、“现代控制理论”、“大系统理论”和“智能控制理论”四大阶段,并且在工程中得到广泛运用[7]。随着工业4.0的普及和机器人更多地取代人类的工作,智能控制的蓬勃发展是当今社会发展的必然趋势。智能控制是一门新兴的多学科控制技术,由于它控制精度更高、控制更加智能,在成熟的控制系统中得到越来越多的运用。智能控制包含了模糊控制、神经网络控制、专家控制、遗传算法等多种控制技术,在工程中根据控制需求选择合适的智能控制算法,并且根据实际控制效果不断调整,更进一步提高生产效率与生产质量。2.2.1模糊控制在实际的生产过程中,工程设备常常会出现未知的、不确定的、不规则的干扰,因此常规的控制模型是难以适应这种模式的。但根据生活的各种不规则之中又存在着一些确定的关系。模糊控制是在建立模糊模型的基础上,根据fuzzy理论,将确定性领域扩大到模糊领域,运用模糊语言及模糊推理手段,实现系统稳定输出的控制算法[8]。其中,系统模糊模型需要运用到模糊语言和规则描述知识,根据人的手动决策运用语言加以描述并总结成if……then语句,它们反映了一个系统的动态特性并且影响着系统的性能指标。在传统的控制系统中,控制器的设计要基于确定的参数的数学模型,使用模型对实际工程进行模拟,但是在实际生产运作中,存在很多来自外界的,不确定的干扰,这些常常使我们的控制系统变得不稳定,建立精确的数学控制模型显得十分困难。因此,设计一种模糊控制的数学控制模型有着非常大的意义。一般来说,模糊控制系统由模糊控制器、输入输出接口装置、广义对象以及传感器四部分组成,其基本结构图如图2-2所示。图2-2模糊控制系统基本结构图模糊控制器:模糊控制器以模糊推理为基础,在系统中起模糊决策的作用,是整个模糊控制算法中最核心的组成成分,它的主要部分是微型计算机或微型控制器,在系统运行中起着数据处理的作用。在实际的工程运用中,可以跟据控制精度选择合适的控制器,控制器可以是单片机,本设计中使用的是STM32单片机。输入输出接口装置:获取传感器传回的数字信号,根据模糊计算规则,将具体数据进行模糊化处理得到模糊输入信号,并传送到模糊控制器进行处理运算后,输出控制信号,最终通过执行器控制被控对象。广义对象:广义对象由被控对象和执行机构两大部分构成。其中被控对象通常带有各种不确定干扰,这些干扰会导致输出的不稳定。执行机构的作用为根据传感器获取的被控对象的变化,迅速、准确将被控对象调整为正常状态。传感器:传感器是获取被控对象参数的一种装置,将获取到的测量信息进行处理、传输和存储等,通常将非电量转化为电信号。在各种类型的控制过程中,传感器起着至关重要的作用,它读取系统当前状态的准确性将直接影响系统的控制精度。模糊控制系统需要实际的工程经验建立模糊规则,并根据工厂中工程师的控制决策建立模糊决策,这个模型的建立需要长期的积累,因此,模糊控制系统的控制质量很大一部分取决于模糊规则的制定以及最终的模糊决策。2.2.2模糊控制器在模糊控制系统的设计过程中,核心部分是模糊控制器的设计,该控制器模仿人工控制的工作方式大大提高了控制质量。在工作过程中,它起到将输入信号进行模糊化处理,以及进行模糊推理合成和解模糊的作用,其基本结构图如图2-3所示。功能具体实现过程,首先是将传感器得到的以及计算机获得的精确量数字信号转化为模糊量信息;然后跟据在工程实际生产中研发人员的控制经验或者策略对模糊量信息进行模糊推理及模糊处理,再由系统输出接口输出控制的精确量信息;最终输出的精确量控制信息传送给执行器作用于被控对象,使控制系统正常工作。图2-3模糊控制器基本结构图模糊控制器的输入变量的维数影响着系统的控制精度,在实际工程中,模糊控制器输入维度越高能够直接使得系统控制精度越高,在此情况下,模糊规则的设计及模糊决策的设计会更复杂,比较难实现。因此在一般情况下,研发人员选用二维模糊控制器进行系统控制[9]。2.2.2模糊PID控制技术传统的PID能够消除稳态误差,并且具有简单、稳定性好等优点,但是它不能在线整定参数,故它无法很好地适应非线性、时变系统。而模糊控制能够对计算机获得的数据进行模糊化处理,但是它很难消除系统的稳态误差,模糊控制的设计缺乏系统性,动态品质较差,难以达到高精度的控制要求。在高精度的工业控制中,如果将PID与模糊控制算法相结合,二者所形成地模糊参数自整定PID控制器便很好地解决了上述问题。此过程需要根据控制经验,建立模糊控制的隶属度函数对增量式PID的三个参数进行整定。模糊PID的控制思路:首先根据温度传感器传回的系统温度以及系统预先设定好的温度进行处理,得到温度差e(t)以及温度差变化率d∆(e),然后通过模糊pid算法,选取较为合适的KP、具体实现过程如下:(1)创建模糊PID控制器在模糊PID控制中,输入信号e(t)为:e误差变化率d∆(e):d本设计首先假设误差e(t)论域为(-3,3),即误差e(t)的具体值只可取在-3到3之间,然后将温度差划分模糊等级为{NB(负大),NM(负中),NS(负小),ZO(适中),PS(正小),PM(中),PB(正大)}左右对称的7级。第二步对温度差变化率d∆(e)作同样的操作,将d∆(e)论域设为(-1,1),模糊等级{NB,NM,NS,ZO,PS,PM,PB}。则获得输入量的表为:论域模糊等级e(t)(-3,3){NB,NM,NS,ZO,PS,PM,PB}d(-1,1){NB,NM,NS,ZO,PS,PM,PB}表2-1输入量与模糊等级表对于Kp,Ki,Kd三个输出量的表为:论域模糊等级K(0,10){ZO,PSPM,PB}T(0,10){ZO,PSPM,PB}T(0,10){ZO,PSPM,PB}表2-2输出量与模糊等级表 (2)建立隶属度函数隶属度函数是用于表征模糊集合的数学工具。隶属函数的设计有很多种,一般有高斯型、一般钟型、梯型、三角形等类型,不同的隶属度函数对控制效果产生不同的影响[10]。本设计根据专家经验法采用三角形隶属度函数,函数关系如图2-4所示:图2-4三角形隶属度函数规则图 (3)创建模糊规则表根据上述步骤所建立的三角型隶属度函数,创建误差与误差变化率的模糊规则表,具体如表2-3所示。KP、KI、KDE(t)NBNMNSZOPSPMPBd∆(e)NBPB、ZO、PSPB、PS、PSPM、PB、PMPS、PB、PBPM、PB、PMPB、PS、PSPB、ZO、PSNMPB、ZO、PSPB、PS、PSPM、PB、PMPS、PB、PBPM、PB、PMPB、PS、PSPB、ZO、PSNSPB、ZO、PSPM、ZO、PMPS、PM、PBZO、PB、PBPS、PM、PBPM、ZO、PMPB、ZO、PSZOPB、ZO、PSPM、ZO、PMPS、PM、PBZO、PB、PBPS、PM、PBPM、ZO、PMPB、ZO、PSPSPB、ZO、PSPM、ZO、PMPS、PM、PBZO、PB、PBPS、PM、PBPM、ZO、PMPB、ZO、PSPMPB、ZO、PSPM、PS、PSPM、PB、PMPS、PB、PBPM、PB、PMPB、PB、PSPB、ZO、PSPBPB、ZO、PSPM、PS、PSPM、PB、PMPS、PB、PBPM、PB、PMPB、PS、PSPB、ZO、PS表2-3模糊控制规则表2.3系统算法设计系统首先通过温度传感器读回的模拟信号,进行AD转换,获取系统当前温度值与系统温度的设定值进行比较,通过微控制器计算得出温度偏差以及偏差变化率的精确量。将上述步骤获得的结果作为模糊控制器的输入,通过对此精确量进行模糊化,并经过微控制器预先储存好的模糊规则以及模糊运算等各个步骤,最终获得PID的三个控制参数;通过PID计算后,输出对TEC的控制量。算法系统框图如2-5所示。图2-5模糊自整定PID参数控制系统框图2.3.1模糊化模糊PID控制系统中,模糊控制器的作用为输出PID控制的三个参数,其工作过程使用的是模糊量数值。控制器通过对模糊量的运算合成等方式,实现对系统的控制,而计算机读取的数据为精确值,故需要对计算机的精确量进行模糊化处理。模糊化的具体过程首先是将系统中温度传感器采样到的值变成模糊语言变量的语言值。算法的隶属函数在大部分情况下,选用三角形、梯型、高斯型的分布,控制器输入数值的隶属度由隶属函数图确定。当我们通过给定元素的隶属度函数后,就完成了对输入信号的模糊化处理。对于已经完成模糊化的数字信号,进行下一步的模糊运算。2.3.2模糊控制规则模糊规则需要根据实际得控制经验得到,在实际中由工厂工程师以及操作人员操作经验总结得到,通过使用模糊语言的描述得到模糊条件语句的集合,因此模糊规则直接决定控制系统的品质,需要长期不断地积累。在工厂中,将工程师以及操作员地控制经验进行策略化,然后将各种可能需要用到的模糊策略用模糊蕴涵关系“if……then”集合起来,构成模糊规则控制表[11]。根据长期积累的模糊蕴涵关系,对∆(e)进行分析。当系统的∆(e)比较大时,为了减小系统的调节时间,应该选择较大的KP和较小的KD。同时为了减小系统的超调量,应该将微分调节减小为当∆(e)处于中等大小时,应该减小比例环节的作用,以减少系统的超调量。当∆(e)较小时,应当增大积分和微分调节的系数,以此提高系统的稳定性。2.3.3模糊运算在模糊控制器的设计工作中,最重要的步骤为确定语言控制规则,类似于if…then…语句。控制精度主要由控制规则确定,故根据控制精度需要选择合适的控制规则,由于在控制规则较多的情况下,控制系统的反应时间会有所增加,而推理的质量会有所下降。因此,在模糊控制器中模糊控制规则设计时,需根据控制要求选取恰当数量的控制规则,并且需要使用正确的控制形式。本设计根据控制需求采用的模糊推理计算为两输入、三输出模糊控制器,输入为温度传感器传回的温度值与设定值温度的偏差∆(e)和偏差变化率d∆(e),经过控制器的模糊运算,输出PID算法部分的KP、KD在设计完成后,需要通过计算机仿真技术进行实验,检查控制精度是否达到控制需求。在实际应用中,为了更好地减小系统地调节时间和自适应能力,通常根据系统的动、静态特性进行对算法的简化。3温度控制系统的设计3.1温控系统总体框架本设计以嵌入式单片机STM32F103作为闭环负反馈温度控制系统的控制核心,运用KEIL5软件进行编程,使用ADC数模转化器进行A/D转换获得温度传感器铂电阻PT100的采样温度,经过控制器的运算,最终输出控制TEC,实现激光器稳定的波长输出,硬件电路整体框图如图3-1所示。根据工程控制经验,首先在微控制器中设计好模糊PID控制器,根据系统当前的状态对系统参数进行整定,并通过调节PWM占空比以及场效应管MOSFET的通断,最终达到改变温度调节器TEC的电流以及方向的目的,使系统处于设定的温度值范围内,从而使半导体激光器处于正常工作状态,输出稳定的波长。图3-1硬件电路的整体框架图3.2温度系统硬件总体介绍本设计温度控制系统主要由嵌入式单片机stm32控制核心、温度传感器、TEC半导体、AD转换器、液晶显示五大部分组成,实物主控板如图3-2所示。图3-2实物主控板图(1)嵌入式单片机stm32控制核心:采用了stm32f103RCT6作为主控芯片。STM32F103RCT6是以cortex-M3为内核,内部嵌入了FLASH及RAM的高集成IC。STM32F103属于32位ARM中低端型微控制器,加入外部晶振后,最高晶振频率可以达到72MHz,时钟周期大约为0.014μs,相比于51单片机机器周期更快,系统更稳定,符合激光器电源温度控制需求。(2)温度传感器:温度采样选取铂电阻PT100温度传感器,它是目前工程应用中高精度温度控制系统常用的温度传感器。在温度为零时PT100的电阻为100欧姆,随着温度上升阻值匀速增涨,PT100测温范围在零下200-正850摄氏度之间,测温精度可以达到0.05,满足激光器电源温度的控制需求,故本设计选用铂电阻PT100为温度传感器。(3)AD转换器:本设计中,AD转化器是将温度传感器所获得的模拟信号转化成为精确的数字量信号的器件,因此,AD转换器的可靠性直接影响温度控制的质量。在本设计采用使用HX711作为AD数模转化器,它是一款专为电子秤设计的模数转化器,该芯片集成了片内振荡器以及稳压电源等模块,具有强抗干扰能力,并且它可选择10kHz-80kHz的传送速率。(4)TEC半导体制冷器:TEC是精密温控中非常常用的材料,特别是在PCR温控以及激光器上。TEC属于电流换能型器件,内部含有多对P型和N型组,构成多对电偶极子,根据珀尔贴效应,直流电通入TEC电流的方向不同使得在电偶节点处产生不同的能量转化,造成吸热或放热的现象,从而实现温控,如图3-3所示。它可以实现将控制系统调节在零下130度到正90度的温度范围内。图3-3TEC工作原理图(5)液晶显示:本设计采用TFTLCD液晶显示屏作为人机交互界面,液晶屏幕显示设定的温度以及实际温度以及调节温度控制,除此之外,可以直接通过触控屏调节设定温度,方便快捷。设计中为了获取更准确的温度,使用了三个温度传感器。STM32读回的三个传感器的值进行运算,获取它们的平均值,作为系统的实时温度,液晶控制界面如图3-3所示。图3-3实物液晶界面图3.3单片机软件处理模块设计本设计软件部分采用模块化编程的方法,运用C语言在keil5软件上进行编程,程序主要包括:主控程序模块、系统参数初始化程序、温度传感器值读取程序、液晶显示程序及模糊PID控制算法程序等。核心的算法程序部分实现方式为:在程序中编写模糊关系对应控制表,并存储到单片机中,系统每次读回的温度值首先与设定值作比较,然后通过模糊PID算法进行模糊化处理,接着查询控制表输出对应值,最终送至执行对象半导体TEC中去。在stm32的控制下,系统获取三个温度传感器的温度值,并且进行平均值计算,并将计算后的结果显示在液晶屏中,同时将此平均值与设定值进行比较,计算e(t)及d∆(e),将所求e(t)及d∆(e)作为模糊PID控制器的输入,经过stm32微控制器的模糊运算得到PID的Kp、TI、TD三个控制参数,通过PID计算后输出需要的控制值,并运用pwm控制方式控制TEC电路的电流方向以及电流大小,最终实现对激光器电源的高精度温度控制,此过程的控制算法流程图如图3-4算法流程图3.4硬件PCB设计本设计由于控制需求精度较高,故为了更好地提升系统的抗干扰能力,在充分考虑了电磁兼容的各个因素后,运用PCB绘制软件AltiumDesigner,根据原理图画出温度控制系统PCB版图,如图3-5所示。PCB板的应用大大提高了系统的抗干扰能力,并且提高了电路的稳定性以及设计的效率。图3-5温度控制系统硬件PCB图4系统仿真4.1MATLAB及SIMULINK的简介MATLAB是一款强大的数学计算软件,该软件同时具备了数学分析和仿真软件等强大的功能。Matlab的全称是matrix&laboratory,即矩阵实验室,应用了数学中矩阵的知识,处理各种数据、统计规律、模拟各种模型,为数值分析、科学数据可视化等众多科学领域提供了一种强大的解决方案[12]。SIMULINK是MATLAB软件下一个非常常用的集成仿真环境,它被大量运用于非线性因素和随机因素的处理上,SIMULINK的动态建模、仿真、分析等功能,大大提升了科研开发的进度,受到了科研界、学校、工厂等各个领域的大力欢迎。4.2系统仿真过程(1)新建一个模糊控制器a.启动Matlab,在命令行窗口输入fuzzy以启动FuzzyLogicDesigner。然后创建两个输入量,三个输出量。分别为偏差、偏差变化率、比例系数、积分时间常数和微分时间常数。最后编辑输入/输出量,如图4-1所示。图4-1MATLAB界面设置输入输出图(2)划分模糊等级使用AddMFs,添加七个模糊等级,并编辑每个模糊等级对应的隶属度函数,如图4-2所示。图4-2MATLAB设计模糊划分界面图(3)创建模糊规则表在模糊PID控制算法中,最重要的部分就是模糊规则,此部分的仿真操作需要回到FuzzyLogicDesigner的主界面,使用Edit-Rules将模糊规则表输入至软件中,如图4-3所示。如图4-3MATLAB创建模糊规则表图总结和展望总结:在传统的工业控制中,较多采用纯模拟电路对系统温度进行控制,控制方式主要以PID控制为主。由于传统PID控制需要给出确定参数,故传统的控制方法存在电路设计较为复杂,同时由于系统存在很多不确定的干扰,导致系统控制精度较低,动态性能较差等较多不足。在现代控制系统中一般以数字控制系统为主。数字控制系统是利用采样值以及离散微分方程进行求解的一种控制系统,与模拟控制系统相比较,控制精度更高、控制范围更广,同时基于数字信号本身的特性,数字控制系统具有较强的动态性能,能适应复杂且多变的扰动。然而,数字控制系统比模拟控制系统复杂。基于上述因素,本设计采用现代控制理论与PID控制结合的方法,运用模糊控制理论对PID系统参数进行整定,从而对半导体激光器系统温度进行调节。模糊PID算法主要过程首先计算输入值与实际值的偏差,然后根据模糊控制PID算法计算给出相应的控制量,最后通过控制stm32控制输出pwm波控制TEC实现加热或制冷。通过仿真表明,模糊PID控制技术可以大大减少系统的调节时间以及稳定误差,大大了提高系统的动态特性以及激光器的性能。展望:本设计的仿真结果展示了模糊PID控制算法的可行性,也论证了此算法应用于激光器电源的可行性,但是由于在实际控制系统中存在很多的复杂的非线性、不可预测的干扰量,而本文展示的算法只是对激光器电源简化模型的控制,故此算法的实际应用需要在实际应用中不断优化,在工厂的使用中不断优化模糊控制模型,提高实际应用中的控制精度。参考文献[1]宋照华.半导体激光器的研究与设计[D].中国地质大学(北京),2010:38-40.[2]李斌.半导体激光二极管温度控制器和驱动电源设计与实现[D].山西大学,2007:47-48.[3]XuejieW,YanjunL.IntelligentTemperatureControlSystemBasedonFuzzyPID[C].2010InternationalConferenceonE-ProductE-ServiceandE-Entertainment,2010.[4]艾淑平.半导体激光器恒温控制单元的控制模式与算法研究[D].东北师范大学,2005:37-38[5]CominosP,MunroN.PIDcontrollers:Recenttuningmethodsanddesigntospecification[J].IEEProcControlTheory,2002,149(1):46-53[6]黄松林,PID参数模糊自整定非线性系统仿真研究,机械工程与自动化,2007,No.141:93-95[7]葛新成,胡永霞.模糊控制的现状与发展概述[J].现代防御技术,2008,03:51-55.[8]刘江涛.基于PID参数模糊自整定的半导体激光器温度控制系统研究[D].河北工业大学,2007:35-40.[9]陈友桂.数字化半导体激光二极管驱动电源和温度控制器的研制[D].山西大学,2009:22-24.[10]孙逊,胡光锐,李剑萍.一种基于模糊聚类的隶属函数定义方法[J].计算机应用与软件,2005,07:86-88.[11]章卫国,杨向忠.模糊控制理理论应用[M].西安:西北工业大学出版社,2000.48-64.[12]李国勇.智能控制及其MATLAB实现[M].北京:电子工业出版社,2005.谢辞大学四年生活如白驹过隙,是结束也是一段新人生的开始。回想过去三年多的生活,汗与泪、苦与乐、勤与专,交织成一张严谨求是、刻苦专研的茧,让我努力探求,不断思索。感谢学校提供了这么优异的学习环境以及教学平台,感谢一直指引我前行的导师们,感谢一直默默支持我的伙伴们,感谢强大的家人后援团。一路走来,有风也有雨,每一个经历,都是对我的一次洗礼、一次磨练。我会继续脚踏实地努力下去,初心不改,矢志不渝。2020年是特殊的一年,由于新型冠状病毒的出现,导致了开学时间的延后,毕业设计完成的难度加大,实验环节的也难度大大提升,但是在老师的悉心指导下,顺利地完成了本次毕业设计。经过此次毕业设计,我对了我的专业有了更深的认识,同时为我将来的就业做了更充分的准备。在论文撰写的过程中,遇到了许多棘手的问题,例如执行器的选择以及算法的选择等等。在方宇杰老师耐心的指导下,以及在队友的合作下,让我能够较好地解决了上述问题,最终较为圆满地完成了本次毕业设计。在此,再次衷心感谢我的指导老师方宇杰博士以及我的团队伙伴!附录附录1程序源代码#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"lcd.h"#include"ds18b20.h"#include"key.h"#include"timer.h"#include"24cxx.h"#include"touch.h"floatsum[3]={0};//存放三组温度数据的数组externunsignedcharDS18B20_ID[8][8]; //检测到的传感器ID存数组externunsignedcharDS18B20_SensorNum;externfloatmax;//最大值externfloatmin;//最小值//////////////////////////////////////////////////////////////////////////////////5个触控点的颜色 //电阻触摸屏测试函数//voidrtp_test(void)//{// u8key;// u8i=0; // while(1)// {// key=KEY_Scan(0);// tp_dev.scan(0); // if(tp_dev.sta&TP_PRES_DOWN) //触摸屏被按下// { // if(tp_dev.x[0]<lcddev.width&&tp_dev.y[0]<lcddev.height)// { // if(tp_dev.x[0]>(lcddev.width-24)&&tp_dev.y[0]<16)Load_Drow_Dialog();//清除// elseTP_Draw_Big_Point(tp_dev.x[0],tp_dev.y[0],RED); //画图 // }// }elsedelay_ms(10); //没有按键按下的时候 // if(key==KEY0_PRES) //KEY0按下,则执行校准程序// {// LCD_Clear(WHITE);//清屏// TP_Adjust();//屏幕校准// TP_Save_Adjdata(); // Load_Drow_Dialog();// }// i++;// if(i%20==0)LED0=!LED0;// }//}//constu16POINT_COLOR_TBL[CT_MAX_TOUCH]={RED,GREEN,BLUE,BROWN,GRED};intmain(void){ staticu16led0pwmval=70; u8t=0; u8num=0,i=0; inttem,insum=0; //温度、总数的整数位 floattemperature,SUM=0; Stm32_Clock_Init(9); //系统时钟设置 uart_init(72,9600); //串口初始化为9600 delay_init(72); //延时初始化 LED_Init(); //初始化与LED连接的硬件接口 LCD_Init(); //初始化LCD tp_dev.init(); TIM1_Int_Init(499,7199);//time=(500*7200)/72=50ms TIM1_3_PWM_Init(99,719);//PWM频率=72000/[(39+1)(71+1)]=25Khz TIM1_4_PWM_Init(99,719); POINT_COLOR=RED;//设置字体为红色 LCD_ShowString(10,10,220,16,16,"Temperaturecontroldesign"); LCD_ShowString(10,30,200,16,16,"DS18B20_1:"); LCD_ShowString(10,50,200,16,16,"DS18B20_2:"); LCD_ShowString(10,70,200,16,16,"DS18B20_3:"); while(DS18B20_Init()) //DS18B20初始化 {// LCD_ShowString(10,90,200,16,16,"DS18B20Error"); LCD_ShowString(91,30,200,16,16,"Error"); LCD_ShowString(91,50,200,16,16,"Error"); LCD_ShowString(91,70,200,16,16,"Error"); printf("DS18B20CheckFailed!\r\n"); delay_ms(200); //LCD_Fill(60,130,239,130+16,WHITE); //delay_ms(200); } printf("DS18B20Ready!\r\n"); LCD_ShowString(91,30,200,16,16,"OK"); LCD_ShowString(91,50,200,16,16,"OK"); LCD_ShowString(91,70,200,16,16,"OK"); POINT_COLOR=BLUE;//设置字体为蓝色 LCD_ShowString(10,90,200,16,16,"AverTemp:.C"); LCD_ShowString(10,110,200,16,16,"Temp_1:.C"); LCD_ShowString(10,130,200,16,16,"Temp_2:.C"); LCD_ShowString(10,150,200,16,16,"Temp_3:.C"); POINT_COLOR=GREEN; LCD_ShowString(10,250,60,60,24,"goup"); LCD_ShowString(90,250,60,60,24,"set"); LCD_ShowString(180,250,60,60,24,"turndown"); LCD_DrawLine(0,200,240,200); LCD_DrawLine(80,200,80,320); LCD_DrawLine(160,200,160,320); POINT_COLOR=BLUE; while(1) { //DS18B20_Search_Rom(); if(t%10==0)//每100ms读取一次 { num=DS18B20_Search_Rom(3);//存ROM的ID值 for(i=0;i<num;i++) { temperature=DS18B20_Get_wd(i); sum[i]=DS18B20_Get_wd(i); if(temperature<0) { LCD_ShowChar(10+55,110,'-',16,0); //显示负号 temperature=-temperature; //转为正数 tem=(int)temperature; }else { tem=(int)temperature; LCD_ShowChar(60+55,110,'',16,0); //去掉负号 } LCD_ShowNum(10+55+8,110+i*20,(int)temperature,2,16); //显示正数部分 LCD_ShowNum(10+55+32,110+i*20,(temperature-tem)*10,1,16); //显示小数部分 } // LCD_ShowString(10,90,200,16,16,"AverTemp:.C"); SUM=(sum[0]+sum[1]+sum[2])/3; insum=(int)SUM; LCD_ShowNum(10+80+8,90,(int)SUM,2,16); LCD_ShowNum(10+80+32,90,(SUM-insum)*10,1,16); } if(SUM>max)//温度对应PWM输出 { if((SUM-max)>10.0)led0pwmval=10; elseled0pwmval=70-(SUM-max)*7; }elseif(SUM<min)led0pwmval=70; elseled0pwmval=50; FS_PWM_VAL=led0pwmval; FS1_PWM_VAL=led0pwmval; delay_ms(10); t++; if(t==20) { t=0; LED0=!LED0; } }}附录2电路原理图
捷键与一些电脑小技巧HYPERLINKwinkey+d:
这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!
--这个就是winkeywinkey+f:
不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。
winkey+r:
在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……”。其实,还有一个更简单的办法,就是按winkey+r!
alt+tab:
如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。
winkey+e:
当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!
小提示:
winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。
再补充点
F1显示当前程序或者windows的帮助内容。
F2当你选中一个文件的话,这意味着“重命名”
F3当你在桌面上的时候是打开“查找:所有文件”对话框
F10或ALT激活当前程序的菜单栏
windows键或CTRL+ESC打开开始菜单
CTRL+ALT+DELETE在win9x中打开关闭程序对话框
DELETE删除被选择的选择项目,如果是文件,将被放入回收站
SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是
放入回收站
CTRL+N新建一个新的文件
CTRL+O打开“打开文件”对话框
CTRL+P打开“打印”对话框
CTRL+S保存当前操作的文件
CTRL+X剪切被选择的项目到剪贴板
CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板
SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置
ALT+BACKSPACE或CTRL+Z撤销上一步的操作
ALT+SHIFT+BACKSPACE重做上一步被撤销的操作
Windows键+D:最小化或恢复windows窗口
Windows键+U:打开“辅助工具管理器”
Windows键+CTRL+M重新将恢复上一项操作前窗口的大小和位置
Windows键+E打开资源管理器
Windows键+F打开“查找:所有文件”对话框
Windows键+R打开“运行”对话框
Windows键+BREAK打开“系统属性”对话框
Windows键+CTRL+F打开“查找:计算机”对话框
SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单
SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开wo
rd的时候按下不放,可以跳过自启动的宏
ALT+F4关闭当前应用程序
ALT+SPACEBAR打开程序最左上角的菜单
ALT+TAB切换当前程序
ALT+ESC切换当前程序
ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换
PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板
ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板
CTRL+F4关闭当前应用程序中的当前文本(如word中)
CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前
一个窗口)
在IE中:
ALT+RIGHTARROW显示前一页(前进键)
ALT+LEFTARROW显示后一页(后退键)
CTRL+TAB在页面上的各框架中切换(加shift反向)
F5刷新
CTRL+F5强行刷新1.打开“我的电脑”-“工具”-“文件夹选项”-“查看”-在“显示所有文件和文件夹”选项前打勾-“确定”
2.删除以下文件夹中的内容:
x:\DocumentsandSettings\用户名\Cookies\下的所有文件(保留index文件)
x:\DocumentsandSettings\用户名\LocalSettings\Temp\下的所有文件(用户临时文件)
x:\DocumentsandSettings\用户名\LocalSettings\TemporaryInternetFiles\下的所有文件(页面文件)
x:\DocumentsandSettings\用户名\LocalSettings\History\下的所有文件(历史纪录)
x:\DocumentsandSettings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)
x:\WINDOWS\Temp\下的所有文件(临时文件)
x:\WINDOWS\ServicePackFiles(升级sp1或sp2后的备份文件)
x:\WINDOWS\DriverCache\i386下的压缩文件(驱动程序的备份文件)
x:\WINDOWS\SoftwareDistribution\download下的所有文件
3.如果对系统进行过windoesupdade升级,则删除以下文件:x:\windows\下以$u...开头的隐藏文件
4.然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序
5.碎片整理后打开“开始”-“程序”-“附件”-“系统工具”-“系统还原”-“创建一个还原点”(最好以当时的日期作为还原点的名字)
6.打开“我的电脑”-右键点系统盘-“属性”-“磁盘清理”-“其他选项”-单击系统还原一栏里的“清理”-选择“是”-ok了
7、在各种软硬件安装妥当之后,其实XP需要更新文件的时候就很少了。删除系统备份文件吧:开始→运行→sfc.exe/purgecache近3xxM。(该命令的作用是立即清除"Windows文件保护"文件高速缓存,释放出其所占据的空间)
8、删掉\windows\system32\dllcache下dll档(减去200——300mb),这是备用的dll档,只要你已拷贝了安装文件,完全可以这样做。
9、XP会自动备份硬件的驱动程序,但在硬件的驱动安装正确后,一般变动硬件的可能性不大,所以也可以考虑将这个备份删除,文件位于\windows\drivercache\i386目录下,名称为driver.cab,你直接将它删除就可以了,通常这个文件是74M。
10、删除不用的输入法:对很多网友来说,WindowsXPt系统自带的输入法并不全部都合适自己的使用,比如IMJP8_1日文输入法、IMKR6_1韩文输入法这些输入法,如果用不着,我们可以将其删除。输入法位于\windows\ime\文件夹中,全部占用了88M的空间。
11、升级完成发现windows\多了许多类似$NtUninstallQ311889$这些目录,都干掉吧,1x-3xM
12、另外,保留着\windows\help目录下的东西对我来说是一种伤害,呵呵。。。都干掉!
13、关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空间。因此有必要对其进行手工设置,以减少硬盘占用量。打开"系统属性"对话框,选择"系统还原"选项,选择"在所有驱动器上关闭系统还原"复选框以关闭系统还原。也可仅对系统所在的磁盘或分区设置还原。先选择系统所在的分区,单击"配置"按钮,在弹出的对话框中取消"关闭这个驱动器的系统还原"选项,并可设置用于系统还原的磁盘空间大小。
14、休眠功能会占用不少的硬盘空间,如果使用得少不妨将共关闭,关闭的方法是的:打开"控制面板",双击"电源选项",在弹出的"电源选项属性"对话框中选择"休眠"选项卡,取消"启用休眠"复选框。
15、卸载不常用组件:XP默认给操作系统安装了一些系统组件,而这些组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年手机维修服务合作合同一
- 2024年标准法律咨询合同范本版
- 2024年度网络文学作品的版权许可使用合同
- 合作社成立合同范例
- 2024年标准赔偿合同书写样式参考手册版B版
- 2024年热销车型销售合同书一
- 铝门设备转让合同范例
- 2024年危险废物回收管理协议3篇
- 食堂供给合同范例
- 饮料分销合同模板
- TPM知识竞赛试题库
- 齐鲁针灸 知到智慧树网课答案
- 《工业革命》核心素养目标教学设计、教材分析与教学反思-2023-2024学年初中历史与社会人教版新课程标准
- (国开电大)可编程控制器应用课程实验
- 心跳骤停患者应急预案
- MOOC 数字电路分析与设计实验-浙江大学 中国大学慕课答案
- 医疗设备采购招标代理方案
- 高二数学理测试卷(含答案)-文档
- 肺结核的护理查房
- 药品生产质量管理规范GMP
- 18项医疗核心制度培训
评论
0/150
提交评论