毕业论文-采用matlab与单片机的模糊温度控制_第1页
毕业论文-采用matlab与单片机的模糊温度控制_第2页
毕业论文-采用matlab与单片机的模糊温度控制_第3页
毕业论文-采用matlab与单片机的模糊温度控制_第4页
毕业论文-采用matlab与单片机的模糊温度控制_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

编号毕业设计说明书题目采用MATLAB与单片机的模糊温度控制院(系)电子工程与自动化学院专业自动化学生姓名学号指导教师职称高级工程师题目类型理论研究实验研究工程设计工程技术研究软件开发2015年5月10日摘要在进行控制系统的设计中,都要对算法程序进行设计,其设计过程往往是脱离实际的被控对象在单独的实验平台上进行开发,经过反复的仿真实验,最后得出最优的控制算法,并运用与实际的对象模型上。但有时候由于实际被控对象与仿真控制平台会有区别,仿真得到的算法程序却不一定能够达到理想的控制效果,需要从新进行算法的设计,结果延长了系统的开发周期,所以,把仿真实验平台与实际被控对象进行联调,在设计仿真算法时直接运用在实际模型中进行调试,大大减少了开发时间,提升了产品开发效率。本设计通过分别设计模糊控制算法和PID控制算法,运用于实际的温控对象模型,对水温进行控制,通过对比测试,实现此实验平台上的算法研究。本文主要对本次设计的系统要求进行介绍,分析MATLAB模糊控制和PID控制算法的设计过程,利用SIMULINK环境下的系统模块通过串口与下位机进行数据交互,取代复杂的程序的设计过程,进行半硬件的仿真控制过程,可通过SIMULINK上的图形界面方便地观察其控制算法对实际系统模型的控制性能,最后验证模糊控制和PID控制在这一平台上的可行性。本设计使用到的软硬件由五个部分组成MATLAB控制软件、STC89C52单片机系统、DS18B20传感器、加热器的可控硅控制电路,利用光耦实现了强电与弱的完全隔离。单片机系统作为其控制的核心,包括有LCD1602显示与RS232串口通信部分,DS18B20检测到温度数据,并传到单片机,单片机将数据通过串口发送到MATLAB,MATLAB处理后返回控制量到单片机,单片机根据控制量的大小来控制加热器功率,达到控制水温的目的。关键词MATLAB;模糊控制;PID控制;串口通信ABSTRACTWHENINADESIGNOFCONTROLSYSTEM,SHOULDBETODESIGNOFALGORITHMPROGRAM,ANDTHEDESIGNPROCESSISOFTENSEPARATEFROMTHEACTUALCONTROLLEDOBJECTINAEXPERIMENTPLATFORM,AFTERREPEATEDSIMULATIONEXPERIMENT,ITISCONCLUDEDTHATTHEOPTIMALCONTROLALGORITHMFINALLY,ANDTHENAPPLYTOTHEACTUALOBJECTMODELBUTSOMETIMESDUETOTHEACTUALCONTROLLEDOBJECTHAVEADIFFERENCEINSIMULATIONCONTROLPLATFORM,THESIMULATIONOFALGORITHMPROGRAMCANNOTNECESSARILYACHIEVETHEIDEALCONTROLEFFECTSOITISNEEDTOREDESIGNOFAPROCESSESFORTHEALGORITHM,RESULTINTHESYSTEMDEVELOPMENTCYCLEEXTEND,THEREFORE,WHENDESIGNINGTHESIMULATIONALGORITHMISDIRECTLYINUSEDAPRACTICALMODELFORDEBUGGING,COMBINETHESIMULATIONEXPERIMENTPLATFORMANDTHEACTUALCONTROLLEDOBJECTGETTOGETHER,GREATLYREDUCETHEDEVELOPMENTTIME,IMPROVETHEEFFICIENCYOFTHEPRODUCTDEVELOPMENTTHISDESIGNTHROUGHADESIGNOFFUZZYCONTROLALGORITHMANDPIDCONTROLALGORITHM,RESPECTIVELYAPPLIEDTOTHEACTUALTEMPERATURECONTROLOBJECTMODEL,TOCONTROLTHETEMPERATUREOFWATER,STUDINGTWOKINDSOFCONTROLALGORITHMONTHEEXPERIMENTPLATFORMTHROUGHTHECONTRASTTESTTHISPAPERMAINLYINTRODUCESTHESYSTEMREQUIREMENTSFORTHEDESIGNANDANALYSISOFTHEMATLABFUZZYCONTROLANDPIDCONTROLALGORITHMDESIGNPROCESS,USINGSIMULINKENVIRONMENTSYSTEMMODULETHROUGHSERIALPORTANDDATAINTERACTION,INSTEADOFTHEDESIGNPROCESSOFCOMPLEXPROGRAMS,HALFHARDWARESIMULATIONCONTROLPROCESS,ITCANBEOBSERVEDTHECONTROLPERFORMANCETHROUGHTHEGRAPHICALINTERFACEONTHESIMULINKABOUTITSCONTROLALGORITHMINTHEACTUALSYSTEMMODELEASILYANDVERIFYTHEFEASIBILITYABOUTTHEFUZZYCONTROLANDPIDCONTROLINTHISPLATFORMTHISDESIGNISMADEUPOFFIVEPARTSINSOFTWAREANDHARDWAREITISMATLABCONTROLSOFTWARE,STC89C52SINGLECHIPMICROCOMPUTERSYSTEM,SILICONCONTROLLEDRECTIFIERCONTROLCIRCUITATEMPERATURESENSOROFDS18B20,THEHEATERUSESLIGHTCOUPLINGFORISOLATEDHIGHVOLTAGEANDWEAKVOLTAGECOMPLETELYTHESINGLECHIPSYSTEMASTHECOREOFITSCONTROL,INCLUDINGLCD1602DISPLAYERANDRS232SERIALCOMMUNICATIONPARTDS18B20OFTEMPERATURESENSORSDETECTEDDATA,ANDTRANSMITTOTHESINGLECHIPMICROCOMPUTER,MICROCOMPUTERSENDSDATATHROUGHTHESERIALPORTTOMATLAB,MATLABPROCESSINGRETURNSCONTROLTOTHESINGLECHIPMICROCOMPUTER,THESINGLECHIPMICROCOMPUTERACCORDINGTOTHESIZEOFCONTROLVALUETOCONTROLTHEPOWEROFHEATER,ACHIEVETHEGOALOFTHETEMPERATUREOFWATERBEINGCONTROLLEDKEYWORDSMATLABFUZZYCONTROLPIDCONTROLSERIESCOMMUNICATION目录引言11课题设计内容211设计内容212设计的主要难点213技术要求数据22系统方案设计221系统方案论证2211控制电路的方案选择2212测温电路方案选择3213显示电路方案选择3214PWM实现方案选择422总系统框图53系统器件介绍531STC89C52单片机概述5311STC89C52单片机定时/计数器6312STC89C52单片机中断系统6313STC89C52单片机串口732DS18B20温度传感器833LCD1602显示屏934BTA24600B双向可控硅104硬件电路设计1041单片机最小系统10411电源电路10412晶振电路11413复位电路1142通信接口电路1243传感器电路1344显示电路1445加热器控制电路145软件程序设计1551MATLAB工程文件的创建1552模糊控制器15521模糊控制器的介绍15522模糊控制器的原理17523模糊控制器的设计1953PID控制器21531PID控制器的介绍21532PID参数对系统的影响22533PID参数整定2354MATLAB串口通信24541MATLAB接收数据25542MATLAB发送数据2855系统主函数的设计2856单片机发送子函数2957单片机接收子函数3158PWM子函数3259温度采集子函数33510数据的软件滤波356系统调试3661硬件系统基本功能测试3662可控硅电路测试3763串口程序调试3764PWM程序调试3865实验数据分析3866误差分析407结论41谢辞42参考文献43附录44引言目前广泛使用MATLAB进行控制算法的仿真研究,通过MATLAB进行系统的算法设计,使用软件与硬件的接口通讯,将MATLAB与实际被控对象连机进行控制算法的实际验证,是控制算法研究的一个更为重要的环节,它能够更加充分证实其算法在实际应用中的控制效果。为进行实际系统的研究、分析、决策设计,以及对专业人员的培训提供了一种先进的方法1。在我国,自20世纪50年代开始,面向半实物仿真实验已开始应用于飞机导弹的工程型号研制中,从问世到目前美国研制的航天飞机,硬件在回路仿真技术始终盛行不衰,它采用被控对象或者系统运行环境部分采用实物,部分采用实时数字模型来模拟,进行整个系统的仿真测试2,从20世纪6070年代起,美国、西欧、日本等国建设了一批高水平、大规模的硬件在回路仿真系统,这些硬件在回路仿真系统在武器型号研制中发挥重大作用3本课题综合了控制理论、单片机与软件技术,设计单片机温度控制硬件电路,实现温度采集与电加热器的PWM驱动,利用串行口实现MATLAB软件进行通信,将单片机加热系统取代MATLAB中的仿真对象模型,通过对水温的实际控制,进行模糊控制算法与PID控制算法的实际控制效果进行对比研究。本文分为7章,详细介绍了模糊控制系统的设计过程。首章系统地介绍了本次单片机模糊控制系统的设计内容和系统参数的要求;第2章主要介绍了系统各模块实现方案的论证选择过程和总体方案框图;第3、4章介绍本此设计使用到硬件芯片,包括STC89C52主控芯片、DS18B20温度传感器、可控硅等器件的功能和详细参数以及系统各模块硬件电路的设计过程;第5章介绍了控制系统的算法设计方法和软件的程序设计;第6章介绍了系统硬件和软件的调试方法和调试过程;最后一章则对于本次设计进行总结和展望。1课题设计内容11设计内容本设计主要采用MATLAB设计模糊控制和PID控制算法程序,并进行温度控制器的设计制作,以实现水温的测温与控温,由单片机STC89C52对温度传感器进行温度采集并通过LCD1602显示屏显示,单片机通过串口通信将采集到得温度传到MATLAB进行处理后输出控制量进行控温,最后分别使用模糊控制算法和PID控制算法来对水温进行控制,实现两种算法的对比测试。12设计的主要难点本次设计的难点和核心主要在于(1)温度传感器DS18B20的使用;(2)软件部分PID算法的设计;(3)水箱温度的MATLAB模糊控制算法的设计。13技术要求数据本次设计的主要设计要求(1)温度检测范围0100度,测量精度01度;(2)水温控制范围4090度,控制精度为05度;(3)设计MATLAB与单片机之间的数据通信;(4)实现模糊控制与PID控制的温度控制对比测试。2系统方案设计21系统方案论证在工程设计过程中,方案的论证选择是一个必要过程,在器件选型,程序实现方式中,都会影响系统的性能,在确定方案的时需要考虑系统参数是否达到要求,并且结合设计成本等因素,确定出最优方案。211控制电路的方案选择方案一采用STC89C52单片机作为控制器可以同时完成PWM控制、温度显示,串行数据收发等功能,电路设计和制作都相对简单,成本也较低,编程简单方便,可以在线下载程序;它的运行速度也能满足本次设计要求,是一种非常不错的方案。方案二采用STM32单片机作为系统的控制部分,具有多个串口,可实现本设计需要的控制,显示,串口收发数据等全部功能,也可以作为此次设计的方案之一,但其封装为贴片封装,手工制作电路板焊接较困难,制作出的电路板可靠性较低,编程也相对复杂。方案三采用FPGA实现控制功能。在使用FPGA作为控制时,电路设计相对简单,通过对应的编程接口设计,也容易达到实现控制过程和显示温度数据、控制加热器功率等功能,是一种可以选择的设计方案。但与单片机相比,价格比较昂贵,显得大材小用,考虑到经济方面,不是最优的方案选择。综合上面所述各方案的比较,本设计采用方案一作为其控制电路。212测温电路方案选择方案一利用热敏电阻来做测温器件。它的原理实现是通过温度变化时电阻值的改变来得到电压的改变,另外要用到电桥的配合使用,要实现测量到较高精度的话则还需要配上精度很高的电阻器件;而且还需要通过加上相应的调理电路模块。对本次设计的精度要求高的系统不合适采用这种方案。方案二采用K型热电偶,K型热电偶利用不同感温的金属材料、安装一定的装置,和接线盒等这些主要部件,来实现其测温性能,它的测温范围广,对水温的测量也可以达到,但不易实现编程,在使用时还需进行补偿换算等运算处理,不易实现。方案三可以使用DS18B20数字温度传感器,它是常用的一种体积小、质量轻、新型的测温器件,与单片机等微处理器接口简单易行,作为数字化温度传感器,它读取得到的温度数据直接是数字量,测量温度范围为55到125,测量精度为05。环境温度直接以单总线的方式传输到控制器,很大的提高了测温系统的抗干扰能力。DS18B20的分辨率可以根据用户的使用要求在9到12位间选择其测量精度。综合上面所述各方案的比较,本设计采用方案三作为其测温电路的传感器元件。213显示电路方案选择方案一采用四位七段数码管进行温度显示,数码管显示清晰,直观,在本次设计中,四位数值显示也符合题目显示精度的要求,但在进行数码管电路设计时需要增加额外的驱动电路,而且其电路布线复杂。方案二采用LCD1602进行温度显示,LCD1602可以显示多位字符,符合本次设计的要求,并且操作简单,通过相应的编程就可以很容易地实现其温度的显示,其电路设计也相对简单,是一种很好的方案选择。方案三采用12864液晶显示屏,12864液晶屏除了可以显示数字,字符以外,还可以显示汉字,通过相应的读写命令操作就可以进行显示,但12864液晶屏封装较大,占据电路板过多,而且价格高,不适于本设计的最佳方案。综合上面所述各方案的论证比较,本设计采用方案二作为其显示电路的最佳设计方案。214PWM实现方案选择产生PWM脉宽信号的方法一般有两种一种是通过软件编程实现;另一种方法是通过硬件电路的搭建来产生。方案一利用NE555,SG3525等一系列的脉宽调制芯片组成脉宽发生电路这种方式利用NE555芯片来作为核心控制电路,用来产生相应的脉宽信号。NE555产生的脉宽信号要通过功率放大以后才能作为驱动信号被后级电路使用。NE555、SG3525组成的控制电路相对复杂,其智能化、自动化的可靠性能较低,不利于作为控制信号在重要场合中使用。方案二利用单片机等控制器件,使用软件编程来实现PWM脉宽调制在电源电压UD不变的情况下,占空比D在PWM中是一个重要的参数,电源的电压平均值决定于占空比D的大小,改变占空比D的值就能够改变电源电压的输出平均值,从而达到控制加热器功率的目的。改变占空比D的值有下面的几种方法(1)确定脉宽不变调节频率法保持T1大小不变,只改变T2大小,这样会让频率或者周期也会跟着变化,如图21所示。(2)改变脉宽改变调频法保持T2不改变,只改变T1的大小,这样会让频率或者周期也会跟着变化,如图21所示。(3)确定频率不变改变脉宽法保持周期T或频率不变,同时改变T1大小和T2大小,如图21所示。图21PWM电压占空比示意图前面介绍的那两种方法在PWM调压时改变了PWM脉冲的周期或频率,在改变PWM脉冲的频率的过程中,当控制系统本身的固有频率和PWM控制脉宽的频率接近时,将会产生振荡现象,所以通常采用确定频率(或者周期)改变PWM占空比的这种方法来达到改变加热器两端电压的平均值,以实现控制加热器功率的目的。本设计利用单片机的定时器方式来达到延时的目的,这样可实现PWM占空比的任意调节,这种方法可以不用外加额外的硬件电路,实现简单,并且具有可靠性高,抗干扰性强等优势。所以选取方案3,采用确定周期(或频率)不变而改变占空比的方法。22总系统框图本系统中,使用温度传感器和对水箱进行采集温度数据信息,然后传送到单片机中进行运算,并将数据通过串口通信传到计算机MATLAB软件进行进一步处理后,返回输出控制量给单片机来控制热水器加热功率,并把数据同步传到显示器显示,其系统框图如图22所示图22系统框图控制核心采用单片机STC89C52,对各个功能模块进行数据信息的处理和控制。传感器模块采用DS18B20温度传感器。显示模块采用LCD1602显示屏。加热器通断电模块采用BTA24600B三端双向可控硅。3系统器件介绍31STC89C52单片机概述本次使用的是处理器芯片是STC89C52,它是新一代高速一种性能高,功耗低的8位处理器,具有8KB在系统可编程存储器,使用的是MCS51内核,这款处理器还在普通的51单片机上进行了较大的改进,从而增加了普通单片机上没有的功能。在其芯片上具有8位处理器和可编程FLASH,令这款单片机能在很多控制系统中方便地实现用户所需的控制功能,如表31所示,其引脚图如图31所示表31STC89C52单片机功能参数序号特征参数1为增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以随意选择,指令代码完全兼容普通805125V单片机工作电压为55V33V,3V单片机工作电压为38V20V单片机驱动电路可控硅水箱加热器水箱温度传感器LCD1602计算机MATLAB3工作频率范围工作频率从0到40MHZ,速度为普通单片机的两倍4用户应用程序空间为8K字节5片内集成有512BYTERAM存储6通用的32个I/O口,复位后P0/P1/P2/P3为准双向口,P0口可作为总线扩展并无需加上拉电阻,在作为I/O口用时要加上拉电阻7为在系统可编程或者在应用可编程),不需要专用编程器和仿真器,经过相应的串口引脚可以直接下载用户的程序8具有EEPROM功能9具有T0、T1和T2一共3个16位定时器/计数器10外部中断4路,可通过下降沿中断或者低电平方式触发,低功耗模式下可以通过外部中断低电平触发方式唤醒11通用异步串口12工业级工作温度范围,为408513其封装形式为PDIP封装图31STC89C52单片机引脚图311STC89C52单片机定时/计数器STC单片机内部具有3个定时器,分别是定时器0,定时器1和定时器2,都为16位定时/计数器,可根据方式寄存器的相应位M0和M1来选择其工作方式,有方式0,方式1,方式2和方式3,而通过控制寄存器来对定时器和计数器进行相应的操作,完成用户所需要实现的功能。例如,在使用方式1的16为计数器时,可进行定时为定时时间(216定时器初值)时钟周期12(31)312STC89C52单片机中断系统单片机的中断系统提高了对事件的处理能力,STC89C52中断可分为外部中断,定时器中断和串口中断这三种中断类型,分别为外部中断0PIN32,外部中断1PIN33,定时器T0中断,定时器T1中断和串口中断。(1)外部中断0由引脚PIN32进行输入请求,下降沿或低电平有效由控制寄存器TCOND的位IT0决定,并且以位IE0建立标识。(2)外部中断1由引脚PIN33进行输入请求,下降沿或低电平有效由控制寄存器TCOND的位IT1决定,IT10为电平触发,IT11为边沿触发,并且以位IE1建立标识。(3)定时器0中断是通过定时器0的溢出标识位TF0决定的,当定时器溢出时TF0置1并请求中断。(4)定时器1中断是通过定时器1的溢出标识位TF0决定的,当定时器溢出时TF1置1并请求中断。(5)串口中断是发送或接受成功一帧数据时通过置SCON寄存器的TI或RI为1进行中断请求的。313STC89C52单片机串口在STC89C52单片机中有一个全双工的异步通讯串行接口,为实现双机、多机通讯提供了很大方便5。它的串行输入口是引脚P30,串行输出口是引脚P31,内部有三个寄存器,即数据缓冲寄存器,串口控制寄存器和电源控制寄存器,分别用SBUF,PCON和SCON表示。在操作串口时主要是操作SCON寄存器,它的8个位定义和功能说明如表32所示,可以通过SM0和SM1设定串口的四种工作方式,如表33所示表32SCON寄存器位定义位名称说明D7SM0串口工作方式控制位D6SM1串口工作方式控制位D5SM2方式2和方式3多机通信控制位D4REN串口允许接收位D3TB8第9位发送数据D2RB8地址数据标识位D1TI发送中断标识位D0RI接收中断标识位表33串口工作方式选择SM0SM1方式说明000同步移位寄存器方式01110位异步收发方式10211位异步收发方式11311波特率可变位异步收发方式串口波特率波特率是表示二进制传送的速率。它由晶振频率,电源控制寄存器的SMOD位和定时器1决定。根据不同的工作方式有不同的波特率,当采用方式0时其波特率为固定的,为单片机时钟频率十二分之一;当选择方式1时,其波特率为可变的,例如,当采用定时器1工作方式2,串口工作于方式1或方式3时,波特率的计算公式为波特率(32)初值561F3OSCSMOD式中,SMOD为电源控制寄存器的位选,选取0或1,为时钟频率。OSCF32DS18B20温度传感器DS18B20为单总线数字式温度传感器,支持“单总线”的接口,这很大的提高了系统的抗干扰能力,它可使用在温度检测、消费电子、工业生产设备、温度计等任何热敏系统。DS18B20具有独特的单线接口,只需要一个引脚端口就可以进行通信,每个DS18B20出厂时在内部存储器中都有一个唯一的64位光刻的识别序列号,作为主机在识别多个挂接在总线上的依据,电路连接上只需要在数据线上接一个上拉电阻,供电方式可通过数据线进行供电,供电范围从30V到55V。最大测温范围可从55到125,还可以根据温度计分辨率提供用户者选择为9到12位精度选择,如表34表34DS18B20分辨率及精度分辨率精度()最大转换时间(MS)9位05937510位025187511位012537512位00625750DS18B20有严格的时序要求,在进行指令或是数据的读写过程中都要按照其时序要求来进行,时序中包含了复位时序,读时序和写时序。图32DS18B20初始化时序(1)复位时序按照如下方式进行如图32所示,数据总线置到高电平并且进行延时一段时间间隔,延时时间在10US以下均可以;数据总线置到低电平并且进行延时600US左右的时间间隔;将数据总线置到高电平并且进行延时30MS左右的时间间隔;等待主机返回的低电平信号后进行延时500US左右;最后将数据总线置到高电平,完成复位操作。图33DS18B20读时序(2)读时序按照如下方式进行如图33所示,数据总线置到高电平并且进行延时2US的时间间隔;数据总线置到低电平并且进行延时6US;数据总线置到高电平并且进行延时4US;读取数据总线的一个位信号,得到位信号后进行数据的处理操作并且延时30US的时间间隔;最后循环重复以上的步骤,直到读取完毕一个字节的所有位。图34DS18B20写时序(3)写时序按照如下方式进行如图34所示,数据总线置到低电平0;延时15US的时间间隔;进行发送一位数据,注意的是DS18B20是先发送数据的低位,再到发送数据的高位的;再进行时间延迟45US;把数据总线置到高电平;程序循环发送完一个字节所有的位;最后把数据总线置高电平,这样就完成了一个字节的写操作。33LCD1602显示屏LCD1602有14脚(无背光)和16脚(带背光)接口的两种形式,一次最多可以显示2行16列共32个字符,内部带有复位电路,工作电压可以为33V或是5V,LCD1602带有它自身的字符集,只要通过相应的代码读写操作,就能够显示相应的字符。另外,它的功耗功耗低、质量轻、可以显示的内容很多、使用时占用空间小,可以方便地安装在很多地方,被经常应用在各种仪器和显示设备中。LCD1602各引脚接口说明如表35所示表35LCD1602引脚接口说明表编号符号引脚功能编号符号引脚功能1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极34BTA24600B双向可控硅BTA24600B三端双向可控硅,是一款采用TO220AB封装方式的集成半导体器件,如图35所示,它可承受最大的电流值为25A,最大电压600V,触发极电流为3550MA。本次设计采用的加热器功率为1200W,额定电流约为55A,所以此可控硅满足系统要求。图35可控硅实物图4硬件电路设计本次设计中,硬件使用到了STC89C52最小系统板,RS232通信接口部分,用以进行单片机与计算机MATLAB通信,LCD1602温度显示电路,以及可控硅电压控制电路共五个部分。41单片机最小系统本次设计采用的单片机为DIP40封装的单片机,一共40个管脚,其最小系统上包含有一个TOP220封装的5V稳压芯片,用以稳定最小系统的电源电压,一个RS232下载器接口,LED电源指示灯,另有复位电路和晶振电路,P0口接上拉电阻,单片机的管脚由排针全部引出,以备连接其他器件接口。411电源电路本系统使用的是5V电源,可通过外接5V电源或者12V电源提供,当接入的是12V电源时,通过L7805稳压芯片将其稳压到5V后输出给单片机系统,外加一些连接5V电源的排针接口,以便作为电源扩展接口使用,5V或12V电源和地之间接一个01UF的陶瓷电容和一个470UF的电解电容,用来滤除电源的干扰信号,电解电容滤除低频干扰,陶瓷电容滤除高频干扰,使电源输出稳定的电压值。在电源电路中还额外加入了一个LED电源指示灯,指示灯与一个1K的电阻串联,当系统上电时,指示灯亮,由此可以观察系统电源是否正常。电源电路如图41所示图41单片机电源电路412晶振电路本设计使用的是内部时钟电路作为振荡器,单片机的时钟管脚接X1和X2,外接两个30PF的微调电容,电路如图42所示图42晶振电路原理图413复位电路STC89C52复位方式有上电复位和和按钮复位,在采用按钮复位时它是通过电平或者脉冲来复位的,本设计采用按钮电平复位的方式进行设计复位电路,RST为单片机的复位引脚,通过5V的电源与上拉电阻相连,当单片机在工作时按下复位按钮,10UF的电容先是放电,然后又充电,充电时电流由大变小,此时10K下拉电阻即复位引脚RST会产生一个高电平从而对单片机进行复位,电容充满电后电流为0,复位引脚恒为低电平,单片机从新进入正常的工作状态,电路如图43所示图43单片机复位电路原理图42通信接口电路目前RS232是作为计算机与通信设备通信应用中最广泛的一种串行通信接口,它的通信方式为全双工的方式,即允许两个通信设备之间可同时进行收发数据。本次设计中,使用的是简化的9针的RS232信号接口,STC89C52使用串口通过MAX232芯片来把电平转换后和计算机进行通信,33V的TTL电平可以通过MAX232与RS232电平进行转换。计算机与单片机串口连接示意如图44所示,RS232通信电路原理如图45所示,本次设计只使用到了数据接收端RXD和数据发送端TXD和信号地三个端口,电路原理图如表41所示表41RS232信号接口引脚符号信号功能1DCD输入载波检测2RXD输入接收数据3TXD输出发送数据4DTR输出数据终端准备好5GND公共端信号地6DSR输入数据装置准备好7RTS输出请求发送8CTS输入清除发送9RI输入振铃提醒计算机RXDTXD单片机RXDTXDGND图44串口通信的连接方法图45RS232通信电路原理图43传感器电路此次设计采用的是DS18B20温度传感器,DS18B20传感器只有三个接口,即电源,信号线和地线,其中信号端由电源通过47K的上拉电阻相连接,数据口接单片机的P00脚,电路如图46所示图46DS18B20电路原理图44显示电路LCD1602的数据口D0D7分别接单片机的P00P07脚,使能信号E,读/写选择R/W,数据/命令选择口RS分别接单片机的P14,P15和P16,其中LCD1602的3脚接接一个10K的滑动变阻器RF,用来调节显示屏的对比度,电路如图47所示图47LCD显示电路原理图45加热器控制电路用单片机控制可控硅的导通和关断可以控制加热器的功率,导通时间越长,功率越大,加热越快,反之功率越小,加热越慢。加热控制电路主要由光耦合元件MOC3020和可控硅BTA24600B组成,这样可以通过光耦来对弱电与220V强电进行隔离,保证了电路的安全可靠。利用单片机对光耦进行控制实现其通断过程,光耦内部有一发光二极管,用上拉电阻与发光二极管的正端相连,负端接一个NPN三极管管作为开关管,当单片机输出一高电平到三极管的B极时,内部发光二级管被点亮,光耦导通,可控硅的触发极有电流流过,触发可控硅导通,则加热器工作,当单片机输出一低电平到三极管的B极时,内部发光二级管熄灭,光耦不导通,可控硅关断,加热器停止工作。这样就可以通过单片机的PWM来控制其通断时间,实现加热器的功率加热。可控硅控制电路如图48所示图48可控硅控制电路原理图5软件程序设计本次课题当中软件设计是重点,软件是系统的大脑,只有编写好了系统的程序,系统才能按照系统要求去执行每一步的操作,协调不同模块的正常工作。这些包括模糊控制器的设计,温度数据采集的程序设计,PWM脉宽信号的程序实现,以及MATLABSIMULINK系统模型搭建,是本设计的关键。51MATLAB工程文件的创建系统在运行时,需要要将单片机的数据由QUERYINSTRUMENT模块接收到SIMULINK的MODEL里面,才能进行温度数据采集,模糊控制系统首先将接收到的温度数据,与设定值通过SIMULINK的求和模块得到系统误差,系统误差求导后得到误差变化率,通过MUX模块一起作为输入变量送入模糊控制器模块,模糊控制器计算得出控制量,通过TOINSTRUMENT模块发送到单片机,控制加热器执行加热过程,故需要创建SIMULINK工程文件,这是本次设计的核心部分,它处理数据的结果直接影响到系统的最终控制结果,所以这是本次设计最为关键的一部分。点击MATLAB工具栏的【SIMULINKLIBRARY】【FILE】【NEW】【MODEL】,这时就建立了工程的空白页,根据所需要的元件模块,如QUERYINSTRUMENT,TOINSTRUMENT,FUZZYLOGICCONTROLLER模块等添加到SIMULINK工程的的MODEL里面,完成各个子模块的连接。完成后其模糊控制系统如图51所示图51SIMULINK模糊控制系统52模糊控制器521模糊控制器的介绍所谓模糊,其意思是指客观的事物彼此间的差异在中间过度时,界限不分明6。就比如平时所说的水温高,但“高”的范围很广,并不是一个明确的量,这样的概念就叫做模糊的概念,在日常生活中存在很多这样的模糊概念,这样的模糊概念不能用精确数学定量地去描述它,这就需要模糊理论来对这些概念进行分析,所以,在进行系统的模糊量的控制时就有了模糊控制。模糊控制从起源至今已有多年的发展,其技术已趋于成熟,现今在很多控制领域中由于系统越来越复杂,甚至包含很大的非线性,时变特性等,在建立系统模型中,难以为其建立准确的动态模型,即便用经典控制算法也很难得到很好的控制效果。对于这样的系统,使用模糊控制是一个很好的选择,模糊控制可以建立在技术人员的经验之上,由技术人员根据经验来给出控制量,当控制系统偏差大时,控制人员就给出大的输出量,偏差为中时,输出控制量为中,偏差小时,控制量为小。通过这样模糊的控制规则,可以达到较好的控制效果。在一般的控制中具有几种形式的模糊控制器,它是根据输入变量的数量来区分的,可以分成如下几种(1)一维模糊控制器即只有一个输入变量E,这个变量就是系统的偏差,即设定值与实际值之差,模糊控制器就是根据这个差值进行确定输出控制量大小的,类似于比例方式的调节方法,但这种一维模糊控制器不能提前预知系统的误差变化,只有系统出现误差后才能做出反应,进而输出控制调节量,故这种一维模糊控制器调节过程较粗糙,在要求较高的系统中不能满足系统要求,其示意图如图52所示。图52一维模糊控制器示意图(2)二维模糊控制器即有两个输入变量E和DE,变量E为系统的偏差,变量DE为系统偏差的变化率,控制量由这两个量同时决定,二位模糊控制器增加了误差变化率作为其输入变量,这个变量能够提前判断误差变化的趋势,所以能提前对误差进行校正,提高了系统的动态性能,其示意图如图53所示。图53二维模糊控制器示意图(3)三维模糊控制器即有输入变量E,DE和D2E,变量E为系统误差,DE为系统误差E的导数,D2E为系统误差E的二阶导数,除了这三种模糊控制器以外,还有更高维数的模糊控制器,但随着维数越高,其控制复杂程度也越高,所以,在日常的控制系统中,都只使用三维以下模糊控制器,其中二维模糊控制器使用得最为普遍的,其示意图如图54所示。图54三维模糊控制器示意图模糊控制器系统主要有四个部分组成,即模糊控制器、输入输出端口、被控对象和传感器部分。模糊控制器主要是其主控板中的控制算法,输入输出端口主要有主控板和被控对象的连接的信号,包含数模或模数转换等电路;被控对象包含执行器机构等;传感器是将所需要控制的信号量转换成电信号的元件。522模糊控制器的原理模糊控制的处理的控制过程一般分成以下几个步骤计算系统偏差和偏差的变化率、模糊化处理、通过模糊控制规则判断、得出模糊控制决策、进行非模糊化处理和控制量输出。此次设计采用二维模糊控制器。本次设计采用的是在MATLABSIMULINK的环境下进行温度控制,故可以使用模糊控制工具箱进行模糊控制器的设计,原理为1根据模糊控制输入偏差E,偏差变化率DE,输出量U的实际取值范围确定其系统的基本论域,每个实际变量的论域划分为离散值的的集合,作为变量的模糊论域,本次设计取E和DE的模糊论域均为6,6,U的模糊论域为7,7。2将模糊论域分成多个模糊子集,子集越多,控制精度相对较高,但设计也较复杂,结合本设计系统精度要求,本设计将偏差E分成8个模糊子集,即NB负大,NM负中NS(负小)NO负零PO(正零)PS正小PM(正中)PB(正大)其论域为E6,5,4,3,1,0,0,1,2,3,4,5,6。DE和U都分成7个模糊子集,为NB负大,NM负中NS(负小)0(零)PS正小PM(正中)PB(正大),其论域为DE6,5,4,3,1,0,1,2,3,4,5,6。3确定其隶属函数,模糊控制工具箱提供的隶属函数有高斯隶属函数、通用钟型隶属函数、梯形隶属函数、三角形隶属函数、S型隶属函数等,本次设计采用较为常用的三角形隶属函数作为模糊集隶属度的确定。4确定模糊因子,模糊因子是将精确量模糊化过程中的量化因子,本次系统的偏差E的基本论域为100,100,模糊论域为6,6,故量化因子K7/100007。根据系统为控制水温,具有一定的滞后特性,故DE结合系统的采样时间可选择其基本论域为7,7,所以它的量化因子为KE6/7086。U的实际论域为100,100,量化因子KU6/100006。5根据实际系统可以总结出系统的各变量的隶属度情况,见表5153。表51水温控制偏差E的模糊集隶属度表65432100123456PB00000000000205081PM000000000030610603PS000000002071070200PO0000000107020000NO0000020710000000NS000205108020000000NM020610602000000000NB10703010000000000表52水温控制偏差变化率DE的模糊集隶属度表65432100123456PB00000000000103071PM000000000020610602PS00000000081070200O0000006106000000NS000107108010000000NM010610601000000000NB10703010000000000表53水温控输出占空比U的模糊集隶属度表65432100123456PB00000000000103071PM000000000020610602PS00000000081060200O0000005105000000NS000207107020000000NM020610602000000000NB10703010000000000根据人们的经验和控温系统的实际特性,可得到如下的控制规则表54模糊控制规则序号控制规则序号控制规则1IFEISNBANDDEISNBTHENUISPB29IFEISPOANDDEISNBTHENUISPM2IFEISNBANDDEISNMTHENUISPB30IFEISPOANDDEISNMTHENUISPM3IFEISNBANDDEISNSTHENUISPB31IFEISPOANDDEISNSTHENUISPS4IFEISNBANDDEIS0THENUISPB32IFEISPOANDDEIS0THENUIS05IFEISNBANDDEISPSTHENUISPM33IFEISPOANDDEISPSTHENUISNS6IFEISNBANDDEISPMTHENUIS034IFEISPOANDDEISPMTHENUISNM7IFEISNBANDDEISPBTHENUIS035IFEISPOANDDEISPBTHENUISNM8IFEISNMANDDEISNBTHENUISPB36IFEISPSANDDEISNBTHENUISPS9IFEISNMANDDEISNMTHENUISPB37IFEISPSANDDEISNMTHENUISPS10IFEISNMANDDEISNSTHENUISPB38IFEISPSANDDEISNSTHENUIS011IFEISNMANDDEIS0THENUISPB39IFEISPSANDDEIS0THENUISNS12IFEISNMANDDEISPSTHENUISPM40IFEISPSANDDEISPSTHENUISNM13IFEISNMANDDEISPMTHENUIS041IFEISPSANDDEISPMTHENUISNM14IFEISNSANDDEISNBTHENUISPM42IFEISPSANDDEISPBTHENUISNM15IFEISNSANDDEISNBTHENUISPM43IFEISPMANDDEISNBTHENUIS016IFEISNSANDDEISNMTHENUISPM44IFEISPMANDDEISNMTHENUIS017IFEISNSANDDEISNSTHENUISPM45IFEISPMANDDEISNSTHENUISNM18IFEISNSANDDEIS0THENUISPS46IFEISPMANDDEIS0THENUISNB19IFEISNSANDDEISPSTHENUIS047IFEISPMANDDEISPSTHENUISNB20IFEISNSANDDEISPMTHENUISNS48IFEISPMANDDEISPMTHENUISNB21IFEISNSANDDEISPBTHENUISNS49IFEISPMANDDEISPBTHENUISNB22IFEISNOANDDEISNBTHENUISPM50IFEISPBANDDEISNBTHENUIS023IFEISNOANDDEISNMTHENUISPM51IFEISPBANDDEISNMTHENUIS024IFEISNOANDDEISNSTHENUISPS52IFEISPBANDDEISNSTHENUISNM25IFEISNOANDDEIS0THENUIS053IFEISPBANDDEIS0THENUISNB26IFEISNOANDDEISPSTHENUISNS54IFEISPBANDDEISPSTHENUISNB27IFEISNOANDDEISPMTHENUISNM55IFEISPBANDDEISPMTHENUISNB28IFEISNOANDDEISPBTHENUISNM56IFEISPBANDDEISPBTHENUISNB根据控制规则可得到如下控制状态表表55模糊控制状态表误差变化率DE控制量UNBNMNS0PSPMPBNBPBPBPBPBPM00NMPBPBPBPBPM00NSPMPMPMPS0NSNSNOPMPMPS0NSNMNMPOPMPMPS0NSNMNMPSPSPS0NSNMNMNMPM00NMNBNBNBNB偏差EPB00NMNBNBNBNB523模糊控制器的设计本次设计是在MATLABSIMULINK环境下对输入数据进行处理的,所以需要用MATLAB的模糊控制工具箱设计模糊控制器,有了上一节介绍的模糊控制器的设计原理后,就可以设计出模糊控制器了,下面介绍模糊控制器设计的步骤过程。第一步,建立模糊控制器工程文件。(1)在MATLAB的命令窗口中键入FUZZY并按回车键,如图55;(2)给新建模糊控制器添加变量,依次选择【EDIT】【ADDVARIABLE】【INPUT】,如图56;(3)双击系统误差变量E,进入误差变量E的编辑窗口,将默认生成的模糊子集个数删除,并添加设计所需的7个模糊子集,依次选择【EDIT】【ADDMFS】,在【NUMBEROFMFS】栏中选择7;(4)修改模糊子集名、隶属函数类型,模糊论域、隶属度参数,按照第三步将误差变化率DE和U的各参数修改完成,至此,完成各输入及输出变量的参数配置。图55打开模糊推理系统编辑器图56添加出入变量第二步进行模糊控制规则的编辑。(1)双击模糊编辑器中间的图标,进入到模糊规则编辑器窗口。根据所设计的模糊规则,其输入通过“与”的关系将56条规则添加到规则库中,如图57。图57模糊规则编辑经过第二步,完成了模糊控制器的设计,接下来对模糊控制器的FIS文件进行保存,以便在SIMULINK的模糊控制器模块中调用此文件,点击【FILE】【EXPORT】【TOFILE】保存文件,文件命名为MYFUZZYCONTROLER,如图58所示。图58保存的模糊控制器FIS文件将建立好的FIS文件添加到SIMULINKMODEL文件的FUZZYLOGICCONTROLLER模糊控制器模块,方法为双击模糊控制器模块,在弹出的对话框中输入前面我们建立好FIS文件名,即“MYFUZZYCONTROL”,如图59,另外,在运行这个工程文件前,需要将我们的FIS文件输出到MATLAB的工作空间,用我们的模糊控制编辑器打开FIS文件,选择【FILEEXPORTTOWORKSPACE】,如图510所示,这样,在运行工程时模糊控制器就会自

温馨提示

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

评论

0/150

提交评论