计算机温度控制课程设计

更新时间:2024-07-04 15:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

1 实验目的................................................................. 1 1.1 选题背景.......................................................... 1 1.2 设计任务.......................................................... 1 2 电路设计................................................................. 2 2.1 设计思路.......................................................... 2 2.2 设计思路.......................................................... 2 2.3 系统方案确定...................................................... 3 2.4 原理框图.......................................................... 3 3 硬件设计................................................................. 4 3.1 单片机连接电路.................................................... 4 3.2 温度检测电路...................................................... 3 3.3 A/D转换电路 ...................................................... 4 3.4 LED温度显示电路 .................................................. 5 3.5 电路图............................................................ 5 4 软件设计................................................................. 5 5 课程设计内容及过程........................................................ 6 5.1 18B20的安装 ...................................................... 6 5.2 电路板焊接与调试过程.............................................. 6 6 程序调试过程.............................................................. 7 6.1 程序清单.......................................................... 8 7 总结及体会............................................................... 11 参考文献................................................................... 12

1

计算机控制系统设计

1.实验目的:

1.1 选题背景

温度是工业对象中一种重要的参数,特别在冶金、化工、机械各类行业里,广泛使用各种加热炉、热护理炉和反应炉等。由于炉子的种类不同,因此采用的加热方法及燃料也不同,如煤气、天然气、油和电等。但是就其控制系统本身的动态特性来说,基本上都属于一阶滞后环节,因其在控制算法上亦基本相同,实践证明,用微型计算机对加热炉进行控制,无论在提高产品质量和数量,节约能源,还是在改善劳动条件等方面都显示出无比的优越性。 1.2 设计任务

在仿真软件Protues中设计必要的电路,并进行调试,用Keil C51完成程序设计,在课程设计报告中详细叙述设计思路和过程总结,画出系统的总体硬件框图,电路图与程序清单附在报告最后。

能够任意设定温度;能够显示当前温度;超调量小于5%,测量温度和设定温度之差小于0.5摄氏度。

1

2.电路设计

2.1 设计思路

该控制系统使用单片机为处理器,连接温度传感器,温度控制电路,并附

加LED显示部分及键盘部分,可以实时显示温度,实现对温度控制还可以键盘对PID参数进行设置。

该系统使用热电阻测出电阻炉温度并转换成电压信号,此电压信号经过温度传感器检测电路转换成数字信号送人单片机,而单片机经过数据处理后,控制显示部分显示温度。此外,将温度与设定值比较,根据设定计算出控制控制量,通过控制电阻丝两端交流电压的通断时间比例来实现电阻丝发热量的控制。 2.2 设计原理

该控制系统使用单片机作为微处理器,连接温度传感器、A/D转换、温

度控制电路,并且附加LED显示部分及键盘部分。他可以实时的显示温度,实现对温度的自动控制,还可以通过键盘对PID参数进行设置。

该控制系统使用热电阻测出电阻炉实际温度并转换成电压信号。此电压信号经过温度检测电路A/D转换电路转换成与炉温相对应的数字信号送入单片机,而单片机经过数据处理后,控制显示部分显示温度。此外,将温度与设定值比较,根据设定计算出控制量,通过控制电阻丝两端交流电压的通断时间比例来实现电阻丝发热量的控制。

该系统的主要控制算法为经典控制理论中所介绍的PID控制算法,积分的作用是消除残差,比例的作用是使温度快速跟踪设定值而变化,而微分的作用是抑制扰动,提前作用,提高稳定性。由于整个水温调节过程比较漫长,所以输出采用电力电子技术中所介绍的调功法,通过改变一个周期内晶闸管导通的波头数来调整加热功率,改变温度变化的速率,最终达到保持温度稳定在设定值上的目的。由于这是一个典型的闭环系统,自然少不了反馈通路,该温度传感器就是反馈通路不可或缺的部分。它可以较准确地测得加热杯内当前水温,单片机接受温度传感器测得的数据,经过内部程序的处理,将该数据转换为实际温度。程序中有一设定加热温度值的变量(设定值),此变量通过按键赋值,这样增加了程序的灵活性和方便性,可以直接修改加热温度,而不用修改程序本身。将设定温度值与当前温度值相减,产生偏差值,该值经过PID算法,得到一个控制参数,即每个周期内晶闸管的导通波头数,通过该值控制晶闸管的导通与关断,调节加热功率,最终保持温度恒定。偏差越小,加热的功率越小。当然PID的形式是多种多样的,可以是经典的PID,也可以是模糊PID,积分分离PID。 2.3 系统方案的确定

