c语言程序设计电加热炉,基于80C52单片机的电加热数字恒温控制系统设计

1 控制方案设计

温度场是一个梯度场,温度的上升或下降随时间缓慢变化。电加热炉温度控制过程可以用自然降温、程序升温和恒温保持3个分过程来描述。自然降温:停止加热,环境温度在整个过程中保持不变,受控温度场最终稳定为环境温度。程序升温过程:给定电压值为一变化值,由程序控制逐渐变化,最终使炉温的稳定在给定值上。恒温保持:给定炉温为一定值,使炉温稳定在给定值上,这时受控场温度恰好抵消散热因素的影响而能够维持在所设定的温度。实验和经验表明,电加热炉对象可近似为一个纯滞后环节和一个惯性环节组成,其传递函数为:

f444559d93bc4d9f898af04d80a746af.png

τ为纯滞后时间,K为放大倍数,T为惯性时间。在滞后时间和惯性时间均不太大、控制对象非线性小,参数时变性小的场合,RID控制是一种最直接最有效的控制方法。本文采用数字PID控制技术,设计了一个实验室可用、中小型的、温度在环境温度至此320℃范围内可调的电加热炉温度控制系统,系统结构如图1所示。

89e99e7d4684d35255ebbc9f23c88f05.png

图1 炉温度控制系统结构

系统采用温度传感器对炉膛内的实时温度进行检测、转换、采样,所得的检测信号经A/D转换器转换成数字信号进入单片机,并与单片机内预先设定的温度给定值加于比较得出偏差,偏差送入控制器,单片机执行偏差的PID数字运算得到可控硅的触发脉冲,并由这个触发脉冲调节可控硅的导通时间,从而调节电炉丝与风扇的两端电压形成控制作用,使炉温保持恒定。

2 软、硬件设计

2.1 硬件系统设计

控制器的核心是80C52单片机,其硬件框图如图2所示。系统采用AD590温度传感器电路把温度转换成0~5V的电压信号,再由转换器A/D 8080转换成数字信号送入单片机80C52.单片机根据系统的给定温度和实际测量值比较得出偏差,再利用PID算法求出控制量U(kT)。通过U(kT)来决定输出触发脉冲的宽度。从而控制可控硅的导通时间,最终达到控制温度的目的。

0882956b367a34ee40a3e909547a9184.png

图2 系统硬件框图

微机系统主要由CPU80C52,并行接口8255A,地址锁存器74LS373构成。

AD590是电流型温度传感器,用于精密温度测量电路。在被测温度一定时,AD590相当于一个恒流源,通过对电流的测量可得到所需要的温度值。

A/D0808 是8位逐次逼近式A/D转换器件,采用CMOS结构,包括8位的A/D转换器、8通道的多路模拟开关和与微处理器相兼容的控制逻辑。8通道多路模拟开关能直接与8路单极性模拟信号中的任何一个相连。片内还具有8路模拟开关通道地址锁存器和地址译码器、电压比较器、256R电阻T型分压器、数字模拟开关阵译码器、逐次逼近寄存器SAR、逻辑控制与定时电路、输出具有TTL电平标准的三态输出数据锁存缓冲器,直接挂接在单片机单片机的数据总线上。

单片机80C52是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。

8255A芯片用来扩展I/O口,它有3个输入输出端口,PA口接测量显示的LCD液晶显示器,PB口接给定温度显示的LCD液晶显示器,PC口控制LCD的选通,8255A的地址通过锁存器74L373选择,这样就很好的解决了单片机端口资源不足的问题,并且各个模块功能清晰。

2.2 软件系统设计

2.2.1 程序流程

程序流程如图3所示。系统程序包括主程序、对80C52单片机硬件电路的初始化、显示程序、键盘处理程序等。控制器的软件主要包括两部分:监控程序和控制程序。监控程序的主要功能包括初始化设置、内存清零、定时采样、键位操作和显示等。控制程序的主要功能包括定时、数据处理、温度控制子程序等。该系统的软件是在80C52单片机仿真开发环境下采甩基于51系列的C语言编写的,用C语言来设计程序大大提高了开发调试的工作效率。

833138d05926710b4cfe36e1d5e76b15.png

图3 程序流程图

2.2.2 温度控制算法设计

PID控制器具有结构简单、稳定性好、工作可靠、调整方便等优点,是控制理论中技术最成熟、应用最广泛应的一种控制技术。所谓的PID控制,就是按偏差的比例、积分、微分进行控制。想模拟PID调节器的控制规律为:

b6244742a33322f6c6020a70b805a466.png

