温度监控系统的设计(软件设计).doc





《温度监控系统的设计(软件设计).doc》由会员分享,可在线阅读,更多相关《温度监控系统的设计(软件设计).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、温度监控系统的设计 系统的软件设计 指导老师:* 老师摘 要随着科技的发展,相较于很多年以前人们对于自己生活的需求也发生了戏剧性的改变。而监控系统恰恰迎合了人们的这一需要。在众多先进测量控制技术中,由于单片微处理器的性能日益提高、价格又不断降低,使其性能价格比的优势非常明显并且我们知道利用MATLAB可以方便地进行仿真整定PID参数。本文介绍一个以单片机为核心的温度监控系统,主要包括控制算法的仿真分析(用MATLAB)和软件编程(用C51),它是利用传感器采集温度信号, 温度信号经放大电路放大、AD转换后送到单片机中,并将温度值显示在数码管上,单片机把它同由键盘实现的给定温度进行比较,再由单片
2、机根据控制策略给出控制量,然后将控制量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。本人主要负责系统的软件设计,在软件设计过程中,我们尽可能使其功能化、模块化、尽量采用子程序调用的方法。【关键字】单片机;温度监控系统;PID控制算法;MATLAB;软件设计(C51)。AbstractWith the increasing pace of science and technology, perhaps no change has characteristic the past decades more dramatic than that of peoples demands of
3、their own life. Supervision and monitoring system meet the requirements of them. In these numerous advanced measurement and control technology, because of the enhanced performance and reduced price of MCU, making the advantage that its ratio of performance to price been obvious and as we know MATLAB
4、 is easy to simulate the setting of PID parameter. This text, which comprised by the simulation and analysis of control algorithms (using MATLAB) and the program of software (using C51), introduces a temperature monitor whose core is a MCU. It gathers the temperature signal and amplifies it by an am
5、plifier circuit microcomputer. Simultaneity sends it into the MCU after A/D conversion. Then show it on in the LED. The single chip compares it with the temperature, which realizes by the keyboard and give control measure according to the control strategy. In the end, the MCU sends control measure t
6、o drive circuit in order to drive the heating installation and warning device. And a closed system is formed. I am mainly responsible for the software design of the system .In process of the software design; we make its function, modularization and use subroutine as far as possible. KEYWORDS: MCU; t
7、emperature monitor system; The control algorithm of PID;MATLAB; software design(C51).目 录引 言31 系统概述41.1系统功能描述41.2 系统的框图42 、PID控制与MATLAB仿真52.1 PID控制52.1.1 PID控制的优点52.1.2 数字52.1.3 凑试法确定PID参数52.1.4 电炉传递函数62.1.5 控制框图72.2 MATLAB仿真72.2.1 Simulink模型的建立82.2.2 PID 的MATLAB编程实现93 、硬件概述103.1 硬件电路概述103.2 AT89C51端
8、口定义113.3 模数转换模块113.4键盘模块123.5显示模块134、 软件设计144.1 单片机编程语言的选择144.1.1 汇编语言144.1.2 C语言144.2 软件总体结构图154.2.1系统初始化154.2.2主程序模块软件设计154.3 A/D模块软件设计164.4 键盘模块软件设计164.5 报警模块软件设计184.6 采样、PID校正及PWM 输出模块软件设计194.7 显示模块软件设计205、 系统调试与总结215.1 系统调试215.2程序链接225.3总结245.4英文及翻译链接24参考文献25鸣 谢26引 言随着电子技术和微电子技术的发展,微型计算机发展也越来越快
9、。单片机作为计算机的一个独特分支,打破了微型计算机按逻辑功能划分芯片结构的传统概念,以其体积小、功能强、性价比高等优点被广泛应用于诸多领域。单片机在一块芯片上集成CPU, ROM, RAM、I/0接口,定时器/计数器和中断系统等功能部件,构成一个完整的微型计算机。由于单片机体积小、重量轻、噪声低、可靠性高,具有很强的灵活性,而且价格便宜,抗干扰能力强,开发效率高,易于产品化, 它的应用已深入到工业、农业、国防、科研以及日常生活用品(家电、玩具)等各种领域;温度是工业生产和科学实验中的重要参数之一,它已广泛应用于化工、冶金、医药、航空等领域里,对温度的控制效果直接影响到许多产品的质量及使用寿命,
10、因此温度控制成为各个领域中的一项关键技术;本系统研究的即是一个以单片机为核心的温度监控系统,包括控制算法的仿真分析(用MATLAB)和软件编程(用C51),利用Keil和Protues软件进行联合仿真,并最终达到对温度信号进行监测和控制的目的。 1 系统概述1.1系统功能描述本系统即是一个以单片机为核心的温度监控系统,利用传感器采集温度信号, 温度信号经放大电路放大、AD转换后送到单片机中,并将其显示在数码管上,单片机把它同由键盘实现的给定温度进行比较,再由单片机根据控制策略给出PWM输出量,然后将输出量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。滤波放大A/D转换隔离驱动键盘输
11、入 单 片 机显示报警PWM输出电阻丝图1-1 系统框图1.2 系统的框图 本系统框图如图1-1所示:2 、PID控制与MATLAB仿真2.1 PID控制2.1.1 PID控制的优点PID控制是历史最悠久、生命力最强的一种控制方法。上世纪40年代前,除了在最极端的情况下可使用开关控制以外,他是唯一的控制方式。随着科技的不断进步尤其是计算机技术的迅速发展,又涌现出很多新的控制方法。然而,PID控制却没有因此而略显逊色。迄今为止,它仍是应用最广泛的基本控制方式。PID控制是比例微分和积分控制的简称,它具有如下的几个优点:(1) 原理简单,使用方便;(2) 适应性强,可广泛应用于热工,造纸等各种生产
12、部门;(3) 鲁棒性强(也即其控制品质对被控对象特性参数的变化不敏感)。2.1.2 数字u(k)=Kpe(k)+Ki*e(j)+Kde(k)-e(k-1)Te(k)当前误差值。e(k-1)上次误差。采样周期。j=1k用计算机进行PID控制时,因计算机仅能处理离散信号,故而必须把PID控制算法变换成计算机能实现的形式,即数字PID:2.1.3 凑试法确定PID参数增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差。但过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。增大积分时间有利于减小超调,减小振荡,使系统更加稳定,但静差的消除将随之减慢。增大微分时间有利于加快系统响
13、应,使超调量减小,稳定性增强,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。在凑试时,可以参考以上参数对过程的影响趋势,对参数进行先比例、后微分,再积分的整定步骤。首先,只整定比例部分。即将比例系数由小到大,并观察相应的系统响应,直到得到响应快、超调小的响应曲线。如果在比例调节的基础上系统的静差不能满足设计要求,则需要加入积分环节。整定时首先设置积分时间为一较大值,并将前面整定得到的比例系数略微减小,然后减小积分时间,使在保持系统良好的动态性能的情况下,静差得到消除。若使用比例积分调节器消除了静差,但动态过程反复调整仍不满意,可加入微分环节,构成比例积分微分调节器,在整定时,可先置微分时间
14、为零,在第二步整定的基础上,增大微分时间,同时相应地改变比例系数和积分时间,逐步凑试,以得到满意的调节效果和控制参数。2.1.4 电炉传递函数要实现对系统进行MATLAB仿真,首先要建立电炉数学模型。常见的电炉模型是一阶惯性延时环节,在本次MATLAB仿真中用的就是此环节,如下示:G(s)=K*e-sts+1延时时间,60S。 T 采样周期。 t 惯性周期,80S。 K 放大倍数。2.1.5 控制框图110。CPID+INOUTUT1T2G(s) =K*e-sts+12.2 MATLAB仿真在计算仿真中,采用C语言实现,算法复杂,编程量大。而MATLAB是集数值计算、符号运算及图形处理等强大功
15、能于一体的科学计算语言。作为强大的科学计算平台,它几乎能满足所有的计算需要。在科研院所、大型公司、或企业的工程计算部门,MATLAB也是最为普遍的计算工具之一。用MATLAB实现PID参数控制器的参数整定,实现方法容易,程序简洁,可读性强加之强大的绘图功能使得整个结果更加清楚明了有助于读者的理解。 MATLAB与其它软件相比具有如下的优势和特点:(1)友好的工作平台和编程环境:随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交换更强。操作更简单。(2)强大的科学计算及数据处理能力MATLAB拥有600多个工程中用到的数学
16、运算函数,可以方便地实现用户所需要的各种计算功能(3)出色的图形处理功能MATALB自产生之日起就具有方便的数据可视化功能,同样表现出强大的数据处理能力,同时对一些特殊的可视化要求,例如图形动画。(4)模块化的设计和系统的仿真Simulink是MATLAB的一个分之产品,主要用来实现对工程的模型化和动态仿真。由于Simulink提供了用方框图进行建模的接口,使得用Simulink建模 就像用笔在纸上画图一样。它与传统的软件包相比具有直观、方便、灵活的优点。2.2.1 Simulink模型的建立PID(e,t)G(s)=K*e-sts+1+UU作为输出,设计反馈回路将U(即电炉当前温度)与设定温
17、度值进行比较,然后通过PID控制器对偏差e进行控制,使电炉温度接近设定温度值。将加PID控制器后的电炉温度值通过示波器输出,作为仿真结果,以判断控制的好坏。 对PID参数按上述凑试法进行整定,当Kp=0.9;Ki=0.001;Kd=0.1时,得到最佳控制结果,仿真结果如下图2-1所示:图2-12.2.2 PID 的MATLAB编程实现 整定PID的M函数如下示:function u=PID (e, t)persistent e_1 e_IT=1;Kp=0.6;Ki=0.001;Kd=0.1;if (t=0) e_1=0; e_I=0;ende_I=e_I+e;e_D= (e-e_1)/T;u=
18、Kp*e+Ki*e_I+Kd*e_D;e_1=e;这是数字PID里的位置式PID控制算法,常见的数字PID还有:梯形积分式PID控制、积分分离式PID控制、增量式PID控制等。通过以上Simulink的仿真,整定出数字PID在采样周期为1秒时的3个最佳参数,Kp=0.9;Ki=0.001;Kd=0.1。以下内容即为利用这组参数而进行的基于单片机的温度监控系统的设计。3 、硬件概述3.1 硬件电路概述图3-1 系统图硬件电路包括:单片机(AT89C51)、信号的模数转换(ADC0808)、键盘电路(中断方式)、显示电路(74LS47译码兼驱动)、P监控电路(MAX813)、报警电路(NE555)
19、和加热电路等,由于是硬件仿真图,故后三者省略。整体图如下3-1示:3.2 AT89C51端口定义本系统的单片机选用的是AT89C51芯片,AT89C51芯片是一种低损耗、高性能、CMOS八位微处理器,片内有8K字节在线可重复编程快擦快写程序存储器。图 3-2为其PDIP封装的管脚排列图 下面将概述其部分管脚功能: P0口(39-32):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用;本设计中用于传输AD数据。 P1口(1-8):准双向通用I/O口;本口用于键盘输入(P1.3SET,P1.4ADD,P1.5-SUB),启动555(P1.2)以及改变555的频率(P1.6)。P1.7
20、口喂狗。P1.0,P1.1没有用到。图3-2 AT89C51管脚图 P2口(21-28):准双向口,既可作地址总线口输出地址高8 位,也可作普通I/O用;此口用于LED显示,P2.5、P2.6、P2.7分别用于LED个、十、百位的片选;P2.0P2.3接74LS47的ABCD用于译码。P2.4口没用。 P3口(10-17):多用途端口,既可作普通I/O口用,也可按每位定义的第二功能操作;P3.0接PWM输出驱动电路;ADC0808的模数转换结束后EOC经过一反相器将转换结束信号送入P3.2口,89C51产生中断,进而通过P0口开始读数据;P3.3外部中断1,接键盘中断;P3.5定时器1为ADC
21、0808提供时钟;P3.6写信号,送出一个下降沿,经反相器后启动AD;P3.7读信号,经反相器后接ADC0808的读允许;P3.1,P3.4不接。 RST:复位信号输入端,高电平有效;看门狗复位。 EA/Vpp:内部和外部程序存储器选择线。3.3 模数转换模块 输入电路通过温度传感器采集温度信号,经滤波、隔离、放大处理后,得到是一个模拟电压信号。这一模拟信号通过A/D转换器把它转化为数字信号,进而让CPU对其进行处理和控制。我们选用了以下器件:模数转换器(ADC0808)、或非门2个(74LS02)、非门1个。ADC0809是逐次逼近型的A/D转换芯片,它具有较高的转换速度和精度,受温度影响较
22、小,能较长时间保证精度,重现性好,功耗低,具有8通道模拟开关,而且具有TTL三态输出易于单片机接口,所以它是用于过程控制比较理想的器件。因此,我们选用了ADC0808。图3-3 ADC0809硬件电路设计如图3-3所示:ADDC、ADDB、ADDA接高电平,这样只要ALE端有高电平出现,就会把IN7选中。启动信号START由P2.0结合/WR提供,地址锁存信号ALE与START连接, 所以,在单片机执行写操作同时P2.0为低电平,便可启动转换。转换结束信号EOC经过非门与单片机的IN7连接,当转换结束时,EOC上的高电平经非门取反后,便可向单片机请求中断;输出允许信号OE由P2.0结合/RD产
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 监控 系统 设计 软件设计

限制150内