多路温度采集系统设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学校代码:11517
学号:201150712117
HENAN INSTITUTE OF ENGINEERING
毕业设计(论文)
题目多路温度采集系统设计与实现
学生姓名高宇照
专业班级电气工程及其自动化1121
学号201150712117
系(部)电气信息工程学院
指导教师(职称) 张秋慧(讲师)
完成时间2012 年 5 月13日
目录
摘要 (I)
ABSTRACT (II)
1 前言 (1)
1.1 背景介绍 (1)
1.2 研究设计意义及目的 (1)
1.3 发展情况 (2)
1.4 本设计主要内容 (3)
2 设计任务及方案论证 (4)
2.1 设计任务 (4)
2.2 设计方案的论证 (4)
2.3系统框图设计 (6)
3 多路温度采集系统硬件电路设计 (7)
3.1系统模块及模块介绍 (7)
3.1.1 系统整体模块控制 (7)
3.1.2 模块介绍及原理 (7)
3.2 系统基本硬件组成设计 (14)
3.2.1微机芯片工作电路设计 (14)
3.2.2 温度采集电路设计 (15)
3.2.3LCD1602的显示设计 (17)
3.2.4 报警电路的设计 (18)
3.2.5 电源部分的设计 (19)
3.3 系统设计的电路结构图 (21)
4 系统的软件设计 (22)
4.1 主程序设计 (22)
4.2 子程序设计 (23)
5 系统调试与性能分析 (27)
5.1 系统调试 (27)
5.2 性能分析 (29)
结论 (31)
致谢 (32)
参考文献 (33)
附录 (34)
摘要
现代化的工业生产中,在很多的场合都需要对各类温度进行检测和控制,采用单片机来对温度进行控制不仅有控制方便、组态简单以及灵活性大等特点而且还可以提高被控温度的技术指标从而能够大大提高产品的质量和数量等作用。

温度是实际生产中比较重要的参数,因此对温度控制系统进行详细的研究很有意义。

本多路温度采集系统由CPU、温度的采集模块、显示模块、报警控制模块等组成。

它利用单片机STC89C52做核心的控制及数据处理器、温度传感器DS18B20做温度检测器、LCD液晶显示器做为系统的输出设备。

本系统采用的硬件电路相对简单,成本不高,测量范围大,测温精度高,温度数据的显示比较直观,使用起来会比较方便。

关键词单片机/温度传感器/多路温度/温度采集
MULTICHANNEL TEMPRATURE GATHERING SYSTEM BASED ON ATS89C52
ABSTRACT
In the modern industrial production, people need to all kinds of heating furnace and boiler heat treatment furnace temperature of the reactor inspection and control by single chip microcomputer to control temperature in has not only convenient control configuration simple and flexible could increase the advantages and accused of technical indexes which can temperature greatly improve the quality of the products and the quantity, the temperature is industrial production in common is accused of parameter, typical of the temperature control system with a wide range of research significance. This digital multichannel temperature gathering system by the temperature controller, acquisition circuit and temperature display circuit, alarm control circuit and control circuit of keyboard input. It uses single chip STC89C52 do control and data processor, intelligent temperature sensor DS18B20 do temperature detector, LCD do temperature display output device. Hardware circuit is simple, with low
cost and temperature measuring range, high accuracy, readings show intuitive and easy to use.
KEY WORDS Microcontroller,Temperature Sensor,Multi-channel Temperatures,Temperature Data Collection
1 前言
1.1 背景介绍
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足轻重的作用。

随着现代信息技术的飞速发展,温度测量控制系统开始在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。

本次设计所采用的控制芯片为STC89C52,此芯片功能较为强大,能够满足设计要求。

通过对电路的设计,对芯片的外围扩展,来达到对某一车间或是厂房温度的控制和调节功能。

1.2 研究设计意义及目的
在单片机的多路温度采集系统中有多个模块和电路:单片机模块、温度采集模块、LCD液晶显示模块和报警电路,电路各部分进行有机组合完成基础的电路硬件模块。

