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

下载本文档

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

文档简介

1、编号: 毕业设计说明书题 目: 采用MATLAB与单片机 的模糊温度控制 院 (系): 电子工程与自动化学院 专 业: 自动化 学生姓名: 学 号: 指导教师: 职 称: 高级工程师 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发2015 年 5 月 10 日 摘 要在进行控制系统的设计中,都要对算法程序进行设计,其设计过程往往是脱离实际的被控对象在单独的实验平台上进行开发,经过反复的仿真实验,最后得出最优的控制算法,并运用与实际的对象模型上。但有时候由于实际被控对象与仿真控制平台会有区别,仿真得到的算法程序却不一定能够达到理想的控制效果,需要从新进行算法的设计,结果延长了系

2、统的开发周期,所以,把仿真实验平台与实际被控对象进行联调,在设计仿真算法时直接运用在实际模型中进行调试,大大减少了开发时间,提升了产品开发效率。本设计通过分别设计模糊控制算法和PID控制算法,运用于实际的温控对象模型,对水温进行控制,通过对比测试,实现此实验平台上的算法研究。本文主要对本次设计的系统要求进行介绍,分析MATLAB模糊控制和PID控制算法的设计过程,利用simulink环境下的系统模块通过串口与下位机进行数据交互,取代复杂的程序的设计过程,进行半硬件的仿真控制过程,可通过simulink上的图形界面方便地观察其控制算法对实际系统模型的控制性能,最后验证模糊控制和PID控制在这一平

3、台上的可行性。本设计使用到的软硬件由五个部分组成:MATLAB控制软件、STC89C52单片机系统、DS18B20传感器、加热器的可控硅控制电路,利用光耦实现了强电与弱的完全隔离。单片机系统作为其控制的核心,包括有LCD1602显示与RS232串口通信部分,DS18B20检测到温度数据,并传到单片机,单片机将数据通过串口发送到MATLAB,MATLAB处理后返回控制量到单片机,单片机根据控制量的大小来控制加热器功率,达到控制水温的目的。关键词:MATLAB;模糊控制;PID控制;串口通信AbstractWhen in a design of control system, should be

4、to design of algorithm program, and the design process is often separate from the actual controlled object in a experiment platform, after repeated simulation experiment, it is concluded that the optimal control algorithm finally, and then apply to the actual object model.But sometimes due to the ac

5、tual controlled object have a difference in simulation control platform, the simulation of algorithm program can not necessarily achieve the ideal control effect.So it is need to redesign of a processes for the algorithm, result in the system development cycle extend, therefore, when designing the s

6、imulation algorithm is directly in used a practical model for debugging, combine the simulation experiment platform and the actual controlled object get together, greatly reduce the development time, improve the efficiency of the product development.This design through a design of fuzzy control algo

7、rithm and PID control algorithm, respectively applied to the actual temperature control object model, to control the temperature of water, studing two kinds of control algorithm on the experiment platform through the contrast test.This paper mainly introduces the system requirements for the design a

8、nd analysis of the MATLAB fuzzy control and PID control algorithm design process, using simulink environment system module through serial port and data interaction, instead of the design process of complex programs, half hardware simulation control process, it can be observed the control performance

9、 through the graphical interface on the simulink about its control algorithm in the actual system model easily. And verify the feasibility about the fuzzy control and PID control in this platform.This design is made up of five parts in software and hardware: it is MATLAB control software, STC89C52 s

10、ingle-chip microcomputer system, silicon controlled rectifier control circuit. A temperature sensor of DS18B20, the heater uses light coupling for isolated high voltage and weak voltage completely. The single-chip system as the core of its control, including LCD1602 displayer and RS232 serial commun

11、ication part.DS18B20 of temperature sensors detected data, and transmit to the single chip microcomputer, microcomputer sends data through the serial port to MATLAB, MATLAB processing returns control to the single chip microcomputer, the single chip microcomputer according to the size of control val

12、ue to control the power of heater, achieve the goal of the temperature of water being controlled.Key words:MATLAB;Fuzzy control;PID control; series communication目 录引言11 课题设计内容21.1 设计内容21.2 设计的主要难点21.3 技术要求数据22系统方案设计22.1 系统方案论证2控制电路的方案选择2测温电路方案选择3显示电路方案选择32.1.4 PWM实现方案选择42.2 总系统框图53系统器件介绍53.1 STC89C5

