基于单片机的加热炉炉温控制系统设计

news2025/1/11 0:28:48

目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1课题背景及意义 1
1.2发展现状 2
1.3研究主要内容 3
第2章 加热炉炉温控制系统总体方案设计 4
2.1总体方案的确定 4
2.2加热炉炉温控制系统组成 5
第3章 加热炉炉温控制系统技术和算法介绍 6
3.1 AT89C51简介 6
3.1.1单片机的引脚介绍 6
3.1.2单片机的存储结构 8
3.2 PID算法介绍 10
3.2.1 PID算法的数字化 10
3.2.2 PID算法的运用 11
第4章 加热炉炉温控制系统硬件设计 13
4.1加热炉炉温控制系统概况 13
4.2功能模块 13
4.2.1单片机控制模块 13
4.2.2数据转换与采集模块A/D0808 14
4.2.3按键选择模块 15
4.2.4显示模块 15
4.2.5报警模块 16
4.2.6输出模块 16
4.3总体方案的实现和元器件清单 17
4.3.1加热炉炉温控制系统的整体设计 17
4.3.2元器件清单 18
第5章 加热炉炉温控制系统软件设计 19
5.1 Protues7软件概况 19
5.2 WAVE6000软件简介 21
5.2.1软件概况 21
5.2.2程序界面 21
5.3子程序设定 22
5.4程序流程 22
5.5程序仿真调试 29
5.5.1 WAVE6000仿真调试 29
5.5.2软硬连调 29
总 结 31
参考文献 32
附 录 33
致 谢 47
第2章 加热炉炉温控制系统总体方案设计
2.1总体方案的确定
由于炉温控制加热炉炉温控制系统的控制对象具有惯性大,连续性的特点。因而可以归于具有纯滞后的一阶大惯性环节。一般来说,热过程大多具有较大的滞后,它对任何信号的响应都会推迟一段时间,使输出与输入之间产生相移。对于这样一些存在大的滞后特性的过渡过程控制,一般来说可以采用以下几种控制方案:
1.输出开关量控制
对于惯性较大的过程可以简单地采用输出开关量控制的方法。这种方法通过比较给定值与被控参数的偏差来控制输出的状态:开关或者通断,因此控制过程十分简单,也容易实现。但由于输出控制量只有两种状态,使被控参数在两个方向上变化的速率均为最大,因此容易引起反馈回路产生振荡,对自动控制加热炉炉温控制系统会产生十分不利的影响,甚至会因为输出开关的频繁动作而不能满足加热炉炉温控制系统对控制精度的要求。因此,这种控制方案一般在大惯性加热炉炉温控制系统对控制精度和动态特性要求不高的情况下采用。
2.比例控制(P控制)
比例控制的特点是控制器的输出与偏差成比例,输出量的大小与偏差之间有对应关系。当负荷变化时,抗干扰能力强,过渡时间短,但过程始终存在余差。因此它适用于控制通道滞后较小、负荷变化不大、允许被控量在一定范围内变化的加热炉炉温控制系统。使用时还应注意经过一段时间后需将累积误差消除。
3.比例积分控制(PI控制)
由于比例积分控制的特点是控制器的输出与偏差的积分成比例,积分的作用使得过渡过程结束时无余差,但加热炉炉温控制系统的稳定性降低。虽然加大比例度可以使稳定性提高,但又使过渡时间加长。因此,PI控制适用于滞后较小、负荷变化不大、被控量不允许有余差的控制加热炉炉温控制系统,它是工程上使用最多、应用最广的一种控制方法。
4.比例积分加微分控制(PID控制)
比例积分加微分控制的特点是微分的作用使控制器的输出与偏差变化的速度成正比例,它对克服对象的容量滞后有显著的效果。在比例基础上加上微分作用,使稳定性提高,再加上积分作用,可以消除余差。因此,PID控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制加热炉炉温控制系统。
结合本例题设计任务与要求,由于温度加热炉炉温控制系统的传递函数事先难以精确获得,因而很难判断哪一种控制方法能够满足加热炉炉温控制系统对控制品质的要求。但从以上对控制方法的分析来看,PID控制方法最适合本例采用。另一方面,由于可以采用单片机实现控制过程,无论采用上述哪一种控制方法都不会增加加热炉炉温控制系统硬件成本,而只需对软件作相应改变即可实现不同的控制方案。因此本加热炉炉温控制系统可以采用PID的控制方式,以最大限度地满足加热炉炉温控制系统对诸如控制精度、调节时间和超调量等控制品质的要求。
2.2加热炉炉温控制系统组成
就控制器本身而言,控制电路可以采用经典控制理论和常规模拟控制加热炉炉温控制系统实现温度的自动调节。但随着计算机与超大规模集成电路的迅速发展,以现代控制理论和计算机为基础,采用数字控制、显示、A/D与D/A转换,配合执行器与控制阀构成的计算机控制加热炉炉温控制系统,在过程控制过程中得到越来越广泛的应用。
由于本例是一个典型的检测、控制型应用加热炉炉温控制系统,它要求加热炉炉温控制系统完成从温度检测、信号处理、输入、运算到输出控制电炉加热功率以实现炉温控制的全过程。因此,应以单片微型计算机为核心组成一个专用计算机应用加热炉炉温控制系统,以满足检测、控制应用类型的功能要求。另外,单片机的使用也为实现温度的智能化控制以及提供完善的人机交互界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑电路中往往是难以实现或无法实现的。所以,本例采用以单片机为核心的直接数字控制加热炉炉温控制系统(DDC)。

