数字PID温度控制电热器 C51程序 机电工程系毕业设计 毕业论文.doc_第1页
数字PID温度控制电热器 C51程序 机电工程系毕业设计 毕业论文.doc_第2页
数字PID温度控制电热器 C51程序 机电工程系毕业设计 毕业论文.doc_第3页
数字PID温度控制电热器 C51程序 机电工程系毕业设计 毕业论文.doc_第4页
数字PID温度控制电热器 C51程序 机电工程系毕业设计 毕业论文.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

机电工程系 课程设计机 电 工 程 系毕 业 论 文 设 计 题 目:数字PID温度控制电热器_共 19 页 第 19 页题目: 环境温度控制系统硬件电路部分摘要:本系统是基于和单片机的AT89C51单片机控制系统,能够实现一定质量的水在一定温度范围内的温度维持,并可通过液晶设置、显示温度,实现人机互动。同时本系统配备有经过精心设计的基于VB及VF的计算机辅助分析软件,分别用于数据的实时读取记录,和水温数据的数据库管理。关键词(主题词):AT89C51、PWM控制、PID算法、DS18B20传感器、数据实时采集、补码,双向可控硅。一、 设计目的(1)温度设定范围为4090,最小区分度为1,标定温度1。(2)采用PID的控制方法,当设定温度突变(由40提高到60)时,减小系统的调节时间和超调量。(3)温度控制的静态误差0.2。(4)实时采集温度值,计算当时实际温度与所给目标温度的差值,进行PID计算后得出加热通电时间。通过定时器控制双向可控硅的通电时间来保证保持预期的温度。二、 对毕业设计课题实现方案:2.1硬件实现总体框图预设水温LED显示主控制器单片机AT89S51实际环境温LED显示双向可控硅加热器温度传感器DS18B20时钟振荡及复位电路调节预设水温按键系统框图2.1.1 主控制器单片机AT89S51具有低电压供电(+5V)和体积小和工作性能稳定等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用蓄电池供电。2.1.2 显示电路显示电路采用4位共阳LED数码管。2.1.3温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下: 独特的单线接口仅需要一个端口引脚进行通信; 多个DS18B20可以并联在惟一的三线上,实现多点组网功能; 无须外部器件; 可通过数据线供电,电压范围为3.05.5V; 零待机功耗; 温度以9或12位数字; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。三、 主要电路模块的实现方案比较及选择3.1 单片机最小应用系统单片机最小系统3.1.1单片机本身就是一个最小应用系统,由于晶振,开关等器件无法集成到芯片内部,这些器件又是单片机工作所必须的器件,因此单片机与晶振电路及由开关,电阻,电容等构成复位电路就是单片机的最小应用系统。 3.1.2加热控制加热控制部分采用开关控制有效功率,如图所示: 加热控制原理图该部分电路主要有两个作用:弱电(HT46R24系统)和强电 (Ac220v)的隔离;对强电的控制。图中Moc3061是带过零检测的光电耦合器,Kl是功率双向可控硅BTA12,RL是加热丝,J1为单片机控制口,J2接AC220V。当J1为“1”时,Moc3061工作,其过零电路使内部的双向可控硅在过零后马上导通,从而使功率双向可控硅Kl导通,此时电热丝对水加热;当J1为“0”时,MOC3061不工作, 从而使功率双向可控硅KI截止,电热丝停止对水加热。BTA12的主要参数如下:通态电流IT(RMS)=12A浪涌电流ITSM=120A正向耐压VDRM600V反向耐压VRRM600V触发电流IGT(/)25/25/25/50mA(C),50/50/50/100mA(B)通态压降VTM1.55V(17A)PCB图如图所示:图6 加热控制PCB图3.2 数字温度传感器DS18B20应用3.2.1数字温度传感器DS18B20简介数字温度传感器DS18B20 是支持“一线总线”接口的数字温度传感器。一总线独特且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20的测量温度范围为55125,现场温度直接与“一线总线”的数字方式传输,明显提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如环境控制,设备或过程控制,测温类消费电子产品等,与前一代产品不同,新的产品支持3-5.5V的电压范围,使系统设计更加灵活,方便,而且新一代产品更便宜,体积更小,DS18b20可由程序设定9-12位的分辨率,精度为0.5,可选更小的封装方式,更宽的电压适应范围。分辨率设定及用户设定的报警温度存储在内部EEPROM中,掉电后依然保存,ds18b20的性能是新一代产品中最好的,性价比也非常出色。DS18B20的引脚图及测温实验原理图(图3)3.2.2. DSl820工作过程及时序 初始化 RoM 操作命令存储器操作命令处理数据 1初始化 单总线上的所有处理均从初始化开始 2 ROM 操作命令 总线主机检测到 DSl820 的存在 便可以发出 ROM 操作命令之一 这些命令如 指令 代码 Read ROM(读 ROM) 33H Match ROM(匹配 ROM) 55H Skip ROM(跳过 ROM CCH Search ROM(搜索 ROM) F0H Alarm search(告警搜索) ECH 3 存储器操作命令 指令 代码 Write Scratchpad(写暂存存储器) 4EH Read Scratchpad(读暂存存储器) BEH Copy Scratchpad(复制暂存存储器) 48H Convert Temperature(温度变换) 44H Recall EPROM(重新调出) B8H Read Power supply(读电源) B4H 4 时序 (1)初始化时序初始化时序(图4)主机总线 to 时刻发送一复位脉冲(最短为 480us 的低电平信号) 接着,在 tl 时刻释放总线并进入接收状态DSl820 在检测到总线的上升沿之后,等待 15-60us 接着DS1820在t2时刻发出存在脉冲(低电平持续 60-240 us)。(2)写时间隙主机使用时间隙(times lots)来读写 DSl8B20 的数据位和写命令字的位 写“1”和写“0”的波形写0和写1时序(图5)(3)读时间隙 图(6)主机总线to时刻从高拉至低电平时总线只须保持低电平l 7us 之后在 t1 时刻将总线拉高产生读时间隙,在t1时刻后 t 2 时刻前有效ts距 to为15us 也就是说 ts时刻前,主机必须完成读位并在 t o 后的60us 120 us内释放总线 。 读时序(图6)读位子程序(读得的位到 C 中) (5)温度的字节转化温度的字节转(图7)DSl8B20 中还有用于贮存测得的温度值的两个8位存贮器RAM编号为0 号和1号。 1 号存贮器存放温度值的符号 ,如果温度为负( ),则 1 号存贮器 8 位全为1 ,否则全为 0 。0 号存贮器用于存放温度值的补码, MSB(最低位)的 1 表示 0.5 将存贮器中的二进制数,求补再转换成十进制数并除以 2 就得到被测温度值(-550 +125 )。3.2.3四段共阳数码管的内部结构及工作原理(1)4段共阳数码管 4段共阳数码管内部结构图(图8)四段共阳数码管6,8,9,12脚为公共端接高电平,3,5,10,1,2,4,7,11为段选码引脚,低电平有效。(2)DS18B20的使用流程图DS18B20的使用流程是上电后先初始化检测DS18B20是否存在,如果否就返回继续检测。如果检测到则运行内部读写温度命令,并将DQ线置位,送温度数据到单片机。DS18B20的使用流程图(图9)四、 系统电路图系统仿真图(图10)系统整体硬件电路包括,传感器数据采集电路,数码管显示电路,发光二极管模拟加热电路,单片机主板电路等五、 系统的软件设计5.1程序流程图开始初始化获取键值?按键判断设定温度模块输入温度处理模块LED亮表示模拟加热Y开始控制?判断高于实际温度?YN调用LED显示模块显示设定值终止N通过单片机最小系统AT89S51来整体控制,由数字温度传感器DS18B20来采集数据送入单片机通过单片机的综合处理,采用4段共阳数码管来显示。当实际水温低于预设水温是P3.6口置“1”使发光二极管点亮表示通电加热。当实际水温高于预设水温是二极管灭表示断电不加热。调节预设水温按键可以预设水温,是水温保持在人们预想的范围内。按健复位电路是手动复 位,使用比较方便,在程序运行时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。5.1主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,并将实际温度和预设温度作比较,并控制是否通电加热。5.2温度采集子程序5.2.1 ds18b20初始化子程序PUSH B ;保存 B 寄存器 PUSH A ;保存 A寄存器 MOV A,#4 ;设置循环次数 CLR P1.0 ;发出复位脉冲 MOV B,#250 ;计数 250 次 DJNZ B,$ ;保持低电平 500us SETB Pl.0 ;释放总线 MOV B,#6 ;设置时间常数 CLR C ;清存在信号标志 WAITL: JB Pl.0,WH ;若总线释放,跳出循环 DJNZ B,WAITL ;总线低 等待 DJNZ ACC,WAITL;释放总线等待一段时间 SJMP SHORT WH: MOV B,#111 WH1: ORL C,P1.0 DJNZ B,WH1 ;存在时间等待 SHORT: POP A POP B RET 5.2.2写温度子程序WRBIT: PUSH B ;保存 B MOV B,#28 ;设置时间常数 CLR P1.0 ;写开始 NOP ;1us NOP ;1us NOP ;1us NOP ;1us N0P ;1us MOVPl.0,C ;C 内容到总线 WDLT: DJNZ B,WDLT;等待 56Us POP BSETB Pl.0 ;释放总线 RET ;返回 PUSH B :保存 B MOV B #8H ;设置写位个数 WLOP: RRC A ;把写的位放到 C ACALL WRBIT ;调写 1 位子程序 DJNZ B WLOP ;8 位全写完? POP B RET5.3.3读温度子程序RDBIT: PUSH B ;保存 B PUSH A ;保存 A MOV B,#23 ;设置时间常数 CLR P1.0 ;读开始 图5的 t0 时刻 NOP ;1us NOP ;1us NOP ;1us NOP ;1us SETB Pl.0 ;释放总线 MOV A,P1 ;P1 口读到 A MOV C,EOH ;P1.0 内容 C NOP ;1us NOP ;1us NOP ;1us NOP ;1us RDDLT: DJNZ B,RDDLT ;等待 46us SETB P1.0 POP APOP B RET 读字节子程序(读到内容放到 A中) RDBYTE: PUSH B ;保存 B RLOP MOV B,#8H ;设置读位数 ACALL RDBIT ;调读 1 位子程序 RRC A ;把读到位在 C 中并依次送给 A DJNZ B,RLOP ;8 位读完? POP B ;恢复 B RET六、 数字PID控制的基本原理(1)、PID温度控制子程序比例积分微分被控对象+r(t)e(t)u(t)c(t)PID算法原理框图PID算法的输出形式为一PWM波形,使电炉在一周期内开通的时间可调,使水温稳定在设定值。P1D算法的表达式为:其中,k表示第k次采样,r(k)为设定温度,c(k)为实际水温,M(k)为电炉功率控制量,误差为e(k)r(k)一c(k)。然而普通PID算法中引入积分环节的目的是消除静态误差,提高控制精度,但在过程的启动,结束和大幅度的增减时,短时间系统输出会有很大的偏差,会造成PID运算的积分积累,引起系统较大的超调和震荡,温度对象变化比较缓慢且带有纯滞后环节,如果采用单纯PID控制,当由较大扰动或大幅改变定值时,会产生较大的偏差,因此,本系统在PID环节的设计上采用可根据测量值与设定值偏差的变化,设置不同的积分系数项。实验结果和随机误差分析1、 测试范围:40902、 测试方法:从40开始测,每隔10测一组数据,数据通过串口发送到计算机上(1s发送3.5个数据),用matlab进行数据处理。3、 ,其中为起始温度。4、 ,其中N表示第N个数时,系统进稳态。5、 三个指标(超调量、调节时间、稳态误差)的测量数据如表2:6、 随机误差分析: 误差来源:传感器的精度影响;环境温度的影响;其它元器件的精度。 误差计算:系统的误差主要取决于传感器的精度,本系统所选的传感器精度为0.09,所以不确定度为起始温度设定温度指标第n次测量平均值123454050()2.11.82.01.71.81.9(min)5.65.25.45.05.35.3()0.080.070.080.060.070.075060()2.52.32.62.62.52.5(min)6.16.06.36.26.16.1()0.070.050.060.050.040.066070()3.43.23.53.43.33.4(min)6.26.36.26.16.26.2()0.050.040.040.040.030.047080()3.83.53.73.93.63.7(min)6.56.56.66.86.56.6()0.050.060.060.070.060.068090()3.53.53.63.53.43.5(min)6.46.36.46.56.56.4()0.070.070.060.080.070.071、 当温度设定值为50时,实际测试温度变化曲线如下: 附图1 40 50 环境温变化曲线串口发送数据时序七、 结论1.测量水温,精度为1,范围为0-99。2.二个三段数码管实时分别显示实际水温和预设水温。3.仿真运行后,上方的LED数码管显示可预设水温的控制点,下方LED显示实际水温,当实际水温低于预设水温时发光二极管亮表示通电电加热,当实际水温高于预设水温时发光二极管灭表示断电停止加热。八、 说明与体会本系统中,我主要负责硬件电路的设计与制作。在设计与制作的过程中难免遇到问题,出现问题后,我首先是找到问题的所在,用自己有限的知识去试着分析问题,尽可能地先通过自己来解决问题,实在解决不了的,再通过请教老师、同学或查阅资料等途径来解决,在这分析问题、解决问题的过程中我不仅很大程度上弥补了遗忘的知识,而且还学到了很多新的知识,这让我的专业知识水平有了很大的提高。通过这次课程设计,我深刻地认识到要设计完成一个完整的系统并不是一件容易的事情。首先要对系统要求进行分析,制

温馨提示

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

评论

0/150

提交评论