13、2单片机概述53.1.1 STC89C52单片机定时/计数器63.1.2 STC89C52单片机中断系统63.1.3 STC89C52单片机串口73.2 DS18B20温度传感器83.3 LCD1602显示屏93.4 BTA24-600B双向可控硅104 硬件电路设计104.1 单片机最小系统10电源电路10晶振电路11复位电路114.2 通信接口电路124.3 传感器电路134.4 显示电路144.5 加热器控制电路145 软件程序设计155.1 MATLAB工程文件的创建155.2 模糊控制器15模糊控制器的介绍15模糊控制器的原理17模糊控制器的设计195.3 PID控制器21 PID控

14、制器的介绍21 PID参数对系统的影响22 PID参数整定235.4 MATLAB串口通信24 MATLAB接收数据25 MATLAB发送数据285.5系统主函数的设计285.6 单片机发送子函数295.7 单片机接收子函数315.8 PWM子函数325.9 温度采集子函数335.10 数据的软件滤波356 系统调试366.1 硬件系统基本功能测试366.2可控硅电路测试376.3串口程序调试376.4 PWM程序调试386.5实验数据分析386.6误差分析407 结论41谢 辞42参考文献43附 录44引言 目前广泛使用MATLAB进行控制算法的仿真研究,通过MATLAB进行系统的算法设计,

15、使用软件与硬件的接口通讯,将MATLAB与实际被控对象连机进行控制算法的实际验证,是控制算法研究的一个更为重要的环节,它能够更加充分证实其算法在实际应用中的控制效果。为进行实际系统的研究、分析、决策设计,以及对专业人员的培训提供了一种先进的方法1。在我国,自20世纪50年代开始,面向半实物仿真实验已开始应用于飞机导弹的工程型号研制中,从问世到目前美国研制的航天飞机,硬件在回路仿真技术始终盛行不衰,它采用被控对象或者系统运行环境部分采用实物,部分采用实时数字模型来模拟,进行整个系统的仿真测试2,从20世纪6070年代起,美国、西欧、日本等国建设了一批高水平、大规模的硬件在回路仿真系统,这些硬件在

16、回路仿真系统在武器型号研制中发挥重大作用3 本课题综合了控制理论、单片机与软件技术,设计单片机温度控制硬件电路,实现温度采集与电加热器的PWM驱动,利用串行口实现MATLAB软件进行通信,将单片机加热系统取代MATLAB中的仿真对象模型,通过对水温的实际控制,进行模糊控制算法与PID控制算法的实际控制效果进行对比研究。本文分为7章,详细介绍了模糊控制系统的设计过程。首章系统地介绍了本次单片机模糊控制系统的设计内容和系统参数的要求;第2章主要介绍了系统各模块实现方案的论证选择过程和总体方案框图;第3、4章介绍本此设计使用到硬件芯片,包括STC89C52主控芯片、DS18B20温度传感器、可控硅等

17、器件的功能和详细参数以及系统各模块硬件电路的设计过程;第5章介绍了控制系统的算法设计方法和软件的程序设计;第6章介绍了系统硬件和软件的调试方法和调试过程;最后一章则对于本次设计进行总结和展望。1 课题设计内容 1.1 设计内容本设计主要采用MATLAB设计模糊控制和PID控制算法程序,并进行温度控制器的设计制作,以实现水温的测温与控温,由单片机STC89C52对温度传感器进行温度采集并通过LCD1602显示屏显示,单片机通过串口通信将采集到得温度传到MATLAB进行处理后输出控制量进行控温,最后分别使用模糊控制算法和PID控制算法来对水温进行控制,实现两种算法的对比测试。1.2 设计的主要难点

18、本次设计的难点和核心主要在于:(1)温度传感器DS18B20的使用;(2)软件部分PID算法的设计;(3)水箱温度的MATLAB模糊控制算法的设计。1.3 技术要求数据本次设计的主要设计要求:(1)温度检测范围0-100度,测量精度±0.1度;(2)水温控制范围40-90度,控制精度为±0.5度;(3)设计MATLAB与单片机之间的数据通信;(4)实现模糊控制与PID控制的温度控制对比测试。2系统方案设计2.1 系统方案论证在工程设计过程中,方案的论证选择是一个必要过程,在器件选型,程序实现方式中,都会影响系统的性能,在确定方案的时需要考虑系统参数是否达到要求,并且结合设计