主要是用C语言进行必要程序的编写,结合Keil软件进行程序的运行调试,用proteus 等仿真软件进行电路仿真,再利用protel软件实现电路的PCB电路图,最后经过相应的工艺流程做成实物产品。

现在单片机在实际的生产中应用非常广泛,几乎可以涉及到生活的每个角落,尤其是为电子和计算机发展提供了重要的技术实践。

近年来多点数字化测量技术的发展也使温度检测领域的技术实现了快速、可靠、低成本、数字化与网络化的发展。

本文主要是提出了一种结构简单、能耗较低、使用方便的系统设计解决方案。

本方案采用的是新型的单线智能化温度传感器DS18B20,该器件能够灵敏的采集到温度的数据,并且自身能够将模拟信号转换成数字信号,然后以数字形式直接输出被测点温度值到CPU,DS18B20优点较多有:误差小、分辨率高、抗干扰能力强、能远程传输数据等,是新一代温度测控系统研发和开发性价比较高的核心器件。

在二十一世纪,科技高速发展,电子技术、微机技术的应用也是空前广泛,随着科学技术和工业生产的不断飞跃式发展,对多种的设备和运行过程进行温度测量的需求也日益突出。

因此温度测量在生产生活中也越来越频繁地出现,同时温度的控制和设计也成为了常见的字眼,这与它们在各行各业中的重要性日渐突出是分不开的。

本方案所设计的温度采集系统可以随时的采集多个地方多个监测点的温度,同时还可以根据环境的要求设置温度区间,并对各点温度进行实时地判断,在温度不在设定范围时及时启动相应的报警电路,为进一步的人为或是上位机对温度的情况做出调节和反应
1.3 发展情况
随着人们生活水平的不断提高,温度的控制在现实生活中引起了高度重视,它是工农业和交通运输业的重要参数,同时也是影响其他领域发展的因数之一。

随着现代工业的逐步发展,在工业生产中,温度、压力、流量、液位是四种最常见的过程变量。

其中,温度是一个非常重要的过程变量,它尤其应用在冶金工业、化工工业、电力工业、机械加工和食品加工等领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制,尽量按照人们的要求去变化,通过计算机控制相应的执行部件,可以避免温度过高或过低,减少带来的经济损失,使人身、财产安全得到很好的保证。

在国民经济各部门以及人们的日常生活中,通常对多路温度信息进行采集。

常用的测温元件有热电阻、热敏电阻和热电偶等。

一般情况下,这些热电偶会利用物理现象进行分类,常用如下分类:1、根据体积膨胀的原理有气体温度计和液体压力温度计,气体温度计的测量范围一般是-250~1000,液体压力温度计测量范围为-200~350;2、根据接触热电动势原理可以分为钨铼热电偶和铂铑热电偶;3、根据电阻的变化原理可以分为铂热电阻和热敏电阻传感器;4、根据PN结结电压可以设计出硅半导体二极管进行温度传感;5、根据温度-颜色的物理特性可以设计出示温涂料和液晶等不同传感器件;6、根据光辐射和热辐射的原理又可以设计出红外辐射温度传感器。

而这些元件通常需要连接放大和模/数转换电路,电路结构相对复杂,并且在多路情况下,很难实现各路信号的同时采集[1]。

实际上,随着传感器技术和软件的不断发展,各种温度传感器的性能实现多元化,再利用计算机、单片机、CPLD/FPGA和PLC等辅助工具或元器件,控制多路温度
在实际应用中是非常广泛的。

因此,从结构、性能、参数、设计思想等方面权衡把握,才能更好的设计出满足使用性能和要求的控制电路。

1.4 本设计主要内容
本次设计的目的在于学习和实际应用基于52单片机的多路温度采集控制系统设计的基本流程。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动化的核心就是单片机,它在日常生产生活领域中的用途非常地广泛。

目前,一个学习与应用单片机的高潮在全社会大规模兴起。

学习单片机的最有效的方法就是理论与实践并重。

本设计采用单片机作为数据处理与控制单元,也就是平时所说的主控制器件CPU是本次设计的核心器件,为了进行数据处理,单片机会控制本设计的数字温度传感器DS18B20。

