一、热电偶传感器测温系统的设计应用
下面介绍一个典型的单片机控制的测温系统,它由三大部分组成:
1、硬件设计
(1) 热电偶温度传感器
本系统使用镍铬—镍硅热电偶,被测温度范围为0~655℃,冷端补偿采用补偿电桥法,采用不平衡电桥产生的电势来补偿热电偶因冷端温度变化而引起的热电势变化值。不平衡电桥由电阻r1、r2、r3(锰铜丝绕制)、rcu(铜丝绕制)四桥臂和桥路稳压源组成,串联在热电偶回路中。rcu与热电偶冷端同处于±0℃,而r1=r2=r3=1ω,桥路电源电压为4v,由稳压电源供电,rs为限流电阻,其阻值因热电偶不同而不同,电桥通常取在20℃时平衡,这时电桥的四个桥臂电阻r1=r2=r3=rcu,a、b端无输出。当冷端温度偏离20℃时,例如升高时,rcu增大,而热电偶的热电势却随着冷端温度的升高而减小。uab与热电势减小量相等,uab与热电势迭加后输出电势则保持不变,从而达到了冷端补偿的自动完成。
(2) 测量放大电路
实际电路中,从热电偶输出的信号 多不过几十毫伏(<30mv),且其中包含工频、静电和磁偶合等共模干扰,对这种电路放大就需要放大电路具有很高的共模抑制比以及高增益、低噪声和高输入阻抗,因此宜采用测量放大电路。测量放大器又称数据放大器、仪表放大器和桥路放大器,它的输入阻抗高,易于与各种信号源匹配,而它的输入失调电压和输入失调电流及输入偏置电流小,并且温漂较小。由于时间温漂小,因而测量放大器的稳定性好。由三运放组成测量放大器,差动输入端r1和r2分别接到a1和a2的同相端。输入阻抗很高,采用对称电路结构,而且被测信号直接加到输入端,从而保证了较强的抑制共模信号的能力。a3实际上是一差动跟随器,其增益近似为1。测量放大器的放大倍数为:av=v0/(v2-v1),av=rf/r(1+(rf1+rf2)/rw)。在此电路中,只要运放a1和a2性能对称(主要指输入阻抗和电压增益),其漂移将大大减小,具有高输入阻抗和共模抑制比,对微小的差模电压很敏感,适宜于测量远距离传输过来的信号,因而十分易于与微小输出的传感器配合使用。rw是用来调整放大倍数的外接电阻,在此用多圈电位器。
实际电路中a1、a2采用低漂移高精度运放op-07芯片,其输入失调电压温漂αvios和输入失调电流温漂αiios都很小,op-07采用超高工艺和“齐纳微调”技术,使其vios、iios、αvios和αiios都很小,广泛应用于稳定积分、精密加法、比校检波和微弱信号的精密放大等。op-07要求双电源供电,使用温度范围0~70℃,一般不需调零,如果需要调零可采用rw进行调整。a3采用741芯片,它要求双电源供电,供电范围为±(3~18)v,典型供电为±15v,一般应大于或等于±5v,其内部含有补偿电容,不需外接补偿电容。
(3) a/d(模数)转换电路
经过测量放大器放大后的电压信号,其电压范围为0~5v,此信号为模拟信号,计算机无法接受,故必须进行a/d转换。实际电路中,选用icl7109芯片。icl7109是一种高精度、低噪声、低漂移、价格低廉的双积分型12位a/d转换器。由于目前12位逐次逼近式a/d转换器价格较高,因此在要求速度不太高的场合,如用于称重测压力、测温度等各种传感器信号的高精度测量系统中时,可采用廉价的双积分式12位a/d转换器icl7109。icl7109主要有如下特性:(1)高精度(精确到1/212=1/4096);(2)低噪声(典型值为15μvp-p);(3)低漂移(<1μv/℃);(4)高输入阻抗(典型值1012ω);(5)低功耗(<20mw);(6)转换速度 快达30次/秒,当采用3.58mhz晶振作振源时,速度为7.5次/秒;(7)片内带有振荡器,外部可接晶振或rc电路以组成不同频率的时钟电路;(8)12位二进制输出,同时还有一位极性位和一位溢出位输出;(9)输出与ttl兼容,以字节方式(分高低字节)三态输出,并且具有vart挂钩方式,可以用简单的并行或串行口接到微处理系统;(10)可用rvnhold(运行/保持)和status(状态)信号监视和控制转换定时;(11)所有输入端都有抗静电保护电路。
icl7109内部有一个14位(12位数据和一位极性、一位溢出)的锁存器和一个14位的三态输出寄存器,同时可以很方便地与各种微处理器直接连接,而无需外部加额外的锁存器。icl7109有两种接口方式,一种是直接接口,另一种是挂钩接口。在直接接口方式中,当icl7109转换结束时,由status发出转换结束指令到单片机,单片机对转换后的数据分高位字节和低位字节进行读数。在挂钩接口方式时,icl7109提供工业标准的数据交换模式,适用于远距离的数据采集系统。icl7109为40线双列直插式封装,各引脚功能参考相关文献。
(4) icl7109与89c51的接口
本系统采用直接接口方式,7109的mode端接地,使7109工作于直接输出方式。振荡器选择端(即os端,24脚)接地,则7109的时钟振荡器以晶体振荡器工作,内部时钟等于58分频后的振荡器频率,外接晶体为6mhz,则时钟频率=6mhz/58=103khz。积分时间=2048×时间周期=20ms,与50hz电源周期相同。积分时间为电源周期的整数倍,可抑制50hz的串模干扰。
在模拟输入信号较小时,如0~0.5伏时,自动调零电容可选比积分电容cint大一倍,以减小噪声,caz的值越大,噪声越小,如果cint选为0.15μf,则caz=2cint=0.33μf。
由传感器传来的微弱信号经放大器放大后为0~5v,这时噪声的影响不是主要的,可把积分电容cint选大一些,使cint=2caz,选cint=0.33μf,caz=0.15μf,通常cint和caz可在0.1μf至1μf间选择。积分电阻rint等于满度电压时对应的电阻值(当电流为20μa、输入电压=4.096v时,rint=200kω),此时基准电压v+ri和v-ri之间为2v,由电阻r1、r3和电位器r2分压取得。
本电路中,ce/load引脚接地,使芯片一直处于有效状态。run/hold(运行/保持)引脚接+5v,使a/d转换连续进行。
a/d转换正在进行时,status引脚输出高电平,status引脚降为低电平时,由p2.6输出低电平信号到icl7109的hben,读高4位数据、极性和溢出位;由p2.7输出低电平信号到lben,读低8位数据。本系统中尽管ce/load接地,run/hold接+5v,a/d转换连续进行,然而如果89c51不查询p1.0引脚,那么就不会给出hben、lben信号,a/d转换的结果不会出现在数据总线d0~d7上。不需要采集数据时,不会影响89c51的工作,因此这种方法可简化设计,节省硬件和软件。
(5)显示电路
采用3位led数码管显示器,数码管的段控用p1口输出,位控由p3.0、p3.1、p3.2控制。7407是6位的驱动门,它是一个集电极开路门,当输入为“0”时输出为“0”;输入为“1”时输出断开,须接上位电路。共用两片7407,分别作为段控和位控的驱动。数码管选共阳极接法,当位控为“1”时,该数码管选通,动态显示用软件完成,节省硬件开销。硬件原理如图5-12所示。
图5.3.1 热电偶传感器测温系统硬件原理图
2、软件设计
icl模块:从a/d转换器读取结果的模块,它连续读3次,读出3个结果分别存放于内部30h~35h单元(双字节存放)。
wave数字滤波模块:它是将icl模块输出的3个结果排序,取中间的数作为选用的测量值。此模块可以避免因电路偶然波动而引起的脉冲量的干扰,使显示数据平稳。
modify模块:它是补偿热电偶冷端器25℃时的量值,相当于仪表中的零点调到25℃,称此模块为零点校正模块(此温度为室温)。
ya查表模块:它是核心模块。表格数据是按一定规律增长的数据(0~655℃),表格中电压值与温度值一一对应,表格中的电压值是热电偶输出信号乘以放大倍数(150)以后的结果,变成十六进制数进行存放,低位在前,高位在后,因而它的数据地址可以代表温度值,用查找的内容的地址减去表格首地址0270h后再除以2(双字节存放)即为温度值。此数据为十六进制数还需进行二十进制转换(clean),再送显示器显示。
查表法:采用二分查找法,dp先找对半值(middle)同转换数据比较(compare),看属哪一半,修改表格上下限值,再进行对半比较,经过若干次后,直到找到数据为止,如果找不到,也就是说被转换数据介于表格中两相邻值之间,则再调用取近值模块(near),选择与被转换数据接近的那个数据作为查找到的数据,然后调用温度值模块(find),整个查表模块就完成了从输入到输出的变化。
dir:采用动态3位显示,显示时间由实验测定,各模块设计完成后要进行测试,尽量使其内聚性强、模块间耦合性强,并采用数据耦合。