模糊PID温度控制系统设计_第1页
模糊PID温度控制系统设计_第2页
模糊PID温度控制系统设计_第3页
模糊PID温度控制系统设计_第4页
模糊PID温度控制系统设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 渤海大学毕业论文(设计)题 目: 模糊pid温度控制系统设计 院 系: 工学院 专 业: 自动化 姓 名: xxx 指导教师: xxx 完成日期: 2011年 月 日 模糊pid温度控制系统设计摘要:模糊pid的温度控制系统具有真正的智能化和灵活性,越来越多的温度控制系统都基于模糊pid算法而设计。当控制对象很复杂的情况下,常规pid温度控制器已经不再适用了,为了提高对复杂系统的控制性能,要使用模糊pid温度控制器。本文设计了一种基于模糊pid的温度控制系统,以at89c51单片机为核心,首先介绍了模糊pid控制理论基础、系统的硬件设计以及硬件选择,其次从硬件和软件两方面介绍了mcs-51单

2、片机温度控制系统的设计思路,简单说明如何实现对温度的控制,并对硬件原理图和程序框图作了简洁的描述。关键词:模糊pid;单片机;温度传感器;温度控制fuzzy pid temperature control system designingabstract:fuzzy pid temperature control system with real intelligence and flexibility, more and more temperature control systems are designed based on fuzzy pid algorithm.when the co

3、ntrol object is a complex situation, conventional pid temperature controller is no longer applied, in order to improve the control performance of complex systems, to use the fuzzy pid temperature controller.this design presents a fuzzy-based pid temperature control system to at89c51 scm,made the fol

4、lowing main, first introduce the theory of fuzzy pid control, for the hardware design and hardware selection, second single-chips temperature control system is introduced from hardware and software, and simply explains how to actualize the temperature control. keywords: fuzzy pid; singlechip microco

5、mputer; temperature sensor;temperature controlling目 录一、引言 1(一) 课题的提出和意义 4(二) 概述 4(三) pid控制器的发展 6二、模糊pid控制 7(一) 模糊 pid控制发展及优点 7(二) 模糊控制理论 9(三) 模糊pid控制算法 11三、模糊pid温度控制系统的设计 14(一) 系统硬件电路模型的建立 14(二) 系统设计原则及系统总电路图 15(三) 单片机和温度传感器的选择 16(四) 系统软件设计 25四、系统调试 28(一) 常见的硬件故障 28(二) 联机调试和脱机调试 29(三) 软件调试方法 31(四) 误

6、差分析 32五、结论 33六、参考文献 34一、引言(一)课题的提出和意义随着社会的发展,温度的测量及控制变得越来越重要。无论你生活在任何地方,从事什么工作,无时无刻不在与温度打着交道。在工业高速发展中为了高效的进行生产,其中温度的测量及控制扮演者重要的角色。准确测量和有效控制温度是优质,高产,低耗和安全生产的重要条件。在钢铁、冶金、水泥、玻璃、医药等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度的测量和控制不但对于工业非常重要,在农业生产中温度的测量与控制也有着十分重要的意义。 (二)概述温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理、化学过程都

7、紧密的与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。温度控制,在工业自动化控制中占有非常重要的地位。单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度。现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处

8、理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。但随之而来的是巨额的成本。在很多的小型系统中,处理机的成本占系统成本的比例高达20%,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量复杂运算的系统中是非常适合的。 温度控制,在工业自动化控制中占有非常重要的地位,如在钢铁冶炼过程中要对出炉的钢铁进行热处理,才能达到性能指标,塑料的定型过程中也要保持一定的温度。随着科学技术的迅猛发展,各个领域对自动控制系统控制精度、响应速度、系统稳定性与自适应

9、能力的要求越来越高,被控对象或过程的非线性、时变性、多参数点的强烈耦合、较大的随机扰动、各种不确定性以及现场测试手段不完善等,使难以按数学方法建立被控对象的精确模型的情况。随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。伴随着科学技术的发展,电子技术有了更高的飞跃,我们必须要好好地利用温度的测量和控制。今天,我们的生活环境和工作环境有越来越多称之为单片机的小电脑在为我们服务。单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。时下,家用电器和办公设备的智能化、遥控化、实现模糊控制化己成为世界