然后温度传感器自身会对外界的温度变化而产生相应的变化的模拟电信号,而后温度传感器就会将模拟的电信号变化转换成16位的数字信号,并且暂存起来。

传感器的操作是有严格的时序约定的,在CPU向传感器发出通信并且时序应答成功后,CPU即可对暂存器中的温度数据进行采集。

由于本设计是四路温度采集,那么也就会有四个温度传感器在使用,而每个DS18B20温度传感器都会有一个固定的序列号。

所以,在使用单总线与传感器通信的时候一个必不可少的步骤就是温度传感器序列号的判定,这一个过程多余单总线来说就是非常重要也是非常关键的。

然后就是把温度传感器中的温度信号通过单总线从数字温度传感器传递到单片机上。

单片机数据处理之后,如果数据在设定正常值范围,那么就会进行正常的温度显示,如果温度在设定范围以外就会立即发出控制信息改变报警和控制执行模块的状态。

本设计中温度的报警模块是声光并用的报警,在温度不再设定范围时会使蜂鸣器和放光二极管进行相应的指示,同时将当前温度信息发送到LCD进行显示。

而显示模块的LCD1602会一直进行实时的温度显示。

经过实际的仿真已经证明本系统可以实现多路温度信号采集与显示,可以使用软件来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。

2 设计任务及方案论证
2.1 设计任务
系统主要技术指标有:
(1)3路到4路温度采集电路。

(2)采集测温范围为10~+100 ℃。

(3)温度精度,误差在0.1 ℃以内。

(4)显示模块,采用LCD1602液晶显示。

2.2 设计方案的论证
多路温度控制系统的研究现状目前,多路温度控制的方法有基于计算机的温度控制系统、基于单片机的温度控制系统、基于CPLD/FPGA的温度控制系统、基于DSP控制的多路温度采集系统和基于PLC的温度控制系统。

PC机对多路温度控制系统,具有电路简单,可靠性好,通用性强的特点,广泛应用于乡镇粮站中,对粮仓温度的自动控制。

用VB语言实现上位机数据传送,可方便地控制通信对象的选择,具有较大的灵活性。

与一般控制系统相同,计算机控制系统可以是闭环的,这时计算机要不断采集被控对象的各种状态信息,按照一定的控制策略处理后,输出的控制信息直接影响被控对象。

它也可以是开环的,这有两种方式:一种是计算机只按时间顺序或某种给定的规则影响被控对象;另一种是计算机将来自被控对象的信息处理后,只向操作人员提供操作指导信息,然后由人工去影响被控对象。

计算机控制系统由控制部分和被控对象组成,其控制部分包括硬件部分和软件部分,这不同于模拟控制器构成的系统只由硬件组成。

计算机控制系统软件包括系统软件和应用软件。

计算机控制系统通常具有精度高、速度快、存储容量大和有逻辑判断功能等特点,因此可以实现高级复杂的控制方法,获得快速精密的控制效果[1]。

基于FPGA的高精度多路温度采集器,无需计算机干涉,可以采集多路温度信号,对计算机的服务定时约束非常松弛。

采集器内置了串行接口,可以通过电平转换芯片和计算机的串行口直接连接,电路结构小型紧凑,系统工作稳定可靠。

但是
不能更改程序的电路设计[1]。

基于DSP控制的多路温度采集系统,是以数字式温度传感器DS18B20实现多路温度采集的系统。

系统以DSP作为温度采集和控制核心,结合DSP软件设计,能够实现多路温度信号的同时采集。

该系统还带有RS232通用串行接口,可实现与PC 机的实时通信。

整个设计电路具有结构简单、数据传输方便、多路温度采集所用时间短和实时性好等优点。

基于PLC的温度控制系统。

主要用在工业生产方面,适用于高效率的工作模式。

PLC功能的扩充是在控制器中扩充了PID控制功能,因此在逻辑控制与PID控制的混合应用场所中,采用PLC控制较为合理。

采用PLC控制不仅方便、简单、灵活性好,可以提高被测温度的技术指标,还能够提高产品的质量和数量。

