多路温度检测

2024-09-30

多路温度检测(通用8篇)

多路温度检测 篇1

0引言

单片机产品的开发过程包括软件编写、硬件调试和系统调试。后两个环节必须在整个硬件电路制作完毕后才能进行,系统开发时间的延长,很大程度取决于硬件制作上,因为元器件的采购、安装和测试都容易出问题。如果可以提前将所有环节利用仿真软件在电脑上模拟,运行调试成功后再制作软件,可以大大提高效率、 减小开发成本和缩短开发周期。本文介绍采用Proteus仿真软件设计多路温度检测系统的方法。

1系统任务描述及设计方案

1.1系统任务描述

温度检测系统在人们的生产和生活中有着广泛的应用,很多场合都可以看到它的身影。随着半导体技术的不断进步, 由单片机来构建的温度检测系统也向着精度高、速度快、体积小等特点发展。这文将介绍一个基于AT89C51单片机的8路温度检测系统的设计,系统的具体功能如下。

(1)能够完成-20℃ ~+60℃范围内的温度检测。

(2)检测温度的最小误差为1℃。

(3)可以实现检测通道号和该通道温度的显示,温度显示精度为0.1℃。

(4)当某通道温度超过检测范围时, 可以通过声光报警形式进行提示。

1.2系统方案设计

根据上面系统所实现的功能,可以将系统电路分为四部分:主机电路、温度传感器电路、显示电路和声光报警电路,系统框图如图1所示。

温度传感器电路直接采用数字DS18B20设计,相比于模拟温度传感器而言,这种设计方法可以节省电路连接。由于DS18B20采用单总线技术,因此可以在总线上连接多个DS18B20。另外,DS18B20温度检测范围为-55℃ ~+125℃,在0℃ ~85℃之间温度检测精度为 ±0.5℃,其性能参数是可以满足设计要求的。

显示电路可以采用七段LED数码管来实现。为了提高系统的工作速度、减少软件设计工作量,选用MAX7221显示驱动芯片来完成显示。声光报警可以直接使用发光二极管和蜂鸣器来完成。

2硬件电路设计

本系统硬件是由主机电路、温度检测电路、显示电路和报警电路四部分组成, 下面分别对这几部分电路进行介绍。

2.1主机电路

如图2所示是单片机主电路部分,该电路是以AT89C51为核心构成,晶振选取11.0592MHz,采用上电和手动两种复位方式。

2.2温度检测电路

8通道温度检测电路如图3所示,是由8个DS18B20构成,每一路通道的温度值都是由该通道上DS18B20完成检测的。

DS18B20温度传感器是DALLAS公司生产的采用1-Wire总线技术的典型产品。单片机可以直接通过串行总线读取该产品将被测温度转换的数字量。另外,由于1-Wire具有成本低、节省I/O口、抗干扰能力强、便于总线扩展和维护等特点。

DS18B20可以实现9~12位的温度度数,而且可以由数据线本身提供电源,因此只需要数据线和地线即可与单片机连接。而且每片DS18B20内部都有一个独特的片序列号,因此可以在一条单总线上挂接多片DS18B20,特别适合构成多点温度测控系统。因此本系统的DS18B20全部挂接在一条总线上,直接连接到单片机AT89C51的P1.0引脚。注意总线需要接一个5.1kΩ 的上拉电阻。

2.3显示电路

LED显示电路如图4所示。选用MAX7221显示驱动芯片来完成显示。 MAX7221是串行输入/ 输出共阴极数码管显示驱动芯片,一片MAX7221可驱动8个七段LED数码管、LED条线图形显示器、或64个分立的LED点阵发光二级管。

该芯片具有10MHz传输率的三线串行SPI接口,可与任何微处理器相连。单片机只需通过模拟SPI三线接口就可以将相关的指令写入其内部指令和数据寄存器。而且所有LED段电流只需一个外接电阻即可设置。它操作简单,允许用户选择多种译码方式和译码位。此外它还支持多片MAX7221串联方式,这样单片机就可以控制更多的数码管显示。

系统开始工作后,数码管上会轮流显示当前检测的通道号和该通道上的温度值。其中,第二位显示的是通道号,第五位到第八位用于显示该通道上的温度值。

2.4声光报警电路

声光报警电路如图5所示,单片机的P1.6和P1.7引脚分别用于控制蜂鸣器和二极管的工作状态。声光报警的工作过程是:当检测温度不超限时,单片机P1.6输出高电平,PNP型三极管Q1处于关断状态,蜂鸣器LS1不工作;另外,P1.7引脚输出低电平,二极管D1不发光。当检测温度超限时,单片机P1.6输出低电平,三极管Q1导通,蜂鸣器LS1有电流经过提示声音报警;P1.7引脚也输出高电平,二极管D1发光。

3系统软件设计

本系统的软件主要是通过DS18B2读取环境温度值,然后通过数码管完成各路温度值的循环显示。由于在本设计中一条总线上挂接了8个DS18B20,因此本系统的设计中软件设计是非常重要的,必须严格按照1-Wire总线协议编写程序才能保证数据读写的正确性。下面首先介绍一下系统设计中几个主要的软件流程图。

本系统的主程序流程如图6所示系统上电后,首先对MAX7221芯片进行初始化设置,然后通过循环程序对8路DS18B20的温度采集,并判断温度值是否超过测量范围,最后通过MAX7221驱动数码管进行显示。

DS18B20读温度程序流程图如图所示,首先通过初始化程序对单总线进行复位,然后跳过内部序列号读取,启动总线上所有的DS18B20进行温度转换。最后,由主机发送对应通道中DS18B20序列号,从其温度寄存器中读取温度值存入内部数据寄存器中。

4系统Proteus仿真

系统仿真步骤如下。

(1)在Proteus仿真软件中绘制仿真电路如图8所示。

(2)在KEIL环境下,编写C语言程序,编辑运行后生成.HEX文件。

(3)Proteus仿真电路中单击89C51芯片,弹出【编辑元件】对话框,在 【Program File:】选项选择添加生成.HEX文件路径。

(4)单击Proteus界面左下角的【开始】按钮开始仿真,设置8路DS18B20为不同温度,即可看到循环检测的温度数据显示。

5结论

多点温度循环检测系统是一种常见的数据采集系统,本文给出了这类系统设计的仿真方法。根据1-Wire总线的特点,使用多个DS18B20数字温度传感器在一条I/O接口线上就可以构建一个多点温度采集网路。这种构建方式既可以节省单片机的接口,又可以减轻电路设计的任务。该仿真方法实现了温度的设定、显示和报警,通过KEIL软件的程序设计和Proteus的硬件仿真实现了所期期望望的的检检测测效效果果。 。

图6系统主程序流程图

图7 DS18B20读温度程序流程图

多路参数巡回检测系统的设计 篇2

关键词:测控;传感器;输入通道;接口电路

中图分类号:TP273 文献标识码:A 文章编号:1006-8937(2012)29-0017-02

1 传感器输出信号的检测电路

传感器的接口电路中完成对传感器输出信号预处理的各种接口电路统称为检测电路,经检测电路预处理过的信号,应成为可供测量、控制使用及便于向微型计算机输入的信号形式,下面介绍几种常用的电路。

1.1 阻抗匹配器

1.3 放大电路

传感器的输出信号一般比较微弱,需要放大电路将其输出的直流信号或者交流信号进行放大处理,为检测系统提供高精度的信号。