式中u(t)是PID调节器的输出量,e(t)是PID调节器的输入量,Kp为比例系数,Ti为积分时间常数,Td为微分时间常数。

047174889a0efbb63195846c8fe8d73b.png

PID控制的形式多种多样,常用的通常有位置式和增量算式。根据对象的特点,该系统采用PID增量式控制算法。所谓的PID的增量算式,就是根据式(3)计算出u(kT-T),通过计算△u(kT)=u(kT)-u(kT-T)得到PID增量算△u(kT),即第k次采样输出算式为:

a48a09ba6eba5153566dc44726704a14.png

在计算机系统中,一般采用恒定的采样周期T,当确定了Kp、Ki、Kd时,根据前后3次测量的偏差值就可以求出控制增量△u(kT)。增量式PID程序流程图如图4所示。

77d233bf4f62657f176ba5adc05b603f.png

图4 增量式PID程序流程图

3 实验结果与系统仿真

在Keilu Vision3中建立一个文件,在代码框中输入程序代码,检查调试代码无误后运行程序生成。HEX文件,打开PROTEUS的原理图编辑及仿真界面,并在界面中打开事先设计好的电路图,最后把转换好的二进制文件加载入80C52单片机,点击运行调试按钮就可以进行硬件和软件的仿真。

该系统炉温在一定范围内根据实际控制对象可以人工设定,图5为电加热炉温度设定值在50、100、150和300℃时的升温曲线图。从图中可以看出,炉温获得了良好的控制,各项指都达了电加热炉加热对象要求起跳快、调量小、控制平稳的技术指标。

556e7aa99113f0eb9b729b86c15f95d7.png

图5 电加热炉温度设定值在50、100、150和300℃时的升温曲线图

4 结束语

该系统经验证能充分实现温度的实时控制与显示、设定显示,达到智能数字控制仪表的要求。试验表明,该系统具有良好的升温、降温特性,静态、动态指标均达到了控制要求,系统精度高,自适应能力强,可靠性高,抗干扰性强,控制界好等特点。系统的超调量小于4%,调节时间在温30~100范围内均6 min小于,炉温达刭了很好在控制效果。改小温度设定值,该系统可应用于孵蛋、细菌培育等场合恒温控制。该控制器的设计方法在热处理、化工、机械加工、金属冶炼等行业炉温控制器设计中具有一定的借鉴意义和推广价值。

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

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

相关文章

6s在c语言中的用法,C语言中assert的用法讲解

assert是指编写代码时做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。下面是小编为大家整理的C语言assert的用法讲解,欢迎参考~assert宏的原型定义在中,其作用是如果它的条件返回错误&a…

cmd c语言 图形,CMD-C彩图隐写方案

1.前言本文提出了当前经典的彩图隐写方案,它具有聚类修改方向的特点,是第一个公认的彩色图隐写方案,为后续彩图隐写术和隐写分析工作提供了清晰的思路,具有深远的意义。2.背景现代灰度图像隐写方案是在最小化失真函数框架下设计的…

android 闪存软件测试,手机为什么这么卡:闪存I/O测试AndroBench

手机为什么这么卡:闪存I/O测试AndroBench软件名称:Androbench软件版本:4.0.1软件大小:1.01MB软件授权:免费适用平台:Android很多朋友买手机只是为了日常使用,卡顿是最影响日常使用的心情的问题了…

android手机浏览器研究报告,QQ浏览器Android客户端产品体验报告

概览手机:魅族MX3操作系统:Flyme OS 3.5.2(A19220)体验产品:QQ浏览器Android客户端软件版本:5.7.2.1400需求分析目标人群:所有移动互联网网民使用场景:用户使用手机上网浏览网页、看小说、看视频、购物&…

labview利用簇模拟汽车控制_在LabVIEW应用程序中何时应采用面向对象技术 (翻译)...

在LabVIEW应用程序中何时应采用面向对象技术 (翻译)在LabVIEW中应用面向对象编程技术并不是一件特别容易的事情,尤其是先期的学习成本很高,但是在开发大型、复杂的、长期维护的程序时,使用面向对象技术会带来较好的回报。自从LabVIEW8.2版本引…

华gt2升级鸿蒙,华为手表GT2 Pro已开始内部测试,升级鸿蒙操作系统

据悉,华为鸿蒙应用已经开始在手表上布局。根据鸿蒙OS分布式计算的特点,它最终可以实现手机计算、手表优化显示、功能扩展和续航的需求。而华为WATCH GT2 Pro将成为华为首款支持鸿蒙应用的手表产品,不过要等到10月30日之后我们才能够购买到。在…

flutter 如何判断在哪个页面_Agora 教程:构建你的第一个 Flutter 视频通话应用