19、成本等因素,确定出最优方案。控制电路的方案选择方案一:采用STC89C52单片机作为控制器可以同时完成PWM控制、温度显示,串行数据收发等功能,电路设计和制作都相对简单,成本也较低,编程简单方便,可以在线下载程序;它的运行速度也能满足本次设计要求,是一种非常不错的方案。方案二:采用STM32单片机作为系统的控制部分,具有多个串口,可实现本设计需要的控制,显示,串口收发数据等全部功能,也可以作为此次设计的方案之一,但其封装为贴片封装,手工制作电路板焊接较困难,制作出的电路板可靠性较低,编程也相对复杂。方案三:采用FPGA实现控制功能。在使用FPGA作为控制时,电路设计相对简单,通过对应的编程接口

20、设计,也容易达到实现控制过程和显示温度数据、控制加热器功率等功能,是一种可以选择的设计方案。但与单片机相比,价格比较昂贵,显得大材小用,考虑到经济方面,不是最优的方案选择。综合上面所述各方案的比较,本设计采用方案一作为其控制电路。测温电路方案选择方案一:利用热敏电阻来做测温器件。它的原理实现是通过温度变化时电阻值的改变来得到电压的改变,另外要用到电桥的配合使用,要实现测量到较高精度的话则还需要配上精度很高的电阻器件;而且还需要通过加上相应的调理电路模块。对本次设计的精度要求高的系统不合适采用这种方案。方案二:采用K型热电偶, K型热电偶利用不同感温的金属材料、安装一定的装置,和接线盒

21、等这些主要部件,来实现其测温性能,它的测温范围广,对水温的测量也可以达到,但不易实现编程,在使用时还需进行补偿换算等运算处理,不易实现。方案三:可以使用DS18B20数字温度传感器,它是常用的一种体积小、质量轻、新型的测温器件,与单片机等微处理器接口简单易行,作为数字化温度传感器,它读取得到的温度数据直接是数字量 ,测量温度范围为 -55到125,测量精度为±0.5。环境温度直接以单总线的方式传输到控制器,很大的提高了测温系统的抗干扰能力。DS18B20的分辨率可以根据用户的使用要求在9到12位间选择其测量精度。   综合上面所述各方

22、案的比较,本设计采用方案三作为其测温电路的传感器元件。2.1.3显示电路方案选择方案一:采用四位七段数码管进行温度显示,数码管显示清晰,直观,在本次设计中,四位数值显示也符合题目显示精度的要求,但在进行数码管电路设计时需要增加额外的驱动电路,而且其电路布线复杂。方案二:采用LCD1602进行温度显示,LCD1602可以显示多位字符,符合本次设计的要求,并且操作简单,通过相应的编程就可以很容易地实现其温度的显示,其电路设计也相对简单,是一种很好的方案选择。方案三:采用12864液晶显示屏,12864液晶屏除了可以显示数字,字符以外,还可以显示汉字,通过相应的读写命令操作就可以进行显示,但1286

23、4液晶屏封装较大,占据电路板过多,而且价格高,不适于本设计的最佳方案。综合上面所述各方案的论证比较,本设计采用方案二作为其显示电路的最佳设计方案。2.1.4 PWM实现方案选择产生PWM脉宽信号的方法一般有两种:一种是通过软件编程实现;另一种方法是通过硬件电路的搭建来产生。方案一:利用NE555,SG3525等一系列的脉宽调制芯片组成脉宽发生电路:这种方式利用NE555芯片来作为核心控制电路,用来产生相应的脉宽信号。NE555产生的脉宽信号要通过功率放大以后才能作为驱动信号被后级电路使用。NE555、SG3525组成的控制电路相对复杂,其智能化、自动化的可靠性能较低,不利于作为控制信号在重要场

24、合中使用。方案二:利用单片机等控制器件,使用软件编程来实现PWM脉宽调制:在电源电压Ud不变的情况下,占空比D在PWM中是一个重要的参数,电源的电压平均值决定于占空比D的大小,改变占空比D的值就能够改变电源电压的输出平均值,从而达到控制加热器功率的目的。改变占空比D的值有下面的几种方法:(1)确定脉宽不变调节频率法:保持t1大小不变,只改变t2大小,这样会让频率(或者周期)也会跟着变化,如图2.1所示。(2)改变脉宽改变调频法:保持t2不改变,只改变t1的大小,这样会让频率(或者周期)也会跟着变化,如图2.1所示。(3)确定频率不变改变脉宽法:保持周期T(或频率)不变,同时改变t1大小和t2大