10、潮流,而这些高性能无一不是靠单片机来实现的。(三) pid控制器的发展 目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。控制器的输出经过输出接口、执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。不同的控制系统,其传感器、变送器、执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。

11、目前,pid控制及其控制器或智能pid控制器已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的pid控制器产品,各大公司均开发了具有pid参数自整定功能的智能调节器,其中pid控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。有利用pid控制实现的压力、温度、流量、液位控制器,能实现pid控制功能的可编程控制器,还有可实现pid控制的pc系统等等。二、 模糊pid控制(一) 模糊 pid控制发展及优点pid控制策略是最早发展起来的控制策略之一,现金使用的pid控制器产生并发展于1915-1940年期间尽管自1940年以来,许多先进的控制方法不断的推出,但由于pid控制具有

12、结构简单、鲁棒性好、可靠性高、参数易于整定,p、i、d控制规律各自成独立环节,可根据工业过程进行组合,而且其应用时期较长,控制工程师们已经积累大量的pid控制器参数的调节经验。因此,pid控制器在工业控制中仍然得到广泛的应用,许多工业控制器仍然采用pid控制器。pid控制器的发展经历了液动式、气动式、电动式几个阶段,目前正由模拟控制器向着数字化、智能化控制器的方向发展2。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称pid控制,又称pid调节。pid控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构

13、和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用pid控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用pid控制技术。pid控制,实际中也有pi和pd控制。pid控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 1.比例(p)控制 比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。 2.积分(i)控制 在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动

14、控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统 。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(pi)控制器,可以使系统在进入稳态后无稳态误差。 3.微分(d)控制 在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会 出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用

15、,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(pd)控制器能改善系统在调节过程中的动态特性。(二)模糊控制理论 模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控

16、对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用 4。由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。 模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。模糊控制系统的鲁棒性强,干扰和参数变化对控制效果的影

17、响被大大减弱,尤其适合于非线性、时变及纯滞后系统的控制。常规的 pid控制系统原理框图如下图所示,系统由 pid 控制器和被控对象组成。 +=比例积分微分被控对象 r(t) e(t) p c(t) pid控制系统原理框图 pid 控制器是一种线性控制器,它根据给定值r(t) 与实际输出值c(t) 构成控制偏差: e(t)=r(t)-c(t) (2-1)将偏差的比例(p) 、积分(i)和微分(d)通过线性组合构成控制量,对被控对象进控制,故称 pid 控制器。pid 控制器各校正环节的作用如下: 1. 比例环节即时成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减

18、少偏差;比例调节的方程为: y = kp * e(t) (2-2)其中,y 为比例调节器的输出量, kp为比例系数, e(t)为调节器的输入或偏差值。而e(t)可表示成: e(t)=vo v(t) (2-3)这里 vo为设定的目标值, v(t)为 t时刻的采样值。比例调节器的输出变化与输入偏差成比例。比例调节作用的大小除了与偏差 e(t)有关外,主要取决于比例系数kp的大小。kp越大,比例调节作用越强,反之则越弱。但对于大多数系统来说,kp太大时,会引起系统自激振荡。比例调节的优点是调节及时,只要偏差e(t)一出现,就能及时产生与之成比例的调节作用。缺点是存在振荡,而且如果单纯采用比例调节,那

19、么系统一定会存在静差。这是因为比例调节的输出正比于偏差值,若偏差为零,则输出也为零,此时系统不可能达到平衡。比例系数越小,过渡过程越平稳,但静差越大。比例系数越大,则过渡过程曲线振荡越厉害,当比例系数过大时,甚至可能出现发散振荡的情况。因此,对于扰动较大,惯性也较大的系统,若采用单纯的比例调节,就难以兼顾动态和静态的特性。2. 积分环节主要用于消除静差,提高系统的无差度。;3. 微分环节能够反映偏差信号的变化趋势(变化速率),并且能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间7。(三)模糊pid控制算法由于计算机控制是一种采样控制系统,它只

20、能根据采样时刻的偏差值计算控制量。因此,式2-3中的积分和微分项不能直接使用,需要进行离散化处理现令t为采样周期,以一系列的采样时刻点kt代表连续时间t,以累加求和近似代替积分以一阶后向差分近似代替微分做如下的近似变换1: (2-4) (2-5) (2-6)其中,t为采样周期,e(k)为系统第k次采样时刻的偏差值,e(k-l)为系统第(k-l)次采样时刻的偏差值,k为采样序号,k=0,1,2,。将上面的式2-4和式2-5代入式2-6则可以得到离散的pid表达式: (2-7)如果采样周期了足够小,该算式可以很好的逼近模拟pid算式,因而使被控过程与连续控制过程十分接近。通常把式2-7称为pid的

