一种基于单片机的温度监控系统设计

发布者:chenxiaohong68最新更新时间:2011-12-08 关键字:单片机  温度监控系统 手机看文章 扫描二维码
随时随地手机看文章
    在工业控制领域,温度控制的应用非常广泛,控制精度的高低直接影响到产品的质量及使用寿命,研究和设计高性能的温度控制系统具有非常重要的意义。目前控制算法的多样化也为温度控制提供了便利条件,应用较为普遍的有比例积分微分(PID)控制、模糊控制等。本文根据某温控设备的控制要求设计了一种以单片机为核心的监控系统。系统采用热电偶温度传感器测温,利用位置式PID算法,实现了温度的实时监测、超限报警、显示与控制等功能。


1 系统硬件设计
    本系统主要由热电偶温度传感器、OP27低噪声精密运算放大器、双积分型A/D转换器ICL7135、可编程定时/计数接口芯片8253、AT89C51单片机等器件组成。系统框图如图1所示。

1.1 电源模块
    电源模块分模拟电源和数字电源两大部分,分别对本机的模拟电路和数字电路供电,地线各自独立,按A/D转换器的要求只在A/D转换器处将模拟地和数字地相连。数字电源和模拟电源都采用三端稳压块稳压,在个别要求电源精度较高的场合选用低温漂稳压二极管进行二级稳压。
1.2 温度采集模块
    温度数据采集模块以热电偶温度传感器为核心部件,将温度变化量转化为电压信号,经精密运算放大器OP27进行放大,放大后的电压信号输出到ICL7135双积分型A/D转换器进行高精度模数转换。A/D转换后,往往要进行相应的换算,得到系统所需要的数据。之后将数据送往单片机,此信号一部分送往显示模块,以提供实时数据的显示;另一部分送往控制模块,将实时数据与目标数据对比,继而进行控制。图中采用8253接口电路是为系统升级为具有多路温度检测控制功能而设置的。
1.3 输出控制
    输出控制电路主要包括驱动和执行两部分。可用达林顿阵列ULN2003来作驱动,进而控制交流固态继电器(AC-SSR)中的双向可控硅的关断和导通,以便切断或接通加热电源。原理是采用双向可控硅交流“调功”方式控制加热电热丝发热量,即在每一个控制周期时间内,改变加在电热负载上交流电压半波的个数来调节电热丝的发热量。[page]

1.4 显示与报警
    显示模块由LED数码管和驱动电路组成。报警系统采用声光报警由发光二极管,扬声器及驱动电路组成,当单片机发出超限报警信号,将驱动发光二极管和扬声器实现报警。
1.5 看门狗电路
    为了防止系统受干扰而使程序丢失,或走进死循环而使系统死机,应加入看门狗电路,以保证系统的可靠性和稳定性。本系统采用常用的集成看门狗电路X5045,X5045是一种集看门狗、电压监控和串行E2PROM三种功能于一体的可编程电路。


2 系统软件设计
    系统程序的控制思想如下:设置目标温度后,系统对炉温采样,并通过预设温度、当前温度、历史偏差等进行PID运算产生输出参数,通过该参数控制加热时间,从而调节加热器的平均功率,实现系统的PID控制。整体功能通过主程序、串行通信中断服务程序、PID控制子程序等配合实现。这里主要介绍主程序流程和PID控制子程序流程。系统首先初始化I/O、8253、定时器、UART等部件,然后进入主循环,进行温度采样和相关处理。本系统软件设计的核心思想就在于实现PID控制,在系统运行过程中通过按相应键重新设置目标温度。主程序流程如图2所示。

    本方案利用位置式PID算法,将温度传感器采样输入作为当前输入,接着与设定值进行相减得偏差,再进行PID运算产生输出结果,然后控制定时器的时间进而控制加热器。由中断定时器提供溢出频率为64 Hz的中断信号,配合主程序的PID运算结果来确定加热时间,实现加热器功率调节,该部分子程序流程图如图3所示。
    上位机软件使用Delphi,由于Delphi不提供串口通信的ActiveX控件,仅有API函数可以使用,但API函数编程较为复杂,因此可将微软公司提供的Ac-tiveX控件Microsoft Communication Control 6.0(简称MSComm控件)引入到Delphi开发环境中,这样用户便可以像使用Delphi控件一样方便地利用MSComm控件进行计算机串口的通信编程。下面给出上位机命令的发送与数据接收的部分源程序:

   