25、小,如图2.1所示。图2.1 PWM电压占空比示意图前面介绍的那两种方法在PWM调压时改变了PWM脉冲的周期(或频率),在改变PWM脉冲的频率的过程中,当控制系统本身的固有频率和PWM控制脉宽的频率接近时,将会产生振荡现象,所以通常采用确定频率(或者周期)改变PWM占空比的这种方法来达到改变加热器两端电压的平均值,以实现控制加热器功率的目的。本设计利用单片机的定时器方式来达到延时的目的,这样可实现PWM占空比的任意调节,这种方法可以不用外加额外的硬件电路,实现简单,并且具有可靠性高,抗干扰性强等优势。所以选取方案3,采用确定周期(或频率)不变而改变占空比的方法。2.2 总系统框图本系统中,使用

26、温度传感器和对水箱进行采集温度数据信息,然后传送到单片机中进行运算,并将数据通过串口通信传到计算机MATLAB软件进行进一步处理后,返回输出控制量给单片机来控制热水器加热功率,并把数据同步传到显示器显示,其系统框图如图2.2所示:计算机MATLABLCD1602可控硅驱动电路单片机水箱温度传感器水箱加热器图2.2系统框图控制核心:采用单片机STC89C52,对各个功能模块进行数据信息的处理和控制。 传感器模块:采用DS18B20温度传感器。显示模块:采用LCD1602显示屏。加热器通断电模块:采用BTA24-600B三端双向可控硅。3 系统器件介绍3.1 STC89C52单片机概述本次使用的是

27、处理器芯片是STC89C52,它是新一代高速一种性能高,功耗低的8位处理器,具有 8KB 在系统可编程存储器,使用的是MCS-51内核,这款处理器还在普通的51单片机上进行了较大的改进,从而增加了普通单片机上没有的功能。在其芯片上具有8位处理器和可编程FLASH,令这款单片机能在很多控制系统中方便地实现用户所需的控制功能,如表3.1所示,其引脚图如图3.1所示:表3.1 STC89C52单片机功能参数序号特征参数1为增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以随意选择,指令代码完全兼容普通805125V单片机工作电压为5.5V3.3V,3V 单片机工作电压为3.8V2.0

28、V3工作频率范围工作频率从0到40MHz,速度为普通单片机的两倍4用户应用程序空间为8K字节5片内集成有512byte RAM存储6通用的32个I/O 口,复位后P0/P1/P2/P3为准双向口,P0口可作为总线扩展并无需加上拉电阻,在作为 I/O 口用时要加上拉电阻7为在系统可编程或者在应用可编程),不需要专用编程器和仿真器,经过相应的串口引脚可以直接下载用户的程序8具有EEPROM 功能9具有T0、T1和T2一共3 个16 位定时器/计数器10外部中断4 路,可通过下降沿中断或者低电平方式触发,低功耗模式下可以通过外部中断低电平触发方式唤醒11通用异步串口12工业级工作温度范围,为-40+

29、8513其封装形式为PDIP封装图3.1 STC89C52单片机引脚图3.1.1 STC89C52单片机定时/计数器STC单片机内部具有3个定时器,分别是定时器0,定时器1和定时器2,都为16位定时/计数器,可根据方式寄存器的相应位M0和M1来选择其工作方式,有方式0,方式1,方式2和方式3,而通过控制寄存器来对定时器和计数器进行相应的操作,完成用户所需要实现的功能。例如,在使用方式1的16为计数器时,可进行定时为: 定时时间=(216定时器初值)×时钟周期×12 (3-1)3.1.2 STC89C52单片机中断系统单片机的中断系统提高了对事件的处理能力,STC89C52中

30、断可分为外部中断,定时器中断和串口中断这三种中断类型,分别为外部中断0(Pin3.2),外部中断1(Pin3.3),定时器T0中断,定时器T1中断和串口中断。(1)外部中断0由引脚Pin3.2进行输入请求,下降沿或低电平有效由控制寄存器TCOND的位IT0决定,并且以位IE0建立标识。(2)外部中断1由引脚Pin3.3进行输入请求,下降沿或低电平有效由控制寄存器TCOND的位IT1决定,IT1=0为电平触发,IT1=1为边沿触发,并且以位IE1建立标识。(3)定时器0中断是通过定时器0的溢出标识位TF0决定的,当定时器溢出时TF0置1并请求中断。(4)定时器1中断是通过定时器1的溢出标识位TF