显示子程序:
DISPLAY:         MOV	          A,A1	;将待显示的数存在70H到75H中
                  MOV	          B,#100
                  DIV	          AB	    ;显示子程序
                  MOV	          73H,A	 ;百位在A
	               MOV          	A,B	;
                  MOV            B,#10
                  DIV             AB
                  MOV            72H,A   ;十位在B
                  MOV            71H,B   ;个位在C
                  MOV	           A,51H	 ;将的十六进制数转换成十进制
                  MOV	           B,#100
                  DIV	           AB	             ;显示子程序
                  MOV            76H,A	          ;百位在A
	               MOV	           A,B	
                  MOV            B,#10
                  DIV             AB
                  MOV           75H,A            ;十位在B
                  MOV           74H,B            ;个位在C
DISP1:            MOV           R1,#70H          ;指向显示数据首址
                  MOV           R5,#0FEH         ;扫描控制字初值
PLAY:             MOV           P1,#0FFH
                  MOV           A,R5              ;扫描字放入A
                  MOV           P2,A              ;从P2口输出
                  MOV           A,@R1            ;取显示数据到A
                  MOV           DPTR,#TAB       ;取段码表地址
                  MOVC          A,@A+DPTR      ;查显示数据对应段码
                  MOV           P1,A              ;段码放入P1口
                  MOV           A,R5

                  LCALL         D1MS            ;显示1MS
                  INC            R1               ;指向下一地址
                  MOV           A,R5             ;扫描控制字放入A
                  JNB           ACC.6,ENDOUT   ;ACC.5=0时一次显示结束
                  RL             A                ;A中数据循环左移
                  MOV           R5,A             ;放回R5内
                 AJMP           PLAY             ;跳回PLAY循环
ENDOUT:        MOV           P1,#0FFH          ;一次显示结束,P2口复位
                 MOV           P2,#0FFH          ;P3口复位
                 RET                              ;子程序返回
TAB:  DB       0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
;共阳段码表            "0""   1""  2"  "3" "4"" 5" "6"" 7"  "8" "9""不亮"-

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Crossover2023mac苹果电脑系统上运行Windows程序虚拟机工具模拟器

