电气控制系统设计温度控制系统的设计学院轮机工程学院班级电气1111班姓名吴栋甫卢劲知学号20111250322011125037指导老师江小霞陈学梅成绩2014年12月26日一.温度控制系统发展概述温度控制与人们的生产、生活有着极其密切的关系。温度控制广泛应用于农业,工业,科研和日常生活中。随着信息技术的不断的更新与发展,温度控制系统也在不断地改进,控制方法趋于多样化和智能化,控制效果也更加精确和稳定。近几年国内外的温度控制系统控制方法主要有以下几种:神经网络控制,即基于神经网络控制或简称神经控制,是指在控制系统中采用神经网络这一工具对难以精确描述的复杂的非线性对象进行建模,或充当控制器,或优化计算,或进行推理,或故障诊断等,亦即同时兼有上述某些功能的适应组合,将这样的系统统称为神经网络的控制系统,将这种控制方式称为神经网络控制。在文献【1】中提到,针对温室温度控制系统存在的大滞后、大惯性等问题,考虑到常规PID控制器自适应能力差、鲁棒性不强等缺陷,提出采用将具有较强的自组织、自学习和自适应能力的径向基神经网络与常规PID相结合构成RBF-PID控制策略,自适应调整PID控制器的参数。在该控制策略中,采用RBF神经网络辨识器实现温度控制系统的Jacobian矩阵信息在线辨识,对RBF-PID控制器控制参数在线自整定。研究结果表明:RBF-PID控制器可使温室温度控制系统动态响应快、鲁棒性强、稳态精度高、超调量小、抗扰动能力强,具有良好的控制效果。模糊控制,在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键,系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种方法来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系统,则显得无能为力了。因此便尝试着以模糊数学来处理这些控制问题。比如【3】中基于ARM的温度控制也属于是一种模糊控制的运用。而在文献【2】中提到,针对工业生产中温度控制系统具有非线性、时变性和滞后性的特点,采用模糊控制与PID相结合的方法,设计了一个基于模糊PID的工业锅炉温度控制系统,采用AT91RM9200为主控制芯片,并用模糊PID控制算法对温度进行控制。最后以工业锅炉蒸汽温度为被控对象,建立仿真模型对常规PID控制和模糊PID控制进行了仿真对比,结果表明采用模糊PID控制方法,有效的提高了系统对非线性、时变性和不确定性的处理能力,控制效果更好。遗传算法,遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。随着应用领域的扩展,遗传算法的研究出现了几个引人注目的新动向:一是基于遗传算法的机器学习,这一新的研究课题把遗传算法从历来离散的搜索空间的优化搜索算法扩展到具有独特的规则生成功能的崭新的机器学习算法。这一新的学习机制对于解决人工智能中知识获取和知识优化精炼的瓶颈难题带来了希望。二是遗传算法正日益和神经网络、模糊推理以及混沌理论等其它智能计算方法相互渗透和结合,这对开拓21世纪中新的智能计算技术将具有重要的意义【4】【5】除了以上的几种控制算法,还有一些尚未成熟的控制算法但应用并不广泛。而以上几种控制算法往往并不是单独的去控制一个系统,而是几种控制算法结合使用。比如pid和神经网络控制的结合使用,可以得到较好的控制效果。二.系统设计任务要求与说明2.1设计目的1.培养综合运用所学知识的基本理论和专业知识,独立进行控制系统的设计。2.学会搜集,阅读,和分析相关参考资料,以及通过设计提高计算和绘图能力。3.掌握一般控制系统的系统分析和设计方法,得到初步的工程训练。2.2设计内容完成温度控制系统设计。采用单片机、温度传感器和功率模块构成温度控制系统,对该控制系统进行理论分析、设计控制算法,并编写程序。2.3设备条件1、电热水壶控制对象采用电热水壶。2、温度传感器采用数字温度传感器DS18B20。3、功率调控模块功率可调模块选用EUV-10A-X。4、采用单片机作为主控器,C51作为软件平台2.4设计要求1、采用Protues和Keil联合仿真的方式调试温度的读取;2、使用Proteus完成温度控制系统仿真;(系统应扩展DAC0832、显示器、温度变送器、开关等);3、组成控制系统,设计PID控制器,对PID参数进行整定,并绘制时域响应图,给出时域特性指标;4、在完成1~3的基础上,依情况完成下列A~D项内容中的1项或多项内容;A、各种变型PID(如Bang—BangPID等);B、对该对象进行建模,Matlab进行控制算法的仿真;C、采用施密斯预估算法;D、用自行设计的其它控制算法进行控制并与PID算法进行比较2.5系统设计进度与任务分配任务分配:卢劲知的任务:1.控制系统方框图2.资料收集与处理3.温度传感器调试4.合作功率模块调试吴栋甫的任务:1.系统流程图2.功率模块调试3.数模转化模块部分4.串口通信设计进度记录:十六周:周一:阅读理解设计任务书和查阅相关资料,归纳资料,试编写温度传感器部分程序周二:对ds18b20部分的程序理解并用keil编译调试。周三~周四:采用protuse和keil联合仿真的方式调试温度的读取,其中为了方便显示,扩展了8255接口并用led灯显示分析。周五:温度信号的读取和D/A,功率模块的调试。数据记录,找到零点(零点调整)周末:查阅资料和对本周完成的部分模块进行分析理解,复习计算机控制技术,了解pid的编程流程图。十七周:周一:写入pid子程序,并进行实物的调试运行。周二:串口通信子程序先调试(要求输出锯齿波)。周三~周五:将串口通信子程序嵌入之前的程序中构成完整的温度控制系统程序,连接实物系统,对整个系统进行运行调试,pid整定。运用matlab画出时域相应图。三.控制系统模块设计3.1、控制系统方框图与流程图给定温度D/A控制电压PID控制功率模块被控对象温度传感器根据老师的要求和指导明白了,系统设计一般用模块化设计,而模块化设计中又从反馈环节开始设计。在该控制系统中温度传感器是首要测试的部分。即将相关程序写入单片机中,通过单片机读取温度传感器中存储的数值。其次,是对功率模块的调试,这部分很关键的一点是要找到零点;而且在对功率模块的调试前必须要有一个D/A转化,即dac0832。再者,将pid子程序嵌入,进行初步的烧水操作。所以,相应的程序设计流程图为Yk3.2、温度传感器DS18B20由于ds18b20是初次接触,需要了解和学习。通过老师提供的资料和网上查阅的资料,下面对ds18b20作详细介绍。由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。其可以分别在93.75ms和750ms内完成9位和12位的数字量,最大分辨率为0.0625℃,而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。DS18B20的主要特性(1)适应电压范围宽,范围:3.0~5.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。开始各模块初始化DS18B20采集实时温度显示实时温度温度偏差输入pid控制器度对控制器输出D/A转化(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字。(8)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2.2.2DS18B20的外形(如图2)图2DS18B20封装DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。2.2.3DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。如图3所示。图3DS18B20内部结构(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。表1DS18B20温度值格式表这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FE6FH,-55℃的数字输出为FC90H。(3)DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。(4)配置寄存器该字节各位的意义如表3所示。表3配置寄存器结构TMR1R011111低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表4所示:(DS18B20出厂时被设置为12位)表4温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750msDs18b20温度显示(实验设计中扩展了8255,并将其高8位和低8位接到led灯显示。编写子程序参考步骤:Ds18b20开始转换:1.ds18b20复位。2.写入跳过ROM的字节命令,0xcc。3.写入开始转换的功能指令,0x44。4.延迟大约750~900msDs18b20读暂存数据:1.ds18b20复位。2.写入跳过ROM的字节命令,0xcc。3.写入开始转换的功能指令,0xbe。4.读入第0字节LSbyte,转换结果的低八位。5.读入第一个字节MSByte,转换结果的高八位。6.ds18b20复位,表示读取暂存结束。数据求出十进制1.整合LSByte和MSByte的数据2.判断正负数(由于该设计温度控制中,温度不出现负值,故程序中不存在这一步)。3.求出十进制。正数乘以0.0625,(在做设计中,本组成员只做到正数部分,并没有将小数点求出)。具体的c语言程序参照温度控制完整程序。在这部分的调试中,将程序写入keil和protuse进行联合仿真。设置ds18b20中的温度为85度,led从高到低依次显示为0000011111010000.25度,led从高到低依次显示为00000001