温度对于文物而言,有着重要的作用,文物只有存放在适宜的温度中,才能使其最大限度得以保存。因此随时监控展柜和考古挖掘现场文物所处的温度,是必要的。基于串口温度变送器,是用单片机制作的可以实时采集和显示温度的系统。本系统不仅可以在现场和展柜中实时的显示温度,还可远程对温度进行采集和传送,采集到的温度数据可通过相关软件制作后形成曲线,或以其他方式在电脑上显示。这对于研究温度与文物保存状态的关系有一定的作用,以便对馆藏文物和考古现场进行保护。在传送时,采集的数据可以转换成串行数据,通过串口传送到PC机上。它需要完成的功能是:
(1)设计温度采集电路及采集程序,能在采集模块上实时显示当前温度数据;
(2)设计单片机串口通信电路,实现PC机与单片机系统的串行通信,将采集的温度信号传送到PC机中;
(3)以兵马俑博物馆2号俑坑为例进行温度采集和传送实验。
采集温度需要温度传感器,处理时需要的元器件有:1片单片机,1个温度传感器,1个A/D转换器,1个串口以及几个七段发光二极管。
1 温度变送器工作原理
基于串口的温度变送器,工作原理是用温度传感器将温度信号转换成电信号,经过A/D转换后将其变换成数字信号,传送到单片机,经计算处理后经七段发光二极管输出显示。并将温度信号转换串行数据,当PC机发出请求后,能将温度信号传送到PC机上。
温度传感器采用AD590,温度的变化可以使其电流产生变化,且为线性变换,再接上电阻转化成电压信号,经过一些稳压、放大等处理后,与AD0809连接,转化成8位16进制数送给单片机,由单片机输出显示。单片机可以采用89C51,在连接显示时还需经过1个74LS47芯片,可以直接使输出码转化为可在七段数码管上显示的显示码。原理图用Protel软件进行绘制。
2 温度变送器系统设计
温度变送器主要由温度采集、显示和通讯3部分组成,原理图如图1所示。
2.1 温度采集模块的实现
温度采集模块主要由单片机最小系统、A/D转换器、和温度传感器组成,温度传感器采集温度信号后,经过A/D转换器变为数字信号传送给单片机。
温度采集模块的主要元器件有:MCS-8951,A/D0809,AD590以及一个调整电压时用到的LM324。温度由AD590采集,为电流信号,经过所加的负载后形成电压信号。由AD590的特性可知,在经过10 kΩ的负载后,在0~100℃之间,电压在2.732~3.732 V均匀变化,在经过一系列的电压调整后,温度变化所产生的电压变化范围为0~5 v,3个运算放大器用一片LM324实现。
当电压信号传送到A/D0809后,它将传送过来的模拟信号转换为数字信号,这其中有一个重要部分就是十进制的调整。因为温度传感器的测温范围为 0~100℃,但AD0809的转换范围为00H~FFH,即有256个数,是100的2.56倍,在转换过程中,对每个AD0809转换过的数据进行乘 4操作,这样AD90809输出的数据即为温度的10倍,在显示时给最末位的前面添加小数点,实现了到十进制的转换。这样就实现了温度采集模块的功能。
2.2 串口通讯的实现
51单片机有一个全双工的串行通讯口,它能同时发送和接收数据。发送缓冲器只能写入不能读出;接收缓冲器只能读出不能写入。串口通讯还有接收缓冲作用,即从接收寄存器中读出前一个已收到的字节之前就能开始接收第2 bit。两个串行口数据缓冲器通过特殊功能寄存器SBUF来访问。写入SBUF的数据储存在发送缓冲器,用于串行发送;从SBUF读出的数据来自接收缓冲器。两个缓冲器共用一个地址99H(特殊功能寄存器SBUF的地址),所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平,而单片机的串口是TTL电平,两者之间必须有一个电平转换电路,文中采用专用芯片MAX232进行转换。采用三线制连接串口,即和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD和第3脚的TXD。模块的实现主要用的器件有MAX232和DB9。
串口调试中要注意的几点:
(1)不同编码机制不能混接,如RS232C不能直接与RS422接口相连;
(2)线路焊接要牢固;
(3)串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等;
(4)建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。
2.3 显示部分的实现
在显示模块中,数据经过P1口传送到74LS47,直接转换成显示码送到七段发光二极管上显示,在这个模块主要用到的器件有LED和74LS-47。74LS47可以把单片机转化好的十进制数据转化为可直接在LED上显示的显示码。
2.4 程序设计
主程序的设计思想是:先进行初始化,在初始化中设置定时器、波特率、串口等,再启动A/D转换,然后判断A/D转换是否结束,若转换没有结束,则显示上次转换好的温度数据并继续判断;若转换结束,则读入数据并转换为温度进行显示。当用户需要温度数据时只需给温度变送器发送请求,它就可以把当前的温度值发送给PC机。
3 调试
为上述3个模块的功能都实现,就可进行系统调试。系统调试是整个开发过程的重要环节。其中包括硬件调试和软件调试,硬件调试主要涉及电路的电器特性检测,可以利用实验版检查每一部分电路的功能是否能实现,看每一部分的连线有无短路、错连、漏连等,在整体检测。软件调试主要是使用仿真软件设置相应寄存器的值对源程序进行模拟调试,可采用分段调试。
调试阶段,利用了专业串口调试工具:串口调试助手,可以直接在当前位置运行此软件。在整个调试过程中需要注意PC机端与单片机端数据传输波特率的匹配。本次实验采用速率为4 800 b·s-1实现数据传输。单片机端的程序用仿真器进行仿真。
当整个系统的调试完成后,就可以使用编程器将源程序写入单片机AT89C52,用AT89C52替换仿真器,运行无误,即可完成系统的整个设计。图2是编程器与PC机的连接图。
本系统已实现了PC机与单片机数据传输时串行通信端口和波特率可选,并可以正确进行数据传输。
现以秦俑博物馆2号坑为例进行试验,当PC机给串口发送一个信号时。单片机能够把当前坑内的温度值发送到PC机上,通过连续的请求,可得到一组当前的文物温度,编辑后能以曲线的形式反映坑底温度的变化,PC机的接收数据和温度变送器显示的温度一致。
4 结束语
本设计实现了预期的功能,温度采集模块可以把当前温度采集到单片机中,然后再送到显示模块进行显示,可随时近距离地观查实时温度,且显示的范围较大、精确度较高,当收到远程PC机的请求时。就可以把温度信号变成串行数据传送到PC机上。