31、0决定的,当定时器溢出时TF1置1并请求中断。(5)串口中断是发送或接受成功一帧数据时通过置SCON寄存器的TI或RI为1进行中断请求的。3.1.3 STC89C52单片机串口在STC89C52单片机中有一个全双工的异步通讯串行接口,为实现双机、多机通讯提供了很大方便5。它的串行输入口是引脚P3.0,串行输出口是引脚P3.1,内部有三个寄存器,即数据缓冲寄存器,串口控制寄存器和电源控制寄存器,分别用SBUF,PCON和SCON表示。在操作串口时主要是操作SCON寄存器,它的8个位定义和功能说明如表3.2所示,可以通过SM0和SM1设定串口的四种工作方式,如表3.3所示:表3.2 SCON寄存器

32、位定义位名称说明D7SM0串口工作方式控制位D6SM1串口工作方式控制位D5SM2方式2和方式3多机通信控制位D4REN串口允许接收位D3TB8第9位发送数据D2RB8地址数据标识位D1TI发送中断标识位D0RI接收中断标识位表3.3 串口工作方式选择SM0SM1方式说明000同步移位寄存器方式01110位异步收发方式10211位异步收发方式11311波特率可变位异步收发方式串口波特率:波特率是表示二进制传送的速率。它由晶振频率,电源控制寄存器的SMOD位和定时器1决定。根据不同的工作方式有不同的波特率,当采用方式0时其波特率为固定的,为单片机时钟频率十二分之一;当选择方式1时,其波特率为可变

33、的,例如,当采用定时器1工作方式2,串口工作于方式1或方式3时,波特率的计算公式为 波特率= (3-2)式中,SMOD为电源控制寄存器的位选,选取0或1,为时钟频率。3.2 DS18B20温度传感器DS18B20为单总线数字式温度传感器,支持“单总线”的接口,这很大的提高了系统的抗干扰能力,它可使用在温度检测、消费电子、工业生产设备、温度计等任何热敏系统。DS18B20具有独特的单线接口,只需要一个引脚端口就可以进行通信,每个DS18B20出厂时在内部存储器中都有一个唯一的64位光刻的识别序列号,作为主机在识别多个挂接在总线上的依据,电路连接上只需要在数据线上接一个上拉电阻,供电方式可通过数据

34、线进行供电,供电范围从3.0V到5.5V。最大测温范围可从-55到125,还可以根据温度计分辨率提供用户者选择为9到12位精度选择,如表3.4:表3.4 DS18B20分辨率及精度分辨率精度()最大转换时间(ms)9位0.593.7510位0.25187.511位0.12537512位0.0625750DS18B20有严格的时序要求,在进行指令或是数据的读写过程中都要按照其时序要求来进行,时序中包含了复位时序,读时序和写时序。图3.2 DS18B20初始化时序(1)复位时序按照如下方式进行:如图3.2所示,数据总线置到高电平并且进行延时一段时间间隔,延时时间在10us以下均可以;数据总线置到低

35、电平并且进行延时600us左右的时间间隔;将数据总线置到高电平并且进行延时30ms左右的时间间隔;等待主机返回的低电平信号后进行延时500us左右;最后将数据总线置到高电平,完成复位操作。图3.3 DS18B20读时序(2)读时序按照如下方式进行:如图3.3所示,数据总线置到高电平并且进行延时2us的时间间隔;数据总线置到低电平并且进行延时6us;数据总线置到高电平并且进行延时4us;读取数据总线的一个位信号,得到位信号后进行数据的处理操作并且延时30us的时间间隔;最后循环重复以上的步骤,直到读取完毕一个字节的所有位。图3.4 DS18B20写时序(3)写时序按照如下方式进行:如图3.4所示

36、,数据总线置到低电平0;延时15us的时间间隔;进行发送一位数据,注意的是DS18B20是先发送数据的低位,再到发送数据的高位的;再进行时间延迟45us;把数据总线置到高电平;程序循环发送完一个字节所有的位;最后把数据总线置高电平,这样就完成了一个字节的写操作。3.3 LCD1602显示屏LCD1602有14脚(无背光)和16脚(带背光)接口的两种形式,一次最多可以显示2行16列共32个字符,内部带有复位电路,工作电压可以为3.3V或是5V,LCD1602带有它自身的字符集,只要通过相应的代码读写操作,就能够显示相应的字符。另外,它的功耗功耗低、质量轻、可以显示的内容很多、使用时占用空间小,可