3 系统调试
    本系统的关键之处在于PID控制。对于PID系统来说,系统性能的好坏主要取决于PID控制参数的设定。由PID控制原理知;比例(P)控制能迅速反应误差,减小稳态误差;比例作用的加大,会引起系统的不稳定。积分(I)控制的作用,只要系统有偏差存在,积分作用不断地积累,输出控制量以消除误差;积分作用太强会使系统超调加大,甚至使系统出现振荡。微分(D)控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。本系统要达到的目标就是:反应速度尽可能快,超调量尽可能小,稳态误差趋近于0。

[page]

    为能在上位机上实时显示温度的变化曲线,调节PID系统关键参数KP,KD使系统处于最佳运行状态就显得尤为重要。图4给出了在4种情况下温度随时间变化的调试曲线。由图可知:在KP=1.5,KD=1.0(温升:20~40℃)时,超调量过大;在KP=1.2,KD=1.0(温升:40~60℃)时,由于参数过小,系统的快速性不好,反应比较迟钝;在KP=-1.3,KD=1.0(温升:30~50℃)时,由于参数过小,系统的超调量比较大,而且预测性不好,造成温度长时间超调;在KP=1.3,KD=2.0(温升:50~70℃)时,选择适中,系统的超调量很小,而且超调维持时间很短就会恢复平衡点。此时温度控制指标如下:静态误差:T≤0.5℃;分辨率:0.1℃;超调量:T≤0.5℃。这样的情况下,系统运行情况可以达到最好。


4 结 语
    以单片机AT89C51为中心,设计了一种温度监控功能系统。该系统简洁,温度数据采集和运算处理十分方便简单,扩展为多路温度监控系统容易。利用单片机的串行中断,采用Delphi编制上下位机通信程序,在上位机直接实时显示温度的变化曲线,便于直接观察控制的性能。通过调试找到了使控制最优的PID参数,在此情况下,系统运行良好,表明了本系统设计的可行性和有效性。

关键字:单片机  温度监控系统 引用地址:一种基于单片机的温度监控系统设计

上一篇:51单片机与FPGA接口的逻辑设计
下一篇:基于51单片机实现智能照明控制系统的设计

推荐阅读最新更新时间:2024-03-16 12:48

周立功写给学单片机的年轻人
  作为过来人思前想后,我感到完全有责任将发自心底的感受传递给年轻一代,“一个企业家心灵深处渴望优秀人才的卓越追求和深层次的叹息、痛苦和感受”。您们千万不要等到毕业求职时才觉得自己能力太差,世界上从来就没有后悔药。当然,如果您现在看了我写的这篇文章可能还不算晚,因为您还有机会在以后的岁月里奋起直追——“亡羊补牢,尤未为晚”。对于现在刚进入大学的学生,您应该更加珍惜这美好的求学机会,因为眨眼之间几年就过去了,您很快就会感到来自全社会生存竞争的压力,您面临的对手再也不仅仅是您身边的同学,今天您在班上的成绩的确是前几名,但一走到社会上去才感到是多么地脆弱而又多么地不堪一击。   在面试大多数本科生时,我仅仅是询问了一些有关MCS-51 系
[单片机]
XS128单片机实验:B口灯交替闪亮
#include hidef.h /* common defines and macros */ #include derivative.h /* derivative-specific definitions */ #include WQ.h //This is the first program of mine,it's used to text the board; //LED will twinkle in very fast speed; void DELAY(int y) { int i,x; for (i=y;i 0;i--) for(x=220;x 0;x--); }
[单片机]
单片机单按键控制led台灯
按键控制LED台灯亮度 C语言方案 功能要求:单独一个按键控制LED台灯的亮度,上电默认关机,分5个档位。 第一档:100%亮度 第二档:65%亮度 第三档:35%亮度 第四档:20%亮度 第五档:10%亮度 第六档:关机 思路:设定一个改变占空比的变量PWM,每按一次按键PWM值自加一次(自加值看需要定,比如PWM+=100),值越小产生的驱动脉冲频率越高。PWM函数采用模拟方法产生,从成本上考虑,带中断,定时器等功能的单片机价格比较高。所以采用价格低廉的低档单片机。鉴于仿真方便,本程序采用PIC16F505(当然也可以用12F508等芯片)。 端口连接:RC1 LED RC0----蜂鸣器 RC5----按键 程序代码:
[单片机]
PIC单片机人机接口模块独立式按键的工作原理
  独立式按键是指用I/0口线构成的单个按键电路,每个独立式按键单独占有一根I/0口线,每根I/0口线上按键的工作状态不会影响其他I/O口线的工作状态,即一个按键对应着-个端口输入,每一个按键都有一个按键电路来判断其是否按下。   上拉电阻确保按键松开时,I/O口线有确定的高电平。当I/O口线内部有上接电阻时,外电路可以不配置上拉电阻,可以采用查询方式或中断方式读取按键,独立式按键电路如图所示   图 独立式 键盘 电路