但是在温度测量时必须采用PLC恒温控制,同时PID算法在PLC中的实现和PID参数都将影响系统控制性能,这就对多路温度精确地控制增加了难度。

由于在生产现场对温度的影响是多方面的,使得在这种环境下对温度的控制过程会比较复杂,在传统的加热炉电气控制系统中,广泛采用的是继电器装置控制技术,而硬件采用的是固定接线的方法来实现逻辑控制的,这就使得控制系统的体积会增大不少,所消耗的电能也会增多,效率较低并且容易发生故障,会严重影响正常的工业生产。

但是随着PLC 技术的发展,基于PLC控制技术会取代传统的方法,而PLC本身的性能可以使温度控制系统有许多好处,可以使控制变得更加高效、经济、稳定且维护方便[1]。

基于单片机的多路温度控制系统:这种系统采用的是温度传感器DS18B20进行采集温度数据的,液晶屏LCD1602来显示温度数据,存储器存主要用来储温度上下限的设定值,通过按键来设置温度的上下限。

此外,由于单片机自身的ROM较小,因此在系统设计中必须外设EPROM电路和相应的扩展电路,因而在这类项目中所运用的方案在硬件上必须能够完成电路的设计和组装调试;在软件软件上能够完成相应软件的编写、调试、加载以及脱机运行。

现在市面上单片机芯片的价格相对都不高,并且其外围电路所需的配件价格也不高,所以该系统整体设计起来的成本会比较低,有利于系统设计成本上面投资的节约。

同时还可以根据需要对外部的存储容量进行相应的扩展,设计也可以相对比较灵活一些。

2.3系统框图设计
图2-1 单片机温度控制系统原理图
通过系统框图可以清楚地了解到系统的工作原理,通过DS18B20采集温度并与CPU进行实时通信。

18B20能够对温度的变化进行随时的检测,并自动转换成16位的二进制编码,18B20会将数码暂存起来,然后等待CPU的读取,上位机按照18B20严格的时序操作规则和18B20进行通信,并对其进行数据读取的操作。

同时在系统上电的时候,CPU启动LCD1602,进行相应的初始化和固化格式的显示,由于时间都是微秒级的,所以在上电一开始就会进行相应的数据显示。

对于1602的操作有固定的流程,而只需做的就是将相关的显示程序进行修改和编写即可,这也方便了系统的设计与修改。

系统设计中还有相应的报警模块的设计,报警电路是在温度异常于正常温度的时候进行报警指示的电路,这部分电路主要是根据报警的明显、可以根据设计经验进行、并且报警方式多元化的特点进行设计的。

3 多路温度采集系统硬件电路设计
3.1系统模块及模块介绍
3.1.1 系统整体模块控制
系统的主控部分用的是STC89C52单片机的应用控制系统,温度采集部分是用DS18B20数字温度传感器对监测点的温度进行检测并自动生成数字信号,报警电路部分是用两个不同的发光二极管和蜂鸣设备组合作为报警电路,通过单片机STC89C52的控制进行温度数据的实时处理,从而实现实时测量温度的目的。

CPU是控制设计的核心关键部分,在本次设计中,综合考虑各项指标的需求最终选择了STC89C52作为主芯片。

液晶显示部分的选择是根据实际的需求和市场提供量以及性价比等综合方面进行了选择,确定LCD1602液晶显示器为温度显示器件。

单片机的最小系统中的各个部分都是不可缺少的,本次设计还是按照单片机的一般最小系统更具CPU型号确定晶振频率,复位电路等最小系统的控制电路。

报警电路采用红色发光二极管闪烁的方式,能起到很好的警示作用。

3.1.2 模块介绍及原理
(1) 主控器件单片机的介绍
要学习单片机,首先要对它的部件组成有一个整体概念。

所谓的单片机就是一块集成电路芯片具有一台微型计算机的功能,通常会被称为单片微型计算机,简称单片机。

1980年Intel公司在MCS-48单片机的基础之上推出了MCS-51单片机。

