欢迎来到天天文库
浏览记录
ID:873392
大小:267.03 KB
页数:15页
时间:2017-09-22
《基于pn结的温度测量系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一.设计原理与总体方案1.1二极管(PN结)特性晶体二极管为一个由p型半导体和n型半导体形成的p-n结,在其界面处两侧形互相抑消作用使载流子的扩散电流增加引起了正向电流,并且和电压成指数关系。理想PN结的正向电流IF和正向压降VF存在如下关系:IF=Is*exp【-e*Vf/(k*T)】式中,-e为电子电量;k为玻耳兹曼常数;T为绝对温度;Is为反向饱和电流,与PN结材料的禁带宽度及温度有关.在此基础上得出PN结的正向电压Vf与热力学温度T之间的关系,从而证明半导体PN结在某个温度范围内是性能优良的温度传感器。半导体二
2、极管的温度特性曲线温度对二极管的性能有较大的影响,温度升高时,反向电流将呈指数规律增加,如硅二极管温度每增加8℃,反向电流将约增加一倍;锗二极管温度每增加12℃,反向电流大约增加一倍。另外,温度升高时,二极管的正向压降将减小,每增加1℃,正向压降VD大约减小2mV,即具有负的温度系数。这些可以从下图所示二极管的伏安特性曲线上看出。据资料介绍:在恒流模式下,If=If0,1n=If/If0=0,有:S=(Vg0-Vf0)/T0-(kB/q)*(1+1nT/T0).因1nT/T0是T的缓变函数,S的模随着T增加而上升,但在
3、不宽的温度范围内,S近似常数。1.2主要电路方案分析为保证整个温度测量范围内PN结的正向电流恒定,PN结的正向偏置采用恒流源驱动。采用三极管的特性和特殊电路,让通过二极管的电流始终在100uA左右。采用电桥连接方式使放大器放大传感器变化电压的差值。电桥通过两个电阻和二极管并联构成,从而向放大器正负两端输入电压。通过理论分析及仿真实验研究选择合适的电桥电路参数。PN结的结电压变化是一个微弱信号,结电压在温度每变化1度时大约变化2mv左右,所以需要进行放大后才能被后续电路处理。采用三运放高共模抑制比放大电路,放大电桥两端的
4、差模信号。设计中可采用三个独立的运放来构成放大电路,也可采用仪用放大器AD620,根据电路实际情况来设置。(AD620的电源提供范围为正负2.3V到正负18V,低功耗,精确度高)。采用一阶无源RC低通滤波器,截至频率为50HZ。采用8位的AD转换元件AD0809,这样可以使用其8位数据线与CPU进行并口通信。因为AD0809对于本设计来说,精度已经达到,所以未用采用SPI通信的12位AD7841等多位的AD转换器件。采用单片机STC89C52(32个IO口,8KB的Flash等)。而未用本身带有10位AD的ARM处理器
5、,因为其对本设计而言会有很多硬件资源剩余,而且不熟悉其操作更会增加程序设计难度。所以综合考虑,对本设计而言,一般单片机的性价比更高。采用液晶LCD1602,可设置8位数据端口,2行显示,5*7点阵等。1.3DS18B20介绍DS18B20为一款单总线测温器件,它具有线路简单,体积小的特点。由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对STC89C51单片机来说,硬件上并不支持单总线协议,因此,必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。DS18B
6、20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。1.4实验原理设计整体思路:当通过PN结(以后用二极管表示)的电流恒定后,二极管两端的电压变化就主要与其感受的环境温度有关,所以以此来研究二极管的电压和温度特性。通过电桥设置,将温度选择一个基准,即电压
7、随温度变化的基准,当温度变化时,电压就会相对基准有个差值。将差值信号放大,滤波,输入单片机处理和采用温度传感器18B20标定温度值,得到一个AD值和温度对应的表,然后用二极管测温度,得到AD值采用查表非线性处理得到温度值,结果和18B20测温结果对比显示在液晶上。非线性处理方法原理:将非线性的图形取一些采样点,通过这些采样点相邻之间直线相连就近似得到该曲线。我们的实验目的之一就是得到二极管电压-温度特性曲线。二极管测温原理:由文献资料我们已知了PN结的温度电压变化特性是指数关系。现假设我们测得N个温度值(可用18b20
8、测得)y1,y2,……,yn以及的对应的AD采样值x1,x2,……,xn。在N值足够大的情况下,我们认为相邻两点是线性的关系,因此,具体某测量点对应的温度值可用以下方法获得:首先,我们需要知道未知值x那两个x值的中间,然后根据我们已知坐标(x0,y0)与(x1,y1),要得到[x0,x1]区间内某一位置x在直线上的值。根据图中所示
此文档下载收益归作者所有