21、位置式控制算法。若在式2-7中,令: (称为积分系数) (称为微分系数) 则 (2-8)(2-8)式即为离散化的位置式pid控制算法的编程表达式。可以看出,每次输出与过去的所有状态都有关,要想计算u(k),不仅涉及e(k)和e(k-l),且须将历次e(j)相加,计算复杂,浪费内存。下面,推导计算较为简单的递推算式。为此,对(2-8)式作如下的变动:考虑到第(k-1)次采样时有: (2-9)使(2-8)两边对应减去(2-9)式得 整理后得 (2-10)其中:; 式(2-10)就是pid位置式的递推形式如果令,则: (2-11)式中、同式(2-10)中一样。因为在计算机控制中式中、都可以事先求出,

22、所以,实际控制时只须获得 、三个有限的偏差值就可以求出控制增量。由于其控制输出对应执行机构的位置的增量,故(2-11)式通常被称为pid控制的增量式算式3。增量式pid控制算法与位置式控制算法比较,有如下的一些优点:(1)位置式算法每次输出与整个过去状态有关,算式中要用到过去偏差的累加值,容易产生较大的累计误差。而增量式中只须计算增量,控制增量的确定仅与最近几次偏差采样值有关,当存在计算误差或者精度不足时,对控制量的影响较小,且较容易通过加权处理获得比较好的控制效果;(2)由于计算机只输出控制增量,所以误动作影响小,而且必要时可以用逻辑判断的方法去掉,对系统安全运行有利;(3)手动与自动切换时

23、冲击比较小。三、 模糊pid温度控制系统的设计(一)系统硬件电路模型的建立模糊pid温度控制系统主要包括单片机控制模块,温度采集模块,温度显示模块,温度上下限调整模块,电机驱动模块和外部存储模块等六大部分。系统总体框图如图3-1所示3。温度采集模块温度设定模块单片机控制模块外部存储模块温度超限报警模块电机驱动模块温度显示模块 图3-1 系统总体框图(1)单片机控制模块:它是系统的核心模块,用来控制其他各个模块的工作情况。(2)温度采集模块:该模块用来采集控制对象的温度,并输入到单片机中。(3)温度设定模块:用来设定所需求的温度。(4)温度超限报警模块:当温度高于上限或者低于下限时,该模块启动,

24、以实现更好的人机交流。(5)电机驱动模块:该模块分为两个部分;加热装置与散热装置。(6)外部存储模块:用来存储设定温度的上限值和下限值。(7)温度显示模块:显示当前设定的温度值。(二)系统设计目标、原理及系统总电路图1. 系统设计目标 用单片机对温度进行实时检测和控制,以解决工业及日常生活中对温度的及时自动控制问题;用十进制数码显示实际温度值,方便人工监视;用键盘输入温度控制范围值,便于在不同应用场所设置不同温度范围值。当实际温度值不在该范围时,系统能自动调节温度, 以保持设定的温度基本不变,达到自动控制的目的。系统的温度最小区分度为1。在环境温度变化时,温度控制的静态误差小于等于0.5。92

25、.系统设计原理本设计采用at89c51单片机应用系统来实现设计要求,因at89c51在片内含4kb的eeprom,不需外扩展存储器,可使系统整体结构简单。利用at89c51串行口输出工作方式,使at89c51的利用率大大提高,外部电路得以简化。at89c51可直接对键盘进行扫描读数,可直接用串/并转换模块驱动led显示温度值。因其利用率高,负载重,后相电路只需加一块同相驱动器即可正常工作。在串行传输数据时,频率可达到1mhz,对温度的显示完全达到测控精度要求。3.系统总电路图系统总设计图如图3-2所示 图3-2 系统总设计图(三)单片机和温度传感器的选择 1.单片机的选择本文选用at89c51

26、单片机,at89c51是一种带4k字节闪存可编程可擦除只读存储器(fperomflash programmable and erasable read only memory)的低电压、高性能cmos 8位微处理器,俗称单片机10。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 主要特性:与mcs-51 兼容4k字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0hz-24mhz三级程序存储器锁定1288位内部ram 32可编程i/o线两个16位定时器/计数5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 图3-3 at89