37、以方便地安装在很多地方,被经常应用在各种仪器和显示设备中。LCD1602各引脚接口说明如表3.5所示:表3.5 LCD1602引脚接口说明表编号符号引脚功能编号符号引脚功能1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极3.4 BTA24-600B双向可控硅BTA24-600B三端双向可控硅,是一款采用TO-220AB 封装方式的集成半导体器件,如图3.5所示,它可承受最大的电流值为25A,最大电压600V,触发极电

38、流为3550mA。本次设计采用的加热器功率为1200W,额定电流约为5.5A,所以此可控硅满足系统要求。 图3.5可控硅实物图4 硬件电路设计本次设计中,硬件使用到了STC89C52最小系统板,RS232通信接口部分,用以进行单片机与计算机MATLAB通信,LCD1602温度显示电路,以及可控硅电压控制电路共五个部分。4.1 单片机最小系统本次设计采用的单片机为DIP40封装的单片机,一共40个管脚,其最小系统上包含有一个TOP220封装的5V稳压芯片,用以稳定最小系统的电源电压,一个RS232下载器接口,LED电源指示灯,另有复位电路和晶振电路,P0口接上拉电阻,单片机的管脚由排针全部引出,

39、以备连接其他器件接口。电源电路本系统使用的是5v电源,可通过外接5V电源或者12V电源提供,当接入的是12V电源时,通过L7805稳压芯片将其稳压到5V后输出给单片机系统,外加一些连接5V电源的排针接口,以便作为电源扩展接口使用,5V或12V电源和地之间接一个0.1UF的陶瓷电容和一个470UF的电解电容,用来滤除电源的干扰信号,电解电容滤除低频干扰,陶瓷电容滤除高频干扰,使电源输出稳定的电压值。在电源电路中还额外加入了一个LED电源指示灯,指示灯与一个1K的电阻串联,当系统上电时,指示灯亮,由此可以观察系统电源是否正常。电源电路如图4.1所示:图4.1单片机电源电路4.1.2晶振电路本设计使

40、用的是内部时钟电路作为振荡器,单片机的时钟管脚接X1和X2,外接两个30PF的微调电容,电路如图4.2所示:图4.2晶振电路原理图4.1.3复位电路STC89C52复位方式有上电复位和和按钮复位,在采用按钮复位时它是通过电平或者脉冲来复位的,本设计采用按钮电平复位的方式进行设计复位电路,RST为单片机的复位引脚,通过5V的电源与上拉电阻相连,当单片机在工作时按下复位按钮,10UF的电容先是放电,然后又充电,充电时电流由大变小,此时10K下拉电阻即复位引脚RST会产生一个高电平从而对单片机进行复位,电容充满电后电流为0,复位引脚恒为低电平,单片机从新进入正常的工作状态,电路如图4.3所示:图4.

41、3单片机复位电路原理图4.2 通信接口电路目前RS232是作为计算机与通信设备通信应用中最广泛的一种串行通信接口,它的通信方式为全双工的方式,即允许两个通信设备之间可同时进行收发数据。本次设计中,使用的是简化的9针的RS232信号接口,STC89C52使用串口通过MAX232芯片来把电平转换后和计算机进行通信,3.3V的TTL电平可以通过MAX232与RS232电平进行转换。计算机与单片机串口连接示意如图4.4所示,RS232通信电路原理如图4.5所示,本次设计只使用到了数据接收端RXD和数据发送端TXD和信号地三个端口,电路原理图如表4.1所示:表4.1 RS232信号接口引脚符号信号功能1

42、DCD输入载波检测2RXD输入接收数据3TXD输出发送数据4DTR输出数据终端准备好5GND公共端信号地6DSR输入数据装置准备好7RTS输出请求发送8CTS输入清除发送9RI输入振铃提醒计算机RXDTXD单片机RXDTXDGND 图4.4串口通信的连接方法图4.5 RS232通信电路原理图4.3 传感器电路此次设计采用的是DS18B20温度传感器,DS18B20传感器只有三个接口,即电源,信号线和地线,其中信号端由电源通过4.7K的上拉电阻相连接,数据口接单片机的P0.0脚,电路如图4.6所示:图4.6 DS18B20电路原理图4.4 显示电路LCD1602的数据口D0D7分别接单片机的P0

