资源描述
温度监控系统的设计系统的软件设计指导教师: * 教师摘要随着科技的开展,相较于很多年以前人们对于自己生活的需求也发生了戏剧 性的改变。而监控系统恰恰迎合了人们的这一需要。 在众多先进测量控制技术中, 由于单片微处理器的性能日益提高、 价格又不断降低, 使其性能价格比的优势非 常明显并且我们知道利用MATLAB可以方便地进展仿真整定PID参数。本文介绍 一个以单片机为核心的温度监控系统,主要包括控制算法的仿真分析用MATLAB丨和软件编程用C51,它是利用传感器采集温度信号,温度信号经放 大电路放大、 AD 转换后送到单片机中,并将温度值显示在数码管上,单片机 把它同由键盘实现的给定温度进展比拟,再由单片机根据控制策略给出控制量, 然后将控制量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。本人主要负责系统的软件设计, 在软件设计过程中, 我们尽可能使其功能化、 模块化、尽量采用子程序调用的方法。【关键字】单片机;温度监控系统;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 their own life. Supervision and monitoring systemmeet the requirementsof them.In these numerous advanced measurementand control technology, becauseof the enhanced performance and reduced priceof MCU, making the advantage that its ratio ofperformance to price been obvious and as we know MATLAB is easy to simulate the setting of PID parameter.This text, whichprised bythe simulation and analysisof control algorithms (using MATLAB) and the program of software (using C51),introducesa temperature monitor whose core is a MCU. It gathers the temperature signal and amplifies it by an amplifier circuit microputer. Simultaneity sends it into the MCU after A/D conversion. Then show it on in the LED. The single chip pares 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 to drive circuitin 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; temperature monitor system; The control algorithm of PID;MATLAB ; software designC51 .目录引言 31 系统概述 41.1 系统功能描述 41.2 系统的框图 42 、 PID 控制与 MATLAB 仿真 52.1 PID 控制 52.1.1 PID 控制的优点 52.1.2 数字 PID 52.1.3 凑试法确定 PID 参数 62.1.4 电炉传递函数 72.1.5 PID控制框图 72.2 MATLAB 仿真 72.2.1 Simulink模型的建立82.2.2 PID 的 MATLAB 编程实现 103 、硬件概述 113.1 硬件电路概述 113.2 AT89C51 端口定义 123.3 模数转换模块 133.4键盘模块 153.5显示模块 154、软件设计 164.1 单片机编程语言的选择 174.1.1 汇编语言 174.1.2 C 语言 174.2 软件总体构造图 18 4.2.1系统初始化 18 4.2.2主程序模块软件设计 194.3 A/D 模块软件设计194.4 键盘模块软件设计204.5 报警模块软件设计224.6 采样、 PID 校正及PWM输出模块软件设计224.7 显示模块软件设计245、系统调试与总结245.1 系统调试 245.2 程序 265.3 总结 285.4 英文及翻译 28参考文献 29鸣谢 30引言随着电子技术和微电子技术的开展 ,微型计算机开展也越来越快。单片机作 为计算机的一个独特分支, 打破了微型计算机按逻辑功能划分芯片构造的传统概 念,以其体积小、功能强、性价比高等优点被广泛应用于诸多领域。单片机在一 块芯片上集成 CPU, ROM, RAM、I/0 接口,定时器 / 计数器和中断系统等功能部 件,构成一个完整的微型计算机。由于单片机体积小、重量轻、噪声低、可靠性 高,具有很强的灵活性,而且价格廉价,抗干扰能力强,开发效率高,易于产品 化, 它的应用已深入到工业、农业、国防、科研以及日常生活用品家电、玩 具等各种领域;温度是工业生产和科学实验中的重要参数之一 ,它已广泛应用 于化工、冶金、医药、航空等领域里,对温度的控制效果直接影响到许多产品的 质量及使用寿命, 因此温度控制成为各个领域中的一项关键技术; 本系统研究的即是一个以单片机为核心的温度监控系统,包括控制算法的仿真分析用 MATLAB丨和软件编程用C51,利用Keil和Protues软件进展联合仿真,并最 终到达对温度信号进展监测和控制的目的。1系统概述1.1系统功能描述本系统即是一个以单片机为核心的温度监控系统,利用传感器采集温度信号 温度信号经放大电路放大、A/D转换后送到单片机中,并将其显示在数码管上, 单片机把它同由键盘实现的给定温度进展比拟,再由单片机根据控制策略给出 PWM输出量,然后将输出量送驱动电路驱动加热装置和报警装置,从而构成了 实时闭环系统。1.2系统的框图本系统框图如图1-1所示:离电阻丝滤A波/放D大转隔PWM输出键 盘 输 入wordzl.图1-1系统框图2 、 PID 控制与 MATLAB 仿真2.1 PID 控制2.1.1 PID 控制的优点PID 控制是历史最悠久、生命力最强的一种控制方法。上世纪40 年代前,除了在最极端的情况下可使用开关控制以外, 他是唯一的控制方式。 随着科技的 不断进步尤其是计算机技术的迅速开展,又涌现出很多新的控制方法。然而,PID 控制却没有因此而略显逊色。迄今为止,它仍是应用最广泛的根本控制方式。PID 控制是比例微分和积分控制的简称,它具有如下的几个优点:(1)原理简单,使用方便;(2)适应性强,可广泛应用于热工,造纸等各种生产部门;(3)鲁棒性强也即其控制品质对被控对象特性参数的变化不敏感 。2.1.2 数字 PID用计算机进展PID控制时,因计算机仅能处理离散信号,故而必须把PID控制算法变换成计算机能实现的形式,即数字 PID :u(k)=Kpe(k)+Ki*k步)+Kde(k)-e(k-1) e(k)当前误差值。e(k-1)上次误差T 采样周期。2.1.3凑试法确定PID参数增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差。但 过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。增大积分时间有利于减小超调,减小振荡,使系统更加稳定,但静差的消除 将随之减慢。增大微分时间有利于加快系统响应,使超调量减小,稳定性增强,但系统对 扰动的抑制能力减弱,对扰动有较敏感的响应。在凑试时,可以参考以上参数对过程的影响趋势,对参数进展先比例、后微 分,再积分的整定步骤。首先,只整定比例局部。即将比例系数由小到大,并观察相应的系统响应, 直到得到响应快、超调小的响应曲线。如果在比例调节的根底上系统的静差不能满足设计要求,那么需要参加积分环节。整定时首先设置积分时间为一较大值, 并将前面整定得到的比例系数略微 减小,然后减小积分时间,使在保持系统良好的动态性能的情况下, 静差得到消 除。假设使用比例积分调节器消除了静差,但动态过程反复调整仍不满意,可参 加微分环节,构成比例积分微分调节器,在整定时,可先置微分时间为零,在第 二步整定的根底上,增大微分时间,同时相应地改变比例系数和积分时间, 逐步 凑试,以得到满意的调节效果和控制参数。2.1.4电炉传递函数要实现对系统进展MATLAB仿真,首先要建立电炉数学模型。常见的电炉G(s)=K*e- ess+1模型是一阶惯性延时环节,在本次 MATLAB仿真中用的就是此环节,如下示:e 延时时间,6os T 米样周期。惯性周期,80S K 放大倍数。2.1.5PID控制框图2.2 MATLAB 仿真在计算仿真中,采用C语言实现,算法复杂,编程量大。而 MATLAB是集 数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的 科学计算平台,它几乎能满足所有的计算需要。在科研院所、大型公司、或企业 的工程计算部门,MATLAB也是最为普遍的计算工具之一。用MATLAB实现PID 参数控制器的参数整定,实现方法容易,程序简洁,可读性强加之强大的绘图功能使得整个结果更加清楚明了有助于读者的理解。MATLAB与其它软件相比具有如下的优势和特点:1友好的工作平台和编程环境:随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近 Windows的标准界面,人机交换更强。操作更简单。2强大的科学计算及数据处理能力MATLAB拥有600多个工程中用到的数学运算函数,可以方便地实现用户所 需要的各种计算功能.3出色的图形处理功能MATALB自产生之日起就具有方便的数据可视化功能,同样表现出强大的 数据处理能力,同时对一些特殊的可视化要求,例如图形动画。4模块化的设计和系统的仿真Simulink是MATLAB的一个分之产品,主要用来实现对工程的模型化和动态仿 真。由于Simulink提供了用方框图进展建模的接口,使得用 Simulink建模 就像 用笔在纸上画图一样。它与传统的软件包相比具有直观、方便、灵活的优点。2.2.1Simuli nk模型的建立+2HPID(e,t)K*e- es G(s)=s+1UU作为输出,设计反响回路将U即电炉当前温度与设定温度值进展比拟, 然后通过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=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示:Ji35时整出P恥”iIL ITPM】ZJ!Z3sWIEFent7CUT*AODCOW1JONcvwoweGUTHFibuur?酣IEh?KMEmKDejectszN ETH 灯口 Cf7 L:IL Uaw2i i r|TFQDADCKTM.I .m触iFIESMZ皿倔7xwuma*阳PEUEFffiWfzikPZWF2JSMErziiF2Xt2_E叨从FanrID灿ElFl.lF3ZHTUIFIJE|g 1Fl 4|F(PllTFf|iP11 ffR-ll巴11211U rI-SETLL轄HIGHT 二=命LOW辱c型看J翘复怔H3图3-1系统图3.2AT89C51 端口定义本系统的单片机选用的是AT89C51芯片,AT89C51芯片是一种低损耗、高性 能、CMOS八位微处理器,片内有8K字节在线可重复编程快擦快写程序存储器。 图3-2为其PDIP封装的管脚排列图 下面将概述其局部管脚功能: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:复位信号输入端,高电平有效;看门狗复 位。1514P10P0GP11P01P12P02P13P03P14P04P15P05P16P06P17P07INT1P20INT0P21P22T1P23T0P24P25EA/VPP26P27X1X2RESETRXDTXDRDALE/PWRpseNAT89C5131919181 234567825262728107T3029393837363534333221222324图 3-2 AT89C51 管脚图EA/Vpp :内部和外部程序存储器选择线3.3模数转换模块输入电路通过温度传感器采集温度信号,经滤波、隔离、放大处理后,得到 是一个模拟电压信号。这一模拟信号通过A/D转换器把它转化为数字信号,进而让CPU对其进展处理和控制。我们选用了以下器件:模数转换器ADC0808、 或非门2个74LS02、非门1个。ADC0809是逐次逼近型的A/D转换芯片,它具有较高的转换速度和精度,受温度影响较小,能较长时间保证精度,重现性好,功耗低,具有8通道模拟开关,而且具有TTL三态输出易于单片机接口,所以它是用于过程控制比拟理想 的器件。因此,我们选用了 ADC0808。硬件电路 设计如 图3-3所 示 :ADDC、ADDB、ADDAU622Z3r21FXADDC DDB ADOA伞I isJL 12226ALEIND4PCCEOSSTTAfiT CLOCKSVREF0oEEREJTSmglrrzm cooom- 00-0ITDCUon1502915190521K21DT图 3-3 ADC0809FQ 口数抵总銭P3 T读信导接高电平,这样只要ALE端有高电平出现,就会把IN7选中。启动信号START 由P2.0结合/WR提供,地址锁存信号ALE与START连接,所以,在单片机执 行写操作同时P2.0为低电平,便可启动转换。转换完毕信号 EOC经过非门与单 片机的IN7连接,当转换完毕时,EOC上的高电平经非门取反后,便可向单片 机请求中断;输出允许信号 0E由P2.0结合/RD产生,在执行读操作同时P2.0 为低电平时,便可读取转换后的数字量。由此可见,启动转换和读取数字量占用 同一地址,我们将这个地址设为 0000H。ADC0808的时钟频率X围为101280KHZ,我们的CPU使用的是12MHZ 的晶振,那么CPU执行一条指令的频率为12MHZ/12=1MHZ,所以,其指令周 期为106s,又知定时器1为AD提供CLK,其初值为0FEH,到100H须执行两 条指令,所以,取反一次就是四条指令,即 4X 106so而ADC0808把模拟量转化 为数字量需要64个时钟周期,所以 ADC0808的时钟频率为250KHZ/6 4?1HZCPU1秒钟取1次数,完全满足要求3.4键盘模块按照键盘与CPU与键盘的连接方式可以分为独立式和矩阵式键盘。独立式键盘是各个按键相互独立,每个键盘占用一个I/O 口,各个I/O 口上的按键不会相互影响。在使用较多键盘时,占用的 I/O 口过多,这样会浪费I/O 口线, 而且电路构造也显得复杂;矩阵式键盘有行线和列线组成,按键设置在行列构造 的穿插点,行列线分别连在按键开关的两端。 列线通过上拉电阻接至正电源,以 使无键按下时列线处于高电平状态。硬件电路设计如图3-4所示:单片机的P1.3,P1.4,P1.口 分别与“SET 键,“ + 键,“-键三个键相连接,键的左端均接地,P1.5SETo oHIGHTLOW12rZFZLEO_74Lyi7 VSofif arcMF. cP| Til* ldiT liv &町 wt Hthnc 71 Ml Tarloali 5VTS WindM Nlp盒 |r(u tti-!Projbct UlfrkpQcaTftrgfrt 1二!dI斟 STkETUlT.ASl4 J ZTF.c1 BEffilF.HfrxnclutJe deine T 2丄jf已色亡丄血电 电 1八皿 酸敎是乂杵KI 0.003凱伍时K1 丁unsi11曰 int x d.Ti ta *ADC;static urLSiyiied char data ADCdet-azstatic ch.it data TC_Count-Tj / * - - - -J127*0 . OOi70?-9S-LS- - -*/tacic chai dot-i PlTH_c&unt;ctacic float data c_I*Qjc_l-Dj:umiqncd chai dacai Set_data-L00 f MQX_deta-120 f Mxn ds-ta-8 C jstblt V Dog=TlA7;sr*iE :r_u血ig=:t丄我ts; 透捶 匕!:匕,坝:*聃/sbi匸 5_55?=12*/-555*/stole Stto_K&yPlA5;sMc Ai3dey=P14;pbit, SetJCrysPl* 3;sbit PFM20ut=P3JLD;sb it Ar_CLK-P3A5;void dioplay_2 (jnoian.Qd chax)void display(wuLqed uhar)void 共t();void delay i; J;cnatz ru (chaz);八 OtfcH3 醍 A/Ti、ii1 nf iBu I Ld 七arg-et Target :.asserribli STATTJP . A5 1cumpi 1 Jitig ZYF c Linking.Program Sizo : data-26 * 0 zdata=Q coder-1787,!ZYf+pp - 0 Error (a), U Warning (a),Rniil Conrrand-Rnd In Fllt- / | 图5-1 Keil软件仿真5.2程序C4R *llHE S*T? Gr a#nQMU CWTlJUtMDC7D I *防meLI U U乩dpiwh厂X-r Uf、ns厂-J5CI*H !=ma Ptl 暫仃狗 JJiELrJ*31L r|!i1HFibT-tii*!0 *|1risi-.目跆仔:MGHTuov44tineACCQ94QEir ts肝T!iiiadiL FA图5-2 Proteus仿真图图5-3 PWM控制量输出5.3总结历时几个月的毕业设计,在指导教师 * 教师的精心指导下顺利地完成了, 并获得了成功。 完成了这次毕业设计后, 我对系统开发的认识提高到了一个新的 高度,不仅学到了许多关于系统开发的理论知识, 而且学到了许多书本上没有的 实际经历。一个完整的系统开发需要一个全新的思维模式,从系统的功能到为实现系 统功能的程序流程图, 从原理图到印制板的制作, 每个局部的设计都需要深思熟 虑。在设计的过程中,从查阅资料、系统的硬件设计、软件设计、系统的调试, 在每一步中我都碰到了许多以往在书本上没有的知识。 在硬件设计中, 我们遇到 了不少问题,首先元元器件的选择以及能否在 Protues 中找到所选芯片的模型和 模型是否可用,然后是整个系统应如何连接才能实现预定功能;在软件设计中, 我们对编程思想和编程语言不甚了解阻碍我们前进的步伐; 但所有的问题在我组 成员共同努力和教师的帮助下迎刃而解了。回忆过去的几个月, 我们克制许多困难和挫折, 整个小组 3位同学在 *教师 的带着下齐心协力、 克制种种困难, 这其中的苦与乐将成为大学四年中最美好的 回忆。5.4英文及翻译参考文献1 康华光陈大钦 电子技术根底模拟局部 第四版高等教育 ,1998.2 阎石 数字电子技术根底第四版 高等教育, 1997.3 薛定宇 反响控制系统分析与设计 MATLAB 语言应用 清华大学, 2000 年 4 月。.4 自动控制原理 胡寿松 国防工业 ,2002.5 吴秀清 周荷琴 微机原理与接口技术 中国科技大学 ,2004.6 X 涵芳 X 爱卿 MCS-51/96 系列单片机原理及应用修订版 航空航天大 学,2005.7 潭浩强 C程序设计第二版清华大学,2003.8 潘新民 王燕芳 微型计算机控制技术 高度教育, 2000.9 夏路易 石宗仪 电路原理图与电路板设计教程 Protel 99SE 希望电子 ,2002.10 X风强 兰婵蓝 单片机C51应用实战集锦电子工业,2003.11 ATMEL 8-bit Micro controller with Flash application note, 199812 ATMEL Corporation. Nonvolatile Memory Date Book, May 1996鸣谢在此论文完成之际,我谨向指导教师 * 教师表示衷心的感谢。感谢*教师,在毕业设计阶段从生活、学习各方面给予的无微不至的关心和 帮助,本人不仅得到 *教师精辟的指点, 还受益于 *教师严谨的治学态度和高屋建 瓴的思维方式; *教师以他广博的学识、严谨的治学态度、对生活的谦和朴实教 育了我、感染了我,使我不仅学到了单片机开发知识,更学到了为人之道。在以 后的生活和学习中,我将以 *教师为典范严格要求自己。我要感谢各位教师,在实验室期间,他们给予了我很多帮助。最后,我要感谢系给我们提供的良好的设计环境和硬件设备。
展开阅读全文