27、c51单片机示意图管脚说明:vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地

28、址接收。p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”

29、后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时当8051通电,时钟电路开始工作,在reset引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器pc指向0000h,p0-p3输出口全部为高电平,堆栈指钟写入07h,其它专用寄存器被清“0”。reset由高电平下降为低电平后,系统即从0000h地址开始执行程序。然而,初始复位不改变ram(包括工作寄存器r0-r7)的状态5。 ale/prog:当访问外部存储器时,地址锁存允许的输出

30、电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。

31、ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。振荡器特性:xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉

32、宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.温度传感器的选择本文选用ds18b20传感器,ds18b20是美国da

33、llas半导体公司继ds1820之后最新推出的一种数字化单总线器件,属于新一代适配微处理器的改进型智能温度传感器。使用ds1sb20可使系统结构更趋简单,可靠性更高。同时其“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。其测量温度范围为-55+125,在-1085范围内,精度为土0.5。现场温度直接以“一线总线”的数字方式传输,用符号扩展的16位数字量方式串行输出,大大提高了系统的抗干扰性。因此,数字化单总线器件ds18b20适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。它在测温精度、转换时间、传输距离、分辨率

34、等方面较ds18b20都有了很大的改进,给用户带来了更方便和更令人满意的效果。可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中3。ds18b20的测温原理:温度传感器的历史及简介温度的测量是从金属(物质)的热胀冷缩开始。水银温度计至今仍是各种温度测量的计量标准。可是它的缺点是只能近距离观测,而且水银有毒,玻璃管易碎。代替水银的有酒精温度计和金属簧片温度计,它们虽然没有毒性,但测量精度很低,只能作为一个概略指示。不过在居民住宅中使用已可满足要求。在工业生产和实验研究中为了配合远传仪表指示,出现了许多不同的温度检测方法,常用的有电阻式、热电偶式、pn结型、辐射型、光纤式及

35、石英谐振型等。它们都是基于温度变化引起其物理参数(如电阻值,热电势等)的变化的原理。随着大规模集成电路工艺的提高,出现了多种集成的数字化温度传感器。每一片dsl8b20在其rom中都存有其唯一的48位序列号,在出厂前已写入片内rom 中。主机在进入操作程序前必须用读rom(33h)命令将该dsl8b20的序列号读出。程序可以先跳过rom,启动所有dsl8b20进行温度变换,之后通过匹配rom,再逐一地读回每个dsl8b20的温度数据。ds18b20的测温原理如图3-4所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频

36、率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加

37、,此时温度寄存器中的数值即为所测温度。低温度系数振荡器预置斜率累加器计数比较器减法计数器1减到0预置温度寄存器高温度系数振荡器减法计数器2减到0增加1 图3-4 ds18b20的内部测温电路原理图图3-4中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振的振荡频率随温度变化而明显改变,所产生的信号作为减法计数器2的脉冲输入。图中还隐含着计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1和温度寄存器

38、中,减法计数器和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是ds18b20的测温原理6。ds18b20的测温流程:初始化ds18b20跳过rom匹配温度变

39、换延时1s跳过rom匹配读暂存器转换成显示码数码管显示图3-5 ds18b20的测温流程ds18b20使用中注意事项ds18b20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: 1) 较小的硬件开销需要相对复杂的软件进行补偿,由于ds18b20与微处理器间采用串行数据传送,因此,在对ds18b20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用pl/m、c等高级语言进行系统程序设计时,对ds18b20操作部分最好采用汇编语言实现。 2) 在ds18b20的有关资料中均未提及单总线上所挂ds18b20数量问题,容易使人

40、误认为可以挂任意多个ds18b20,在实际应用中并非如此。当单总线上所挂ds18b20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 3) 连接ds18b20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用ds18b20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 4) 在ds18b20测温程

41、序设计中,向ds18b20发出温度转换命令后,程序要等待ds18b20的返回信号,一旦某个ds18b20接触不好或断线,当程序读该ds18b20时,将没有返回信号,程序进入死循环。这一点在进行ds1820硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接vcc和地线,屏蔽层在源端单点接地。(四)系统软件设计1.系统软件设计整体思路:一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路