43、.0P0.7脚,使能信号E,读/写选择R/W ,数据/命令选择口RS分别接单片机的P1.4,P1.5和P1.6,其中LCD1602的3脚接接一个10K的滑动变阻器RF,用来调节显示屏的对比度,电路如图4.7所示:图4.7 LCD显示电路原理图4.5 加热器控制电路用单片机控制可控硅的导通和关断可以控制加热器的功率,导通时间越长,功率越大,加热越快,反之功率越小,加热越慢。加热控制电路主要由光耦合元件MOC3020和可控硅BTA24-600B组成,这样可以通过光耦来对弱电与220V强电进行隔离,保证了电路的安全可靠。利用单片机对光耦进行控制实现其通断过程,光耦内部有一发光二极管,用上拉电阻与发光

44、二极管的正端相连,负端接一个NPN三极管管作为开关管,当单片机输出一高电平到三极管的b极时,内部发光二级管被点亮,光耦导通,可控硅的触发极有电流流过,触发可控硅导通,则加热器工作,当单片机输出一低电平到三极管的b极时,内部发光二级管熄灭,光耦不导通,可控硅关断,加热器停止工作。这样就可以通过单片机的PWM来控制其通断时间,实现加热器的功率加热。可控硅控制电路如图4.8所示:图4.8可控硅控制电路原理图5 软件程序设计本次课题当中软件设计是重点,软件是系统的大脑,只有编写好了系统的程序,系统才能按照系统要求去执行每一步的操作,协调不同模块的正常工作。这些包括模糊控制器的设计,温度数据采集的程序设

45、计,PWM脉宽信号的程序实现,以及MATLAB simulink系统模型搭建,是本设计的关键。5.1 MATLAB工程文件的创建系统在运行时,需要要将单片机的数据由Query Instrument模块接收到simulink的model里面,才能进行温度数据采集,模糊控制系统首先将接收到的温度数据,与设定值通过simulink的求和模块得到系统误差,系统误差求导后得到误差变化率,通过mux模块一起作为输入变量送入模糊控制器模块,模糊控制器计算得出控制量,通过To Instrument模块发送到单片机,控制加热器执行加热过程,故需要创建simulink工程文件,这是本次设计的核心部分,它处理数据的

46、结果直接影响到系统的最终控制结果,所以这是本次设计最为关键的一部分。点击MATLAB工具栏的【Simulink Library】【File】【New】【Model】,这时就建立了工程的空白页,根据所需要的元件模块,如Query Instrument,To Instrument,fuzzy logic controller模块等添加到simulink工程的的Model里面,完成各个子模块的连接。完成后其模糊控制系统如图5.1所示:图5.1 Simulink模糊控制系统5.2 模糊控制器5.2.1模糊控制器的介绍所谓模糊,其意思是指客观的事物彼此间的差异在中间过度时,界限不分明6。就比如平时所说的

47、水温高,但“高”的范围很广,并不是一个明确的量,这样的概念就叫做模糊的概念,在日常生活中存在很多这样的模糊概念,这样的模糊概念不能用精确数学定量地去描述它,这就需要模糊理论来对这些概念进行分析,所以,在进行系统的模糊量的控制时就有了模糊控制。模糊控制从起源至今已有多年的发展,其技术已趋于成熟,现今在很多控制领域中由于系统越来越复杂,甚至包含很大的非线性,时变特性等,在建立系统模型中,难以为其建立准确的动态模型,即便用经典控制算法也很难得到很好的控制效果。对于这样的系统,使用模糊控制是一个很好的选择,模糊控制可以建立在技术人员的经验之上,由技术人员根据经验来给出控制量,当控制系统偏差大时,控制人

48、员就给出大的输出量,偏差为中时,输出控制量为中,偏差小时,控制量为小。通过这样模糊的控制规则,可以达到较好的控制效果。在一般的控制中具有几种形式的模糊控制器,它是根据输入变量的数量来区分的,可以分成如下几种:(1)一维模糊控制器:即只有一个输入变量e,这个变量就是系统的偏差,即设定值与实际值之差,模糊控制器就是根据这个差值进行确定输出控制量大小的,类似于比例方式的调节方法,但这种一维模糊控制器不能提前预知系统的误差变化,只有系统出现误差后才能做出反应,进而输出控制调节量,故这种一维模糊控制器调节过程较粗糙,在要求较高的系统中不能满足系统要求,其示意图如图5.2所示。图5.2 一维模糊控制器示意

