基于温度测量处理变送器的设计
51的X2端输入V基是己知电压,并固化于程序中,D基、D零、Dx分别是基准、零点及输入热电偶信号的实时A/D采集值,通过下式可以完成零点满度的自校正,计算出VX值。由于V基、Vx及地三个信号经过同样的硬件输入通道,硬件的离散性误差及零点满度漂移对三者的影响相同,通过下面公式可以校正零点、放大倍数及A/D各环节的误差,在用一般器件的情况下可保证系统的测量精度。
D基-D零/Dx-D零=Vx/V基
由于热电偶mV温度间关系是非线性的,我们采用了折线法进行非线性校正,VX通过分段非线性数据处理,可以算出对应温度CX,加上通过测量冷端补偿二极管电压得出的冷端补偿温度C0,就得到该路的实际测量温度C,即C=CX+C0。
同时由于热电偶的原因,在测量端的电压值会被抵消了一部分。这种情况造成的误差影响较大。必须对它进行冷端补偿。因为二极管在温度变化时,其正向导通电压变化稳定,为-2mV/℃,因此我们采用二极管测冷端湿度进行补偿,具体做法如下:
第一步,我们冷端补偿输入端输入一标准电压0.7V得到一个AD采样值D0,然后我们再输入一标准电压0.6V再得到一个AD采样值D1。两者相减得到一个值ΔD,根据二极管的特性,每1℃电压变化2mV,我们输入的第1个标准信号和第2个标准信号相差为100mV,相当于二极管正向电压变化100mV,对应冷端温度变化50℃,就可以求出冷端温度每变化1℃时其对应AD值变化多少的系数K=ΔD/50,由于冷端温度变化范围小(0-50℃),相对精度要求不高,因此设计产品批量生产时把该系数直接固化于程序中。当把冷补二极管1N4148接入输入端后,据上面所述,可以根据该系数及冷端AD采集值变化量的大小推算出冷端温度变化的大小。
第二步:我们在仪表设置状态输入当前环境温度Ta,并及时测得二极管1N4148所在端电压经放大AD转换后的值Da,并将Ta、Da其存储到EEPROM里面,以后仪表处于工作状态时我们实时地测出二极管AD转换后的值Db,再把两者相减得ΔDab=Da-Db,ΔDab除以K(代表每一个1℃的AD采样值的大小)得到一个温度值差Y。然后Y加上设置环境温度初值Ta得到实际冷端温度C0=Y+Ta。这种冷端补偿有一定误差,当环境温度变化时,所测的实际冷端温度C0将会跟随变化,在一定时期内环境温度的变化不大,因此它引起的误差和热电偶相比十分的小,可以忽略。但当环境变化较大时,比如从冬天到夏天的变化,其变化为几十℃,如果冷补误差大于1度,我们可以重新输入基准Ta校正。
3、A/D电路
A/D电路主要由74LS157、ICL7135芯片组成,7135采用0.5V基准信号,模拟电压输入范围为0-1V。ICL7135采用动态扫描BCD码输出方式,即万、千、百、十、个各字位BCD码轮流出现在B8,B4,B2,B1端上出现,并在D5-D1各端同步出现字位选通脉冲。采集到的微弱信号经程控放大后,经过AD转换变成数字信号。使用了74LS157四2选1选择器,使万位数据输出和其它的三标志信号(超量程、欠量程、极性输出)与BCD码数据输出的B8、B4、B2、B1共用C52的P0.0-P0.3四条I/O口线,分时传送是通过D5控制74LS157的选择端SEL实现。SEL输入低电平时选择1A-4A输出,输入高电平时选择1B-3B输出。因为万位数据只能输出0或1,是个半位。所以,正好和OR(过量程)、UR(欠量程)和POL(正负极性)三位构成四位数据输出,供单片机读取。与C52的硬件接口方式是查询方式,软件上利用对D5、D4、D3、D2、D1查询来实现万、千、百、十、个上的数据输出。
4、控制面板电路
该部分电路包括两部分:按键控制电路和显示电路。具体电路见图5。电路采用ZLG7289作为核心芯片,通过三个引脚与单片机连接,单片可完成动态显示扫描及按键查询,节约了单片机I/O口硬件资源及时间资源。实际电路中Zlg7289的选片/CS接地时钟线CLK接P2.7口数据线DIO接P2.6口键信号线KEY接P2.5口。
zlg7289具有SPI串行接口功能的可同时驱动8位共阴极数码管(或64只独立LED)的智能显示驱动芯片,无须外围元件可直接驱动八位LED数码管并可同时连接多达64键盘的键盘矩阵,单片即可完成LED显示及按键的扩展。zlg7289内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式,此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。本系统用了两排4位数码管,数码管用的是动态显示的。根据zlg7289的要求,数码管选用共阴极的,Zlg7289的18脚~25脚接数码管的位驱动端,10脚~17脚接数码管的段驱动端,通过数据线和时钟线可以把要显示内容送入7289。本电路只设计了四个按键,当有键按下时,KEY引脚电平发生变化通知CPU通过数据线和时钟线读取键值。
5、报
- 基于ARM的综合测试仪设计(05-26)
- 基于AT89C51和DS18B20的最简温度测量系统(01-03)
- 基于AVR USB接口的温度测量系统下位机设计(03-01)
- 基于LabVIEW的温湿度测量系统(03-22)
- 基于LM3S101处理器的温度测量模块设计(11-09)
- 基于单片机的多点温度测量仪的设计(07-26)