《基于某热电堆红外探测器的非接触人体表面温度的测量.doc》由会员分享,可在线阅读,更多相关《基于某热电堆红外探测器的非接触人体表面温度的测量.doc(19页珍藏版)》请在课桌文档上搜索。
1、word目 录1. 技术指标12. 设计方案与其比拟12.1 方案一12.2 方案二22.3 方案三22.4 方案比拟33. 实现方案33.1 器件说明33.1.1 TPS337A热电堆说明33.1.2 LM358运算放大器说明43.1.3 PCF8591 A/D转换器说明53.1.4 74LS138译码器与74HC573锁存器说明63.2 最终实现方案83.2.1 实现方案电路图83.2.2 方案设计原理与思路94. 调试过程与结论164.1 电路实物的连接164.2 调试结果展示174.3 调试结论185. 心得体会186. 参考文献1918 / 19基于热电堆红外探测器的非接触人体外表温
2、度的测量1. 技术指标设计一个非接触人体外表温度系统,要求:1. 通过热电堆TPS337A来探测人体外表的温度;2. 由LED数码管显示测量的温度,要求显示温度精度能够达到0.1;3. 可以连续测量人体外表或环境温度。 2. 设计方案与其比拟2.1 方案一通过TPS337A检测人体红外波产生温差电动势,将环境温度与检测到的人体温度分为两路电压信号,完成环境温度的补偿。再经过A/D转换芯片将数字信号发送到单片机输出,最后通过LED数码管显示。放大器采用AD620运算放大器以与LM358运算放大器。具体电路图如图1所示。图1 方案一电路图信号采集电路有两局部组成:体温信号放大电路和环境温度信号处理
3、电路。体温信号放大电路是由仪用放大器AD620和参考电压电路组成;环境温度信号处理电路是由运算放大器LM358构成的电压跟随器组成。三路输出信号其中最上方为放大后的热电堆电压信号,也就是将要处理的体温信号,中间为参考电压,最下方为环境温度信号。2.2 方案二通过TPS337A检测人体红外波产生温差电动势,直接将输出电压通过放大器输出电压信号,再经过A/D转换芯片将数字信号发送到单片机输出,最后通过LED数码管显示。放大器采用AD620运算放大器。具体电路图如图2所示。图2 方案二电路图运算放大器AD620是一款低本钱、高精度仪表放大器,仅需要一个外部电阻来设置增益,增益围为1至1000。此外,
4、AD620采用8引脚SOIC和DIP封装,尺寸小于分立式设计,并且功耗较低(最大电源电流仅1.3 mA),因此非常适合电池供电的便携式(或远程)应用,其工作电压为4.6V36V或2.3V18V。两路电压信号分别连接A/D转换芯片的输入。2.3 方案三通过TPS337A检测人体红外波产生温差电动势,直接将输出电压通过两级放大器输出电压信号,消除零点漂移,再经过A/D转换芯片将数字信号发送到单片机输出,最后通过LED数码管显示。放大器采用LM358运算放大器。具体电路图如图3所示。图3 方案三电路图运算放大器LM358部包括有两个独立的、高增益、部频率补偿的双运算放大器,适合于电源电压围很宽的单电
5、源使用,也适用于双电源工作模式。其单电源为330V,双电源为1.515V,而且它的输出电压摆幅比拟大,很适合于电池供电。2.4 方案比拟方案一中将环境温度与人体体表温度补偿,考虑比拟充分全面,但是在实际的操作过程中较为繁琐,可视为理想方案。方案二中采用AD620运算放大器,电压输出信号有两路,但此后通过A/D转换芯片的输入有两路输入,如此在代码的编写方面较为繁琐。方案三中采用LM358运算放大器,两级放大消除了零点漂移是的输出电压信号更为稳定,而且放大倍数通过电阻直接计算确定,输出信号只有一路,直接连接到A/D转换芯片的输入口。整个电路相对较为简单,而且整体效率也很高,是很好的实行方案。综上所
6、述,方案三可作为最后的实现方案,可在其根底上进展调试。3. 实现方案3.1 器件说明3.1.1 TPS337A热电堆说明热电堆TPS337A的管脚图如图4所示。2脚与4脚之间为热敏电阻,1脚与3脚输出电压,其中3脚和4脚接地。热电堆TPS337A的电压与温度对应关系如图5所示。图4TPS337A热电堆管脚图图5 热电堆电压-温度曲线3.1.2 LM358运算放大器说明LM358是双运算放大器。部包括两个独立的、高增益、部频率补偿的双运算放大器,适合用于电源电压围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。LM358芯片引脚图如图6所示。图6LM358芯
7、片引脚图3.1.3 PCF8591A/D转换器说明PCF8591是单片、单电源低功耗8位CMOS数据采集器件,具有四个模拟输入、一个模拟输出和一个串行I2C总线接口。3个地址引脚A0、A1和A2用于变成硬件地址。器件的地址、控制和数据通过两线双向I2C总线传输。PCF8591芯片管脚图如图7所示。图7PCF8591芯片管脚图I2C总线系统中每一片PCF8591通过发送有效地址到该器件来激活。该地址包括固定局部和可编程局部。可编程局部必须根据引脚A0、A1、A2来设置。地址字节的最后一位是用于设置以后数据传输方向的读/写位。PCF8591的地址设置如图8所示。图8PCF8591地址设置发送到PC
8、F8591的第二个字节将被存储在控制存放器,用于控制器件功能。其控制字设置如图9所示。图9 控制字设置3.1.4 74LS138译码器与74HC573锁存器说明对于74LS138译码器,当一个选通端E1为高电平,另两个选通端/E2)和(/E3为低电平时,可将地址端A0、A1、A2的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,如此Y6输出端输出低电平信号。74LS138译码器芯片引脚图如图10所示。图1074LS138芯片管脚图74LS138译码器真值表如表1所示。表174LS138译码器真值表输入输出E1/E2/E3A2A1A0/Y0/Y1/Y2/Y3/Y4/
9、Y5/Y6/Y7HLLLLLLHHHHHHHHLLLLHHLHHHHHHHLLLHLHHLHHHHHHLLLHHHHHLHHHHHLLHLLHHHHLHHHHLLHLHHHHHHLHHHLLHHLHHHHHHLHHLLHHHHHHHHHHL对于74HC573锁存器,当使能G为高时,Q 输出将随数据D输入而变。当使能为低时,输出将锁存在已建立的数据电平上。74HC573锁存器芯片引脚图如图11所示。图1174HC573芯片管脚图74HC573锁存器真值表如表2所示。表274HC573锁存器真值表/OELEDQLHHHLHLLLLXQ03.2 最终实现方案3.2.1 实现方案电路图热电堆输出的电压
10、信号经过LM358运算放大器放大后直接输出到PCF8591的输入端,通过单片机的程序代码把将电压模拟信号转换过来的数字信号获取通过LED数码管输出。在输出时,位选通过74LS138译码器将2位转换为4为二进制,段选通过74HC573锁存器所存输出,其使能端可通过单片机的一个输出口直接加以控制,决定是输入数据还是锁存数据。实现方案的电路图如图12所示。图12 实现方案电路图3.2.2 方案设计原理与思路整个设计思路模块如图13所示。红外线测温模块电压信号放大模块A/D转换模块单片机模块LED数码管显示图13 设计思路模块在自然界中的任何物体,只要高于绝对零度(27315),由于分子的热运动,都向
11、外辐射电磁波,其辐射能量密度与物体本身的温度关系符合普朗克定律。如果将一物体加热,我们将观测到单位时间发出辐射能的多少与辐射能波长的分布,都与物体温度有关,把这种辐射称为热辐射,人体温度约为310K,在此温度下,主要辐射的电磁波为波长在910m的红外线。通过测量人体自身辐射的红外能量,便可以较为准确地测得人体体表温度。热电堆TPS337A通过感测人体辐射的电磁波而产生了相应的电动势,通过对该电动势的测量,即可将电压信号复原为温度信号,从而检测出人体体表温度。通过图5红外探测器温度与输出电压关系可知,在人体温度围,探测器的输出电压根本与温度成正比,另外可以看出探测器的输出电压比拟小,只有几百uV
12、,这样我们必须将输出信号进展放大以后才能显示。所以我们设计了电压的两级放大,可将热电堆输出电压放大1000倍。放大倍数计算公式如下:3. A/D转换模块由图8地址设置可知,当A0、A1、A2均接地时,执行写操作,该地址为0x90。由图9控制字设置可知,模拟输入为1与自动增量为0,采用单通道输入以与输入通道为AIN0时,控制字应设置为01000000,即0x40。4. 单片机模块将单片机的与两个接口并联到I2C总线中,SCL用于时钟信号,SDA用于数据信号。实现A/D转换芯片到单片机的数据传输。具体的单片机代码如下。#include#define uchar unsigned char#defi
13、ne uint unsigned int#define PCF8591 0x90#define N 11void delayms(uint);bit write=0;sbit dula=P10; /控制锁存器使能端sbit SCL=P21;/时钟信号sbit SDA=P20;/数据信号uchar table1=0xfc,0x60,0xda,0xf2,0x66, 0xb6,0xbe,0xe0,0xfe,0xf6;/不带小数点数码管显示uchar table2=0xfd,0x61,0xdb,0xf3,0x67, 0xb7,0xbf,0xe1,0xff,0xf7;/带小数点数码管显示uchar nu
14、m,ge,shi,bai;void delay() /延时4-5个微秒;void start()/开始SDA=1;delay();SCL=1;delay();SDA=0;/SCL处于高电平器件SDA下降沿启动信号delay();void stop()/停止SDA=0;delay();SCL=1;delay();SDA=1;/SCL处于高电平器件SDA上升沿停止信号delay();void respons()/应答 uchar i; SCL=1; delay(); while(SDA=1)&(i255)i+;/当一段时间过后没有收到从机的应答如此主器件默认从器件已经收到数据 SCL=0; del
15、ay();void init() /初始化 SDA=1; delay(); SCL=1; delay(); uchar read_byte()/读一个字节数据 uchar i,k; SCL=0; delay(); SDA=1; delay(); for(i=0;i8;i+)SCL=1; delay();k=(k1)|SDA;/先左移一位,再在最低位承受当前位 SCL=0; delay(); return k;void write_byte(uchar date) /写一字节数据 uchar i,temp; temp=date; for(i=0;i8;i+) temp=temp0;i-) for
16、(j=110;j0;j-);5. LED数码管显示单片机代码中LED的显示是由位选和段选构成的。将573锁存器的使能端与单片机一个引脚相连,使之控制锁存器选择哪种输出输入状态。当有数据输入时先打开使能端使输出与输入一致,之后关闭使能端锁存数据,再对于数据进展输出显示。74LS138译码器是对LED数码管进展位选,将P1的两位输入到A0、A1,再经由译码器输出四位到数码管的位选接口,控制数码管的输出。4. 调试过程与结论4.1 电路实物的连接元器件如如表3所示。表3 元器件列表元件名称规格数量滑动变阻器100k2滑动变阻器10k2滑动变阻器1k3电容2电容10uF1A/D转换芯片PCF85911译码器74LS1381锁存器74HC5731运算放大器LM3581热电堆TPS337A1整个电路的连接图如图14所示。图14 整体电路布线图4.2 调试结果展示环境温度如图15所示。显示温度为26.0。图15 环境温度检测人体温度如图16所示。显示人体体表温度为30.4。图16 人体体表温度4.3 调试结论电路调试成功,可完成技术要求。初始显示环境温度,当检测到人体体表温度立即显示检测的温度,精度可达0.1。将手拿开,立即恢复为环境温度。6. 参考文献1应平,昌奎,靖华.光电技术:机械工业,20142 郭天祥.51单片机C语言教程.:电子工业,2013