CrossOver是一款可以让Mac和Linux系统中正常运行Windows软件的应用程序。它不像虚拟机一样需要安装Windows系统之后才可以安装Windows的应用程序,这一方式给大多数用户带来了方便。通过CrossOver实现跨平台的文件复制粘贴,使Mac/Linux系统与Windows应用良…

海康视频回放,rtsp视频接口转换成.m3u8格式文件

通过海康接口返回的rtsp视频接口,转换成.m3u8格式文件,逻辑如下 1、采用ffmpeg实时转化rtsp链接视频,转化为m3u8,存放服务器固定地址 2、采用nginx代理视频成.m3u8视频 3、采用tokenredis方式处理视频播放和删除过程&#xff0…

太好玩了,我用 Python 做了一个 ChatGPT 机器人

大家好,我是早起。 毫无疑问,ChatGPT 已经是当下编程圈最火的话题之一,它不仅能够回答各类问题,甚至还能执行代码! 或者是变成一只猫 因为它实在是太好玩,我使用Python将ChatGPT改造,可以实现在…

亚马逊黑五哑火,中国跨境电商高歌猛进!

黑五作为一个类似于中国双11的全球性购物狂欢节,在11月的最后一周拉开帷幕,据有关业内人士称,作为拥有众多全球站的亚马逊电子商务平台在此次黑色星期五的促销狂欢节中表现似乎稍显停滞,其作为电商领域的龙头企业,没能…

数据结构基础--图

一、图的基本概念 1.图的定义 图是由顶点集合V和边集合E组成的&#xff0c;记为G(G,V)。图可以只有点没有边&#xff0c;但不能只有边没有点。边&#xff1a;用&#xff08;x&#xff0c;y&#xff09;表示为xy之间的一条无向边&#xff1b;用<x,y>表示xy之间的一条有向…

大数据开发适合哪类人群?

有不少应届大学毕业生和0基础人群选择学大数据&#xff0c;但是要选择零基础的大数据培训班&#xff0c;从Java基础开始学习&#xff0c;由浅入深掌握离线数据分析、实时数据分析和内存数据计算等重要内容。 应届大学生缺乏工作经验和技能&#xff0c;对未来没有明确的规划&am…

VTK- PointLocator

欢迎大家加入VTK社区雪易VTK社区-CSDN社区云 小结&#xff1a;本博文主要针对VTK中的PointLocator的分类及各接口的用途进行讲解&#xff0c;PointLocator主要用途为点的位置计算&#xff0c;希望能为各位小伙伴有所帮助。 vtk中关于Locator的关系图 目录 vtkLocator vtkAbs…

软件测试基础理论体系学习4-单元测试的目的?概念是什么?过程是什么?

4-单元测试的目的&#xff1f;概念是什么&#xff1f;过程是什么&#xff1f;1 单元测试目的1.1 单元测试的错误认识1.2 单元测试的重要性1.2.1 时间方面1.2.2 测试效果1.2.3 测试成本1.2.4 产品质量1.3 单元测试的优点1.3.1 它是一种验证行为1.3.2 它是一种设计行为1.3.3 它是…

CPU是什么

CPU&#xff08;Central Processing Unit&#xff09;是计算机系统的运算和控制核心&#xff0c;是信息处理、程序运行的最终执行单元&#xff0c;相当于系统的“大脑”。当 CPU 过于繁忙&#xff0c;就像“人脑”并发处理过多的事情&#xff0c;会降低做事的效率&#xff0c;严…

Postman安装和运行

下载安装 Postman是一个方便用于构造请求的软件.可以以简单的方式来构造请求. 要下载软件,还是同样的话,要去官网下载.这里我们直接将官网地址放在这里. https://www.postman.com/downloads/ 进入官网以后,点击windows 64-bit(图中圈起来的部分)即可下载. 下载好以后双击安…

java小技能:JWT认证实现

