基于IC卡的记录式温度表
关键词:IC卡 热电阻传感器 采样时间
1 一种新颖的记录仪表
温度计是常用的热工仪表,常用于工业现场作为过程的温度测量。在工业生产过程中,不仅需要了解当前温度读数,而且还希望能了解过程中的温度变化情况。最近,笔者设计的基于IC卡的记录式温度表,价格与数字式温度表相近;但可以记录、存储数据,并可通过IC卡与PC机接口,是一种新颖的记录式仪表。
该温度表将热电阻传感器测得的温度信号,经过信号调理和A/D转换,在面板上显示,同时将数据存储在仪表中的E2PROM中。在仪表的面板上有一个钥匙小孔,当用户需要时,只要将IC卡插入,即可取出存储的数据。用户将IC卡再插入接在普通PC机打印口上的IC卡读写器,即可将数据送入PC机。利用PC机的强大功能,可进行数据处理、分析、显示、存储、打印。这种仪表不仅可以显示读数,而且还可以记录温度的实时变化。例如,可以显示或打印一个过程的温度曲线。这种温度表用极低的代价,使数字温度表升级成为电记录仪表,实现了仪表的信息化。
与集散系统中的仪表相比,该温度表不用连接导线,而且IC卡作为信息载体传送数据。虽然在速度上比不上现场总线的快捷和方便,但同时也避免了拉长线所带来的干扰问题,同时不受距离、仪表数量的限制。因此,适用于分散、固定在工业现场的各种仪表。
图1
2 硬件组成
本设计采用铜热电阻作为温度传感器。传感器作为电桥的一臂,用三线制接入电桥。电桥电压经运算放大器7650放大后送入模/数转换器。在本设计中,采用7107作为模/数转换器,7107是三位半双积分式模/数转换器,可直接驱动LED数码管。当前温度值由数码管直接显示。单片机89C51将7107输出的数字量取到计算机中。7107输出的是七段字形代码,位数较多。经逻辑化简后,这三位半数字可简化为16位二进制代码。由软件进行反译码可以得到8421的BCD码。选用7107作为A/D转换器,是考虑到该芯片的性价比高。得到的温度数字量存入仪表内部的E2PROM 24C256中。
24C256是I2C总线的串行E2PROM。可存放32KB数据,可重复擦写10万次,数据保存100年不丢失,写入时间为10ms,可采用页写入方式,一次写入64字节。在I2C总线上最多可挂接4片24C256芯片,通过地址线A1、A0的硬接线进行选片。
IC卡也是由一片24C256芯片组成,IC卡上的插座挂接在I2C总线上。仪表内的24C256片地址是“00”,IC卡上的24C256的片地址是“01”。IC卡上有五个引脚:电源、地、SDA、SCL、RDY。RDY在卡上与地短接,用来给单片机作卡插入判别信号。
图1是该温度表的硬件接线原理图。
DS1302是一片串行时钟日历芯片,可进行秒、分、时、日、月、星期、年的走时;在芯片内部还有31字节的静态RAM可资利用;在2.5V工作时,芯片电流小于300nA;外接备用电池,在外部停电的情况下可长期正常走时可给系统提供记录数据的实时时间。另外,DS1302内部的RAM可以作NVRAM来使用,存储仪表的工作参数。
在单片机的P3.4口线上,接有一只有源讯响器。该讯响器用作IC卡读、写指示和超限报警。在IC卡进行读/写操作时,讯响器发出均匀的“嘟嘟”声。读/写结束后音响停止。如读/写错误,则发出短促报警声。在IC卡未插入的正常工作情况,如温度超过设定值,则发出温度超限报警。
3 存储分配和软件考虑
用于记录式温度表的IC卡有两种:一种用于设定仪表的工作参数,称“参数卡”;另一种用于读取仪表的工作参数和温度数据,称“数据卡”。工作参数包括卡标志字、表号、采样时间、超限设定,时间/日期。标志字用来区别参数卡和数据卡。采样时间可以从1s到1小时任意设定。如按1s的时间间隔进行采样,则最多可存放10小时的数据。如按1次/小时的时间间隔采样温度,则1次可取出8年的温度数据。
在主程序中,单片机的工作是按时读取A/D的输出数字量,将数据存入24C256中;并将该数据与超限报警的设置值进行比较,如超过了设定值,则启动讯响器进行报警。
《基于IC卡的记录式温度表》