作者:张乾泽,声网Agora 工程师我们基于 Agora SDK 封装了 Agora Flutter SDK ,开发者可以在 Flutter 应用中快速实现稳定、可靠的实时音视频通话、互动直播应用。本文将介绍如何使用 Agora Flutter SDK 快速构建一个简单的移动跨平台视频通话…

.net core高并发_高并发下的Node.js与负载均衡

阅读本文约需要6分钟大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次老师跟大家分享了下浅谈前端自动化构建的相关知识,今天跟大家分享浅谈前端自动化构建的相关知识参考…

android arm 寄存器,ARM汇编

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?Android Native 进程启动流程ARM传参,R0-R3传递前四个参数1. Thumb 指令集特点Thumb 指令集指令长度:16或32,16为为主Thumb-16 …

如何制作印章_用Word也能做出逼真的电子印章!简单3步!1分钟搞定

我们在办公的时候经常需要用到印章,以前可能是在纸上盖章,现在电子文档比较多,电子印章也开始流行使用,那么我们如何制作一个逼真的印章呢?很简单,用Word就可以搞定啦!一、印章制作1、圆圈制作首…

鸿蒙唯独没有手机,想用鸿蒙OS,却没有华为手机?华为高层:还有1亿台设备可体验...

不再是PTT系统!鸿蒙OS真的要来了,年内初步实现全场景交互从2019年开始,有关 鸿蒙OS 的消息越来越多,不仅公布了发展规划,也确定将适配多款机型,期待度直接拉满。可惜以目前的情况来看,鸿蒙OS 适…

@kafkalistener中id的作用_SSM框架(十一):Spring框架中的IoC(1)

控制反转 IOC:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection&#xff…

keras优化算法_目标检测算法 - CenterNet - 代码分析

代码出处吃水不忘打井人,分析github上的基于keras的实现:xuannianz/keras-CenterNet​github.com代码主体结构模型训练的主函数流程如下所示,该流程也是使用keras的较为标准的流程。其中代码篇幅较大的是数据准备的部分,通常的代码…

c语言中创建一个整数数组_VBA中动态数组的创建及利用方法

大家好,后疫情时代一定会到来,各行各业,都将是一场战胜萧条的无声的战役。无论怎样,我们一定要坚信,疫情终将会过去,曙光一定会到来。后疫情时代将会是一个全新的世界,很多理念都将被打破&#…

用计算机求函数公式,计算机常用的函数公式有哪些?

01计算机常用的函数公式包括RANK函数、COUNTIF函数、IF函数、ABS函数、AND函数、AVERAGE函数、COLUMN 函数等。RANK函数是Excel计算序数的主要工具,它的语法为:RANK(number,ref,order),其中number为参与计算的数字或含…

golang 读取文件最后一行_python3从零学习-5.4.3、文件输入流fileinput

源代码: Lib/fileinput.py此模块实现了一个辅助类和一些函数用来快速编写访问标准输入或文件列表的循环。 如果你只想要读写一个文件请参阅 open().典型用法为:import fileinputfor line in fileinput.input(): process(line)这将遍历sys中列出的所有文件的行。argv[1:]如果…

云计算机具体应用场景,云计算的定义、类型及应用场景

云计算是20年来IT行业出现的最激动人心且最具颠覆性的技术,甚至比大型主机向客户端/服务器架构的迁移还更具颠覆性。无论是IT服务的交付方式,还是企业消费这些IT服务的方式,都因云计算而改变。用户也正在快速应对新架构带来的变革&#xff0c…

dataframe for循环 筛选_Python循环12种超强写法,又快又省内存

0 前言说到处理循环,我们习惯使用for, while等,比如依次打印每个列表中的字符:在打印内容字节数较小时,全部载入内存后,再打印,没有问题。可是,如果现在有成千上百万条车辆行驶轨迹,…

html5文字飞入插件,jquery使用CSS3实现文字动画效果插件Textillate.js

jquery使用CSS3实现文字动画效果插件Textillate.jsTextillate是一款基于CSS3动画效果的 JavaScript 库,您可非常轻轻松地把这些动画效果应该于网页中的任何文字。使用方法引入核心文件构建html标签My Title写入JS,初始化$(function () {$(.tlt).textilla…

工业机器人导轨 百度文库_工业机器人或许开创一个全新的PLC时代

自机器人诞生之日起人们就不断地尝试着说明到底什么是机器人。但随着机器人技术的飞速发展和信息时代的到来,机器人所涵盖的内容越来越丰富,机器人的定义也不断充实和创新。机器人技术作为20世纪人类最伟大的发明之一,自20世纪60年代初问世以…