文章目录 引言I. 预备知识1.1 关键字去空格处理II token组成2.1 头部(Header)2.2 有效载荷(Playload)2.3 签名(Signature)2.4 代码实现:生成tokenIII 验证token3.1 网关验证token3.2 使用拦截器验证token引言 认证流程 I. 预备知识 1.1 关键字去空格处理

前端复制粘贴方式上传图片

最近在做一个论坛的项目&#xff0c;发布评论的时候&#xff0c;很多时候会用到截图上传的功能&#xff0c;通过微信截图&#xff0c;QQ截图&#xff0c;直接将截取的图片通过Ctrlv 复制到输入框里&#xff0c;自动上传将图片渲染到页面上&#xff0c;今天就来实现一个这样的功…

BOS金蝶云星空:表单插件设置单据体背景色

一.效果图&#xff1a; 备注&#xff1a;只适用于只读列 二.代码案例&#xff1a; 自定义单据提附加背景色方法&#xff1a; /// /// 设置单据体背景颜色 /// /// 实体 /// 行 /// 字段 /// 颜色代码 private void SetEntityBackgoundColor(string entityKey, int row, st…

【面试题】大厂面试题分享:如何让(a===1a===2a===3)的值为true?

大厂面试题分享 面试题库 前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 当我第一次看到这一题目的时候&#xff0c;我是比较震惊的&#xff0c;分析了下很不合我们编程的常理&#xff0c;并认为不大可能&#…

面试官:断网了,还能 ping 通 127.0.0.1 吗?

你女神爱不爱你&#xff0c;你问她&#xff0c;她可能不会告诉你。 ‍ 但网通不通&#xff0c;你 ping 一下就知道了。 可能看到标题&#xff0c;你就知道答案了&#xff0c;但是你了解背后的原因吗&#xff1f; 那如果把 127.0.0.1 换成 0.0.0.0 或 localhost 会怎么样呢&…

Win10用命令行编译带有cuda的opencv

0. 环境 笔记本win10 NVIDIA GeForce GTX 1660 Ti 1. 准备x64 Native Tools Command Prompt 1.1 准备Visual Studio Installer 需要安装visual studio 2019 1.2 安装工作负荷 为了安装x64 Native Tools Command Prompt&#xff0c;勾上使用C的桌面开发 安装完毕后&#xf…

Latent Class Modeling lca

潜类别模型&#xff08;Latent Class Modeling&#xff09; 潜在类别分析&#xff08;LCA&#xff09;数据分析流程&#xff08;详细版&#xff09; - 简书 (jianshu.com) R数据分析&#xff1a;用R语言做潜类别分析LCA - 知乎 (zhihu.com) About Latent Class Modeling -…

Postman(六): postman定义公共函数

Postman(11): postman定义公共函数 postman定义公共函数 在postman中&#xff0c;如下面的代码&#xff1a; 1、返回元素是否与预期值一致 var assertEqual(name,actual,expected)>{tests[${name}&#xff1a;实际结果&#xff1a; ${actual} &#xff0c; 期望结果&…

PDF转Excel怎么转?这些方法值得收藏

在我们的工作生活中&#xff0c;避免不了Excel表格的使用&#xff0c;当我们遇到想要将PDF文件中的信息转换制作成表格的时候&#xff0c;要怎么做呢&#xff1f;毕竟&#xff0c;PDF文件是一个不易编辑的格式&#xff0c;我们想复制其中的内容就较为的麻烦。一般这种时候&…

何止一个惨字形容,水滴 Java 面试一轮游,壮烈了,问啥啥不会,数据库血崩

static 关键字是用来干什么的&#xff0c;static 修饰的方法里面可以使用非静态的成员变量吗&#xff0c;为什么呢 private 修饰的方法是否可以被子类覆盖 覆盖和重载有什么区别 进程跟线程的区别 Java 中创建线程有几种方式 a. 反思&#xff1a;讲完三种方式之后&#xff…