反相放大器基本电路如图4所示,输入信号通过Ri接到反相器输入端,同相输入端接地。输出信号通过反馈电阻Rf反馈到反相输入端。同相放大器的基本电路如图5所示,输入电压直接接入同相输入端,输出电压通过反馈电阻Rf反馈到反相输入端。

2 传感器与微型计算机的连接

由检测电路预处理过的检测信号在输入微型计算机前还要经过相应的接口电路进行处理,转换成CPU能直接进行运算处理的信号,如模拟信号要转换成数字量,而数字信号也要转换成能被计算机能接受的数字量。不同类型的传感器输出信号不同,进入计算机的接口电路也不同。多路模拟信号输入通道的结构比较复杂。

2.1 多路模拟开关(MUX)

在输入信号有多个时,常用多路模拟开关对它们进行巡回检测,以节省A/D转换器和I/O接口。这种开关的种类很多,但是它们的工作原理基本上是一致的。CD4051/CC4051是单8通道数字控制模拟电子开关,有三个二进制输入端A、B、C和INH输入,具有低导通阻抗和很低的截止漏电流。幅值为4.5~20 V的数字信号可控制峰值到20 V的模拟信号。当INH输入端为“1”时,所有的通道截止。三位二进制信号选通8通道中的一通道,可连接该输入端至输出。

2.2 采样保持器(S/H)

A/D转换芯片完成一次转换需要一定的时间。当被测量变化很快时,为了使A/D转换芯片的输入信号在转换期间保持不变,需要应用采样保持器。采样保持器有两种运行模式——采样模式和保持模式,由模式控制信号控制。开关K受模式控制信号控制,在采样模式下,开关K闭合,A1是高增益放大器,其输出对CH快速充电,使CH上的电压和输出电压Uo快速跟踪Ui的变化,即Av=1。

3 任务实施过程

在电厂和变电站中,电网中的电压和电流由于多种原因常常处于波动的状态,为了给工作人员提供有效的数据,并在超值的范围类采取有效措施,检测电网中电压和电流值是非常必要的。另外,变电站为了能够保持高压线路的畅通,还要检测其他的一些参数。主要采用TLC2543作A/D转换器,把电压和电流等其他参数实时转换成数字信号,A/T89C52作CPU,进行数字信号处理,PS7219作LED显示驱动器,把监测的电压和电流值多参数巡回显示出来。在下图中,可以用多个pt100作温度传感器,用敏感湿敏电容作湿度传感器,用光敏电阻作光强传感器,用微压力传感器感应气压和风力,至于电网由于这些参数变化不是很快,无需保持器。输入通道只由多路模拟开关和A/D转换器组成。A/D转换器选用TLC2543,其为11通道、12为ADC,且内部具有11通道选通模拟开关,因此不需要另加多路模拟开关。如果通道不够,有些参数可以采用数字式传感器直接和单片机的I/O接口相接。有些参数可将其信号转换成脉冲信号来计数,如检测高压的工作频率。系统检测可以按下图连接方式完成。通过LED显示,应能很直观的观察到各个参数的变化情况。改变环境参数看各个信号随着变化。

4 结 语

本次电子技术综合设计以传感器应用为基础,系统设计电路板。计算机测试系统能完成对多点、多种随时间变化的被测参量的快速、实时测量,并能排除噪声干扰,进行数据处理、信号分析,由测得的信号求出与研究对象有关的信息的量值或给出其状态的判别。本文对传感器与计算机接口有实际应用价值。

参考文献:

[1] 童诗白,华成英.模拟电子技术[M].北京:高等教育出版社,1997.

[2] 谢淑如,杨渝生.Protel PCB 99SE电路版设计[M].北京:清华大学出版社,1995.

[3] 段九洲.放大电路实用设计手册[M].沈阳:辽宁科学技术出版社,2002.

多路温度检测 篇3

带式输送机是煤矿最理想的高效连续运输设备,与其他运输设备(如机车类)相比,具有输送距离长、运量大、连续输送等优点,而且运行可靠,易于实现自动化和集中化控制,尤其对高产高效矿井,带式输送机已成为煤炭开采机电一体化技术与装备的关键设备。由于煤矿井下环境恶劣,带式输送机设备易损坏,一旦输送带与滚筒之间发生打滑及输送带温度升高会严重威胁井下人员生命安全,目前国内对输送带温度精确检测问题一直没有得到很好解决。

随着DSP芯片技术与新型非接触式红外温度传感器技术的不断发展以及总线控制系统(FCS)逐渐取代传统集散控制系统(DCS)为设计一种新型井下带式输送机温度检测系统提供了可能。本系统采用TMS320F2812作为信号采集和处理的核心,外接CAN收发器TJA1050。当温度传感器检测到滚筒温度过高时,DSP2812对温度信号进行处理并通过CAN总线传输给远程监控站,现场子站PLC降低输送机转速同时打开喷淋系统降低输送带温度。

1 系统的硬件结构

1.1 系统结构组成

带式输送机多路温度检测系统结构示意图示于图1。

1.2 核心控制器TMS320F2812

TMS320F2812是TI公司生产的32位DSP芯片,是目前控制领域最高性能的处理器,精度高、速度快,特别适用于需要大批量处理数据的测控场合。DSP2812内置快速A/D转换器、增强的CAN模块、事件管理器、正交编码电路接口等外设。特别适用于井下复杂电磁环境的使用。DSP2812外设接口示意图如图2所示。

DSP2812芯片内部集成了32位完全功能的CAN控制器eCAN控制器模块。当采用DSP2812处理器作为CAN总线的智能节点时,只要在CAN总线与处理器之间增加CAN收发器即可接入网络。

DSP2812芯片内部还集成了一个12位带流水线的模数转换器(ADC)模块。ADC模块共有16个通道,可配置为两个独立的8通道模块,分别服务于事件管理器A和B,也可级联构成一个16通道模块。ADC模块可以对采样序列进行自动排序,每当ADC模块收到开始转换请求能够自动完成多路转换,此外也可以对同一通道进行多次采样,可以有效提高转换的精度。当发现某一探测区域温度异常时调整设置即可对该区域进行连续监测。

1.3 红外热电偶温度传感器

由实验可知当带式输送机滚筒打滑40min后输送带温度可达到300℃左右,此时温度已接近输送带燃点,输送带开始冒烟。由于输送带滚筒是一个滚动的机构,所以必须使用非接触式温度传感器探测其温度。目前国内常见的非接触式带式输送机温度传感器主要有:a.电磁感应式传感器,滚筒温度改变引起测温元件阻值改变,此方法测温准确,抗干扰性强但反应速度慢,设备结构复杂,不适用于井下安装调试。b.热电阻式传感器,将集成式温度元件浇注在铁壳内贴近滚筒安放。此方法安装简便,但反应时间长,也无法准确探测滚筒表面温度。c.热释电式传感器,在热电元件受热时由于晶体受热引起晶体自发极化反应从而得到电压信号。此方法对可以对温度变化做出反应,但设备结构复杂,易损坏,也不适用于煤矿井下环境。

本系统选用西安永泰公司C-50-B-1型低温红外热电偶探头。此种传感器既具有传统热电偶传感器结构简单、制造方便、测温范围宽、准确度高、信号易于远传的优点,又实现非接触式测温,具有抗干扰能力强、便于安装的特点。C-50-B-1型低温红外热电偶探头具有0~300℃的测温范围,分辨率可达0.1℃,响应时间200ms,以0~5V标准信号输出,便于DSPADC模块采集。由于目前矿用带式输送机皮带宽带大多在1~1.4m,且红外温度探头距离系数为16:1,为防止漏检漏报,采用八路温度传感器同时采样,保证了对滚筒温度的均匀测量。当某一测温区域内温度超过报警阈值时即发出报警信号。滚筒温度探测示意图如图3所示。