42、才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与s51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速

43、度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。同时,本系统对位处理要求很高,需要解决大量的逻辑控制问题。mcs51指令系统的指令长度较短,它在存储空间和执行时间方面具有较高的效率,编成的程序占用内存单元少,执行也非常的快捷,与本系统的应用要求很适合。而且mcs51指令系统有丰富的位操作(或称位处理)指令,可以形成一个相当完整的位操作指令子集,这是mcs51指令系统主要的优点之一。对于要求反应灵敏与控制及时的工控、检测等实时控制系统以及要求体

44、积小、系统小的许多“电脑化”产品,可以充分体现出汇编语言简明、整齐、执行时间短和易于使用的特点8。2. 软件主程序模块主程序模块要做的主要工作是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对单片机的初始化和串口初始化等。然后等待温度设定,若温度已经设定好了,判断系统运行键是否按下,若系统运行,则依次调用各个相关模块,循环控制直到系统停止运行11。主程序模块的程序流程图如图3-6所示。开始系统初始化等待温度设定否读温度设定值等待运行/停止键按否数据采集温度显示控制输出pid运算运/停止按否 n y n y y n 图3-6 主程序流程图四、系统调试(一)常见的硬件故障1.逻辑错误 它

45、是由设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路、相位错等。2.元器件失效 有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、二极管的极性错误、集成电路安装方向错误等。3.可靠性差 引起可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;内部和外部干扰、电源纹波系数大、器件负荷过大等造成逻辑电平不稳定;走线和布局不合理也会引起系统可靠性差。4.电源故障 若样机有电源故障,则加电后很容易造成器件损坏。电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。(二)联机调试和脱机调试1.

46、联机调试通过脱机调试可排除一些明显的硬件故障,但有些故障还必须通过联机调试才能发现和排除。联机前先断电,将单片机开发系统的仿真头插到样机的8031插件上,检查开发机和样机之间的电源、接地是否良好。一切正常后,即可打开电源。通电后执行开发机的读写指令,对样机的存储器、i/o端口进行读写操作、逻辑检查,若有故障,可用示波器观察有关波形(如选中的译码器输出波形、读写控制信号、地址数据波形以及有关的控制电平)。通过对波形的观察分析,寻找故障原因并进一步排除故障。可能的故障有:路线连接上有逻辑错误、有断路或短路现象、集成电路失效等。在样机主机部分调试好后,可以插上系统的其他外围部件,例如键盘、显示器、输

47、出驱动板、a/d及d/a板等,再对这部分进行初步调试。在调试过程中若发现用户系统工作不稳定,可能有下列情况:电源系统供电不足,或联机时公共地线接触不良,或用户系统主板负载过大,或用户的各级电源滤波不完善等。对这些问题一定要查出原因并加以排除。(1)采集电路调试(2)数码显示调试调试中发现发光二极管的亮度一直很微弱,用万用表测量可知,其输入电压只有1.99v,勉强能够发光,而89c51输出的电压依然为5v左右,分析知89c51在串行口工作方式下,负载很重,发光二极管分得的电流较小,使其不能正常发光。在此加入一块同相放大器来驱动它们工作。2.脱机调试在样机加电以前,先用万用表等工具根据硬件电气原理

48、和装配图仔细检查样机线路的正确性,并核对元器件的型号、规格和安装是否符合要求,特别应注意电源的走线,防止电源线之间短路和极性错误,并检查扩展系统总线是否存在相互短路或与其他信号线的短路。对于样机所用电源,事先必须单独调试。调试好后,检查其电压值、负载能力、极性等均符合要求,才能加到系统的各个部件上。在不插芯片的情况下,加电检查各插件上引脚的电位,仔细测量各点电位是否正常,尤其应注意8031插座上各电位是否正常,若有高压,联机时将损坏仿真器。在脱机调试中,发现系统无法复位,经检查知电路中没有接入复位电路,经接入上电复位方式的复位电路后,系统运行正常。(三)软件调试方法软件调试与所选用的软件结构和程序设计技术有关。如果采用模块程序设计技术,则逐个模块分别调试。调试各子程序时一定要符合现场环境,即入口条件和出口条件。调试手段可采用单步或设置断点运行方式,通过检查系统cpu 的现场,arm的内容和i/o口的状态,检查程序执行结果是否符合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论