基于单片机的水温控制系统设计.doc_第1页
基于单片机的水温控制系统设计.doc_第2页
基于单片机的水温控制系统设计.doc_第3页
基于单片机的水温控制系统设计.doc_第4页
基于单片机的水温控制系统设计.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

“鑫三知杯”电子设计大赛 参赛作品:基于单片机的水温控制系统 第一节 引言本系统设计采用基于pid算法的单片机控制来实现水温的调控。单片机控制部分采用at89c51单片机为核心,采用软件编程,实现用pid算法来控制pwm波的产生,继而控制电炉的加热来实现温度控制。通过编程对pid各参数的调整,来达到提高加温速度,减小超调的目的。设计任务和主要内容1、 基本要求一升水在1kw电炉下加热,要求水温在一定范围内可由人工设定,并能在环境温度降低时自动调节,以保证设定的温度基本不变。2、 主要性能指标(1) 温度设定范围为4090,最小区分度为1,标定温度小于等于1。(2) 环境温度降低时温度控制的静态误差小于等于1。(3) 用十进制数码管显示水的温度。3、 拓展功能(1) 采用适当的控制方法,当设定的温度突变时,减小系统的调节时间和超调量。(2) 温度控制的静态误差小于等于0.2。(3) 在设定温度发生突变时,自动打印水温随时间变化的曲线。第二节 系统设计原理一、 水温控制系统总体框图 单数字温度 片 键盘控制 传感器 机 lcd显示 系电炉 功率电路 统 图(1)该水温控制系统主要由at89s52单片机控制系统、温度采样转换器、温度控制电路。键盘显示电路等四部分组成,总体框图如上。二、 方案论证与比较(一)总体方案论证根据题目的要求,我们提出了以下三种方案: 方案1:采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的值比较后,决定加热或者不加热。由于采用的模拟控制方式,系统受环境影响较大,不能实现复杂的控制算法使控制精度做得较高,而且不能用于显示和键盘设定。 方案2:采用单片机at89s52为核心。采用数字温度传感器ds18b20采集温度变化信号,将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。 比较上述两种方案,方案2明显改善了方案1的不足,具有控制简单、控制温度精度高的特点,因此本设计电路采用方案2。 (二)各部分电路方案论证 1、温度采样部分 方案1:采用热敏电阻,可满足35-95的测量范围,但热敏电阻精度、重复性和可靠性都比较差,对于检测精度小于1的温度信号是不适用的。 方案2:采用数字温度传感器ds18b20。ds18b20是支持一线总线接口的温度传感器,具有抗干扰性强,体积小,灵活经济的特点。它的测量温度范围为-55+125,在-10+85范围内,精度为0.5且有912位分辨率可调,使用电压为35v无需备用电源。此外ds18b20集合了64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器,可以直接实现温度的测量和转换,无需再另接外部电路。 方案3:采用温度传感器ad590。ad590具有体积小、质量轻、线性度好、性能稳定等优点。其测量范围在-50+150,满刻度范围误差为 0.3,当电源电压在510之间,稳定度为1%时误差只有0.01,此外,ad590是温度电流传感器,对于提高系统抗干扰能力有很大帮助。 从系统电路设计的复杂度,性价比等方面考虑,决定选用方案2。2、控制电路部分 方案1:可以用逻辑电路搭建一个控制器,实现pid控制。但系统还要附加显示、温度设定等功能,要附加很多电路,总体的电路设计和制作比较繁琐。 方案2:采用8031芯片,其内部没有程序存储器,需要进行外部拓展,这给电路增加了复杂度。 方案3:本方案的cpu模块采用2051芯片,其内部有2kb单元的程序存储器,不需要外部拓展程序存储器,但由于系统用到较多的i/o口,因此此芯片的资源不够用。 方案4:采用at89s52单片机,其内部有8kb单元的程序存储器,不需要外部扩展程序存储器,而且其i/o口达32个,完全满足本次设计需要。 比较这4种方案,综合的考虑单片机各部分资源,本次设计选用方案4。3、加热方案和功率电路的选择方案1:加热的装置,根据题目,可以使用电热炉进行加热,控制电炉的功率岂可控制加热速度。水温过高时,一般只能关掉电炉,让其自然冷却。为求更好的控制效果,也可以装置一个小风扇,电炉加热时风扇关闭,水温超高时关闭电炉开启风扇加速散热。 方案2:可以采用可控硅控制加热器的工作。通过单片机产生pwm信号来控制可控硅的导通和关断,控制加热器的加热时间,从而控制加热器的功率。 从加热的响应速度考虑,采用方案2。因为加热的功率较大,故电源采用市电220伏。 设计电路图如图2所示 ds18b20 isp下载口 at89s52主控电路 moc3041功率电路 lcd液晶显示 pcb图如下: 功率电路主控电路 第三节 硬件电路设计 本设计总体包括四个部分:主机控制部分、温度采样转换部分、温度控制部分、键盘显示部分。1、 温度采样转换电路 系统的温度采样转换由ds18b20集成芯片来实现。电路图如右 ds18b20性能描述 测量范围在-55+125,在-10+85范围内,精度为0.5且有912位分辨率可调,使用电压为35v,无需备用电源。 ds18b20采用单总线通信技术,通信稳定可靠,且线路简单,容易实现。其基本的通信过程如下:主机拉低单总线产生至少480us的tx复位脉冲; 然后由主机释放总线,进入rx接收模式,主机释放总线时会产生一个由低电平变为高电平的上升沿; 单总线器件检测到该上升沿后,延时1560us; 单总线器件通过拉低总线60240us来产生应答脉冲;主机接收到从机的应答信号后,说明有单总线器件在线,然后主机就可以开始对从机进行rom命令和功能命令操作。ds18b20直接输出数字量,可直接与单片机进行通信,读取测温数据,电路非常简单。使用它,主要工作量集中在了单片机编程上。2、 温度控制电路此部分电路主要由光电耦合器moc3041和双向可控硅bta16组成。以脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。moc3041的内部集成了发光二极管、过零检测电路和一个小功率双向可控硅。当单片机pwm输出为1,moc3041中的发光二极管发光,用于过零检测电路的同步作用,内部的双向可控硅在过零后马上导通,从而使触发双向可控硅bta16导通,负载中有电流通过,反之当单片机pwm输出为0,双向可控硅截止,负载中没有电流通过。光电耦合的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。控制部分电路图如下 3 、单片机控制部分此部分是该系统的核心,系统的控制采用了单片机at89s52。单片机at89s52内部有8kb字节的可编程flash存储器和256字节的数据存储器。故系统不必外拓存储器,这样大大减少了系统的硬件电路。电路原理图如下: 4、按键及显示部分系统仅采用五个按键来进行温度的控制。在显示方面,我们采用了lcd1602的液晶显示模块,通过软件编程,可以实现所需要的显示。此外,液晶模块的使用也比较简单,只要连接数据总线,选通端口和命令/数据端口即可。 第四节 软件设计系统的硬件设计尽量简单,故工作任务主要在程序的设计上。开始pid算法控制pwm输出: 流程图如下void timer0() interrupt 1 初始化 uchar flag;键盘键盘处理th0=0xd8 ; 有tl0=0xf0 ;tr1=1 ; 无设置控温寄存器ds18b20读取温度p24=1 ; /启动输出cj+; 比较if(stempwtemperature) flag=0ei=stemp-wtemperature; flag=1pid控制算法e=e+ei;ex=ej-ei; 功率电路加热ej=ei;if(ei6)ui=u0-kp*(ei+ti*e-td*ex);else ui=u0-kp*ei;flag=ui/100;switch(flag)case 9:th1=0xdc;tl1=0xd8;break;case 8:th1=0xe2;tl1=0xb4;break;case 7:th1=0xe8;tl1=0x90;break;case 6:th1=0xec;tl1=0x78;break;case 5:th1=0xf0;tl1=0x60;break;case 4:th1=0xf2;tl1=0x54;break;case 3:th1=0xf4;tl1=0x48;break;case 2:th1=0xf8;tl1=0x30;break;case 1:th1=0xfc;tl1=0x18;break;case 0:th1=0xfd;tl1=0xa8;break;default:th1=0xff;tl1=0xfa;break; else th1=0xff;tl1=0xfa; 程序用t0和t1的嵌套来实现pwm波,t0控制波的频率,t1控制占空比,其效果图如下: t1控制 t0控制-10mspid控制器: pid控制器采用单片机软件实现。输出pwm控制信号,定时器采用t0,t1的嵌套,t0定时是10ms,t1控制低电平的输出。由于加热器属于带滞后的一阶对象,故式中kp,ki,kd的选择取决于加热器的阶跃响应特性和实际经验,为了实现pid参数的实时整定,各温度区间由实验测取最佳的kp,ki,kd值。第五节 测试结果及分析1、动态温控测量 测量方式:接上系统的加热装置,装入1l室温的水,设定温控温度。记录调节时间、超调温度、稳态温度波动幅度等。测量条件:环境温度18,加热器功率1000w。 测量结果数据设定温度/ 40 50 65 80超调温度/ 1.1 0.8 0.2 0.3稳态误差/ 0.6 0.4 0.6 0.6调节时间/min 3.37 5.85 10.05 15.222、结果分析由以上测量结果可见,系统性能基本达到了所要求的指标。在温控指标中,影响系统性能的因素很多,最关键的是加热器本身的物理性质及控制算法。传感器必须加上防水设施,故温度传感难免迟滞,加热器的加热本身有延迟,水对流传热也会造成测温的延迟,这些都会直接影响系统的控制性能。控制算法方面,需反复实验比较,在上升时间和超调量之间做权衡,选出综合效果最好的pid系数。第六节 设计总结1、 设计中遇到的问题及其解决方法因为是直接接入220v的市电,当电路一通电,板面温度突然升高,以致烧坏电路板。于是之后我们在电路中加上了散热片。温度传感器ds18b20不能直接浸在水中测温度,故我们将其固定在一导热性相对好的金属筒内,再没入水中测量。功率电路的输出端原本应该加上一个电容来矫正零相位,然而当硬件电路都装好后,进行调试,发现加热器一直工作,没有办法实现温度的控制,检查发现是电容的问题。当加上电容时,在交流电的作用下,电路直接导通,根本不需要外加控制

温馨提示

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

评论

0/150

提交评论