这种系列的单片机主要包括了3个基本型:8031、8052、8752,还包括3个CMOS工艺的低功耗型:80C31、80C51、87C51。

由于MCS-51单片机技术先进、性能稳定,同时世界上许多大的半导体公司也在根据Intel公司的技术进行51单片机或其改进型的单片机的生产。

其中8051单片机的片内程序存储器是掩膜型的,8031单片机
无片内程序行储器,875l单片机的片内程序存储器是EPROM型的,AT89S52单片机片内程序存储器是FLASH型的[2]。

AT89S52系列单片机是HMOS工艺的,其引脚结构如图3-1所示。

图3-1 单片机引脚图[2]
①8位CPU AT89S52系列单片机都是8位机,采用片外三总线控制,即数据总线,地址总线和控制总线,其中数据线是8位的,地址总线是16位的。

②AT89S52单片机有4个可编程的I/O口线,即4个并行接口分别是P0、P1、P2、P3,其中P1口是唯一仅有单功能的I/O口,而另外的三个端口都是具有双重公用的I/O口。

③AT89S52系列单片机有256KB片内RAM,8KB片内ROM。

外部存储器可以寻址ROM空间为64KB,RAM空间为64KB。

④AT89S52系列单片机具有三个16位的定时/计数器,可以通过对相应的控制寄存器RMOD中的M0、M1位的设置的不同实现定时/计数器的4种工作模式。

⑤52单片机有5个中断源,分别是外部中断0、外部中断1、T0溢出中断、T1溢出中断和串口中断。

为两个优先级,每个中断源的优先级是可以编程的。

⑥52单片机的内部还有许多其他的寄存器,有22个专用寄存器,其中有21个专用寄存器是可寻址的,在这里面又有11个客位寻址。

(2).温度采集芯片DS18B20的简介
本次设计中采用的数字式温度传感器采用的是Dallas 半导体公司的数字化温度传感器DS18B20芯片。

该芯片有3引脚TO-92小体积封装形式,温度测量范围为-55℃~+125℃,可编程为9~12位A/D 转换精度,最高测量分辨率为±0.0625℃,被测温度以16位补码方式串行输出,其工作电源既可以外端专门供给也可以附设在电路电源供电中。

传感器支持“一线总线”接口,CPU 只需要一根端口线就能和多个DS18B20通信,可方便地进行多点温度测量,分辨率设定及用户设定的报警温度存储在EPROM 中,掉电后依然保存[3]。

该产品支持3~5.5V 的电压范围,因其体积小使系统,设计更灵活、方便。

管脚排列如下图3-2所示:
图3-2 DS8B20管脚[3]
(其中DQ :数字信号输入/输出端;GND :电源地;VDD :外接供电电源输入端。

) DS18B20的内部主要有4个组成部分:64位的只读ROM 、温度传感器、非易失性温度报警触发器TH 和TL 、配置寄存器。

如下图所示。

图3-3 DS18B20内部结构图
该器件中ROM 的64位序列号是出厂前就已经被光刻好的,它可以看作DS18B20的地址序列码。

64位序列号的排列是开始8位编号(0x28)是产品类型标志,中间的48位编号是该DS18B20自身的序列号,最后的8位数据是前面的56位64位
ROM 和
单总线接
口 存储器与控制高


存 温度传感高温触发
低温触发
配置寄存8位CRC 发生器 电源检测
编号的循环冗余校验码。

每个器件的地址序列号是不相同的,这样一来可以方便地实现1根总线上挂接多个不同的DS18B20却依然能够准确地区分出来自不同温度监测点的温度数据的目的[4]。

其内部存储器包括9B高速暂存RAM和1B非易失性的可电擦除的EPROM,后者存放高温度和低温度触发器TH,TL和结构寄存器,其具体的温度测量值分辨率设定表如表3-1所示。

表3-1 DS18B20温度测量值分辨率设定表[4]
温度测量之后就会自动进行温度转换,其过程是这样的:根据其通信协议,DS18B20完成温度转换必须经过的主要步骤:每一次读写数据之前都要对其进行复位,复位成功后发送1条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

