温度数据采集系统设计

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

温度数据采集系统论文
目录
一、问题的提出
二、系统功能分析
三、硬件设计
1、单片机
2、温度传感器
3、压力传感器
4、程控放大器
5、多路模拟开关
6、A/D转换器
7、三态缓冲器
8、LED显示数码管
9、简易键盘
10、声光报警器
11、总电路图
四、软件设计
1.程序流程图
2.程序设计
五、结论
一、问题提出
设计一个以单片机为核心的数据采集系统对温度、压力等参数进行实时采集与处理
性能指标:
1)温度:0℃-120℃,超范围时声光报警。

2)温度检测精度:0.5℃
3) 压力检测范围:0Pa—3.92×10^5Pa;
4)压力检测精度:±1.96×10^3Pa
5)用9位LED显示数值,其中4位显示温度值(3位整数,1位小数),1位显示温度代号T,1位显示压力代号,3位显示压力值
6)每分钟检测一次
7)A/D转换器(不带三态缓冲)
二、系统功能分析
本系统为温度压力数据采集系统。

系统需求功能如下:
1)温度测量范围为0℃-120℃,压力测量范围为0Pa—3.92
×10^5Pa
2)温度测量精度0.5℃,压力测量精度为±1.96×10^3Pa
3)每分钟采样一次
4)超温度范围或压力范围时以声、光的方式发生报警信号
5)有简单的键盘功能和数码显示功能
6)其他功能
三、硬件选择与设计
1、单片机:(选用AT89C52)
AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

主要特性:
·兼容MCS51指令系统· 8k可反复擦写(>1000次)Flash ROM
· 32个双向I/O口· 256x8bit内部RAM
· 3个16位可编程定时/计数器中断·时钟频率0-24MHz
· 2个串行中断·可编程UART串行通道
· 2个外部中断源·共6个中断源
· 2个读写中断口线· 3级加密位
·低功耗空闲和掉电模式·软件设置睡眠和唤醒功能
概述:AT89C52P为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚
调整时的功能控制。

功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。

主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。

RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。

VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。

P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

P0 口
P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写―1‖时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1 口
P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。

对端口写―1‖,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),
参见表1。

Flash 编程和程序校验期间,P1 接收低8 位地址。

表.P1.0和P1.1的第二功能
引脚号功能特性
P1.0 T2,时钟输出
P1.1 T2EX(定时/计数器2)
P2 口
P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。

对端口P2 写―1‖,通过内部的上拉电阻
把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据。

在访问8 位地址的外部数据存储器(如执行MOVX @RI 指令)时,P2 口输出P2 锁存器的内容。

Flash 编程或校验时,P2亦接收高位地址和一些控制信号。

P3 口
P3 口是一组带有内部上拉电阻的8 位双向I/O 口。

P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。

对P3 口写入―1‖时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。

P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能
P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。

RST
复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。

一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。

对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。

该位置位后,只有一条
MOVX 和MOVC指令才能将ALE 激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。

PSEN
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP
外部访问允许。

欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。

需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。

Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。

XTAL1
振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2
振荡器反相放大器的输出端。

AT89C52单片机引脚图:
2、温度传感器
由于所测温度和压力都很低,可选用热敏电阻和电阻应变片做传感器,但须配置信号放
大器并设定两成温度为125℃,满量程压力为5kg/cm^2.因为在满量程范围内,如选用8位的A/D转换器,其测温精度为0.49℃,测温精度为0.0196kg/cm^2,因此既满足了系统所要
求的测温精度和测压精度,又有利于监督硬件的成本和超限的监视。

根据我们系统功能需要,通过网上查阅资料,我们选择了TSC-8000系列温度传感器。

TSC-8000系列温度传感器简介:
TSC-8000系列温度传感器采用NTC热敏电阻为感温元件,经精密的封装工艺生产而成。

具有灵敏度高、稳定性强、耐腐蚀、寿命长、安装方便等优点。

适用于任何高、低温及潮湿等恶劣环境。

该温度传感器能迅速准确地检测空气和水的温度,并把信号传送至控制系统,达到准确控制水和空气温度的目的。

产品特点:
感应元件:进口NTC温度感应元件
操作范围:0至+120℃
末端箱盒最高可耐温度:70℃
末端箱盒材料:高强度阻燃PA工程塑料
安装方式:螺纹接头,插入式
接线端子材料:阻燃PA工程塑料
保护等级:IP54
杆管材料:黄铜(表面镀镍)
由于该系列传感器灵敏度极高,必须把传感器安装于最理想的位置,以达至最佳效果。

建议连线长度不超过50米。

并在安装时保证传感器末端不与任何物体接触以免造成感应器的损坏或工作不正常
下图为TSC-8000系列温度传感器实物图:
3、压力传感器
压力传感器我们选择了NPI-19压力传感器芯体。

附上实物图:
详细说明:
类型:绝压,密封表压
量程:0~100,200,350,700,1700,2000KPa
非线性:±0.1%
输出:0~100mV
供电电源:1.0mA,最大1.5mA
工作温度:-40℃~125℃(补偿温度:0℃~70℃)
电气连接:导线、焊盘、导线带、导柱
特点:O形圈密封结构,多种标准螺纹压力接口
很多压力传感器符合压力测量范围却往往无法满足本系统的在0℃-120℃读温度工作范围,这也是我们选择这个传感器的原因.
4、多路模拟开关
对于多路模拟开关我们选择了书上介绍的AD7502,它采用了16脚双列直插式封装,脚14和15分别接±15V电源,脚2(GND)接地。

脚12为1~4输入通道的输出(OUT)端。

脚4为5~8输入通道的输出(OUT)端。

AD7502是一种双4通道多路开关芯片,依据两位二进制地址线(A0,A1)及选通端(EN)的状态来选择8路输入的两路,分别与两个输出端相接通。

下表是AD7502的真值表。

A1 A0 EN 接通通道
0 0 1 1和5
0 1 1 2和6
1 0 1 3和7
1 1 1 4和8
* * 1 无
5、程控放大器
对于程控放大器我们选择的类型为前置式电压放大器。

主要是因为:1、前置放大器可以将压电式传感器的微弱信号放大;2、将传感器的高阻抗输出变为低阻抗输出。

同时电压放大器相比电荷放大器而言,电路简单,元件少,价格便宜,工作可靠。

以下是程控放大器简图:
6、A/D转换器(不带三态缓冲)
由于所测温度和压力都很低,可选用热敏电阻和电阻应变片做传感器,但须配置信号放大器并设定两成温度为125℃,满量程压力为5kg/cm^2.因为在满量程范围内,如选用8位的A/D转换器,其测温精度为0.49℃,测温精度为0.0196kg/cm^2,因此既满足了系统所要求的测温精度和测压精度,又有利于监督硬件的成本和超限的监视。

经网络查询:AD570为8位的不带三态缓冲A/D转换器
电源电压:+V=+5V,-V=-15V。

具有参考电流和时钟,快速逐次逼近转换时间为25us,需将TTL逻辑输入端与引脚1和18相连,否则有可能损坏芯片。

以下是AD570的一些数据:
AD570–SPECIFICATIONS (TA = +258C, V+ = +5 V, V– = –12 V or –15 V, all voltages measured with respect to digital common, unless otherwise noted) Model AD570J AD570S Units
Min Typ Max Min Typ Max
RESOLUTION18 8 Bits
RELATIVE ACCURACY LSB
TMIN to TMAX±1/2 ±1/2 LSB
FULL-SCALE CALIBRATION± 2 ± 2 LSB
UNIPOLAR OFFSET ±1/2 ±1/2 LSB
BIPOLAR OFFSET ±1/2 ±1/2 LSB
DIFFERENTIAL NONLINEAIRTY
TMIN to TMAX8 8 Bits
TEMPERATURE RANGE0~+70 –55~+125 ︒C
TEMPERATURE COEFFICIENTS
Unipolar Offset ±1 ±1 LSB
Bipolar Offset ±1 ±1 LSB
Full-Scale Calibration ±2 ±2 LSB
POWER SUPPLY REJECTION
TTL Positive Supply
+4.5 V £ V + £ +5.5 V ±2 ±2 LSB
Negative Supply
–16.0 V £ V – £–13.5 V ±2 ±2 LSB
ANALOG INPUT IMPEDANCE 3.0 5.0 7.0 3.0 5.0 7.0 kΩ
ANALOG INPUT RANGES
Unipolar 0 ~+10 0 ~+10 V
Bipolar –5~+5 –5 ~+5 V
OUTPUT CODING
Unipolar Positive True Binary Positive True Binary
Bipolar Positive True Offset Binary Positive True Offset Binary
LOGIC OUTPUT
Output Sink Current
(VOUT = 0.4 V max, TMIN to TMAX)3.2 3.2 mA
Output Source Current
(VOUT = 2.4 V max, TMIN to TMAX) 0.5 0.5 mA
Output Leakage ±40 ±40 μA
LOGIC INPUTS
Input Current ±100 ±100 μA
Logic “1” 2.0 2.0 V
Logic “0” 0.8 0.8 V
CONVERSION TIME 15 25 40 15 25 40 μs
POWER SUPPLY
V+ +4.5 +5.0 +7.0 +4.5 +5.0 +7.0 V
V––12.0 –15 –16.5 –12.0 –15 –16.5 V
OPERATING CURRENT
V+ 7 10 7 10 mA
V–9 15 9 15 mA
PACKAGE OPTION2
Ceramic DIP (D-18)AD570JD AD570SD
NOTES
1The AD570 is a selected version of the AD571 10-bit A-to-D converter. Only TTL logic inputs should be connected to Pins 1 and 18 (or no connection made) or
damage may result.
2For details on grade package offerings for SD-grade in accorance with MIL-STD-883, refer to Analog Devices’ Military Products databook or current /883 data sheet.
Specifications subject to change without notice.
Specifications shown in boldface are tested on all production units at final electrical test. Results from those tests are used to calculate outgoing quality levels. All min
and max specifications are guaranteed, although only those shown in boldface are tested on all
production units.
从上表中可以看出,AD570SD的工作温度范围为–55~+125 °C,符合我们此次温度测量的范围,所以AD570SD是我们最终的选择。

下图为AD570的引脚示意图:
7、三态缓冲器
由于本系统要求A/D转换器不带三态缓冲,所以要另外单独加一个三态缓冲器,经过资料查询,我们小组选定了54LS245型号的三态缓冲器。

54LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。

54LS245还具有双向三态功能,既可以输出,也可以输入数据。

*当片选端/CE低电平有效时,DIR=―0‖,信号由B 向A 传输;(接收)*DIR=―1‖,信号由A 向B 传输;(发送)当/CE为高电平时,A、B均为高阻态。

以下是此缓冲器的一些数据信息:
下面是我们小组用protel做的54LS245的引脚图
8、LED数码显示管
由于本系统测温有小数位,所以选用8段数码管采用共阳极接法。

有小数点的那个LED数码管,dp接地。

由于本系统要接9个LED数码管,如果用静态连接,每一个数码管度必须单独链接在一个I/O端口,这样会造成元器件的增多,不利于成本,也复杂了电路。

所以我们选用动态显示方法,动态显示有以下优点:
节省单片机资源,只用8条引线可以驱动任意多个数码管
耗电量小,因为数码管轮流导通,所以平均耗电只等于是用一个静态数码管
所使用分离元件少,数码管越多这个有点越明显
但在这个动态显示中,不能同时打开作为开关的三极管PNP,即始终有一个数码管打开,其余都处于关闭状态,但人类有一个视觉延时效应所以这里要加一个锁存装置,把数据锁存起来。

9、简易键盘
键盘我们选用行列式
我们使用的是3线16建行列式排键盘,因为系统不是很复杂,所以只需要使用其中部分按键,并且我们根据需要,预设了几个按键的功能。

如下表
编号K01 K02 K03 K12 K13 K21 K23 K31
预设功能复位开始停止测温度测压力测温度
和压力
查询上
次结果
清除
编号K32 K023 K012
预设功能停止报警存储数
据开始
存储数
据结束
10、声光报警器
下面是我们设计的声光报警器,主要应用了555集成定时器
11、最终电路图
由于protel地方有限,有些元器件和功能都没有画上去,有些线也没有画。

在此做一下简单说明:由传感器采集信息后输送到多路模拟开关,因为我们选择的是AD7502,可以同时接受温度和压力信号并输出,所以有很好的实时性,再经过程控放大器送到AD转换器,经三态缓存送入单片机,由单片机进行处理和运算,最终输出并由数码管的方式显示,同时有声光报警器检测是否超范围,并有简易小键盘做适当的控制(复位等)。

四、软件部分
本系统主要分为以下几个程序:
(1)主程序
开始——显示器打开,报警灯灭——进行初始化——等待中断指令(2)定时中断子程序
定时中断程序开始——一分钟时间到——定时开、关——调用温度压力检测子程序——调用标度转换程序——显示温度压力值(3)温度/压力控制程序
温度/压力控制开始——测量——实测值与上下限值比较——在上下限范围内就开绿灯,否则亮警示灯及发出报警声——返回(4)键盘子程序
键盘子程序开始——键扫描——有键在动作,进入键程序进行键处理,若无重新开始扫描,一直重复
五小结
通过本次课题,我们得到了很多课堂上学不到的知识,不仅仅是书面的,还有很多实践方面的知识。

通过查找资料,互相讨论,翻阅课本,求助同学,我们对数据采集系统又有了很多认识,我们将理论层面上的东西应用到了实践中去,真正做到了学以致用,而且更加深入的了解了各个组成部分的作用,一开始的时候由于知识的匮乏,很多东西出现的问题,后来经过试验,讨论,终于攻克了难关。

通过这次课题,我们要谢谢老师给我们这次机会,增强了我们对自动检测这门学科的兴趣,并且能够共同合作的完成一项课题,给了我们不少的锻炼,我相信,经过这次的课题,我们的专业水平会有一个质的提高,我们会更加努力,做到学以致用。

相关文档
最新文档