单片机温度控制系统是以51单片机为控制核心,辅以温度采样反馈电路,驱动电路,晶闸管主电路对电热炉炉温进行控制的微机控制系统。其控制原理图见图一,其基本控制原理为:用键盘将温度的设定值送入单片机,启动运行后,通过信号采集电路将温度信号采集到后,送到A/D转换电路将信号转换成数字量送入单片机系统进行PID控制运算,将控制量输出,控制电阻炉的加热。

2

2.4 原理框图

下面为框图:

图一、系统结构图

3

3. 硬件设计

控制系统的硬件设计是系统设计的基础,具有重要意义。主要设计内容包括

温度测量、A/D转换、单片机系统、键盘操作系统、温度显示系统、D/A转换等部分。下面分步介绍硬件电路设计方法。 3.1 单片机连接电路

本设计选用了89C51单片机,内部集成了微处理器、储存器、I/O接口、定

时、计数器、中断系统、串行接口等基本元件,完全能满足要求。 3.2 温度检测电路

温度传感器采用热电阻及其放大电路组成

3.3 A/D转换电路

A/D转换十八从温度传感器送来模拟量转换成温度数字量输送到单片机,以

便可以用单片机进行控制AD574再由单片机的控制下,可以在初始化程序中将B.C端置为高电平,DR端的状态有芯片内部决定,其初始化也是高电平,刺客输出总线处于高阻态状态。当B.C端输入低电平信号时,AD754便开始转换。此时,DR端技术处状态不变,经25微秒后转换结束,DR端变低延时0.5微秒后,数据线上出现转换后的数据。当单片机取完数据后转换命令可以撤销,B/C端置高电平。在B/C变化后的1.5微秒,DR线随之自动变高,同时数据线呈现高阻态,一次转换完成。

A/D转换结束后,A/D输出芯片会输出转换结束信号,通过单片机读取转换数据。 3.4 LED温度显示电路

为了使操作人员能随时掌握每个炉子的温度的变化情况,设计了4位LED显示。

3.5 电路图

4

{

Error = SetPoint - NextPoint;

if(Error>=30) SumError=0; dError = Error - LastError; PrevError = LastError;

LastError = Error;

if(Error>=100) return(20);

else if(Error<110&&Error>30) return(Proportion*Error+ Derivative * dError);

else if(Error>0&&Error<=30) {

SumError += Error;

return(0.85*Proportion*Error+ Integral * SumError+ Derivative * dError+1); }

else if(Error<=0) return(1);

}

加入积分后比例变为原来的0.85,这个是为了保证引入积分后系统的稳定性不发生变化。

测试结果: 上升时间 超调量 稳态误差 加水后温降 恢复时间 7min 1.1度 0.3 11.9度 5min (表一)测量结果

10

7. 总结及体会:

此次设计为计算机温度控制系统设计,我努力将微型计算机控制技术及单片机技术的理论知识付诸实践,独立完成了一个基于C51单片机的小型自动控制系统的设计。

整个系统设计分为四部分:测量检测模块,控制调节,驱动执行,按键等等。软件采用了PID算法控制。

在整个紧张而又充实的设计过程中,我认识到:他不单纯只是一个题目,而是要求我对大学三年来所学的知识都要弄懂,并且能够把他们熟练的运用出来,当我完成这份设计的时候,仿佛觉得自己又把大学重新过了一遍,其中的乐趣与收获是很难用语言表达的。同时我也意识到,在大学生涯结束以前,我不禁要掌握书中的基本知识,还要灵活思考,善于变换,这样才能够在今后的运用过程中达到事半功倍的效果。毋庸置疑,只有不断的学习,实践,再学习,再实践,才能使自己不被社会淘汰。

11

参考文献

【1】 张荣标 《微型计算机原理与接口技术》(第二版) 机械工业出版社,

2009.2

【2】 谢维成 杨加国 《单片机原理与应用及C51程序设计》清华大学出版社,

2009.7

【3】 王兆安 《电力电子技术》(第五版) 机械工业出版社,

2009,5

【4】 李晓莹 《传感器与测量技术》 高等教育出版社,

2002

【5】 付家才《单片机实验与实践》 高等教育出版社,

2004

【6】 潘新民 王艳芳 《微型计算机控制技术》第2版 电子工业出版社,

2011

12

本文来源:https://www.bwwdw.com/article/7il.html

Top