温度监控系统的设计软件设计.docx
- 文档编号:12757476
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:26
- 大小:503.47KB
温度监控系统的设计软件设计.docx
《温度监控系统的设计软件设计.docx》由会员分享,可在线阅读,更多相关《温度监控系统的设计软件设计.docx(26页珍藏版)》请在冰豆网上搜索。
温度监控系统的设计软件设计
温度监控系统的设计
——系统的软件设计
指导老师:
**老师
摘要
随着科技的发展,相较于很多年以前人们对于自己生活的需求也发生了戏剧性的改变。
而监控系统恰恰迎合了人们的这一需要。
在众多先进测量控制技术中,由于单片微处理器的性能日益提高、价格又不断降低,使其性能价格比的优势非常明显并且我们知道利用MATLAB可以方便地进行仿真整定PID参数。
本文介绍一个以单片机为核心的温度监控系统,主要包括控制算法的仿真分析(用MATLAB和软件编程(用C51,它是利用传感器采集温度信号,温度信号经放大电路放大、A/D转换后送到单片机中,并将温度值显示在数码管上,单片机把它同由键盘实现的给定温度进行比较,再由单片机根据控制策略给出控制量,然后将控制量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。
本人主要负责系统的软件设计,在软件设计过程中,我们尽可能使其功能化、模块化、尽量采用子程序调用的方法。
【关键字】单片机;温度监控系统;PID控制算法;MATLAB;软件设计(C51。
Abstract
Withtheincreasingpaceofscienceandtechnology,perhapsnochangehascharacteristicthepastdecadesmoredramaticthanthatofpeople’sdemandsoftheirownlife.Supervisionandmonitoringsystemmeettherequirementsofthem.Inthesenumerousadvancedmeasurementandcontroltechnology,becauseoftheenhancedperformanceandreducedpriceofMCU,makingtheadvantagethatitsratioofperformancetopricebeenobviousandasweknowMATLABiseasytosimulatethesettingofPIDparameter.Thistext,whichcomprisedbythesimulationandanalysisofcontrolalgorithms(usingMATLABandtheprogramofsoftware(usingC51,introducesatemperaturemonitorwhosecoreisaMCU.Itgathersthetemperaturesignalandamplifiesitbyanamplifiercircuitmicrocomputer.SimultaneitysendsitintotheMCUafterA/Dconversion.ThenshowitonintheLED.Thesinglechipcomparesitwiththetemperature,whichrealizesbythekeyboard
andgivecontrolmeasureaccordingtothecontrolstrategy.Intheend,theMCUsendscontrolmeasuretodrivecircuitinordertodrivetheheatinginstallationandwarningdevice.Andaclosedsystemisformed.
Iammainlyresponsibleforthesoftwaredesignofthesystem.Inprocessofthesoftwaredesign;wemakeitsfunction,modularizationandusesubroutineasfaraspossible.
KEYWORDS:
MCU;temperaturemonitorsystem;ThecontrolalgorithmofPID;MATLAB;softwaredesign(C51.
引言----------------------------------------------------------------------------------------------41系统概述----------------------------------------------------------------------------------------4
1.1系统功能描述------------------------------------------------------------------------------------------41.2系统的框图---------------------------------------------------------------------------------------------5
3、硬件概述-----------------------------------------------------------------------------------103.1硬件电路概述----------------------------------------------------------------------------------------103.2AT89C51端口定义----------------------------------------------------------------------------------113.3模数转换模块----------------------------------------------------------------------------------------123.4键盘模块------------------------------------------------------------------------------------------------133.5显示模块------------------------------------------------------------------------------------------------14
5、系统调试与总结-------------------------------------------------------------------------225.1系统调试-----------------------------------------------------------------------------------------------225.2程序链接------------------------------------------------------------------------------------------------235.3总结------------------------------------------------------------------------------------------------------25
5.4英文及翻译链接--------------------------------------------------------------------------------------25参考文献-----------------------------------------------------------------------------------------26鸣谢--------------------------------------------------------------------------------------------27
引言
随着电子技术和微电子技术的发展,微型计算机发展也越来越快。
单片机作为计算机的一个独特分支,打破了微型计算机按逻辑功能划分芯片结构的传统概念,以其体积小、功能强、性价比高等优点被广泛应用于诸多领域。
单片机在一块芯片上集成CPU,ROM,RAM、I/0接口,定时器/计数器和中断系统等功能部件,构成一个完整的微型计算机。
由于单片机体积小、重量轻、噪声低、可靠性高,具有很强的灵活性,而且价格便宜,抗干扰能力强,开发效率高,易于产品化,它的应用已深入到工业、农业、国防、科研以及日常生活用品(家电、玩具等各种领域;温度是工业生产和科学实验中的重要参数之一,它已广泛应用于化工、冶金、医药、航空等领域里,对温度的控制效果直接影响到许多产品的质量及使用寿命,因此温度控制成为各个领域中的一项关键技术;本系统研究的即是一个以单片机为核心的温度监控系统,包括控制算法的仿真分析(用MATLAB和软件编程(用C51,利用Keil和Protues软件进行联合仿真,并最终达到对温度信号进行监测和控制的目的。
1系统概述
1.1系统功能描述
本系统即是一个以单片机为核心的温度监控系统,利用传感器采集温度信号,温度信号经放大电路放大、A/D转换后送到单片机中,并将其显示在数码管上,单片机把它同由键盘实现的给定温度进行比较,再由单片机根据控制策略给出PWM输出量,然后将输出量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。
1.2系统的框图
2、PID控制与MATLAB仿真
2.1PID控制
PID控制是历史最悠久、生命力最强的一种控制方法。
上世纪40年代前,除了在最极端的情况下可使用开关控制以外,他是唯一的控制方式。
随着科技的不断进步尤其是计算机技术的迅速发展,又涌现出很多新的控制方法。
然而,PID控制却没有因此而略显逊色。
迄今为止,它仍是应用最广泛的基本控制方式。
PID控制是比例微分和积分控制的简称,它具有如下的几个优点:
(1原理简单,使用方便;
图1-1系统框图
(2适应性强,可广泛应用于热工,造纸等各种生产部门;
(3鲁棒性强(也即其控制品质对被控对象特性参数的变化不敏感。
用计算机进行PID控制时,因计算机仅能处理离散信号,故而必须把PID控制算法变换成计算机能实现的形式,即数字PID:
增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差。
但过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。
增大积分时间有利于减小超调,减小振荡,使系统更加稳定,但静差的消除将随之减慢。
增大微分时间有利于加快系统响应,使超调量减小,稳定性增强,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。
在凑试时,可以参考以上参数对过程的影响趋势,对参数进行先比例、后微分,再积分的整定步骤。
首先,只整定比例部分。
即将比例系数由小到大,并观察相应的系统响应,直到得到响应快、超调小的响应曲线。
如果在比例调节的基础上系统的静差不能满足设计要求,则需要加入积分环节。
整定时首先设置积分时间为一较大值,并将前面整定得到的比例系数略微减小,然后减小积分时间,使在保持系统良好的动态性能的情况下,静差得到消除。
若使用比例积分调节器消除了静差,但动态过程反复调整仍不满意,可加入
u(k=Kpe(k+Ki*∑e(j+Kde(k-e(k-1
e(k-当前误差值。
e(k-1-上次误差。
T-采样周期。
j=1
k
微分环节,构成比例积分微分调节器,在整定时,可先置微分时间为零,在第二步整定的基础上,增大微分时间,同时相应地改变比例系数和积分时间,逐步凑试,以得到满意的调节效果和控制参数。
要实现对系统进行MATLAB仿真,首先要建立电炉数学模型。
常见的电炉模型是一阶惯性延时环节,在本次MATLAB仿真中用的就是此环节,如下示:
2.2MATLAB仿真
在计算仿真中,采用C语言实现,算法复杂,编程量大。
而MATLAB是集
K*e
-θs
τs+1
θ—延时时间,60S。
T—采样周期。
τ—惯性周期,80S。
K—放大倍数。
数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。
作为强大的科学计算平台,它几乎能满足所有的计算需要。
在科研院所、大型公司、或企业的工程计算部门,MATLAB也是最为普遍的计算工具之一。
用MATLAB实现PID参数控制器的参数整定,实现方法容易,程序简洁,可读性强加之强大的绘图功能使得整个结果更加清楚明了有助于读者的理解。
MATLAB与其它软件相比具有如下的优势和特点:
(1友好的工作平台和编程环境:
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交换更强。
操作更简单。
(2强大的科学计算及数据处理能力
MATLAB拥有600多个工程中用到的数学运算函数,可以方便地实现用户所需要的各种计算功能.
(3出色的图形处理功能
MATALB自产生之日起就具有方便的数据可视化功能,同样表现出强大的数据处理能力,同时对一些特殊的可视化要求,例如图形动画。
(4模块化的设计和系统的仿真
Simulink是MATLAB的一个分之产品,主要用来实现对工程的模型化和动态仿真。
由于Simulink提供了用方框图进行建模的接口,使得用Simulink建模就像用笔在纸上画图一样。
它与传统的软件包相比具有直观、方便、灵活的优点。
U作为输出,设计反馈回路将U(即电炉当前温度与设定温度值进行比较,然后通过PID控制器对偏差e进行控制,使电炉温度接近设定温度值。
将加PID控制器后的电炉温度值通过示波器输出,作为仿真结果,以判断控制的好坏。
对PID参数按上述凑试法进行整定,当Kp=0.9;Ki=0.001;Kd=0.1时,得到最佳控制结果,仿真结果如下图2-1所示:
整定PID的M函数如下示:
functionu=PID(e,t
persistente_1e_I
T=1;
Kp=0.6;
Ki=0.001;
Kd=0.1;
if(t==0
e_1=0;
e_I=0;
图2-1
end
e_I=e_I+e;
e_D=(e-e_1/T;
u=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硬件电路概述
硬件电路包括:
单片机(AT89C51、信号的模数转换(ADC0808、键盘电路(中断方式、显示电路(74LS47译码兼驱动、µP监控电路(MAX813、报警电路(NE555和加热电路等,由于是硬件仿真图,故后三者省略。
整体图如下3-1示:
3.2AT89C51端口定义
本系统的单片机选用的是AT89C51芯片,AT89C51芯片是一种低损耗、高性能、CMOS八位微处理器,片内有8K字节在线可重复编程快擦快写程序存储器。
图3-2为其PDIP封装的管脚排列图下面将概述其部分管脚功能:
图3-1系统图
⑴P0口(39-32:
双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用;本设计中用于传输AD数据。
⑵P1口(1-8:
准双向通用I/O口;本口用于键盘输入(P1.3—SET,P1.4—ADD,P1.5--SUB,启动555(P1.2以及改变555的频率(P1.6。
P1.7口喂狗。
P1.0,P1.1没有用到。
⑶P2口(21-28:
准双向口,既可作地址总线口输出地址高8位,也可作普通I/O用;此口用于LED显示,P2.5、P2.6、P2.7分别用于LED个、十、百位的片选;P2.0—P2.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为ADC0808提供时钟;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转换芯片,它具有较高的转换速度和精度,受温度影响较小,能较长时间保证精度,重现性好,功耗低,具有8通道模拟开关,而且具有TTL三态输出易于单片机接口,所以它是用于过程控制比较理想的器件。
因此,我们选用了ADC0808。
.
.
.
图3-2AT89C51管脚图
硬件电路设计如图3-3所示:
ADDC、ADDB、ADDA接高电平,这样只要ALE端有高
电平出
现,就会
把IN7选
中。
启动
信号
START由
P2.0结
合/WR提
供,地址
锁存信
号ALE与
START连
接,所
以,在单
片机执行写操作同时P2.0为低电平,便可启动转换。
转换结束信号EOC经过非门与单片机的IN7连接,当转换结束时,EOC上的高电平经非门取反后,便可向单片机请求中断;输出允许信号OE由P2.0结合/RD产生,在执行读操作同时P2.0为低电平时,便可读取转换后的数字量。
由此可见,启动转换和读取数字量占用同一地址,我们将这个地址设为0000H。
ADC0808的时钟频率范围为10~1280KHZ,我们的CPU使用的是12MHZ的晶振,那么CPU执行一条指令的频率为12MHZ/12=1MHZ,所以,其指令周期为10-6s,又知定时器1为AD提供CLK,其初值为0FEH,到100H须执行两条指令,所以,取反一次就是四条指令,即4×10-6s。
而ADC0808把模拟量转化为数字量需要64个时钟周期,所以ADC0808的时钟频率为250KHZ/64»1HZ(CPU1秒钟取1次数,完全满足要求。
3.4键盘模块
按照键盘与CPU与键盘的连接方式可以分为独立式和矩阵式键盘。
独立式键盘是各个按键相互独立,每个键盘占用一个I/O口,各个I/O口上的按键不会相互影响。
在使用较多键盘时,占用的I/O口过多,这样会浪费I/O口线,而且电路结构也显得复杂;矩阵式键盘有行线和列线组成,按键设置在行列结构的交叉点,行列线分别连在按键开关的两端。
列线通过上拉电阻接至正电源,以使无键按下时列线处于高电平状态。
图3-3ADC0809
硬件电路设计如图3-4所示:
单
片
机
的
P1.3,P1.4,P1.5口分别与“SET”键,“+”键,“-”键三个键相连接,键的左端均接地,右端通过上拉电阻接至5V电压,通过一个三输入的与门接至单片机的INT1。
这样在没有键按下时,三个I/O口都是
高电平,当有键按下时,不仅会使某个I/O口的输入为低电平,而且会通过与门给INT7端输入低电平,从而产生中断。
3.5显示模块
LED数码管是最常用的显示器件之一。
LED显示器是由发光二极管显示字段组成的,它有共阴极和共阳极两种连接方式。
LED显示方法有两种:
动态显示和静态显示。
动态显示是CPU对显示器件进行动态地扫描,显示器件分时工作,每次只能有一个显示。
但由于人视觉的占留现象,所以,仍觉得器件都在显示;动态显示是CPU只一次输出显示数据后,就能保持数据一直在显示,直到下一次刷新显示数据。
比较两种显示方式,前者占用机时长,一旦CPU不执行显示程序,就立刻停止显示;后者占用机时少,并且可靠性好。
通常静态显示电路使用元件多,线路复杂,但是现已出现功能比较强大的显示驱动器,使线路显得也比较简单。
本系统显示模块选用的器件如下:
显示驱动译码器是74LS47(动态显示、共阳极LED数码管显示器。
接法见右图3-5。
图3-5显示电路
图3-4键盘电路
4、软件设计
一个成熟的单片机应用系统是由软硬件结合而成的,二者相辅相成,缺一不可。
可以这样形容软件和硬件之间的关系,硬件是系统的“载体”,而软件是使“载体”产生动力的发电机。
所以硬件要在软件的配合下才能完成预先确定要实现的各种功能,本章主要阐述系统的软件设计。
4.1单片机编程语言的选择
对于单片机,特别是8位51系列单片机,有两类编程语言支持:
即低级语言和高级语言。
低级语言即指汇编语言,高级语言有C和PL/M。
汇编语言是面向硬件的低级语言,它有着面向硬件的低级语言的一般优点⑴占用内存单元少,占用CPU资源少;
⑵代码效率高,程序执行速度快;
⑶可直接对硬件进行操作;
⑷能精确掌握指令的执行时间,适合实时控制场合及对时间精度要求高的场合。
但也有它的缺点:
⑴不是结构化程序设计语言;
⑵编写较难,编写效率低,不适合开发复杂的大型项目;
⑶调试较难;
⑷由于完全面向硬件,故可移植性很差。
C语言是一种编译型程序设计语言,它有如下特点:
⑴具有完善的模块程序结构,可以进行模块化程序设计;
⑵兼顾了多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 监控 系统 设计 软件设计