49、图(2)二维模糊控制器:即有两个输入变量e和de,变量e为系统的偏差,变量de为系统偏差的变化率,控制量由这两个量同时决定,二位模糊控制器增加了误差变化率作为其输入变量,这个变量能够提前判断误差变化的趋势,所以能提前对误差进行校正,提高了系统的动态性能,其示意图如图5.3所示。图5.3二维模糊控制器示意图(3)三维模糊控制器:即有输入变量e,de和d2e,变量e为系统误差,de为系统误差e的导数,d2e为系统误差e的二阶导数,除了这三种模糊控制器以外,还有更高维数的模糊控制器,但随着维数越高,其控制复杂程度也越高,所以,在日常的控制系统中,都只使用三维以下模糊控制器,其中二维模糊控制器使用得最

50、为普遍的,其示意图如图5.4所示。图5.4 三维模糊控制器示意图模糊控制器系统主要有四个部分组成,即模糊控制器、输入输出端口、被控对象和传感器部分。模糊控制器主要是其主控板中的控制算法,输入输出端口主要有主控板和被控对象的连接的信号,包含数模或模数转换等电路;被控对象包含执行器机构等;传感器是将所需要控制的信号量转换成电信号的元件。5.2.2模糊控制器的原理模糊控制的处理的控制过程一般分成以下几个步骤:计算系统偏差和偏差的变化率、模糊化处理、通过模糊控制规则判断、得出模糊控制决策、进行非模糊化处理和控制量输出。此次设计采用二维模糊控制器。本次设计采用的是在MATLAB simulink的环境下

51、进行温度控制,故可以使用模糊控制工具箱进行模糊控制器的设计,原理为:(1)根据模糊控制输入偏差e,偏差变化率de,输出量u的实际取值范围确定其系统的基本论域,每个实际变量的论域划分为离散值的的集合,作为变量的模糊论域,本次设计取e和de的模糊论域均为-6,6,u的模糊论域为-7,7。(2)将模糊论域分成多个模糊子集,子集越多,控制精度相对较高,但设计也较复杂,结合本设计系统精度要求,本设计将偏差e分成8个模糊子集,即NB(负大),NM(负中)NS(负小)NO(负零)PO(正零)PS(正小)PM(正中)PB(正大)其论域为e=-6,-5,-4,-3,-1,-0,+0,1,2,3,4,5,6。de

52、和u都分成7个模糊子集,为NB(负大),NM(负中)NS(负小)0(零)PS(正小)PM(正中)PB(正大),其论域为de=-6,-5,-4,-3,-1,0,1,2,3,4,5,6。(3)确定其隶属函数,模糊控制工具箱提供的隶属函数有高斯隶属函数、通用钟型隶属函数、梯形隶属函数、三角形隶属函数、S型隶属函数等,本次设计采用较为常用的三角形隶属函数作为模糊集隶属度的确定。(4)确定模糊因子,模糊因子是将精确量模糊化过程中的量化因子,本次系统的偏差e的基本论域为-100,100,模糊论域为-6,6,故量化因子k=7/100=0.07。根据系统为控制水温,具有一定的滞后特性,故de结合系统的采样时间

53、可选择其基本论域为-7,7,所以它的量化因子为ke=6/70.86。u的实际论域为-100,100,量化因子ku=6/100=0.06。(5)根据实际系统可以总结出系统的各变量的隶属度情况,见表5.15.3。表5.1水温控制偏差e的模糊集隶属度表-6-5-4-3-2-1-0+0123456PB00000000000.20.50.81PM0000000000.30.610.60.3PS00000000.20.710.70.200PO000000010.70.20000NO00000.20.710000000NS000.20.510.80.20000000NM0.20.610.60.2000000000NB10.70.30.10000000000表5.2水温控制偏差变化率de的模糊集隶属度表-6-5-4-3-2-1-0+0123456PB00000000000.10.30.71PM0000000000.20.610.60.2PS000000000.810.70.200O000000.610.6000000NS000.10.710.80.10000000NM0.10.610.60.1000000000NB10.

温馨提示

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

评论

0/150

提交评论