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

下载本文档

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

文档简介

1、目目 录录 引言引言1 系统设计及其工作原理1.1 设计内容.11.2 系统工作原理.1 1.3 系统方案的确定.22硬件设计2.1 单片机连接电路.22.2 温度检测电路.32.3.3 ad 转换电路.32. .4 led 温度显示电路.42.5 按键和报警电路.42.6 加热控制电路部分.53软件部分设计3.1 周期采样程序.53.2 数字滤波程序.63.3 pid 程序.73.4 总程序.84 总结与心得体会.9参考文献.10附录.111 引引 言言 温度是工业对象中一种重要的参数,特别在冶金、化工、机械各类工业中,广泛使用各种加热炉、热处理炉和反应炉等。由于炉子的种类不同,因此所采用的

2、加热方法及燃料也不同,如煤气、天然气、油和电等。但是就其控制系统本身的动态特性来说,基本上都属一阶纯滞后环节,因而在控制算法上亦基本相同。实践证明,用微型计算机对炉窑进行控制,无论在提高产品质量和数量,节约能源,还是在改善劳动条件等方面都显示出无比的优越性。1 系统设计及其工作原理系统设计及其工作原理1.11.1 设计内容设计内容某工业电炉在对产品进行加工的过程中,炉温从室温上升到 1000应为 30min,然后温度保持到 1000,其时间为 1 小时。最后断电,使电炉自然冷却。电炉的加热源是热阻丝,利用大功率可控硅控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。

3、炉温控制的基本原理是:改变可控硅的导通角即改变电热炉加热丝两端的有效电压,有效电压可在 0140v 内变化。温度传感器是通过一只热敏电阻及其放大电路组成,温度越高其输出电压越小。外部 led 灯的亮灭表示可控硅的导通与关断的占空比时间,如果炉温低于设定值则可控硅导通,系统加热,否则系统停止加热,炉温自然冷却到设定值。设计要求为:一个以单片机为核心,包括主要过程输入输出通道及主要接口,外配led 显示、键盘操作以及包括传感变送器及执行器的小型计算机控制系统。 1.21.2 系统工作原理系统工作原理 该控制系统使用单片机作为微处理器,连接温度传感器、a/d 转换、温度控制电路,并附加 led 显示

4、部分及键盘部分。它可以实时地显示温度,实现对温度的自动控制并设有报警电路。还可以通过键盘对 pid 参数进行设置。 该控制系统使用热电阻测出电阻炉实际温度并转换成电压信号。此电压信号经过温度检测电路 ad 转换电路转换成与炉温相对应的数字信号送入单片机,而单片机经过数据处理后,控制显示部分显示温度。此外,将温度与设定值比较,根据设定计算出控制量,通过控制电阻丝两端交流电压的通断时间比例来实现电阻丝发热量的控制。21.3系统方案确定系统方案确定图 1.系统结构图单片机温度控制系统是以 ms51 单片机为控制核心,辅以温度采样反馈电路,驱动电路,晶闸管主电路对电炉炉温进行控制的微机控制系统。系统的

5、原理框图如图 1 所示,其基本控制原理为:用键盘将温度的设定值送入单片机,启动运行后,通过信号采集电路将温度信号采集到后,送到 a / d 转换电路将信号转换成数字量送入单片机系统进行 pid 控制运算,将控制量输出,控制电阻炉的加热。2 硬件设计硬件设计 控制系统的硬件设计是系统设计的基础,具有重要意义。主要设计内容包括温度测量、a/d 转换、单片机系统、键盘操作系统、温度显示电路、报警电路、d/a 转换等部分。下面分步介绍硬件电路设计方法。2.1.1 单片机连接电路单片机连接电路本设计选用了 atmel 公司的 at89c52 单片机,该型号单片机片内含 8k bytes 的可反复擦写的

6、flash 只读程序存储器和 256 bytes 的随机存取数据存储器(ram) ,器件采用atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-51 指令系统,片内置通用 8位中央处理器和 flash 存储单元,内部集成了微处理器、储存器、i/o 接口、定时/计数器、中断系统、串行接口等基本部件。完全能满足控制要求。3最小实现系统示意图如下:图 2 单片机最小系统2.2 温度检测电路温度检测电路温度传感器采用热电阻及其放大电路组成, 4图 3 温度检测电路2.32.3 adad 转换电路转换电路ad 转换是把从温度传感器送来的模拟量转换成温度数字量输送到单片机,以便可以用单片机进

7、行控制。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 输出芯片会输出转

8、换结束信号,通过单片机读取转换数据。 图 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 引脚之间就会导通,内部双向晶闸管导通,触发外部晶