[单片机]
PIC<font color='red'>单片机</font>人机接口模块独立式按键的工作原理
PIC单片机INT0中断的原理
RB0/INT0、RB1/INT1及RB2/INT2引脚的外部中断是边沿触发的; 如果INTCON2 寄存器中相应的INTEDGx位被置1,则为上升沿触发;如果该 INTEDGx 位清零,则为下降沿触发。 当RBx/INTx引脚上出现一个有效边沿时,相应标志位 INTxF 被置1 。在重新使能该中断前,必须在中断服务程序中先用软件将标志位INTxF 清零。 通过对相应的使能位INTxE 清零,可以禁止该中断。 如果INTxE 位在进入休眠状态前被置1 ,则所有的外部中断(INT0、INT1 及INT2)能把处理器从休眠状态中唤醒。如果全局中断使能位 GIE 被置1 ,则处理器将在唤醒之后转移到中断向量。INT1 和INT
[单片机]
PIC<font color='red'>单片机</font>INT0中断的原理
51单片机学习笔记6 -- 定时器中断
1.引脚复用 通过原理图可以发现定时器0(T0)和定时器1(T1)是P3.4引脚和P3.5引脚的复用功能,当将这两个引脚配置为定时器功能时,引脚外接的传感器(模块)将不能正常使用,即引脚同一时间只能作为一个功能使用(普通I/O或复用功能) T0、T1是两个16位定时器/计数器,每经过1个机器周期内部的16位计数寄存器的值加1,当计数器装满时会溢出,在定时模式时单次最大的定时时间是 65535*1.085us 的时间(单位us) 2.定时器配置 定时器0配置需要用到的寄存器(TCON、TMOD、TL0、TH0) 1.定时器/计数器控制寄存器TCON TCON为定时器/计数器T0、T1的控制寄存器,同时也锁存T0、T1溢出
[单片机]
51<font color='red'>单片机</font>学习笔记6 -- 定时器中断
PIC单片机开发工具
MPLAB简介 MPLAB 集成开发环境(IDE)是一个综合的编辑器、项目管理器和设计平台, 提供以下功能:使用内置的编辑器创建和编辑源代码、 汇编、编译和链接源代码, 通过使用内置的软件模拟器观察程序流程,或者使用在线仿真器或在线调试器以实时方式观察程序流程来调试可执行逻辑, 用软件模拟器或仿真器进行时序测量, 查看Watch 窗口中的变量, 使用器件编程器将固件烧写入器件。软件可以从Microchip公司的官方网站免费下载,使用时重点注意几个菜单项:在线调试,电源选项,芯片型号选择,单片机配置位的设置。 编译器MC18   MPLAB C18是适用于PIC18系列单片机独立而优化的ANSIC 编译器。此编译器是Microch
[单片机]
一文详解80C51单片机的指令系统
指令是指示计算机执行某种操作的命令,计算机能识别执行的只能是二进制代码,以二进制代码来描述指令功能的语言,称为机器语言。 由于机器语言不便于人们识别,记忆,理解和使用,因此便对每条机器语言指令用助记符号来形象表示,这就便形成了汇编语言。 一条指令是机器语言的一个语句,包括操作码字段和操作数字段。一台计算机所具有的全部指令的集合,称为这台计算机的指令系统。 不同的微处理器,其指令系统一般是不同的。 80C51单片机指令系统共有111条指令,具体特点如下: 1)执行时间短,单机器周期指令(64条),双机器周期指令(45条),而四机器周期指令只有2条; 2)指令编码字节少,单字节指令(49条),双字节指令(45条)和最长的三字节
[单片机]
一文详解80C51<font color='red'>单片机</font>的指令系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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