1.4 CAN现场总线控制系统

现场总线系统(FCS)相比传统的DCS系统具有系统结构简单、抗干扰能力强、节省连接电缆与维护费用的特点。作为生产现场最前端的现场总线可以支持双绞线、同轴电缆、光缆等连线,具有较强的抗干扰性,可以满足本征防爆安全要求,特别适合在井下使用。CAN总线作为一种实时控制的串行通信网最大通信距离可达10km,最大可达通信码速1Mb/s,最多可连接110个设备,具有极高的可靠性、实时性,特别适合工业现场监控设备互连。CAN总线数据协议已经集中到各种芯片中,由于DSP2812芯片已经集成了CAN控制器,只要在芯片与CAN总线之间增加高速CAN收发器TJA1050。DSP2812与TJA1050的连接如图4所示。

2 系统软件设计

系统主站主要完成远程监控与数据存储、打印、显示,与下位机通讯显示输送机温度,转送,故障报警等功能。现场DSP程序主要包括两部分功能:温度检测ADC转换与CAN总线通信。DSP2812温度采集与传输流程图如图5所示。CAN总线通信时各智能节点通过CAN总线不断向上位机发送测试数据,上位机通过指令方式设置温度上下限并对报警温度做出处理。

3 结论

基于DSP2812的带式输送机多路温度检测系统充分利用了DSP2812的强大运算能力,结合新型红外热电偶温度探测器改进了传统带式输送机滚筒温度测量精度不高、测量数据不可靠的问题。高速CAN总线网络大大提高了数据传输速率,增强了系统监控的实时性。由于各智能节点均挂载于同一总线上,节省了井下布线工作量,采用光纤作为传输介质可以保证数据抗干扰与安全生产的需要。

参考文献

[1]王黎明,夏立,邵英,等.CAN现场总线系统的设计与应用[M].北京:电子工业出版社,2008.

[2]苏奎峰,吕强,常天庆,等.TMS320X281XDSP原理及C程序开发[M].北京:北京航空航天大学出版社,2008.

[3]张强利.红外热电堆滚筒温度探测系统[D].山东:山东科技大学.

[4]韩强.具有CAN总线功能的输送带温度保护系统的设计[J].控制系统,2008,24(19).

[5]谭常森,郭峰,朱永平,等.基于CAN总线的带式输送机监控系统设计与应用[J].煤炭工程2008(3):103-105.

多路温度检测 篇4

在孵化设备的科研过程中, 常常用多路温度测试仪来对孵化机器内部的温度场进行测量, 而我们以前用的多路温度测试仪是用两片16选1的模拟开关来完成对32路温度的测量, 温度的采样时间受模拟开关开通关断时间的限制, 开关信号对温度采样也造成了一定的干扰。在实际使用过程中还常受到温度采样路数 (如8路、20路、64路、70路, 128路等) 的限制, 为能更灵活的应用该多路温度测试仪, 我们采用了主从机RS-485通讯的模式来完成多路温度的测量。每个从机采样8路温度并作为一个模块, 每个从机有独立的地址, 这样我们就可以在主机通讯负载能力范围内灵活的配置从机模块的数量, 并且能提高温度采集的及时性和准确性, 为科研实验提供便利工具。

硬件设计

总线式主从机结构框图如图1。

主机我们采用Atmel公司的高性能8位处理器ATMEG128L-8AI, 该芯片具有128k的ISP-FLASH、4k的EEPROM、4k的SRAM, 该芯片容量大、可重复在系统编程、指令丰富并且执行速度快。

主机主要完成以下功能:从机地址识别、与从机的通讯、实时温度显示、按键处理、温度软校准以及从机扩张选择, 主机功能框图如图2。实时温度显示采用19264单色点阵液晶, 该液晶没有背光时仍能正常查看, 只是为了在夜间查看, 我们增加了液晶背光功能。温度软校准功能是为了保证多路温度测量的准确性, 消除系统误差。在实际测量过程中, 很难保证用来测量的不同的温度探头的一致性, 电路结构、探头线长度、以及每个温度传感元件本身的不一致性都最终影响温度测量的准确性。为了方便校准, 我们可利用软件对单个温度探头或全部温度探头进行软件校准。这样尽量减小各个温度探头的不一致而带来的测量差值。为保证主机的可靠工作, 在电路中还增加了处理器监控芯片MAX706, 用来监控电源电压和系统是否正常工作, 否则发出复位信号使系统恢复正常。从机扩展功能主要是用来选择从机模块的数量, 如果从机数量为1, 则在该功能选项中选择“1路采样模块”, 依次类推, 考虑到实际应用过程中对温度探头数量的要求, 本系统中最大的从机模块配置数量为8, 也就是最多可以测量64路温度信号。

主机的按键是行列线组成的2输入4输出结构形式, 采用定时扫描, 利用MCU内部的定时器产生10ms定时中断, CPU响应中断时对键盘进行扫描, 并在有键按下时识别出该键并执行相应的键功能程序。

从机采用A t m e l公司的ATMEG16L-8AI作为处理器, 该芯片具有16k的ISP-FLASH、512B的EEPROM、1k的SRAM, 该芯片同样可以在系统编程, 该芯片具有8路10位A/D转换器, 当采样的基准电压为5V时, 系统的采样精度可达到5毫伏每字, 即基准电压变化5毫伏, 采样的数字量变化1个字。

从机模块主要完成8路温度采样、与主机的通讯、硬件地址编码, 从机功能框图如图3。每个从机模块有个地址编码跳线器, 由硬件完成对该模块的地址编码。这样在扩张时, 将每个模块的地址唯一确定, 不会由于通讯地址的重复造成通讯的不成功。我们采用的RS-485芯片最多可以负载32个从机模块, RS-485芯片采用Maxim公司的MAX483CPA。不同的RS-485芯片, 其负载能力不同, 有的RS-485芯片如MAX487可以带120个负载, MAX1487能够将负载数量扩大到230个。

RS-485串行通讯

在工程实践当中, 多点数据采集系统的网络拓扑一般采用总线方式, 传送数据采用主从机结构的方法。

RS-485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出, 经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线, 又是差分传输, 因此有极强的抗共模干扰的能力, 接收灵敏度也相当高。同时, 最大传输速率和最大传输距离也大大提高。如果以10kb/s速率传输数据时传输距离可达12m, 而用100kb/s时传输距离可达1.2km。如果降低波特率, 传输距离还可进一步提高。本系统的波特率设置为2400b/s。

图1就是用RS-485构成的总线型网络系统, 采用主从方式进行多机通信。主机采用8位微处理器ATMEG128L, 从机采用ATMEG16L。每个从机通过地址编码拥有自己固定的地址, 由主机控制完成网上的每一次通信。图4是MAX485和微处理器的接口电路, A、B为RS-485总线接口, D是发送端, R为接收端, 分别与单片机串行口的TXD、RXD连接, 由于采用半双工通讯, 所以还有收发控制端, MAX485的RE、DE为收发使能端, 由微处理器的PE4 (主机) 、PC5 (从机) 口作为收发控制。该控制口高电平时, MAX485处于发送状态, 将微处理器TXD处的数据经A、B差分送出到RS-485的总线上;当该控制口为低电平时, MAX485处于接受状态, 将RS-485总线上的差分信号转换成TTL电平的信号由R端输出到微处理器的RXD端。当总线上没有信号传输时, 总线处于悬浮状态, 容易受干扰信号的影响。应将总线上差分信号的正端A+和+5V电源间接一个10KΩ电阻;正端A+和负端B-间接一个10KΩ电阻;负端B-和地间接一个10KΩ电阻, 形成一个电阻网络。当总线上没有信号传输时, 正端A+的电平大约为3.2V, 负端B-的电平大约为1.6V, 即使有干扰信号, 却很难产生串行通信的起始信号0, 从而增加了总线抗干扰的能力。

本系统对RS-485串行通讯的应用电路中, 在A和B端预留了上拉电阻、和AB之间的匹配电阻, 但实际使用过程中, 由于通讯距离很短 (10m以内) , 所以匹配电阻并没有焊上, 而是在MAX485和微处理器的TXD和RXD接口处增加了两个10KΩ的上拉电阻。用示波器测量其通讯信号波形时, 发现R2、R3两个上拉电阻接上后, 通讯数据的波形得到了明显的改善, 通讯成功率大大提高。

RS-485通讯需要严格遵循通讯协议, 否则通讯是不会建立起来的。尤其是在主从机采用不同的处理器时, 软件处理一定的仔细查看其说明文件, 不能一视同仁。在本电路的实验过程中, 就发现一个波特率设置的问题。波特率的设置公式如下:

其中BAUD为通讯速率, Fosc为系统时钟频率, U B R R为波特率寄存器UBRRH、UBRRL中的值 (0~4095) 。

波特率的设置公式中用到了微处理器的系统时钟频率Fosc, 我们的主从机虽然都使用了外部4M晶振, 但主机内部将4M频率三分频, 而从机仍然使用4M主频, 软件编写过程中, 将主从机的波特率寄存器初始化值置为一样的, 这样就造成了主从机的波特率相差2倍, 通讯当然是不能成功的。

为了保证通讯成功, 开始时所有从机复位, 即处于监听状态, 等待主机的呼叫。当主机向网上发出某一从机的地址时, 所有从机接收到该地址并与自己的地址相比较。如果相符, 说明主机在呼叫自己, 应发回应答信号, 表示准备好开始接收后面的命令和数据;否则不予理睬, 继续监听呼叫地址。主机收到从机的应答后, 则开始一次通信。通信完毕, 从机继续处于监听状态, 等待呼叫。由于发送和接收共用同一总线。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕, 并且没有其它单机发出应答信号的情况下, 才能应答。接受状态和发送状态的转换是通过方向口高低电平的变化来完成的。

温度采集和显示

从机模块完成的主要功能是8路温度模拟信号的采集和向主机正确的发送这8个采样温度, 本系统中采用温度传感器为AD590。AD590是一个电流型集成温度传感器, 其输出电流正比于绝对温度, 当温度为273开氏度时, 其输出电流为273微安。温度每变化1K (也可以理解为1℃) , 输出电流变化1微安。将电流信号经运算放大器后输出0~5V (参考电压为5V) 的电压信号, 经过ATMEG16L的10位A/D转换后变为数字信号存放在从机的缓存区。当主机发出与该从机相应的地址信号后, 从机应应答并将采样后的数据经RS-485总线送给主机并显示在液晶屏幕上。

从机通过自己的A/D口直接进行模拟量采集比利用多路模拟开关来采集数据要方便的多, 为使采样的温度数据更接近实际值, 我们在软件上增加了一些处理措施, 如求多次采样的平均值、中值滤波等。

为消除一些人为造成的误差, 我们在该主从机中使用了一个开关电源, 这样开关电源电压的波动对所有温度探头的影响是一致的。另外, 所有的温度探头线的长度都保持一致。温度探头线和主从机的通讯线都必须使用屏蔽双绞电缆, 并将屏蔽电缆进行良好接地。特别是在RS-485串行通讯中, 主从机必须共地, 否则严重时会有共模干扰, 导致数据传输出错。

在实际的使用过程中, 为保证数据采集的可靠性, 还必须对每个温度探头进行校准, 一般情况下, 我们将32个或64个温度探头尽量放在一起, 并将其统一放在一个温度比较稳定的老化实验箱中, 稳定2个小时后, 在同一点将所有的探头校准, 并做升温处理观察在升温后各个温度点的探头测量值是否保持一致。否则应在高温段再校准并做降温过程的跟踪观察。

结语

本文介绍了主从机用RS-485串行总线, 完成对多路温度信号的测量。特别介绍了RS-485通讯电路在实际使用中的一些措施。孵化设备多路温度测试仪器正是采用了这些措施, 使得测试过程中通讯稳定, 测量路数配置灵活, 测量数据稳定可靠。

参考文献

[1]马潮.高档8位单片机ATMEG128原理与开发应用指南[M].北京:北京航空航天大学出版社, 2004

[2]MAX483 Datasheet.Maxim, 2009

[3]ATMEG128L、ATMEG16L Datasheet.Maxim, 2009

[4]耿德根, 宋建国, 马潮等.AVR高速嵌入式单片机原理与应用[M].北京:北京航空航天大学出版社, 2004

多路温度测量系统软件设计与应用 篇5

关键词:温度多路循环采样,抗干扰,DS18B20数字温度传感器

1 概述

在现代化工业生产中, 电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中, 人们都需要对各种环境下的温度进行检测和控制。采用MCS-51单片机来对温度进行控制, 不仅具有控制方便、组态简单和灵活性大等优点, 而且可以大幅度提高被控温度的技术指标, 从而能够大大提高产品的质量和数量。因此, 单片机对温度的控制是工业生产中经常会遇到的问题。随着传感器技术的不断向前发展, 各种数字式的传感器应运而生, 有利地推动了检测技术的进步。

相比于传统的温度测量控制系统, 本次设计中的温度参数测试系统不仅精度高, 稳定性好, 而且抗干扰性强, 具有对温度多路循环采样、储存采样温度值和与上位机通信, 实现人机对话功能。对温度的测量采用了DS18B20数字温度传感器, 这不仅简化了硬件电路的设计, 而且提高了测量精度和测量的稳定性, 为了增强设计的实用性, 增加了EEPROM-AT24C02储存温度值模块, 对过去采样的温度值有记忆功能。另外, 由于采用了RS232通信协议实现了人机对话, 能够实现上位机对现场温度的监测。在上位机可随时以表格和图形等直观形式了解温度变化规律。

2 系统监控软件总体设计

根据单片机监控子系统的功能需求分析, 以及监控硬件电路的要求, 设计系统监控软件结构框图如图1所示。该监控系统软件由串口通信、温度采集、温度参数储存、定时中断、7279键盘控制显示软件模块组成。通信软件模块接收系统机的指令并设置执行标志。时钟软件部分为整个系统提供准确的时钟源。温度采集是整个软件系统的重点, 也是本次软件设计的核心, 包括AT24C02对温度值的读/写操作。

对软件的编程必须要对硬件电路的结构非常熟悉, 单片机的P口是怎么分配的, 多路模拟开关CD4067的地址选择端A、B、C、D的连接方式, AT24C02数据传输引脚SDA和时钟输入引脚SCL挂在单片机P口什么地方, 这些都将直接影响软件的编程。

3 单片机内存资源分配

MCS-51内部有128个字节的数据存储器, 其编址为00H-7FH, 这128个字节可分成不同的区域, 即:工作寄存器区, 00H-1FH;位寻址区, 20H-2FH;其对应的位地址范围为00H-7FH;通用RAM区, 30H-7FH, 当位寻址区不作为位空间使用时, 可作为普通内部RAM使用, 和30H-7FH空间一样, MCS-51的所有128字节单元, 即可直接寻址, 也可以寄存器间接寻址。

4 主程序模块

系统启动工作以后, 定时中断开始运行, 每一秒钟将采样温度值向上位机发送一次, 采样好的数据保存在具有掉电保护功能的模块电路中, 数据将储存在EEPROM-AT24C02中。当系统机发来通信命令后, 则下位机按照具体的指令实现和系统机通信与数据传输。

主程序流程图如图2所示, 系统初始化包括:

(1) 设置栈底, 置P口初值;

(2) HD7279工作单元和位标志初始化;

(3) 初始化定时器T0/T1, 指令为:MOV TMOD, #21H;

(4) 初始化定时器T1;

(5) 初始化串行通信口, 串口工作于方式1, 异步通信方式, 波特率4 800;

(6) 对所定义的温度及显示缓冲区进行初始化。

主程序如下:

MAIN1:LCALL JIANSAO (调用键盘扫描程序)

LCALL DISPBCD (调用温度BCD码处理程序)

LCALL TONGXUN (调用串口通信程序)

LCALL JIANCE (调用24C02读/写温度值程序)

LCALL DISP1 (调用显示子程序)

LJMP MAIN1

模块名:GET_TEMPER;入口:READTEMP;出口:温度值。

功能:采集环境温度即检测DS18B20温度, 温度值保存在TEMPL、TEMPH两个单元。这两个单元的数据为温度值的补码, 再经过BCD码的转换将这两个单元的温度值转换为压缩的BCD码并保存在TEMPLC、TEMPHC两个单元中, 以便为转换为非压缩的BCD码并保存到显缓区作准备。

模块名:CONVTEMP;入口:DISPBCD;出口:温度十进制44H、43H, 小数位42H。

功能:将采集好的温度数据转换为十进制。将采集的两字节温度数据 (补码形式) 转换为一个字节的温度数据, 再调二进制转十进制程序将温度转为十进制。并且将所转换好的温度数值保存到显缓区44H、43H、42H单元中。

模块名:SERVE;入口:串口接收中断;出口:无。

功能:串口中断服务程序主要完成接收PC机发到下位机的一串数个字节的指令并作累加和校验, 校验成功后置相应标志位供主程序查询并执行相应操作。串口接收严格按照数据报文的一般格式:头文件、命令号、字节数、数据、尾文件、校验位。

关于串口中断服务程序说明如下:

(1) 下位机:波特率4 800, 数据位8位, 无奇偶效验, 停止位1位。通信方式采用串口中断方式。

(2) 上位机发55、66通信指令后, 在串口中断中对接收的指令进行奇偶校验。校验成功后将上位机发过来的55、66返还给上位机表示通信成功。

(3) PC机发55、66的数据传送指令后, 在串口中断中对指令校验成功后置数据传送标志, 主程序查询到后将所采样的数据通过RS232通信接口送给上位机管理。

模块名:TONGXUN;入口:串口通信标志;出口:无。

功能:完成串口通信。先调用键盘扫描子程序, 有S00键按下的时候将置1串口通信标志位, 这时将向上位机发送温度值。当有S01键按下时, 这时将对串口通信标志位清零, 程序每运行一次都会对串口通信标志位进行判断来决定是否向上位机发送温度值, 而温度值将由定时器T0中断来决定发送频率, 将以每一秒向上位机发送一个温度值。

5 AT24C02温度储存服务程序模块

AT24C02可通过数据线引脚传送数据和时钟线引脚的控制, 方便对温度值进行读/写。但AT24C02的编程对时序的要求非常严格, 不能有半点的差错。对AT24C02的操作分为以下几个步骤:

(1) 时钟及数据传输:SDA引脚通常被外围器件拉高。SDA引脚的数据应在SCL为低时变化;当数据在SCL为高时变化, 将视为一个起始或停止命令。

(2) 起始命令:当SCL为高, SDA由高到低的变化被视为起始命令, 必须以起始命令作为任何一次读/写操作命令的开始。

(3) 停止命令:当SCL为高, SDA由低到高的变化被视为停止命令, 在一个读操作后, 停止命令会使EEPROM进入等待低功耗模式。

(4) 应答:所有的地址和数据字节都是以8位为一组串行输入和输出的。每收到一组8位的数据后, EEPROM都会在第9个时钟周期时返回应答信号。每当主控器件接收到一组8位的数据后, 应当在第9个时钟周期向EEPROM返回一个应答信号。收到该应答信号后, EEPROM会继续输出下一组8位的数据。若此时没有得到主器件的应答信号, EEPROM会停止读出数据, 直到主控器件返回一个停止命令来结束读周期。

(5) 等待模式:24C02特有一个低功耗的等待模式。可以通过下述方法进入该模式:上电 (B) 收到停止位并且结束所有的内部操作后。

6 结语

综上所述, 本系统为一检测系统, 能为用户提供直观的历史温度资料数据查询。从那些温度数据的变化情况, 就可掌握最近一段时间的温度状况, 对以后的温度变化也有一个很好的预测, 大大地增加了在工业现场的实用性。

参考文献

[1]陶树平.数据库系统原理与应用.北京:科学出版社, 2005

[2]张友德, 赵志英, 涂时亮.单片微型机原理、应用与实验.上海:复旦大学出版社, 2003

[3]石东海.单片机数据通信技术从入门到精通.西安:西安电子科技大学出版社, 2002

[4]汤庸.Delphi6程序设计基础教程.北京:冶金工业出版社, 2002

[5]卢文科.电子检测技术.北京:国防工业出版社, 2002

[6]王福瑞.单片微机测控系统设计大全.北京:北京航空航天大学出版社, 1999

多路温度检测 篇6

针对叶片成型模具加热过程中区域划分多且复杂,在注胶固化、温控停止和合模固化过程中对温度的动态以及静态偏差要求严格的特点,设计了基于工控组态软件的多路温度控制系统以实现流程控制,并且满足叶片模具成型的工艺要求。

1 叶片成型模具加热方式介绍与温控系统工艺要求

1.1 叶片成型模具加热方式

在感应加热、红外加热及电阻加热等加热方式中,对叶片模具加热来说,电阻丝加热具有元件经久耐用、维修更换方便、操作简单及成本低廉等优点。电阻丝加热就是在模具的玻璃钢层中预埋加热电阻丝,加热电阻丝铺设在模具加热层(树脂+铝粉)之下。以1.5MW叶片模具为例,模具分为固定模与翻转模两部分,每个部分的加热面积各为90m2,每个模具分别分成6个大区,每个大区按2.5m2分成6个小区,每2.5m2区域单元采用1根长100m的加热电阻丝加热,加热功率大约为645W/m2,每个大区的功率约为9.675kW,模具的总加热功率约为116kW。根据电能转换为模具有效热能的能量原则[4],风机叶片成型模具加热装置功率计算公式为:

式中 W模——一定时间内模具从起始温度升至终止温度的功率;

W1 ——通过模具底面隔热层散失的功率;

W2 ——通过模具外围散失的功率;

W3 ——模具开口缝隙处散失的功率。

1.2 温度控制系统工艺要求

电阻丝加热方式虽然应用较为普遍,但是随着风力机组容量的增长,风力机叶片的尺寸随之增大,兆瓦级大型风力机叶片模具的加热系统具有划分区域多且复杂的特点,在这一背景下,基于电阻丝加热方式的模具加热系统就显得缺乏可靠性,温度不易控制,易出现局部温度过高的现象,因此对于叶片成型模具的温度控制系统就提出了更高的工艺要求。

对于兆瓦级大型风力机叶片模具而言,一般情况下要求模具型腔内加热能力至少为80℃;模具型腔恒温控制精度为±2℃;模具型面温度偏差不大于4℃(指模具温升动态过程)。成型过程的期望温度曲线如图1所示。

2 多路温度控制系统设计

2.1 系统体系结构

由于叶片成型模具是分为多个回路进行加热的,故在一个总控制器用于协调各路加热温度的基础上,每个单回路分别进行各自区域的温度采集以及对温度场的加热、恒温保持与冷却工作。该多路温度控制系统主要具有4个方面的基本功能,即实时控制功能、显示功能、数据处理功能、报警和故障处理功能。根据上述系统的主要功能[5],对该多路温度控制系统的总体结构进行设计,系统总体结构如图2所示。整个温度测控系统的硬件包括:数据采集模块、输出控制模块、热电阻、固态继电器、人机界面及总控制器等。

2.1.1 温度传感与采集

以单区温度测量为例,每个单区的型腔内设置两个测温点,每个单区的控制点温度测量使用两个欧姆龙公司的E52-P10AE型Pt100热电阻,测量的最高温度可以满足温控系统的工艺要求,由于叶片成型模具型腔内测温不导电,故Pt100无需安装绝缘套管。同时,采用Pt100型热电阻测温可以有效避免采用热电偶作为传感器所产生的冷端补偿误差,提高温度测量的精确度。4通道输入模块CJ1W-AD04U进行温度数据采集。

2.1.2 总控制器

该多路温控系统采用欧姆龙公司的CJ1G-CPU45H-P模块型PLC作为总控制器来协调控制所有单回路的温度。该PLC具有内置回路控制功能的CPU单元,可以直接实现多段温度及斜率控制。根据模具温控系统所要实现的功能,用户系统需要对以下内容进行程序开发:动画显示、编制控制策略、输出实时曲线、历史曲线、实时数据、历史数据、操作界面和菜单设计、外部设备连接及运行测试等。

2.1.3 输出控制模块与执行机构

该系统采用16通道输出控制模块CJ1W-OD211通过G3NA-410B型固态继电器分别控制各单区电阻加热丝的通断。G3NA-410B型固态继电器可适用的输出负载为240~480V AC,可以满足系统工作电压的要求。

2.2 流程控制的设计

图3所示为成型过程控制流程。控制系统的实现通过在欧姆龙工控组态软件CX-Programmer上进行应用系统开发来完成。基于组态软件开发的用户应用系统,其结构由主控窗口、设备窗口、用户窗口、实时数据库和运行策略5部分构成。

系统框架在主控窗口中构建。实时数据库是系统的核心,用于管理所有的实时数据。该系统中共建立了136个数据对象,包括4个系统内建数据对象,最多支持66个单回路,共132个温度控制点的实时温度数据和加热冷却的温度控制阀值、开关型的控制参数以及组对象等。这些数据对象根据其实现功能的不同分别被赋予不同的属性。

设备窗口中定义了数据采集模块CJ1W-AD04U和输出控制模块CJ1W-OD211,数据采集模块的4个通道分别与温度控制点实时温度数据连接,输出控制模块的16通道与加热及冷却的开关型控制参数相连接。

用户窗口用于实现数据与流程的可视化。主界面显示当前的温度值、设定的模具型腔恒温控制精度,模具型面温度偏差以及当前的控制状态;设计了曲线显示窗口,分别显示每个温度控制点和组对象的实时曲线和历史曲线;温度控制点设置和温度运行控制窗口通过HMI的实时显示后可以供操作员手动进行各通道的加热升温、冷却降温、恒温保持、启动及停止等一系列动作。

2.3 控制算法

由于对所有单回路都要实时保持着准确的测量、PID控制和良好的人机对话接口,所以必需要有一套合理的控制算法。对于图3中所示的控制流程通过定义相应的运行策略来实现。对于每一路的电阻丝加热或冷却进行单独控制的时间循环通过设计如下的循环策略并编写脚本程序实现:当控制点初始温度小于所处阶段的加热阀值时,启动加热;当实测温度值达到该阶段的加热阀值时,相应的固态继电器断开,停止加热。模具的保温主要通过运行报警策略控制电阻加热丝的开关得以实现。

与此同时,为了增加加热速率,只需要在设定温度值一定范围内调节占空比,其中0态表示一直加热,2态表示一直冷却,1态则由中断控制完成,所以必须存在一个判别标志位R。对于某一路而言,在一个处于1态的周期中,可能这个周期它是在1态,而下个周期就不在,其控制操作是相对独立的,与其它单回路没有相互干扰,控制误差也只是在一个周期T以内,这就保证了对所有单回路进行控制操作的实时性。1态对应中断程序的控制算法主流程如图4所示。

由图4可知,若T加1后等于循环周期,则T重新置0,并且对各路加热时间重新赋值,当T加1后不等于循环周期时,则直接判别标志位R的值。若R的值为0,则调入相应的控制参数,计算占空比,最后判断加热时间以决定对该单回路置0态或置2态。若R的值为1,则表明该回路处于恒温保持状态,中断程序直接扫描下一单回路的所在状态。待所有单回路扫描完毕后,中断程序自行结束。同时,由于PID只能输出MV值,即0~100%的模拟量信号,在控制系统中使用了CJ1G-CPU45H-P模块型PLC的TPO指令作为占空比计算工具,即可将对应的MV值转换为开关量的开关ON/OFF状态,从而实现了对执行机构的控制。

2.4 控制精度分析

对于实时温度测量传感器而言,本温控系统采用的E52-P10AE型Pt100精确度属于B级,它的测量温度误差Δt=±(0.3+5×10-3t),因此其测温误差足以满足±0.7℃的温度测量误差要求。同时由于系统设计的中断控制程序能够保证对所有单回路进行控制操作的实时性,所以可以满足叶片模具成型过程中各分区型腔内对温度±2℃的静态偏差要求以及模具型面温升过程中不大于4℃的动态偏差要求。

占空比系数是根据测量值与设定值的偏差大小、加热速率确定的,偏差越大,占空比越大,加热时间就越长[6]。待下次测量值出现,重新调节占空比,直到达到恒温阶段,这个时候系统的加热/冷却达到平衡。若恒温过程中出现干扰,如环境突然的变化破坏了恒温阶段平衡,此时系统会自动地调节占空比,使之重新达到平衡。

周期T选得过大或过小,均影响热惯性和加热/冷却平衡,从而不容易保证控制精度,所有单回路大周期的测量循环的时间一般为20nms(n为所分单回路的路数),在实验中测得T选择100~200ms比较合适。

3 结束语

所设计的风电叶片成型模具多路温度控制系统,结构稳定、成本低廉且安全可靠。以模块型PLC及相应外围元件构成硬件环境,以PID为基本控制算法的支持软件,对多路温度的测量、流程控制与控制算法进行了有效的设计,保证了测量、控制的实时性,不会因为路数过多而影响控制精度,可以有效解决温升与恒温过程中各区之间温度不均匀的问题。分析结果表明,该系统可以满足对叶片成型模具多路温度的控制要求,在相关领域具有良好的应用前景。

参考文献

[1]冯消冰,王伟.1.5MW风机叶片模具加热工艺研究与技术创新[J].玻璃钢/复合材料,2010,(3):66~68.

[2]陆宁云,刁英湖,杨毅等.注塑成型过程温度启动过渡状态的性能监测与故障诊断[J].化工自动化及仪表,2010,37(5):47~49.

[3]孟彦京,金璐.PLC软冗余技术在风力发电系统中的应用[J].化工自动化及仪表,2010,37(10):109~111.

[4]唐全波,伍太宾.等温成形模具的加热系统设计[J].金属铸锻焊技术,2008,37(3):34~36.

[5]游东东,李文芳,邵明.主动式模具温控方法在凝固成形中的应用[J].中国有色金属学报,2009,19(8):1437~1442.

多路温度检测 篇7

随着电子技术的飞速发展和超大规模集成电路设计以及制造工艺的进一步提高, 单片机技术已被被广泛的运用到国防、工业、农业及日常生活中的各个领域。单片机的应用正在不断地走向深入, 同时带动传统控制检测日新月异更新。采用MCS-51单片机来对温度进行控制, 不仅具有控制方便、组态简单和灵活性大等优点, 而且可以大幅度提高被控温度的技术指标, 从而能够大大提高产品的质量和数量。

2 工作原理及系统结构

用单片机系统对温度进行实时采集与控制, 即用温度传感器AD590对外界温度进行实时采集, 采集回来的实际温度与设定的两个温度进行比较来控制风扇和加热器的工作, 同时要在数码管上显示出温度。而且我们可以通过按键随意的设定两个温度值 (在0℃—99℃) 。主要解决的是要对传感器AD590采集回来电流信号首先要转换为电压信号接着要对它进行调理, 调理后的模拟量要通过A/D转换TLC2543转换为数字信号再送给单片机处理。

系统的结构框图如图1所示:

3 系统硬件设计

3.1 电压基准电路

由于模数转换需要的参考电压VREF比较精确, 一般的稳压电源可能无法满足要求, 故采用TL431精密稳压源来提供, 如图2所示, 调整电位器R5可获得2.5V——5V的输出电压VREF。经过运放组成的二倍放大器为AD590提供电压基准, 这样做可抵消一部分TL431因为温漂带来的误差。

3.2 电压调理电路

温度测量部分采用集成温度传感器AD590。它的非线性为0.8℃, 测温精度为0.3℃, 其测温重复性优于0.1℃。预算放大器用OP07超低漂移高精度运算, 其共模抑制比达120dB, 增益达104 dB, 温漂仅为0.7Mv/℃, 并且还具有小偏置电流, 失调电流等特性, 对于保证小信号的低噪音起到决定性的作用。经过调整的采集信号送给A/D转换器进行A/D转换后由单片机进行处理。

AD590的输出电流凯式温度 (°K) 成正比, 0°K时输出0A, 每°K电流增加1微安。简单实用的AD590接口是串接一个10KΩ电阻再接地, 即可产生10* (273.2+T℃) 毫伏, 这个电压先经一个运算放大器所组成的缓冲器, 以避免负载效应。当0℃时, VA=10*273.2mV=2.732V、100℃时, VA=10*3.732mV=3.732V, 不是很人性化, 如果将VA减去2.732, 则0℃时VA为0V、100℃时VA为1V, 温度每增加1℃, VA增加0.01V, 这样比较容易被接受!我们利用一个运算放大器构成减法器, 以进行减法功能。用数字万用表测VB, 调整电位器VR56, 让VB为1.366V, 则VC=- (VA-2.732) 。在使用TLC2543将此电压转换成数字信号时, 若TLC2543的参考电压为5V的话, 其Vlsb为50mV, 则还需将VC再放大-5倍, 使温度增加1℃时, VC增加0.05V, 如图3所示。

3.3 风扇驱动电路

风扇驱动电路前级采用用光电耦合器进行强弱电路隔离, 有效的降低了后级强电流对前级控制系统的干扰。后级采用两级放大电路, 以满足功率要求, 如图4所示。

3.4 加热驱动电路

加热驱动电路采用了光电耦合器件和大功率场效应管组成的固态继电器, 可达到无触点无火花地接通和断开电路的目的, 如图5所示。

前级采用光电耦合器进行强弱电路隔离, 有效的降低了后级强电流对前级控制系统的干扰。后级我们使用了动态内阻小, 功耗低的N沟道MOSFET管, IRF3710极限ID为40A, 完全能够满足条件。

3.5 显示电路

同时使用多个7段LED数码管时, 可采用扫描式显示, 即将每个7段LED数码管的a, b, c, d, e, f, g都连接在一起, 再使用7448及74LS49输出高电平来推动共阴极7段LED数码管晶体管分别驱动每个7段LED数码管的共同引脚com, 如图6所示。

4 结语

本文讨论了基于单片机的多路温度控制器硬件设计方案, 由单片机系统对温度进行实时采集与控制, 将实际温度与设定的两个温度进行比较来控制风扇和加热器的工作。本文重点介绍了多路温度控制的整体框架结构、硬件组成和电路设计。

参考文献

[1]彭秋红, 沈占彬.基于单片机温度控制系统的硬件设计[J].机电产品开发与创新, 2009, 23 (5) .

[2]彭为, 黄科, 雷道仲.单片机典型系统设计实例精解[M].电子工业出版社, 2005.

[3]李晓伟, 郑小兵, 周磊等.基于单片机的精密温控系统设计[J].微计算机信息, 2007.32.

多路温度检测 篇8

在实时温度监控系统中,如大棚温度监控、冷库测温、智能建筑温度控制等系统中,经常需要进行多路温度的采集和检测。快速、可靠地采集到高精度温度数据可为控制系统的工作提供可靠的依据。传统上,温度测量方法多以热敏电阻、热电偶等为温度敏感元件,但都存在可靠性差、精度低、需A/D转换以及线路复杂等的缺点。本文提出采用美国Dallas公司生产的单总线数字温度传感器DS18B20和AT89C51单片机构成高精度的多路温度监测系统,在单片机的控制下巡回监测多路温度,高低温度超限报警,并可实现与上位机通讯等功能。

1 DS18B20简介

DSl8B20是Dallas公司推出的1-Wire式单总线智能数字温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,温度测量范围为-55~125℃;可通过编程实现9~12位的转换精度,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃和0.062 5℃,可满足高精度设计要求;在9位分辨率时最多在93.75 ms内把温度转换为数字,12位分辨率时最多在750 ms内把温度值转换为数字;电源供电范围3.0~5.5 V;读取或写入信息到DS18B20仅需要单总线接口(即将地址线、数据线、控制线合成一条信号线);测量结果直接输出数字温度信号,串行传送给CPU同时可传送CRC校验码,具有极强的抗干扰纠错能力;使用DS18B20可使系统结构简洁,可靠性更高。以上特性使得DSl8B20非常适用于构建高精度的多路温度采集与检测系统[1]。

2 硬件电路设计

系统原理框图如图1所示,系统由多片DS18B20、AT89C51单片机、LED驱动显示电路、温度上下限设定电路、报警提示电路、串行通信接口、时钟电路、复位电路等构成。

系统采用8片DS18B20构成温度采集电路,8片DS18B20采用单总线与并行输入相结合的方式接至单片机的P1口。单片机巡回采集各路DS18B20送来的温度信息后,通过软件设计算法,将处理后的温度信息及相应的温度路数通过LED数码管显示出来,各路温度值的上下限可通过P3.2~P3.4独立式键盘进行设定。若某路超过温度设定的上下限将进行通过P3.5或P3.6进行报警提示。此外,可通过串行口RS 232模块将各路温度数据送上位机处理。系统采用Proteus仿真软件设计的仿真电路如图2所示,此时LED显示的是第3路温度值。

2.1 测温电路设计

采用8片DS18B20组成多路测温电路。DS18B20内部均有一个全球惟一的64位产品序列号,单片机通过序列号可对一条总线上的多路DS18B20进行控制,读取其温度。但DS18B20仅由单总线采集多路温度数据时,软件设计算法复杂[2],读取速度慢,无法适用于实时性要求高的测温场合。特别是当单总线上挂接的DS18B20传感器个数大于8个时,采用寄生电源供电方式亦存在总线驱动能力不足等问题[3]。为此,本设计采用“单总线结构+并行I/O口输入”相结合的方式,实时巡回采集多路DS18B20的温度信息。具体做法是:硬件上将8片DS18B20的单总线分别连到单片机的并行P1口引脚,同时各片DS18B20的电源端采用外部电源供电方式,且每个单总线另接一个4.7 kΩ的上拉电阻到5 V电源以保证达到足够的工作电流;软件上读取多路温度与读取单路温度的操作类似,不需读取读出所用DS18B20的序列号,而只需通过参数传递来循环读取各路温度数据(软件设计中介绍)。

2.2 键盘与LED显示电路设计

LED显示电路设计:P0口输出显示代码经74LS245驱动后接到8位LED数码管的段选线,P2口输出接到LED的位选线。正常情况下,8位LED数码管用于循环显示通道号及该通道的温度值。

键盘输入设计:采用独立式键盘P3.2~P3.4用来修改温度报警的上限与下限值。系统默认的温度报警上限为50℃,下限为-10℃。系统上电后,LED数码管将先后显示温度报警上/下限值。若按P3.2键报警值加1;若按P3.3键报警值减1;P3.4为确定键,用于保存修改值。

此外,当系统检测到当前通道温度值超过设定的上、下限时,将通过P3.6,P3.7进行闪光报警提示。

2.3 串行通信设计

检测系统可通过串行口与上位机进行通信,向上位机传送温度值及相应的通道号。实物中通过RS 232串行接口与上位机连接,上位机的控制界面由VB 6.0编写。当运行Proteus软件时,可以从虚拟终端看到上位机接收到的8个通道的温度数据及相应的通道号。

3 软件设计

3.1 软件总体设计

如图3所示,系统上电复位后,程序主要包括:

(1)系统初始化设置。

(2)按键处理子程序:LED数码管显示上限报警温度值并闪烁,若10 s中之内有按键输入修改温度值,则进行键盘操作直至修改完成,并保存温度上限值;若10 s之内无按键输入或按P3.4“确定”键,则保存上限温度;接着显示下限报警温度值并闪烁,重复上述操作后保存下限报警温度值。

(3)温度报警值设置子程序:实现将8路的报警温度写入DS18B20中,流程图详见图4所示。

(4)读取温度子程序:在对显示路数初始化后,进行温度值读取,这是软件设计的关键,下面将单独介绍。

(5)温度报警处理:读取某路DS18B20温度值及报警上下限值后,进行比较,若超出范围则启动定时器0,驱动上/下限报警提示单元。

(6)显示当前通道温度子程序:取得当前通道号后,根据读取的2字节温度值(温度暂存器格式参考DS18B20技术手册),判断其符号位并分别读取其整数部分和小数部分,通过运算后保存到显示缓冲区,进行动态显示,并刷新显示若干时间。

(7)上位机通信子程序:每采集一路温度数据,通过RS 232串口,将其通道号、温度值发送给上位机,完成相应通道的温度数据采集处理。

(8)循环修改:修改通道号,进行下一路温度数据采集,直至8路温度处理完成,如此循环往复。

3.2 读取温度子程序设计

采用DS18B20进行单路测量时,可直接与单片机相连,不需读取读出器件的64位产品序列号。当采用DS18B20进行多路测温时,在初始化操作后,通常的做法是需要在线逐个地搜索64位ROM编码以确认各个DS18B20所在位置[4],并需对ROM编码进行冗余校验[5],算法设计复杂。且等待多路搜索是否完成需要消耗大量的时间,使程序执行的效率和系统实时性受到了影响。

本设计采用“单总线结构+并行I/O口输入”结合的方式巡回读取多路温度。DS18B20作为单总线芯片,进行信息交换时有严格的读/写时序要求。读取温度子程序流程如图5所示。首先通过参数传递将通道号传给读取温度子程序,接着对DS18B20进行初始化,然后直接执行跳过ROM命令(CCH),即不读取64位ROM编码而直接向DS18B20发出功能命令,节约了时间。之后,再向DS18B20发送温度转换命令(44H),DS18B20启动温度采样与A/D转换,并将转换数据存储在暂存器中。然后再次初始化DS18B20,并在再一次跳过ROM命令后,执行单片机读暂存器命令(BEH),根据传递参数确定的通道号,可将通道号对应的DS18B20高速暂存存储器的9个字节数据读入单片机中,其中第0,1字节分别是温度值低位(LS byte)和高位(MS byte),第2,3字节分别是高温限值(TH)和低温限值(TL),从而完成某通道DS18B20的温度采集。

3.3 软件设计流程

软件设计流程如图4,图5所示。

4 Keil C51与Proteus联合仿真

软件采用C语言编程,在Keil C51集成开发环境下将编写的程序进行编译、调试[6],并生成目标文件(XX.hex)。同时利用嵌入式仿真软件Proteus绘制出电路仿真原理图,CPU选择AT89C51。双击AT89C51,在出现的对话框中的“Program file”加入已生成的XX.hex文件,并进行仿真调试,调试成功则可以修改温度报警值,及在正常运行时看到循环显示所采集到的温度值、通道号,仿真效果图如图6所示。

5 结语

本设计以Proteus仿真软件作为开发工具,以AT89C51单片机作为控制核心,使用DS18B20芯片作为温度传感器,加上适当的外围电路,组成了多路温度巡回监测系统。与传统温度传感器相比,可直接输出数字信号而不必考虑A/D转换问题,抗干扰能力与可靠性大大提升。同时,采用单总线与多路并行输入相结合的方法,克服了DS18B20传统上采用单总线结构时所存在的问题,实现多路温度实时读取、巡回监测、与上位机通信等功能,且系统具有结构简洁、精度高、适应性强、维护方便等优点,在多路温度采集与监测领域中有很好的实用价值。

参考文献

[1]周茂霞.DS18B20多点温度检测报警系统的设计与实现[J].山东师范大学学报:自然科学版,2009,24(2):66-68.

[2]蒋鸿宇,王勇,植涌.由DS18B20构成的多点温度测量系统[J].单片机与嵌入式系统应用,2007(1):59-61.

[3]俞绍安.数字温度传感器DS18B20在卫星电源系统中的应用[J].电子元器件应用,2007(8):1-3.

[4]潘勇,孟庆斌.基于DS18B20的多点温度测量系统设计[J].电子测量技术,2008,31(9):91-93.

[5]韩成浩,李柏峰,高晓红.单总线温度传感器的实用技术及冗余校验[J].制造业自动化,2009,31(9):65-68.

[6]彭伟.单片机C语言程序设计实训100例:基于8051+Proteus仿真[M].北京:电子工业出版社,2009.

上一篇:湖南澧县下一篇:资源认知