《毕业论文:基于单片机与PC机的温度控制系统硬件设计终稿.doc》由会员分享,可在线阅读,更多相关《毕业论文:基于单片机与PC机的温度控制系统硬件设计终稿.doc(108页珍藏版)》请在三一办公上搜索。
1、基于单片机与PC机的温度控制系统硬件设计摘 要在工业生产中,人们需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制具有控制方便、简单和灵活性大、精度高等优点。本文介绍了一种基于AT89S52单片机与PC机串口通信的温度控制系统,用单片机作下位机完成温度数据的采集和执行PC机发出的控制执行命令;用PC机作上位机接收单片机发送的数据,进行数据处理,向单片机发送控制命令。 PC机与单片机采甪串行通信,可实现远距离温度检测和控制。本设计充分利用PC机VB6.0软件强大的数据处理功能和友好的人机界面,对温度进行实时曲线显示。本设计由硬件和软件二部分组成,本文主要进行
2、硬件部分设计。经样机实验证明本设计性能稳定可靠,各项性能指标高,可用于实际工程。关键词:单片机,PC机,温度控制,串行通信目 录摘 要I第一章 绪论41.1 概述41.2 温度测控技术的发展与现状41.3系统总体设计思想61.4 功能要求7第二章 系统硬件设计82.1硬件系统框图82.2 硬件电路82.3最小单片机系统82.4 温度传感器的选取122.5温度传感器DS18B20的介绍122.6 输出通道设计182.7 串行通信接口202.8 电源电路232.9 系统特点24第三章 系统软件简介253.1 系统开发工具介绍253.2 软件系统简介及界面26第四章 系统调试28总 结29参考文献3
3、0附 录31附录一、单片机程序31附录二、PC机程序3863第一章 绪论1.1 概述随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。(1
4、)研究的目的和意义电阻加热炉是热处理生产中应用最广的加热设备,这样加热时升温过程的测量与控制就成为关键性的技术。首先,控温度精度要高。其次,当生产环境发生变化而影响到控温精度时,要有合适的手段进行调整以达到精度要求。而且,为了方便进行工艺的研究,需要能保存温度数据。最后,由于生产中的实际情况,电阻加热炉要求操作方便,易于维护,成本较低等等。(2)国内外发展情况目前,我国电阻炉控制设备的现状时是小部分比较先进的设备和大部分比较落后的设备并存。整体上,我国的电阻炉控制系统与国外发达国家相比还比较落后。占主导地位的是仪表控制,这种系统的控制参数由人工选择,需要配置专门的仪表调试人员,费时、费力且不准
5、确。控制精度依赖于试验者的调节。控制精度不高,一旦生产环境发生变化就需要重新设置。操作不方便,控制数据无法保存。因而,对生产工艺的研究很困难,因此造成产品质量低、废品率高、工作人员劳动强度大、劳动效率低,这些都影响企业的效率。1.2 温度测控技术的发展与现状温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理、化学过程都紧密地与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量在国民经济各个领域中均受到了相当程度的重视。近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中
6、,如何保证快速实时地进行采样,确保数据的正确传输,并能对所测温场进行较精确的控制,仍然是目前需要解决的问题。温度测控技术包括温度测量技术和温度控制技术两个方面。在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:简单、可靠、低廉,测量精度较高,一般能够测得真实温度;但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于极高温测量,难于测量运动物体的温度。非接触式测温是通过对辐射能量的检测来实现温度测量的方法,其优点是:不破坏被测温场,可以测量热容量小的物体,适于测量运动温度,还可以测量区域的温度分布,响应速度较快。但
7、也存在测量误差较大,仪表指示值一般仅代表表观温度,结构复杂,价格昂贵等缺点。因此,在实际的测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少人力和物力的投入。温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等。恒值温度控制的目的是使被控对象的温度恒定在某一数值上,且要求其波动幅度(即稳态误差)不能超过某一给定值。本课题所研制的电阻炉智能温度控制仪就是要
8、实现恒值温度控制的要求,故以下仅对恒值温度控制进行讨论。从工业温度控制器的发展过程来看,温度控制技术大致可分以下几种:(1)定值开关控温法所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热源(或冷却装置)进行通断控制。若当前温度值比设定温度值高,则关断加热器,或者开动制冷装置;若当前温度值比设定温度值低,则开启加热器并同时关断制冷器。这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。目前,采用这种控制方法的温度控制器在我国许多工厂的老式工业电炉中仍被使用。由于这种控制方式是当系统温度上升至设定点时关断电源,当系
9、统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使系统温度波动较大,控制精度低,完全不适用于高精度的温度控制。(2)PID线性控温法这种控温方法是基于经典控制理论中的调节器控制原理,PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于PID调节器模型中考虑了系统的误差,误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温法。其具体电路可以采用模拟电路或计算机软件方法来实现PID调节功能。前者称为模拟PID调节器,后者称为数字PID调节器。其中数字PID调节器
10、的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个PID参数(即比例值、积分值、微分值)。只要PID参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。(3)智能温度控制法为了克服PID线性控温法的弱点,人们相继提出了一系列自动调整PI参数的方法,如PID参数的自学习,自整定等等。并通过将智能控制与PID控制相结合,从而实现温度的智能控制。智能控温法1采用神经元网络和模糊数学
11、为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以更好的模拟人的操作经验来改善控制性能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应PID算法的温度控制仪表。目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围内温度控制精度低,自适应性较差。这种不足的原因是多方面造成的,如针对不同的温控对象,由于控制算法的不足而导致控制
12、精度不稳定等。针对上述不足,本文以探索新的PID自整定方法为目的,设计和开发一种新型电阻炉智能温度控制仪,以简化控制电路,提高系统运行的可靠性。1.3系统总体设计思想(1)系统硬件方案分析目前,温度控制仪的硬件电路一般采用模拟电路2(Analog Circuit)和单片机(Single-chip Computer)两种形式。模拟控制电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路及电容、电阻等外围元器件组成。它的最大优点是系统响应速度快,能实现对系统的实时控制。根据计算机控制理论可知,数字控制系统的采样速率并非越快越好,还取决于被控系统的响应特性。在本系统中,由于温度的变化是一个相对
13、缓慢的过程,对温控系统的实时性要求不高,所以模拟电路的优势得不到体现。另外,模拟电路依靠元器件之间的电气关系来实现控制算法,很难实现复杂的控制算法。单片机是大规模集成电路技术发展的产物,属于第四代电子计算机。它是把中央处理器CPU(Centeral Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(ReadOnly Memory)、定时器/计数器以及I/0(Input/Output)接口电路等主要计算机部件集成在一块集成电路芯片上的微型计算机,它的特点是:功能强大、运算速度快、体积小巧、价格低廉、稳定可靠、应用广泛。由此可见,
14、采用单片机设计控制系统,不仅可以降低开发成本,精简系统结构,而且控制算法由软件实现,可以提高系统的兼容性和可移植性。另外,随着微电子技术和半导体工业的不断创新和发展,SoC(System on chip,片上系统)得到了十足的发展。一些厂家根据系统功能的复杂程度,将这种Soc芯片应用到先进的控制仪表中。SoC芯片通常含有一个微处理器核(CPU),同时,它还含有多个外围特殊功能模块和一定规模的存储器(RAM,ROM),并且这种片上系统一般具有用户自定义接口模块,使得其功能非常强大,适用领域也非常广。它不仅能满足复杂的系统性能的需要,而且还使整个系统的电路紧凑,硬件结构简化。从实现复杂系统功能和简
15、化硬件结构的角度出发,SoC是实现电阻炉智能温度控制仪的最佳选择,但目前市场上SoC的价格还比较昂贵,并且SoC的封装形式几乎都采用贴片式封装,不利于实验电路板的搭建。从降低成本,器件供货渠道充足的角度看,应用单片机实现温度控制系统是比较经济实用的。目前,市面上的单片机不仅种类繁多,而且在性能方面也各有所长。针对这些单片机的不同特点,尤其从降低成本和方便实验的角度出发,以89S52为核心器件组成的控制系统是比较理想的选择。此外,在选取外围扩展芯片时,本着节约成本的原则,尽量选取典型的、易于扩展和替换的芯片及器件。(2)系统软件方案分析温度控制算法方面,基于解析模型的经典控制方法主要体现在PID
16、控制上,这主要是由于PID控制器的原理简单,使用方便的缘故。但是,经典控制方法一般是建立在被控对象精确或近似的数学模型上,而数学模型的建立本身就存在许多不足之处,因而其表面上看是精确控制,而实际上却是简单的控制器。此外,在设计PID控制器时,传统的做法是依靠经验和试验在系统调试时确定PID控制器的参数Kp,Ki,Kd,在随后的控制过程中PID参数一般是保持不变的,当外部条件发生重大变化时,再由工程人员重新手动进行选择。然而,被控系统在实际运行中会受到负荷变化、外界噪声等各种因素的干扰,都会引起被控对象的近似数学模型参数变化较大,从而导致控制效果大打折扣。基于上述情形,如果能将近似的数学模型与实
17、际情况结合起来,这样的控制方式往往要比经典控制方法精确得多,这就意味着PID参数能够在线调整,以适应改变了的模型。显然常规PID控制器是不能满足这一要求。因此在设计控制器时,一个关键的问题就是如何实现PID参数的实时整定。1.4 功能要求基于单片机与PC机的温度控制设计系统应能达到以下功能要求:(一) 可以人为方便地设定所需控制的温度值,温控仪器能自动将电炉加热至此设定值并能保持,直至重新设定为另一温度值,即能自动控制温度;(二) 采用适当的控制方法,当设定温度突变(由40提高到60)时,减小系统的调节时间和超调量。(三) 实现无触点式控制,消除机械噪声;(四) 改进控制方法,控制精度达到05
18、 C或更高;(五) 具有自动加热保护功能的安全性要求。如果实际测得的温度值超过了系统要求的温度范围,单片机就会发出断电指令,并进行报警;(六) 装置可将温度数据通过串口送到上位机,上位机软件将接收到的数据存贮并显示温度变化曲线。第二章 系统硬件设计2.1硬件系统框图系统总体方案框图如图2-1所示PC机键盘显示器RS232单片机驱动SSR电阻炉DS18B20图2-1 系统总体方案框图2.2 硬件电路2.3最小单片机系统(1)单片机概述AT89S523是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非 易失性存储器技术制造,与工业80C51
19、产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧8位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,
20、振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程Flash AT89S52。功能强大的AT89S52可为许多嵌入式控制应用系统和工业控制系统提供高性价比的解决方案。鉴于以上优点,并结合设计目标,特选用此款单片机。 (3) AT89S52引脚功能与封装图2-2是AT89S52封装结构图。图2-2 AT89S52封装引脚图按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O口、控制和复位等。1.多功能I/O口AT89S52共有四个8位的并行I/O口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 P0.7,P1.0 P
21、1.7,P2.0 P2.7,P3.0 P3.7,共32根I/O线。每根线可以单独用作输入或输出。P0端口,该口是一个8位漏极开路的双向I/O口。在作为输出口时,每根引脚可以带动8个TTL输入负载。当把“1”写入P0时,则它的引脚可用作高阻抗输入。当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内
22、部的上拉电阻把端口拉到高电位,此时可用作输入口。P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对Flash编程和程序校验时,P1口接收低8位地址。另外,P1.0与P1.1可以配置成定时/计数器2的外部计数输入端(P1.0/T2)与定时/计数器2的触发输入端(P1.0/T2EX),如表2-1所示。表2-1 P1口管脚复用功能端口引脚复用功能P1.0T2(定时器/计算器2的外部输入端)P1.1T2EX(定时器/计算器2的外部触发端和双向控制)P1.5MOSI(用于在线编程)P1.6MISO(用于在线编程)P1.7SCK(用于在线编程) P2端口,该口是带有内
23、部上拉电阻的8位双向I/O端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器或16位的外部数据存储器(如执行MOVX DPTR指令)时,P2口送出高8位地址,在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。在对Flash编程和程序校验期间,P2口也接收高位地址或一些控制信号。 P3端口,该口是带有内
24、部上拉电阻的8位双向I/O端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P3口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在AT89S52中,同样P3口还用于一些复用功能,如表2-2所列。在对Flash编程和程序校验期间,P3口还接收一些控制信号。表2-2 P3端口引脚与复用功能表端口引脚复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的
25、外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)1.RST 复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。在SFR AUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。DISRTO位的默认状态,是复位高电平输出功能使能。2.ALE/PROG 地址锁存允许信号。在存取外部存储器时,这个输出信号用于锁存低字节地址。在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。但
26、是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。3.PSEN 程序存储器允许信号。它用于读外部程序存储器。当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。在对外部数据存储器的每次存取中,PSEN的2次激活会被跳过。4.EA/Vpp 外部存取允许信号。为了确保单片机从地址为0000HFFFFH的外部程序存储器中读取代码,故要把EA接到GND端,即地端。但是,如果锁
27、定位1被编程,则EA在复位时被锁存。当执行内部程序时,EA应接到Vcc。在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。5.XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。6.XTAL2 振荡器的反相放大器输出。(2)AT89S52单片机最小系统4电路图如图2-3所示。图2-3 单片机AT89S52 最小系统(1) 复位电路:单片机上电时,当振荡器正在运行时,只要持续给出RST引脚连个机器周期的高电平,便可完成系统复位。外部复位电路是为内部复位电路提供两个机器周期以上的电平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST上的电压是Vcc上的电压与
28、电容器上的电压之差,因而RST上的电压与Vcc上的电压相同。随着充电的进行,电容器上的电压不断上升,RST上的 电压就随着下降,RST脚上只要保持10ms以上高电平,系统就会有效复位。电容C可取1033uF,电阻R可取1.210k。在本系统设计中,C取22uf,R取4.7k,充电时间常数为22*10-6 *4.7*103=104ms。(2)振荡电路:XTAL1脚和XTAL2脚分别构成片内振荡器的反相放大器的输入和输出端,外接石英晶振或陶瓷晶振以及补偿电容C1、C2选47uF构成并联谐振电路。当外接石英晶振时,电容C1、C2选30Pf10pF;当外接陶瓷振荡器时,电容C1、C2选47uF10uF
29、。AT89S52系统中晶振可在024MHz选择。外接电C1、C2的大小会影响振荡器频率的稳定度、起振时间及温度稳定性。在设计电路板时,晶振和电容应靠近单片机芯片,以便减少寄生电容,保证振荡器稳定可靠工作。在本硬件系统设计中,为保证串行通行波特率的误差,选择了11.0592MHz的标准石英晶振,电容C1、C2为47uF。(3)接高电平,选用片内程序存储器。(4) 单片机编程2.4 温度传感器的选取 目前市场上温度传感器较多,有以下几种: 方案一:选用铂电阻温度传感器,此类温度传感器线性度、稳定性等方面性能都很好, 其成本较高。 方案二:采用热敏电阻,选用此类元器件有价格便宜的优点,但由于热敏电阻
30、的非线性特性会影响系统的精度。 方案三:DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625。此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。 比较以上三种方案,方案三具有明显的优点,因此选用方案三。 2.5温度传感器DS18B20的介绍DS18B205是Dallas半导体公司推出的一线总线数字化温度传感器件,它能在现场采集温度数据,并将温度数据直接转换成数字量输出。此外,一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,
31、为测量系统的构建引入全新概念DS18B20测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为2C。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存
32、储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用。DS18B20可用传统方式供电6,将外部电源连在VDD脚上,其工作电压范围为3.05.5V, 也可以用数据线供电,称为寄生供电模式,电源由总线为高电平时DQ脚上的上拉电阻提供,此时VDD脚必须接地。在12位分辨率时,最多在750ms内可以把温度值转换成数字。并具有负压特性,即当电源极性接反时,温度计虽然不会正常工作,但却不会因发热而烧毁。一、DS18B20的主要特性(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电(2)独特的单线接口方式,DS18B20在与微处
33、理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内(5)测温范围55125,在-10+85时精度为0.5(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8)测量结果直接输出数字温度信号,以一
34、线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 二、DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。图2-4为DS18B20内部结构图,图2-5为DS18B20的引脚(PR35封装)。引脚含义如下:(1)DQ:数字信号输入/输出端;(2)GND:电源地;(3)VDD:外接供电电源输入端(在寄生电源接线方式时接地)。图2-5 DS18B20引脚图图2-4 DS18B20内部结构图三、DS18B20工作原
35、理DS18B20测温原理如图2-6所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2-6中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修
36、正计数器1的预置值。图2-6 DS18B20测温原理DS18B20有4个主要的数据部件:(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形
37、式表达,其中S为符号位。表2-3: DS18B20温度值格式表这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。(3)DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电
38、擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。(4)配置寄存器该字节各位的意义如下:表2-5:配置寄存器结构低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)表2-6:温度分辨率设置表四、高速暂存存储器高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格
39、式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表2-7是对应的一部分温度值。第九个字节是冗余检验字节。表2-7:DS18B20暂存寄存器分布根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示
40、复位成功。表2-8:ROM指令表表2-9:RAM指令表六、DS18B20使用中注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:1) 较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用C语言实现。2) 在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,
41、在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。3) 连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。4) 在DS18B20测温程序设计中,向DS18B20发出温度转换命
42、令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。2.6 输出通道设计(1)电阻炉的功率调节方式电阻炉的温度控制是通过调节电阻炉的输入电功率来实现的。目前多数温控仪采用晶闸管来实现功率调节。由晶闸管实现交流功率调节的途径有两条:一种是通过改变交流电压每周期内电压波形的导通角,使得负载端电压有效值得以调节,进而实现电功率调节。由于这种调节
43、方式下触发脉冲的触发时刻与电压波形的相位有关,因此称为相位控制调功;另一种调节方式是电压波形不变而只改变电压周波在控制周期内出现的次数,这种调节方式称为通断控制调功。就触发方式而言,前者为移相触发,后者为过零触发。两者的电压波形比较如图2-7所示。图2-7功率调节方式比较通过比较发现:相位控制的电压波形不“规整”,但正负半周对称,无直流成分,可直接用于电感负载。其最大的缺点是:大电流的切入造成对电网的冲击,不规整的脉冲负载电流引起电网波形的畸变及对其它电设备的中频干扰。输出的线性范围窄而线性度又不好,只能靠反馈来改善。通断控制的输出波形仍为正弦波,其优点是,不会对电网造成严重污染和干扰其它用电
44、设备,而且电炉的功率愈大,优点愈突出。但通断控制也存在抗电源干扰能力弱等缺点。对于纯阻性负载的电阻炉来说,温控仪采用过零触发方式可使电路结构简单,软件计算方便。因此,在本系统中采用通断控制的方式来进行功率调节。(2)固态继电器及应用固态继电器7(Solid State Relays),简写成“SSR”,是一种全部由固态电子元件(如光电耦合器、晶体管、可控硅、电阻、电容等)组成的新型无触点开关器件。与普通继电器一样,它的输入侧与输出侧之间是电绝缘的。但是与普通电磁继电器比,SSR体积小,开关速度快,无机械触点,因而没有机械磨损,不怕有害气体腐蚀,没有机械噪声,耐振动、耐冲击,使用寿命长。它在通、
45、断时没有火花和电弧,有利于防爆,干扰小(特别对微弱信号回路)。另外,SSR的驱动电压低,电流小,易于与计算机接口。因此SSR作为自动控制的执行部件得到越来越广泛的应用。SSR按使用场合可以分成交流型和直流型两大类。图2-8 交流SSR工作原理框图交流型SSR的工作原理框图如图2-8所示,图中的部件构成交流SSR的主体。从整体上看,SSR只有两个输入端(A和B)及两个输出端(C和D),是一种四端器件。工作时只要在A、B上加上一定的控制信号,就可以控制C、D两端之间的“通”和“断”,实现“开关”的功能,其中耦合电路的功能是为A、B端输入的控制信号提供一个输入/输出端之间的通道,但又在电气上断开SS
46、R中输入端和输出端之间的(电)联系,以防止输出端对输入端的影响,耦合电路用的元件是“光耦合器”,它动作灵敏、响应速度高、输入/输出端间的绝缘(耐压)等级高;由于输入端的负载是发光二极管,这使SSR的输入端很容易做到与输入信号电平相匹配,在使用时可直接与计算机输出接口相接,即受“1”与“0”的逻辑电平控制。触发电路的功能是产生合乎要求的触发信号,驱动开关电路工作,但由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖峰等污染电网,为此特设“过零控制电路”。所谓“过零”是指,当加入控制信号,交流电压过零时,SSR即为通态;而当断开控制信号后,SSR要等待交流电的正半周与负半周的交界点(
47、零电位)时,SSR才为断态。这种设计能防止高次谐波的干扰和对电网的污染。吸收电路是为防止从电源中传来的尖峰、浪涌(电压)对开关器件双向可控硅管的冲击和干扰(甚至误动作)而设计的,一般是用“R-C”串联吸收电路或非线性电阻(压敏电阻器)。2.7 串行通信接口串口通信8的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米(RS485)。典型的串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit