《多路温度检测系统》
设计报告
一统整体设计
多路温度检测系统以8051单片机系统为核心,能对多点的温度进行实时控制巡检。各检测单元(从机能独立完成各自功能,根据主控机的指令对温度进行实时或定时采集,测量结果不仅能在本地储存、显示,而且可以利用单片机串行口,通过RS-485总线及通信协议将将采集的数据传送到主控机,进行进一步的分析、存档、处理和研究。主控机负责控制指令发送,控制各个从机进行温度采集,收集测量数据,并对测量结果(包括历史数据进行整理、显示和打印。主控机与各从机之间能够相互联系、相互协调,从而达到了系统整体统一、和谐的控制效果。系统框图如下:
温度测点1温度测点2温度测点3温度测点4丛机1
丛机2
丛机3
丛机4
4
8
5
通
讯
电
缆主
控
机
键盘
显示器
打印机图1 系统框图
声光报警
本系统的特点是:
?具有实时检测功能,能够同时检测4路温度,检测温度范围0℃~400℃;
?使用12位AD转换,采用过采样和工频周期求均值技术,分辨率达到16位,检测温度变化最小值达到0.007℃;
?使用RS-485串行总线进行传输,MAX485驱动芯片进行电平转换,传送距离大于1200m,抗干扰能力强;
?可由主控机统一设置系统时间和温度修正值;
?可由主控机分别设置各从机的温度报警上下限,主机、从机均具有声光报警功能;
?具有定时、整点收集各从机数据功能,使用I2C串行E2PROM,可保存各从机以往24小时的数据,具有数据更新
与掉电保护功能;
?具有数据分析功能,能显示各从机以往24小时的温度变化曲线与平均值;
?从机可显示当前温度、时间、报警阈值等信息;
?从机之间可通过主机中转进行通信,根据用户需要观察其他从机实时温度值;
?主从机均采用中文点阵式液晶显示器,人机界面友好;
?具有打印功能;
?自制了主控机和从机所使用的直流稳压电源。
二、各模块方案论证与设计
2.1检测单元(从机
检测单元(从机主要负责温度信号的实时采样,并根据主控机传送过来的命令进行系统设置(包括温度修正值设定、报警阈值设定和系统时间设定。框图如下:
温度测点1传感器
8051
单
片
机
ADC
液晶显示
RS—485
接口电路
声光报警
主控机图2 从机系统框图
从机需要重点解决的问题有两个,一是选择好传感器,尽量减小误差,二是提高检测分辨率和测量精度。
2.1.1 温度信号的获取与放大
题目要求检测温度范围0℃~400℃,可选用的常用温度传感器有集成温度传感器、热电偶、热电阻等。
集成温度传感器(如AD590、DS1820等使用方便,信号易于调理,但它们的测温范围普遍窄,一般在200℃以下,不能满足题目要求。
热电偶是工业上最常用的温度检测元件之一,其优点是测量精度高、测量范围广,常用的热电偶从-50℃至+1600℃均可连续测量。但需采用电路或软件设计等修正方法来补偿冷端温度t0≠0℃时对测温的影响,使用不便。
热电阻也是最常用的一种温度传感器。它的主要特点是测量精度高,性能稳定,使用方便,测量范围为-200℃~600℃,完全达到题目要求,考虑到铂电阻的测量精确度是最高的,所以我们最终选择铂电阻PT100作为传感器。
热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。所以通常将其放在电桥桥臂上,温度变化时,热电阻两端的电压信号被送到仪器放大器AD620的输入端,经过仪器放大器放大后的电压输出送给A/D 转换芯片,从而把热电阻的阻值转换成数字量。电路原理图如图3所示。
对信号放大,我们使用了低价格、高精度的仪器放大器AD620,它运用方便,可以通过外接电阻方便的进行各种增益(1-1000的调整。其增益计算公式为:
R k
A
Ω
+
=
4.
49
1
IN
O U T
L M 317
0.1uF G A N D +12V
3.6K 0.12K
0.1uF
G A N D J2
J1
PT100
G A N D
14
6
2
5
73
8
A D 620
-12V
G A N D
+5V
G A N D
送入AD
+12V
图3 热电阻测温电路原理图R 1
R 2
R 31
R 32
R 5
R 6
R 3
温度值计算过程:
由于A/D 检测到的模拟电压值A R R R R R R U T T ??+-
+=2(3
221
,计算可到的R T 值,然后利用如下公式求出温
度值:
2
3
1Bt At R R T ++=
其中7
10
096847.3-?=A ,3
10
847.5-?-=B
实际测量中,为提高测量精度,我们分两挡进行测量,当温度处于0℃~210℃时,继电器J2所在桥臂电阻为23R ,继电器J1选择AD620的反馈电阻R 5,温度处于195℃~400℃时,控制继电器J2将电阻R 31串接上,并相应控制继电器J1选择R 6做为AD620的反馈电阻,在切换桥臂电阻时同步改变放大倍数,从而达到自动改变量程、提高测量精度的目的。
2.1.2 模数转换单元
A/D 转换的好与坏直接关系到整个系统的精确度,题目要求分辨率达到0.1,由于本系统测量的是温度信号,响应时间长,滞后大,不要求快速转换,因此选用12位串行AD ——MAX187。MAX187是美国MAXIM 公司设计的12位串行A/D 转换器,其内部集成了大带宽跟踪/保持电路和串行接口,转换速率高且功耗低,特别适合对体积、功耗和精度有较高要求的便携式智能化仪器仪表产品。
MAX187具有12位的分辨力,其基准电压为4.096V ,故最小分辨电压为
V 001.02
096.412
=,能分辨的最小温度变
化为
C v ?=?0976.0001.02
40012
,能达到题目的基本要求。为进一步提高精度,可以直接采用16位AD 转换器,也
可以采用过采样和求均值技术来提高测量分辨率。本系统采用了后一种方法。
所谓过采样技术是指以高于奈奎斯特频率的采样频率进行采样,也就是说当ADC 以高于系统所需采样频率f s 的速率对信号采样时,能增加有效位数。每增加一位分辨率,信号必须被以4倍的速率过采样,即
s w
os f f ?=4
其中w ——希望增加的分辨率位数;
f s ——初始采样频率要求; f os ——过采样频率。V C C 1
A IN
2S H D N 3R E F
4
G N D
5D O U T 6C S
7S C L K
8U 3M A X 187
+5V
C 94.7U F C 80.1uF
G A N D
G A N D
C 70.1uF G A N D
C 6
P 2.5P 2.4
P 2.3G A N D
串行数据输出
采样数据输入
图4 模数转换电路原理图
假设每秒钟输出一个温度值(1Hz 。为了将测量分辨率增加到16位,按下式计算过采样频率,即:
Hz Hz f os 256(144
=?=
因此,如果以f s =256Hz 的采样频率对温度信号进行采样,则将在所要求的采样周期内采集到足够的样本,对这些样本求均值便可得到16位的输出数据。为此,先累加(将256个连续样本加在一起,然后将总和除以16。这样得到的结果便是16位的有效数据,增加了4位有效数据。
用过采样和求均值技术后,新的AD 分辨率计算如下:
最小分辨电压=
mV 625.02
096.416
=
这样,可以测量的最小温度变化为
C V ?=?0061.00000625.02
40016
,在采用过采样和求均值技术的情况下,用
同一个12位ADC 可以测量的最小温度变化为0.0061℃,就允许了以高于
C ?100
1的精度对温度进行测量。
另外,为了减小工频信号引起的误差,我们设计了在40ms (20ms 的两倍时间内采样,然后再取平均值,将工频信号误差滤除。
2.1.3 信号处理和显示单元
V cc P 0.0P 0.1P 0.2P 0.3P 0.4P 0.5P 0.6P 0.7E A /V p A L E /P R O G P S E N P 2.7P 2.6P 2.5P 2.4P 2.3P 2.2P 2.1P 2.0
P 1.0P 1.1P 1.2P 1.3P 1.4P 1.5P 1.6P 1.7R S T /V pD R X D P 3.0T X D P 3.1IN T 0 P 3.2IN T 1 P 3.3T 0 P 3.4T 1 P 3.5W R P 3.6R D P 3.7X T A L 2X T A L 1V ss U 1
8051
22U F C 10
1K
R 17
0.2K
R 16
+5V
G A N D
11.0592M H Z
C 11
33P F
C 1233P F
+5V
液晶
G A N D 3.3K
3.3K
3.3K
3.3K
3.3K
3.3K
3.3K
3.3K
+5V
G A N D
C 130.1U F
G A N D
与MAX485相连
图5 丛机单片机部分电路原理图
信号处理及显示单元采用8051单片机作为信息处理单元,它是从机的核心器件,对传感器采集来的数字信号进行处理,转换成相应的温度信号,送液晶进行显示。而且从机能够通过通讯电路将测量数据上传,接收主机数据(包括系统时间信息、修正值和报警上下限进行自身信息设置。
2.1.4 声光报警部分
温度检测系统多有声光报警功能,当检测温度超过上下限时,进行声光提示。本系统在从机和主机部分均设计了报警电路。各从机的报警上下限由主机预置,从机实时监测的过程中,一旦发现检测温度值连续超出阈值范围,便启动自身报警电路,同时向主控机发送报警信号。报警电路原理如下所示:
D 6D 4
D 7
L E D
蜂鸣器
1K
R 152K R 13
3.3K
R 14G A N D
+5V +12V
P 2.0
图6 声光报警电路原理图
2.2 通讯部分
2.2.1电路设计
由于单片机串行口输出的是TTL 电平,要想实现多机通讯,必须要将其转换成常用的串行通信总线标准接口电平,如RS-232或RS-485。
其中RS-232适于短距离或带调制解调器的通信场合,其逻辑电平与TTL 、MOS 逻辑电平完全不同,需要用MAX232驱动芯片进行电平转换。其主要缺点是数据传输速率慢、传送距离短(不超过30m ,抗干扰能力差,不能满足题目的要求。RS-485标准接口为差分驱动结构,它通过传输线驱动器把逻辑电平变换为电位差,完成信号的传递,具有传输速率快、传送距离长(可传1200m 、抗干扰能力强等优点,允许一对双绞线上一个发送器驱动多个负载设备。所以本系统使用RS-485总线进行传输,采用MAX485驱动芯片进行电平转换。原理图如下:
R E 2
D E 3D I
4
G N D
5A 6B 7V C C
8R 01U 4
M 483+5V
G A N D
G A N D
R X D P 3.5T X D 主机A
主机B
R 18
0.12K
R 1
0.12K
丛机1B 丛机1A T X D R E 2
D E 3D I
4
G N D
5A 6B 7V C C
8R 01
U 4
M 483P 3.5+5V
R X D G A N D
G A N D
主机部分接口
丛机部分接口
丛机2B 丛机2A 丛机3B 丛机3A 丛机4B
丛机4A
图6 RS —485总线接口电路原理图
2.2.1通讯协议建立
作为一种具有分布式控制思想的温度测控系统,本系统首先要解决的是主机与从机之间的数据通讯问题,除了建立硬件电路基础外,还要定义系统的软件通讯协
议。协议规定如下: ◆主、从双方波特率均设置为9600bpt ; ◆主从双方初始状态均设置为串行口中断方式; ◆
主机发送的格式为:
[起始符][从机地址][命令字][数据][数据/命令字校验][地址校验]
当从机接受到主机发送的命令时,从机先检验是否为自己的地址,如果是则回复主机且执行相应命令,否则不做响应。◆
从机应答的格式为: ? [起始符][本机地址][命令字] [数据][数据/命令字校验][地址校验]
?主机接受到从机应答后,知道从机完成响应。则去干其它事情;否则继续发送。发送3次不响应则视为线路故障;
◆从机发送与从机应答基本相同,主机发送与主机应答基本相同。◆从机不主动发送命令或数据,一切都由主机控制。
系统进行温度检测工作的过程是这样的:首先,主控机针对需要检测的从机发出巡检指令,通过串口送出,经接口电
路加载至通讯长线电缆端口,成功确认应答信号后转为数据接收状态;各从单片机同时接收到经通讯接口输入的巡检指令,并与自身地址编码比较,若编码一致则产生应答信号,然后将采集到的数据发送回主机,发送完毕在切换至采集信号并等待响应接收中断状态;主机将接收到的全部数据经校验判断无误后,送数据处理机构计算、显示,如数据传输有误,则指令从机重发数据。
2.3 主控机部分
主控机主要负责控制从机,包括设置从机信息和收集从机检测信号,然后将收集到的数据进行存储、分析、显示、打印,并能根据用户设置的报警阈值进行声光报
警。这部分的硬件电路设计除了键盘、液晶、打印机等常规外设外,增加了一片
24C04用来保存温度数据,另外,增加了一片日历时钟芯片PCF8563。
24C04是基于I 2C 总线的串行E 2PROM ,存储容量512个字节,它占用单片机资源很少,仅占用了两根I/O 线,数据一旦写入可保存100年,避免了普通RAM 掉电保护的麻烦,非常适合于各类仪器仪表和控制装置的参数保存。
主控机每个整点收集一次数据,并将数据保存到E 2PROM 。每个温度数据占用2个字节,这样,我们设计共保存24组历史数据,占用1922424=??个字节。当存满24组数据后,整点再次接收数据时,将最早保存的数据删除,其他数据依次前移为新数据空出位置。
PCF8563是低功耗的CMOS 实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I 2C 总线串行传递。
这两部分电路设计原理图如下:
O S C 1
1O S C 02IN T 3
V S S
4
S D A
5
S C L 6C L K O U T
7V D D
8U 5
P C F 8563+5V
G A N D
C 5
C 610U F
D 3
G A N D
G A N D
D 4
R 73K
3K
R 8
C 415P F
A 0
1
A 12A 23G N D 4S D A 5S C L 6W P 7 V C C
8
U 624C 04
0.1U F