基于AT89S51单片机的PID温度控制系统设计

发布者:Jinghua6666最新更新时间:2014-09-18 来源: dzsc关键字:AT89S51  单片机  PID  温度控制系统 手机看文章 扫描二维码
随时随地手机看文章

  温度控制技术不仅在工业生产有着非常重要的作用,而且在日常生活中也起着至关重要的作用。本文对系统进行硬件和软件的设计,在建立温度控制系统数学模型的基础之上,通过对PID控制的分析设计了系统控制器,完成了系统的软、硬件调试工作。算法简单、可靠性高、鲁棒性好,而且PID控制器参数直接影响控制效果。

  1. 系统概述

  1.1 系统总体结构

  该系统利用AT89S51丰富的外设模块搭建硬件平台。系统的硬件电路包括:模拟部分和数字部分,基本电路由核心处理模块、温度采集模块、键盘显示模块及控制执行模块等组成。

  1.2 系统工作流程

  系统开始工作时,首先由单片机控制软件发出温度读取指令,通过数字温度传感器采集被控对象的当前温度值并送显示屏实时显示。然后,将该温度测量值与设定值T比较,其差值送PID控制器。PID控制器处理后输出一定数值的控制量,经D/A转换为模拟电压量,控制被控对象进行加热。

  1.3 系统软件设计方法

  整个系统软件设计包括管理程序和控制程序两部分,管理程序包括LED显示的动态刷新、控制指示灯、处理键盘的扫描和响应。控制程序包括A/D转换、中值滤波、越限报警处理、PID计算等。

  2. 系统硬件结构

  2.1 电源电路的设计

  系统所用直流电源由三端集成稳压器组成的串联型直流稳压电源提供。设计中选用了LM7805 LM7815和LM7915三个三端集成稳压器,提供+5V直流电压,输出电流均为1A.变压器将220V的市电降压后再通过整流桥整流之后采用了大容量的电解电容进行滤波,以减小输出电压纹波。电源电路图如图1所示。

                    图1 电源电路图

  2.2 复位电路设计

  单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。只有一个可靠的复位电路才能使系统避免出现了“死机”、“程序走飞”等现象。电路图如图2所示。

                    图2 复位电路图

  2.3 时钟电路设计

  本控制器采用的是内部振荡方式得到单片机的时钟信号,这种方式得到的时钟信号比较稳定。图3为时钟电路。

                    图3 时钟电路图

  2.4 可控硅输出电路

  可控硅是一种功率半导体器件,简称SCR,也称晶闸管。本部分为控制电加热炉功率的双向可控硅驱动电路,采用MOC3041作为驱动电路。如图4所示。

                    图4 可控硅输出电路

  2.5 声光报警电路模块

  某一通道的温度测量值超出预先设定的上、下限报警值或系统运行出现故障时,系统发出声光报警以提醒用户注意。如图5所示。[page]

                     图5 声光报警电路图

  3.系统软件设计

  3.1 系统主程序设计

  在反应器系统中,主程序的功能主要是设定程序执行过程中用到的相关变量,分配寄存器,对所需要的参数初始化,根据定时中断程序,调用相应的功能模块,完成一定的任务。

  3.2 系统子程序设计

  3.2.1 显示子程序

  LED显示方式包括有静态和动态显示两种,动态扫描显示电路是将显示各位的所有相同字段线连在一起,由一个8位I/O口控制,而每一位的公共端(共阳或共阴COM)由另一个I/O口控制。由于这种连接方式将每位相同字段的字段线连在一起,当输出字段码时,每一位将显示相同的内容。因此,要想显示不同的内容,必须采取轮流显示的方式。

  3.2.2 定时子程序

  定时程序主要是用于完成查表的占空比控制。总体思想是根据控制表中占空比控制变量U的不同取值,采用不同的定时来改变继电器的通断,根据继电器的特性,要求不能频繁通断,所以通断要有一定长的时间,但又要考虑到控制能够及时的根据新的采集值和设定值的变化来做出相应的动作。

  4.控制方案

  4.1 PID控制

  PID控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差,将偏差比例、积分和微分通过线性组合构成控制量,对被控对象进行控制。

  4.2 PID参数整定

  由于PID控制器的输出为系统偏差的比例、微分和积分作用后的线性组合,所以调整各个部分的线性系数就是PID控制器控制性能好坏的关键。必须针对具体被控对象对PID控制器参数进行整定,采取扩充临界比例度法:

  (a)选择合适的采样周期T.所谓合适是指周期足够小,一般应选它对象的纯滞后时间的1/IO以下;

  (b)仅让控制器作纯比例控制,由小到大逐渐增大比例系数Kp,直至使系统出现临界振荡,记下此时的临界振荡周期Ts和临界振荡增益Ks;

  (c)选择合适的控制度。所谓控制度,就是数字控制器和模拟调节器所对应的过渡过程的误差平方的积分之比;

  (d)根据控制度查表。

  4.3 Matlab仿真

  通过对上述的整定方法的综合运用,整定后得到PID控制器的参数为:Kp=1.75,Ki=0.0125,Kd=3,在MATLAB/Simulink环境下建立温度控制系统的仿真模型,如图6示。仿真后得到系统阶跃响应曲线。

                    图6 仿真模型

  仿真后得到的系统阶跃响应的动态性能还是比较理想的,超调很小(响应峰值为1.017,超调量Q%=1.7%)。统的响应误差是也是比较小的(稳态误差为0.005),在系统要求的精度范围之内。

  5.总结

  系统采用模块化设计,扩展性强。模块化设计,使控制器具有一定的通用性,而且运行安全可靠。成本低,操作简单,体积小,安装方便,反应灵敏,控制精度高。