9、闸管导通,当 moc3021 输入引脚输入电流为 0 时,内部双向晶闸管关断,从而外部晶闸管也关断,从而外部晶闸管也关断,通过单片机来控制导通和关断的时刻,从而实现智能调压。热阻丝两端用 220v 交流进行加热,因此要控制热阻丝功率,可以通过调功实现,即控制交流电的通断时间比例来实现。把交流电经全波整流后通过三极管变成过零脉冲,在反相后加到单片机的中断控制端作为同步基准脉冲。使用定时器 t0 计时移相时间 ta,然后发出触发脉冲,改变可控硅的导通角即改变电热炉加热丝两端的有效电压,实现炉温控制。 3软件部分设计软件部分设计在该温度控制程序中,温度信号要经过周期采样、数字滤波、pid 运算、输出

10、等过程,其过程如图 8 所示。信号周期采样数字滤波pid运算输出图 8 信号流程图3.1.1 周期采样程序周期采样程序在计算机内部,执行算法时,需要将外部信号进行离散化处理,因此需要对外部模拟信号进行周期采样。从理论上讲,采样频率越高,失真越小,但从控制器本身而言,大都依靠偏差信号 e(k)进行调节器计算。当采样周期 t 太小时,偏差信号 e(k),也会过小,此时计算机将会失去调节作用,而采样周期 t 过长又会引起误差。因此采样周期必须综合考虑,一般而言采样周期根据外部信号变化快慢而定,如在该温度控制系统中,水箱温度变化比较缓慢,因此采样时间 t 应该适当大一些。其程流程图如图 9。7周期采样

11、程序定时计数器初始化初值设置开定时计数器中断程序定时器重赋初值启动 a/d 转换读取转换结果图 9 周期采样程流程图3.2.2 数字滤波程序数字滤波程序在工业过程控制系统中,由于被控对象所处的环境比较恶劣,常存在干扰源,如环境温度、电场和磁场等,使得采样值可能偏离真实值。对于各种随机出现的干扰信号,在计算机控制系统中,应该对采样的数据进行判断,以及平滑加工,以提高信号的可信度,减小乃至消除各种干扰及噪声,以保证系统的可靠性。在该系统中,我选用限幅滤波。限幅滤波的基本思路是:求出本次采样值与前一次采样值之差,该差值与最大允许差值比较,若小于或等于,则取本次采样值,若大于yy,则取上一次采样值,即

12、:y,取上次采样值,则,取本次采样值,则) 1()() 1()()()() 1()(kykyykykykykyykyky数字滤波程流程图如图 10 所示。数字滤波程序计算 1kmkm 1kmkm kmkm返回 ykmkm1ny kmkm温度输出8图 10 数字滤波程序框图3.3.3 pidpid 程序程序pid 调节由比例调节、积分调节、微分调节三者组成,是技术最成熟、应用最广泛的一种调节方式。pid 调节的实质就是根据输入的偏差值,按比例、积分、微分的函数关系进行运算,运算结果用于控制输出。在实际应用中,根据被控对象的特征和控制要求,课灵活地改变 pid 的结构,取其中一部分环节构成控制规律

13、,如比例调节、比例积分调节、比例积分微分调节等。pid 算法表达式: (1)dttdetdttettepktpdi)()(1)()()(离散化后的 pid 表达式: (2)) 1()()()()(0kekettjettkekkpdkjip在该系统中,选用位置型 pid 进行程序设计,位置型 pid 输出表达式如下: (3)) 1()()()()(0kekekjekkekkpdkjip在进行程序编写时,一般将(3)式作一下改进: (4)) 1()() 1()()()()(kekekpkpkekkpkekkpddiiipp根据该表达式,在计算机内进行具体的 pid 运算,pid 程序流程图如图 1

14、1。9pid 程序输入 r(k)、m(k)计算 kmkrke计算)()(kekkppp计算 ) 1( kpkekkppii计算 1kekekkpdd计算 kpkpkpkpdip 1keke返回图 11 pid 程序框图3.4.4 总程序总程序当把以上程序都编好后,主程序只需要调用子程序即可,这样方便参数调整,以及程序修改,在该系统中主程序需要调用的子程序有:周期采样子程序、数字滤波子程序、pid运算子程序、输出子程序以及系统初始化。主程序程序流程图如图 12。10总程序初始化周期采样子程序数字滤波子程序pid 子程序输出子程序返回图 12 主程流程图4总结与心得体会总结与心得体会本设计为电加热

15、炉计算机温度控制系统设计,我努力将微型计算机控制技术及单片机技术的理论知识付诸实践,独立完成了一个基于 c51 单片机的小型自动控制系统的设计。整个系统设计分为四部分:测量检测模块,控制调节,驱动执行,按键报警。软件采用了 pid 算法控制。整个设计做得比较仓促,其中可能存在一些问题,希望您能够理解。这份耗时近 2 周的课程设计终于完成了,总的来说,自己收获了很多有用的东西。在紧张而又充实的设计过程中,我认识到:它不单纯只是一个题目,而是要求我对大学三年来所学的知识都要弄懂,并且能够把它们熟练地运用出来,当我完成这份设计的时候,仿佛觉得自己又把大学重新过了一遍,其中的乐趣与收获是很难用言语来表

16、达的。同时我也意识到:在大学生涯结束之前,我不仅要掌握书本上的基本内容,还要灵活思考,善于变换,这样才能够在今后的运用过程中达到事半功倍的效果。毋庸置疑,只有不断的学习,实践,再学习,再实践,才能使自己不被社会淘汰。最后,我要感谢在这次课程设计过程中给予我莫大帮助的老师和同学们,我一定会更加努力,相信我会在毕业设计中做得更好!11参考文献参考文献1 张荣标. 微型计算机原理与接口技术 (第二版) 机械工业出版社,2009.22 谢维成 杨加国单片机原理与应用及 c51 程序设计 (第二版)清华大学出版社,2009.73 王兆安 电力电子技术 (第五版) 机械工业出版社,2009.54 李晓莹

17、传感器与测量技术 高等教育出版社,20025 付家才 单片机实验与实践 高等教育出版社,20046潘新民 王艳芳 微型计算机控制技术第 2 版 电子工业出版社 201112附录:附录:控制系统主程序:pctl8255equ0f103hpc8255equ0f102hpb8255equ0f101hpa8255equ0f100hls3731equ0f200hls3732equ0f300hda1equ0f400hda2equ0f500hda3equ0f600hda4equ0f700hda5equ0f800hda6equ0f900hda7equ0fa00hda8equ0fb00had574equ0fc0

18、0hls175equ0fd00h;外部 ram 地址分配cdataequ00h;数据采集单元首地址fdataequ50h;数字滤波后数据首地址sdataequ60h;标度变换后数据首地址settempequ70h;设定温度首地址tempmaxequ80h;报警上限给定值首地址tempminequ90h;报警下限给定值首地址ffdataequ0a0h;采样温度值首地址alarmaxequ00h;上限报警标志位首地址alarminequ08h;下限报警标志位首地址countequ22h;采样次数单元chaddrequ23h;采样通道号单元buffequ24h;采样数据缓冲区dplbuffequ25

19、h;显示缓冲区fsettempequ26h;设定温度首地址coefequ3eh;数字控制器系数及缓冲单元 org0000hljmpmain13org0003hljmpint0org000bhljmpintt0org001bhljmpintt1;主程序org0100hmain:movsp,#69hmova,#80h;设置 8255a 工作方式movdptr,#pctl8255movxdptr,amov20h,#00h;清上、下限报警标志单元mov21h,#00h;清数据单元movr0,#00hmovr1,#50hmova,#00hmovp2,#0f0hclear2:movxr0,aincr0dj

20、nzr1,clear2;清中间结果单元movr0,#4dh;清 e(k)和 u(k)movr1,#1ehmova,#00hclear2:movr0,aincr0djnzr1,clear2;清显示及缓冲区mova,#00h;清显示缓冲单元movchaddr,amovcount,amovbuff,amovtmod,#61h;设 t0,t1 工作方式setbp1.7movth1,#0e7h;装入 t1 时间常数movtl1,#0e7hsetbtr1movth1,#3ch;装入 t0 时间常数movtl1,#0b0hlcall desplay;调显示子程序lcall alarm;输出报警指示灯setb

21、tr0setbet014setbet1setbea . ;调用数据传送及转换子程序 . ;把 rom 中存放的数据传送到相应的 ram中 .here:ajmphere定时采样处理中断服务程序:cllect:movr0,#cdata;取采样数据首地址movcount,#05h;送采样次数rout0:movchaddr,#00h;设通道号初值movbuff,r0;保护通道号rout1:mova,chaddr;送通道号movdptr,#ls175movxdptr,a;通道号加 1incchaddr;延时,使 s/h 稳定nopnoprout2:movdptr,#ad574;启动 a/dmovxdpt

22、r,aacall dl30;延时,等待 a/d 转换结束movxa,dptrmovp2,#0f0hmovxr0,a;存放高 8 位incdptr;使 a0=1incr0;求低 4 位存放地址movxa,dptr;读低 4 位movxr0,a;存放低 4 位mova,r0;求存放下一个通道数据地址adda,#09hmovr0,acjnea,#08h,rout1;判断 8 个通道是否采样一次djnzcount,branch;判断是否采样 5 次movth0,#3ch;重新装入定时器 0 时间常数movtl0,#0b0hsetbtr0retbuanch:movr0,buff;计算第 0 通道下一次采样地址15incr0incr0ajmprout0dl30:(延时子程序)报警处理模块:alarm:lcall

温馨提示

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

评论

0/150

提交评论