因为DS18B20采用的是单线进行控制与读取数据,所以对操作的时序要求非常严格,否则由于时序不匹配,将无法完成对器件的正确操作。

在这期间的每一个步骤的时序都是将主机作为主设备,单总线期间作为从设备。

每一次所进行的数据和命令的传输都会是熊主机主动启动写时序开始,如若需要DS18B20回送相关数据,在进行写命令以后,CPU需启动读指令完成数据接收,而这些命令和数据的传输都是低位在前高位在后的传输方式。

在DS18B20的操作时序中主要可以分为读时序、写时序初和始化时序。

在进行复位初始化时,是要求将CPU的数据线放置低电平500us,然后恢复,18B20接受到处理信号后会继续等待15~60us左右的时间,然后再发出60~240us的低电平脉冲信号。

CPU收到此回应信号后表示复位成功。

在进行读时序时,时序要分为读“1”和“0”时序两个不同的过程。

但是要求基本上没差别,主要是由CPU将单总线的电平拉低并且要在15us之内将电平恢复到高电平,把数据输送到单总线上去。

这样的话18B20每完成一个读时序至少得需要60us才可以。

相对应读时序是分为两个过程,那么写时序也是需要分为两个过程的即读“1”和“0”两个过程。

但是不同的是,这两个写时序的过程要求是不一样的。

当要进行写“1”操作时,单总线的电平先被CPU
拉低,然后在15us以内将其恢复。

而要进行写“0”操作时,单总线的电平要被CPU 至少拉低60us,这样来保证18B20能够在15~45us以内正确地对CPU端口的“0”电平进行采样[4]。

当DS18B20在外部电源供电方式的时候,电源是由VDD电源引脚供电,这个期间I/O线不用将电平抬高,电源电流会十分的充足能满足需要,并且可以保证温度传感器内部的转换精度,如果采用单总线的方式的时候可以在数据总线上挂接多个DS18B20传感器,组成多点测温系统[3]。

在外部供电方式下需要注意的是DS18B20的GND引脚必须接地,不能悬空,否则不能很好地转换温度,读取的温度数据不变总是85℃。

DS18B20的通信协议对DS18B20进行操作必须要按照其通讯协议,即主机(CPU)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行初始化操作,初始化成功后发送一条存储器操作命令(ROM指令),最后处理数据(发送RAM指令),这样才能对DS18B20进行预定的操作[5]。

(3).显示器件LCD1602液晶的简介
1602液晶显示器常用的有笔端型、字符型和点阵型,而我们采用的字符型1602是一种专门用来显示字母、数字、符号等的点阵型液晶模块,在电极图设计上同若干个5×8或5×11点阵组成,每个点阵都可以显示一个字符。

每位之间和每行之间的间隔起到了字符间距和行间距的作用,也因此1602不能用来显示图形。

字符型1602通常有14或16个引脚。

在LCD1602液晶显示器内部的字符产生存储器(CGROM)中已经存储了大量的点阵字符图形,其中的每一个图形字符都会对应着一个固定的代码,而这些字型是只可以读取不可以写入的并且这些字型要经过内部电路的转换才会传到显示器上,比如字母“B”的代码是01000010B(42H),要显示“B”字符,就要将B的ASCII 码42H写入到DDRAM中,同时电路到CGROM中将B的字型点阵数据找出来显示在LCD液晶上,我们就能看到字母“B”。

需要清楚的是LCD1602只能够识别ASCII 码,所以在我们进行LCD质量性能检验试验时也可以用ASCII码直接赋值,还可以在单片机编程中直接用字符型常量或变量对其进行赋值,如‘D’[6]。

LCD液晶模块的内部结构可以看成是由一个指令寄存器和一个数据寄存器组成,由RS的引脚来控制寄存器。

在对数据寄存器和指令寄存器的存取操作中均需要检查LCD内部的BF位(忙碌标志位),根据此标志位来知道LCD内部是否正在工作运行,如果BF=1表示是LCM内部正在运行,那么是不允许LCD接受任何的。

相关文档
最新文档