计算机控制课程设计---电加热炉计算机温度控制系统设计.doc_第1页
计算机控制课程设计---电加热炉计算机温度控制系统设计.doc_第2页
计算机控制课程设计---电加热炉计算机温度控制系统设计.doc_第3页
计算机控制课程设计---电加热炉计算机温度控制系统设计.doc_第4页
计算机控制课程设计---电加热炉计算机温度控制系统设计.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

目目 录录 引言引言 1 系统设计及其工作原理 1.1 设计内容1 1.2 系统工作原理.1 1.3 系统方案的确定.2 2硬件设计 2.1 单片机连接电路2 2.2 温度检测电路.3 2.3.3 ad 转换电路3 2. .4 led 温度显示电路4 2.5 按键和报警电路4 2.6 加热控制电路部分.5 3软件部分设计 3.1 周期采样程序.5 3.2 数字滤波程序.6 3.3 pid 程序7 3.4 总程序.8 4 总结与心得体会.9 参考文献.10 附录11 1 引引 言言 温度是工业对象中一种重要的参数,特别在冶金、化工、机械各类工业中,广泛使 用各种加热炉、热处理炉和反应炉等。由于炉子的种类不同,因此所采用的加热方法及燃 料也不同,如煤气、天然气、油和电等。但是就其控制系统本身的动态特性来说,基本上 都属一阶纯滞后环节,因而在控制算法上亦基本相同。实践证明,用微型计算机对炉窑进 行控制,无论在提高产品质量和数量,节约能源,还是在改善劳动条件等方面都显示出无 比的优越性。 1 系统设计及其工作原理系统设计及其工作原理 1.11.1 设计内容设计内容 某工业电炉在对产品进行加工的过程中,炉温从室温上升到 1000应为 30min,然后 温度保持到 1000,其时间为 1 小时。最后断电,使电炉自然冷却。电炉的加热源是热阻 丝,利用大功率可控硅控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而 改变电炉炉内的温度。 炉温控制的基本原理是:改变可控硅的导通角即改变电热炉加热丝两端的有效电压, 有效电压可在 0140v 内变化。温度传感器是通过一只热敏电阻及其放大电路组成,温度 越高其输出电压越小。外部 led 灯的亮灭表示可控硅的导通与关断的占空比时间,如果炉 温低于设定值则可控硅导通,系统加热,否则系统停止加热,炉温自然冷却到设定值。 设计要求为:一个以单片机为核心,包括主要过程输入输出通道及主要接口,外配 led 显示、键盘操作以及包括传感变送器及执行器的小型计算机控制系统。 1.21.2 系统工作原理系统工作原理 该控制系统使用单片机作为微处理器,连接温度传感器、a/d 转换、温度控制电路,并 附加 led 显示部分及键盘部分。它可以实时地显示温度,实现对温度的自动控制并设有报 警电路。还可以通过键盘对 pid 参数进行设置。 该控制系统使用热电阻测出电阻炉实际温度并转换成电压信号。此电压信号经过温度检 测电路 ad 转换电路转换成与炉温相对应的数字信号送入单片机,而单片机经过数据处理 后,控制显示部分显示温度。此外,将温度与设定值比较,根据设定计算出控制量,通过 控制电阻丝两端交流电压的通断时间比例来实现电阻丝发热量的控制。 2 1.3系统方案确定系统方案确定 图 1.系统结构图 单片机温度控制系统是以 ms51 单片机为控制核心,辅以温度采样反馈电路,驱动 电路,晶闸管主电路对电炉炉温进行控制的微机控制系统。系统的原理框图如图 1 所示, 其基本控制原理为:用键盘将温度的设定值送入单片机,启动运行后,通过信号采集电路 将温度信号采集到后,送到 a / d 转换电路将信号转换成数字量送入单片机系统进行 pid 控制运算,将控制量输出,控制电阻炉的加热。 2 硬件设计硬件设计 控制系统的硬件设计是系统设计的基础,具有重要意义。主要设计内容包括温度测 量、a/d 转换、单片机系统、键盘操作系统、温度显示电路、报警电路、d/a 转换等部分。 下面分步介绍硬件电路设计方法。 2.1.1 单片机连接电路单片机连接电路 本设计选用了 atmel 公司的 at89c52 单片机,该型号单片机片内含 8k bytes 的可反复 擦写的 flash 只读程序存储器和 256 bytes 的随机存取数据存储器(ram) ,器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-51 指令系统,片内置通用 8 位中央处理器和 flash 存储单元,内部集成了微处理器、储存器、i/o 接口、定时/计数器、 中断系统、串行接口等基本部件。完全能满足控制要求。 3 最小实现系统示意图如下: 图 2 单片机最小系统 2.2 温度检测电路温度检测电路 温度传感器采用热电阻及其放大电路组成, 4 图 3 温度检测电路 2.32.3 adad 转换电路转换电路 ad 转换是把从温度传感器送来的模拟量转换成温度数字量输送到单片机,以便可以 用单片机进行控制。ad574 在由单片机的控制下,可以在初始化程序中将 b.c 端置为高电 平,dr 端的状态由芯片内部决定,其初始化也是高电平,此刻输出总线处于高阻态状态。 当 b.c 端输入低电平信号后,ad574 便开始转换。此时,dr 端及输出状态不变,经 25s 后转换结束,dr 端变低,延时 500ns 后,数据线上出现转换后的数据。当单片机取完数据 后转换命令可以撤销,b/c 端置高电平。在 b/c 变化后的 1.5s,dr 线随之自动变高,同 时数据线呈现高阻态,一次转换完成。之一上次 b/c 命令撤销与下一次给出新的命令之间 的时间间隔不得小于 2us。 a/d 转换结束后,a/d 输出芯片会输出转换结束信号,通过单片机读取转换数据。 图 4ad 转换电路 2.42.4 ledled 温度显示电路温度显示电路 为了使操作人员能随时掌握每个炉子的温度的变化情况,设计了 4 位 led 显示器,设显 示缓冲单元为 28h 和 29h:第一位指示通道号,第 2 到 4 号用来显示温度,最大为 999 度, 原理图如下: 5 图 5温度显示电路 2.52.5 按键和报警电路按键和报警电路 图 6按键和报警 2.62.6 加热控制电路部分加热控制电路部分 6 图 7温度控制部分 moc3021 可以即时触发,只要输入引脚 1 输入 15ma 的电流,输出端 6 引脚、4 引脚之 间就会导通,内部双向晶闸管导通,触发外部晶闸管导通,当 moc3021 输入引脚输入电流 为 0 时,内部双向晶闸管关断,从而外部晶闸管也关断,从而外部晶闸管也关断,通过单 片机来控制导通和关断的时刻,从而实现智能调压。 热阻丝两端用 220v 交流进行加热,因此要控制热阻丝功率,可以通过调功实现,即控 制交流电的通断时间比例来实现。把交流电经全波整流后通过三极管变成过零脉冲,在反 相后加到单片机的中断控制端作为同步基准脉冲。使用定时器 t0 计时移相时间 ta,然后发 出触发脉冲,改变可控硅的导通角即改变电热炉加热丝两端的有效电压,实现炉温控制。 3软件部分设计软件部分设计 在该温度控制程序中,温度信号要经过周期采样、数字滤波、pid 运算、输出等过程, 其过程如图 8 所示。 信号 周期 采样 数字 滤波 pid 运算 输出 图 8 信号流程图 3.1.1 周期采样程序周期采样程序 在计算机内部,执行算法时,需要将外部信号进行离散化处理,因此需要对外部模拟 信号进行周期采样。从理论上讲,采样频率越高,失真越小,但从控制器本身而言,大都 依靠偏差信号 e(k)进行调节器计算。当采样周期 t 太小时,偏差信号 e(k),也会过小,此 时计算机将会失去调节作用,而采样周期 t 过长又会引起误差。因此采样周期必须综合考 虑,一般而言采样周期根据外部信号变化快慢而定,如在该温度控制系统中,水箱温度变 化比较缓慢,因此采样时间 t 应该适当大一些。其程流程图如图 9。 7 周期采样程序 定时计数器初始化 初值设置 开定时计数器 中断程序 定时器重赋初值 启动 a/d 转换 读取转换结果 图 9 周期采样程流程图 3.2.2 数字滤波程序数字滤波程序 在工业过程控制系统中,由于被控对象所处的环境比较恶劣,常存在干扰源,如环境 温度、电场和磁场等,使得采样值可能偏离真实值。对于各种随机出现的干扰信号,在计 算机控制系统中,应该对采样的数据进行判断,以及平滑加工,以提高信号的可信度,减 小乃至消除各种干扰及噪声,以保证系统的可靠性。 在该系统中,我选用限幅滤波。限幅滤波的基本思路是:求出本次采样值与前一次采 样值之差,该差值与最大允许差值比较,若小于或等于,则取本次采样值,若大于yy ,则取上一次采样值,即:y ,取上次采样值,则 ,取本次采样值,则 ) 1()() 1()( )()() 1()( kykyykyky kykyykyky 数字滤波程流程图如图 10 所示。 数字滤波程序 计算 1kmkm 1kmkm kmkm 返回 ykmkm1 n y kmkm 温度输出 8 图 10 数字滤波程序框图 3.3.3 pidpid 程序程序 pid 调节由比例调节、积分调节、微分调节三者组成,是技术最成熟、应用最广泛的 一种调节方式。pid 调节的实质就是根据输入的偏差值,按比例、积分、微分的函数关系 进行运算,运算结果用于控制输出。在实际应用中,根据被控对象的特征和控制要求,课 灵活地改变 pid 的结构,取其中一部分环节构成控制规律,如比例调节、比例积分调节、 比例积分微分调节等。 pid 算法表达式: (1) dt tde tdtte t tepktp d i )( )( 1 )()()( 离散化后的 pid 表达式: (2) ) 1()()()()( 0 keke t t je t t kekkp d k j i p 在该系统中,选用位置型 pid 进行程序设计,位置型 pid 输出表达式如下: (3)) 1()()()()( 0 kekekjekkekkp d k j ip 在进行程序编写时,一般将(3)式作一下改进: (4) ) 1()( ) 1()()( )()( kekekp kpkekkp kekkp dd iii pp 根据该表达式,在计算机内进行具体的 pid 运算,pid 程序流程图如图 11。 9 pid 程序 输入 r(k)、m(k) 计算 kmkrke 计算)()(kekkp pp 计算 ) 1( kpkekkp pii 计算 1kekekkp dd 计算 kpkpkpkp dip 1keke 返回 图 11 pid 程序框图 3.4.4 总程序总程序 当把以上程序都编好后,主程序只需要调用子程序即可,这样方便参数调整,以及程 序修改,在该系统中主程序需要调用的子程序有:周期采样子程序、数字滤波子程序、pid 运算子程序、输出子程序以及系统初始化。主程序程序流程图如图 12。 10 总程序 初始化 周期采样子程序 数字滤波子程序 pid 子程序 输出子程序 返回 图 12 主程流程图 4总结与心得体会总结与心得体会 本设计为电加热炉计算机温度控制系统设计,我努力将微型计算机控制技术及单片机 技术的理论知识付诸实践,独立完成了一个基于 c51 单片机的小型自动控制系统的设计。 整个系统设计分为四部分:测量检测模块,控制调节,驱动执行,按键报警。软件采 用了 pid 算法控制。整个设计做得比较仓促,其中可能存在一些问题,希望您能够理解。 这份耗时近 2 周的课程设计终于完成了,总的来说,自己收获了很多有用的东西。在 紧张而又充实的设计过程中,我认识到:它不单纯只是一个题目,而是要求我对大学三年 来所学的知识都要弄懂,并且能够把它们熟练地运用出来,当我完成这份设计的时候,仿 佛觉得自己又把大学重新过了一遍,其中的乐趣与收获是很难用言语来表达的。同时我也 意识到:在大学生涯结束之前,我不仅要掌握书本上的基本内容,还要灵活思考,善于变 换,这样才能够在今后的运用过程中达到事半功倍的效果。毋庸置疑,只有不断的学习, 实践,再学习,再实践,才能使自己不被社会淘汰。最后,我要感谢在这次课程设计过程 中给予我莫大帮助的老师和同学们,我一定会更加努力,相信我会在毕业设计中做得更好! 11 参考文献参考文献 1 张荣标. 微型计算机原理与接口技术 (第二版) 机械工业出版社, 2009.2 2 谢维成 杨加国单片机原理与应用及 c51 程序设计 (第二版)清华大学出版社, 2009.7 3 王兆安 电力电子技术 (第五版) 机械工业出版社, 2009.5 4 李晓莹 传感器与测量技术 高等教育出版社,2002 5 付家才 单片机实验与实践 高等教育出版社,2004 6潘新民 王艳芳 微型计算机控制技术第 2 版 电子工业出版社 2011 12 附录:附录: 控制系统主程序: pctl8255equ0f103h pc8255equ0f102h pb8255equ0f101h pa8255equ0f100h ls3731equ0f200h ls3732equ0f300h da1equ0f400h da2equ0f500h da3equ0f600h da4equ0f700h da5equ0f800h da6equ0f900h da7equ0fa00h da8equ0fb00h ad574equ0fc00h ls175equ0fd00h;外部 ram 地址分配 cdataequ00h;数据采集单元首地址 fdataequ50h;数字滤波后数据首地址 sdataequ60h;标度变换后数据首地址 settempequ70h;设定温度首地址 tempmaxequ80h;报警上限给定值首地址 tempminequ90h;报警下限给定值首地址 ffdataequ0a0h;采样温度值首地址 alarmaxequ00h;上限报警标志位首地址 alarminequ08h;下限报警标志位首地址 countequ22h;采样次数单元 chaddrequ23h;采样通道号单元 buffequ24h;采样数据缓冲区 dplbuffequ25h;显示缓冲区 fsettempequ26h;设定温度首地址 coefequ3eh;数字控制器系数及缓冲单元 org0000h ljmpmain 13 org0003h ljmpint0 org000bh ljmpintt0 org001bh ljmpintt1;主程序 org0100h main:movsp,#69h mova,#80h;设置 8255a 工作方式 movdptr,#pctl8255 movxdptr,a mov20h,#00h;清上、下限报警标志单元 mov21h,#00h;清数据单元 movr0,#00h movr1,#50h mova,#00h movp2,#0f0h clear2:movxr0,a incr0 djnzr1,clear2;清中间结果单元 movr0,#4dh;清 e(k)和 u(k) movr1,#1eh mova,#00h clear2:movr0,a incr0 djnzr1,clear2;清显示及缓冲区 mova,#00h;清显示缓冲单元 movchaddr,a movcount,a movbuff,a movtmod,#61h;设 t0,t1 工作方式 setbp1.7 movth1,#0e7h;装入 t1 时间常数 movtl1,#0e7h setbtr1 movth1,#3ch;装入 t0 时间常数 movtl1,#0b0h lcall desplay;调显示子程序 lcall alarm;输出报警指示灯 setbtr0 setbet0 14 setbet1 setbea . ;调用数据传送及转换子程序 . ;把 rom 中存放的数据传送到相应的 ram 中 . here:ajmphere 定时采样处理中断服务程序: cllect:movr0,#cdata;取采样数据首地址 movcount,#05h;送采样次数 rout0:movchaddr,#00h;设通道号初值 movbuff,r0;保护通道号 rout1:mova,chaddr;送通道号 movdptr,#ls175 movxdptr,a;通道号加 1 incchaddr;延时,使 s/h 稳定 nop nop rout2:movdptr,#ad574;启动 a/d movxdptr,a acall dl30;延时,等待 a/d 转换结束 movxa,dptr movp2,#0f0h movxr0,a;存放高 8 位 incdptr;使 a0=1 incr0;求低 4 位存放地址 movxa,dptr;读低 4 位 movxr0,a;存放低 4 位 mova,r0;求存放下一个通道数据地址 adda,#09h movr0,a cjnea,#08h,rout1;判断 8 个通道是否采样一次 djnzcount,branch;判断是否采样 5 次 movth0,#3ch;重新装入定时器 0 时间常数 movtl0,#0b0h setbtr0 ret buanch:movr0,buff;计算第 0 通道下一次采样地址 15 incr0 incr0 ajmprout0 dl30:(延时子程序) 报警处理模块: alarm:lcall tmaxcomp;温度上

温馨提示

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

评论

0/150

提交评论