关键字:AT89S51  单片机  PID  温度控制系统 引用地址:基于AT89S51单片机的PID温度控制系统设计

上一篇:基于包容式结构的智能循迹小车设计
下一篇:基于单片机的大功率太阳能LED路灯设计与仿真

推荐阅读最新更新时间:2024-03-16 13:41

常用PIC系列8位单片机芯片引脚符号的功能
有关PIC 8位单片机的产品性能和相应的封装引脚介绍后,认为对初学者而言还需了解各引脚符号的意义,才能进一步学习和使用它。笔者为此作相关的说明,以便和初学者共同提高。   一、关于I/O口符号 PIC单片机系列封装引脚最少的是8引脚(如PIC12C5XX和PIC12C6XX),多的可达84引脚(如PIC17C76X),其中I/O(输入/输出)口线按PIC单片机产品型号不同,其口线数量也不相同。8脚封装的I/O口线是6根线,而84脚封装的I/O线多达66根线。这些口线符号分别按英文字母顺序排列编号,简称A口、B口、C口、D口、E口、F口……,每个口是8位的,但不一定占满8位。这些口在封装引脚图的标注上均在各口之前加有R符号。例如B
[单片机]
用51单片机制作4路抢答器
此抢答器具有限时抢答,超时无效的特点,并可以对主持人未喊开始而提前抢答的犯规情况作出判断。 由于用了单片机,所以电路很简单。懒得写译码程序,也不想做驱动电路。干脆直接用了一片74LS48译码驱动器来驱动数码管。 呵呵,面包板上插一下,由于之前在Proteus中仿真过,所以直接就正常运行了~上一张实物图 左边的是STC89C52的最小系统版,P1口上接了8个LED,当时做流水灯的。直接拿来用了。P2口是显示输出,P3口接受按键。那个小的芯片就是74LS48啦~下方的是编程器+电源,STC的芯片就是编程方便,支持在线烧写,这么小巧的编程器~ 当然最重要的是程序,附上代码清单。写的比较烂,竟然上了100行,希
[单片机]
用51<font color='red'>单片机</font>制作4路抢答器
51单片机扩充串行口的方法
基本的 51 单片机有四个并行口,其中还包含了一个串行口。 当接口不够用的时候,大家就会想到,使用什么外接芯片来扩充。 但是,各种教材、参考书、网络文章,介绍扩充并行口的花样不少,扩充串行口的方法,几乎无人问津。 偶尔见到一个,也是使用 8250、8251 等“巨型”芯片来扩充的 使用这些芯片,就要占用单片机很多的更为紧缺的并行口,基本上就是得不偿失。更别说还要设置复杂的控制字了。 使用简单的三态门,即可为单片机扩充串行口,仅仅占用单片机的一、二个引脚作为控制引线而已。 实际上是很简单的,就像使用 74LS373、74LS244 扩充并行口一样,为串行口,配上合适三态门就行了。 选用 74LS125(低电平
[单片机]
51<font color='red'>单片机</font>扩充串行口的方法
单片机学习之十二:按键控制跑马灯(中断)
一、实验现象: 二极管作左右跑马灯,当按下外部按键K0时,8个二极管全部闪烁5次后从K0按下之前的位置继续作跑马灯。 二、实验目的 掌握堆栈在中断程序中的作用 掌握让程序保护现场的方法 三、实验任务分析: 有了以前各个试验的经验,相信这个试验对我们来说,难度不是很大。我们唯一接触到的新的知识点是:让程序从返回中断之前的位置继续执行跑马灯,那么如何能够让程序在进入中断之前记住当时所处的位置,在执行中断之后,能够返回这个地方继续往下执行呢? 我们可以这样作:在进入中断之前,把该时刻的程序信息放到一个地方保存下来,在返回中断之前,再到这个地方把我们存放的程序信息取出来。这样不就可以从进入中
[单片机]
<font color='red'>单片机</font>学习之十二:按键控制跑马灯(中断)
51单片机 蜂鸣器
蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。三极管的作用为驱动,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。 有源蜂鸣器和无源蜂鸣器的区别: 这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。 无源蜂鸣器的优点是:1。便宜,2。声音频率可控,可以做出“多来米发索拉西”的效果。
[单片机]
51<font color='red'>单片机</font> 蜂鸣器
单片机利用条件格式从Excel软件提取字模的方法
LED点阵作为一种重要的显示手段,得到了广泛的应用,在单片机控制的点阵显示系统程序中需要解决的一个重要问题就是字符点阵数据的获取,也就是常说的取字模。笔者在工作过程中也遇到这个问题,经学习和研究发现常用的取字模的方法是用专门的取字模软件来完成的,但也遇到点阵大小固定、不能随意选择的问题。比如,在控制5×7的LED点阵程序中,无法找到合适的软件取得字模。经研究试验发现,使用Excel软件可以实现任意点阵大小取字模。 此方法的核心思想是应用Excel的“条件格式”功能。选中Excel表格中的任意单元格,使用“格式”菜单中“条件格式”,设置为单元格数值等于1时单元格格式为黑色底纹,如图1所示。设置成功后会发现当单元格内数值为1时
[单片机]
<font color='red'>单片机</font>利用条件格式从Excel软件提取字模的方法
基于51单片机的无线数据传输系统设计
  1 引 言   随着计算机、通信和无线技术的逐步融合,在传统的有线通信的基础上,无线通信技术应运而生,他具有快捷、方便、可移动和安全等优势,所以广泛应用到遥控玩具、汽车电子、环境监测和电气自动化等。   在一些特殊应用场合中,单片机与上位机之间通信不再采用有线的数据传输,例如采用有线的串、并行总线、I2C和CAN总线等,而是需要无线数据传输,本文介绍了基于nRF905无线收发模块的实用单片机无线传输系统的设计。   2 无线收发模块nRF905   nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9~3.6 V,32引脚QFN封装(5×5 mm),工作于433/868/915 MHz三个
[单片机]
基于51<font color='red'>单片机</font>的无线数据传输系统设计
满足效率与性能的全面要求,新创公司瞄准节能型微控制器
一组来自挪威的研究人员和企业高官日前组建了无晶圆厂芯片公司Energy Micro AS,将基于强大的微处理器架构开发业界最节能的微控制器。前Chipcon公司CEO兼创始人之一Geir Forre担任Energy Micro的总裁兼CEO。Chipcon公司是一家低功率RF和ZigBee芯片专业提供商,2006年1月被德州仪器以2亿美元收购。 Energy Micro 的首席技术官yvind Janbu也来自Chipcon公司,并曾在该公司担任多个重要的技术职位。Energy Micro计划聘用一个由10人组成的新开发团队,而据Forre表示,Energy Micro将于2008年1月开始全面投入运营。 Forre指出:“我
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved