资源描述
目 录 摘要 .I Abstract .II 第一章 红外线测温仪的研发背景 .1 1.1 红外测温仪的实际应用 .1 1.2 红外测温技术的发展历程 .1 第二章 人体红外测温仪的原理和特点 .2 2.1 人体红外线测温仪的理论依据 .2 2.2 人体红外线测温仪的性能指标及作用 .2 2.3 影响温度测量的主要因素及修正方法 .3 2.4 人体红外线测温仪的特点 .5 第三章 人体红外测温仪的硬件设计 .6 3.1 总体设计 .6 3.1.1 整体框图设计 .6 3.1.2 电路设计 .7 3.2 温度传感器 .8 3.3 放大电路的设计 .8 3.4 模数转换部分电路 .9 3.5 LCD1602 显示电路 .10 第四章 软件设计 .12 5.1 红外测温仪的使用注意事项 .15 5.2 改进方案 .15 5.3 推广及应用 .15 参考文献 .16 致 谢 .17 附录 1 PCB 板图 .18 附录 2 3D 效果图 .19 附录 3 程序 .20 人体红外测温仪 摘要:为了克服传统温度计测量温度的主要缺点需要测量者与被测目标近 距离接触和测量不方便。在顾及仪器测量高精度前提下,以追求最低成本为原 则,研制了非接触式热释电红外测温仪,实现了对物体表面温度快速准确的测 量。本文也设计了红外测温仪的整体系统构架。根据热释电原理,主要针对人 体体温测量进行了具体的设计开发,开发包括整体方案,硬件电路,单片机程 序和主机程序。并利用设计出来的红外测温仪在环境温度30下对人体温度和 水温进行了测量,对人体的温度测量的误差低于0.1,提高了测量精度。人 体测温仪的设计主要为适应人体体温快速无接触测量的需要。主要介绍热释电 红外传感器的工作原理以及最适宜人体红外线检测的热释电传感器PM611的优 点和等效电路,阐述了基于热释电传意器的红外测温仪的工作原理,讨论了该 系统的设计与实现方法,简单介绍了测温系统的适用条件。 关键词:温度测量,热释电,AT89C51 I Temperature measuring based on body infrared ray Abstract: To decrease the limitation of traditional method of temperature measuring such as close contact between measurer and the target and inconvenience when measuring, we developed a non-contact type piezoelectric infrared thermometer, realizes fast and accurate surface temperature measurements. This article also designed the overall system architecture infrared thermometer. Then under the piezoelectric principle, aimed at human body temperature measurement for a specific design, development including hardware, peripherals technology, SCM, and the host program . Designed by using the infrared thermometer at ambient temperature 30,temperature and water temperature on the human body were measured on the human body temperature measurement error is less a 0.1 improve the measurement accuracy. This thermometer mainly applies to no-contact, speedy body- heat measurement. This article mainly introduces operational principles of piezoelectric infrared sensor and the structure of hydroelectrically sensor PM611.It formulates the theory of the thermometer based on hydroelectrically sensor and studies how to design and implement of the systemFinally,it indicates the conditional demand of the system. Key words: temperature measurement, piezoelectric,AT89C51 0 第一章红外线测温仪的研发背景 1.1红外测温仪的实际应用 由于医学发展的需要,在很多情况下,一般的温度计己经满足不了快速而 又准确的测温要求,例如车站和机场等人口密度较大的地方进行人体温度测量。 虽然现在国外这种测温的技术都比较成熟,但是国内这方面的技术还处于发展 阶段。因此,为了适应医学发展的需要,有效地进行特殊环境下的温度测量, 从而有力地控制和预防诸如甲流、非典之类型的特殊疾病的传播,急需设计一 种测温速度快,准确率高的测温仪。针对一般的工业用的红外测温仪的精确度 不够高,我们根据这种红外线测温的原理,通过关键器件的选择、瞄准系统的 设计以及温度补偿的自动调节来提高红外线测温仪的精确度,设计了一种用红 外线测温电路,用于人员密集且流量大的场合进行快速的人体温度测量。 1.2 红外测温技术的发展历程 红外测温技术在生产过程中、在产品质量控制和监测、设备在线故障诊断 和安全保护以及节约能源等方面发挥了重要作用。近 20 年来,非接触式红外 人体测温仪在技术上得到迅速发展,性能不断完善,功能不断增强,品种不断 增多,适用范围也不断扩大。比起接触式测温方法,红外测温有着响应时间快、 非接触、使用安全及使用寿命长等优点。非接触式红外测温仪包括便携式、在 线式和扫描式三大系列,并备有各种选件和计算机软件,每一系列中又有各种 型号及规格。 红外检测技术是“ 九五” 国家科技成果重点推广项目,红外检测是一种在线 监测( 不停电 )式高科技检测技术,它集光电成像技术、计算机技术、图像处理 技术于一身,通过接收物体发出的红外线(红外辐射),将其热像显示在荧光屏 上,从而准确判断物体表面的温度分布情况,具有准确、实时、快速等优点。 任何物体由于其自身分子的运动,不停地向外辐射红外热能,从而在物体表面 形成一定的温度场,俗称“热像” 。红外诊断技术是通过吸收这种红外辐射能量, 测出设备表面的温度及温度场的分布,从而判断设备发热情况。 目前应用红外诊断技术的测试设备比较多,如红外测温仪、红外热电视、 红外热像仪等等。像红外热电视、红外热像仪等设备利用热成像技术将这种看 不见的“热像 ”转变成可见光图像,使测试效果直观,灵敏度高,能检测出设备 细微的热状态变化,准确反映设备内部、外部的发热情况,可靠性高,对发现 设备隐患非常有效。目前,我国也在研发一种体积小,成本较低,又不受外界 环境温度干扰的人体红外测温仪,对医学的发展有很重大的意义。 1 第二章人体红外测温仪的原理和特点 2.1人体红外线测温仪的理论依据 自然界一切温度高于绝对零度(-273.15)的物体,由于分子的热运动,都 在不停地向周围空间辐射包括红外波段在内的电磁波,其辐射能量密度与物体 本身的温度关系符合辐射定律。红外辐射原理 辐射定律: (2.1)40()ET 式中: 为辐射出射度数, ; 为斯蒂芬 波尔兹曼常数,E3W/m ; 为物体的辐射率; 为物体的温度,单位 ; 为物8245.67*10/()K K0T 体周围的环境温度,单位 。测量出所发射的 ,就可得出温度。E 利用这个原理制成的温度测量仪表叫红外温度仪表。这种测量不需要与被 测对象接触,因此属于非接触式测量。在不同的温度范围,对象发出的电磁波 能量的波长分布不同,在常温(0100)范围,能量主要集中在中红外和远 红外波长。用于不同温度范围和用于不同测量对象的仪表,其具体的设计也不 同。根据式(2.1)的原理,仪表所测得的红外辐射为: (2.2)4122()EAT 式中: 为光学常数,与仪表的具体设计结构有关; 为被测对象的辐射率;A 1 为红外温度计的辐射率; 为被测对象的温度(K ) ; 为红外温度计的温21 2T 度(K) ;它由一个内置的温度检测元件测出。 辐射率 是一个用以表达物体发射电磁波能力的系数,数值由 0 至 1.0。 所有真实的物体,包括人体各部位的表面,其 值都是某个低于 1.0 的数值。 人体主要辐射波长在 910 的红外线,通过对人体自身辐射红外能量的测m 量,便能准确地测定人体表面温度。由于该波长范围内的光线不被空气所吸收, 因而可利用人体辐射的红外能量精确地测量人体表面温度。 通过对人体自身辐射的红外能量的测量,便能准确地测定人体表面温度。 红外温度测量技术的最大优点是测试速度快,1 秒以内可测试完毕。红外测温 仪由光学系统、光电探测器、信号放大器及信号处理、显示输出等部分组成。 2.2 人体红外线测温仪的性能指标及作用 总的来说,测温范围、显示分辨率、精度、工作环境温度范围、重复性、 相对湿度、响应时间、电源、响应光谱、尺寸、最大值显示、重量、发射率等 都是红外线测温仪的性能指标。 2 1、确定测温范围:测温范围是测温仪最重要的一个性能指标。每种型号 的测温仪都有自己特定的测温范围。 2、确定目标尺寸:红外测温仪根据原理可分为单色测温仪和双色测温仪 (辐射比色测温仪) 。对于单色测温仪,在进行测温时,被测目标面积应充满 测温仪视场。否则背景会干扰测温读数,造成误差。对于双色测温仪,其温度 是由两个独立的波长带内辐射能量的比值来确定的。 3、确定距离系数(光学分辨率):距离系数由 D:S 之比确定,即测温 仪探头到目标之间的距离 D 与被测目标直径之比。如果测温仪由于环境条件限 制必须安装在远离目标之处, 而又要测量小的目标,就应选择高光学分辨率 的测温仪。光学分辨率越高,测温仪的成本也越高。 4、确定波长范围 :目标材料的发射率和表面特性决定测温仪的光谱相应 波长对于高反射率合金材料,有低的或变化的发射率。 5、确定响应时间:响应时间表示红外测温仪对被测温度变化的反应速度, 定义为到达最后读数的 95%能量所需要时间,它与光电探测器、信号处理电路 及显示系统的时间常数有 关。 6、信号处理功能:鉴于离散过程(如零件生产)和连续过程不同,所以 要求红外测温仪具有多信号处理功能(如峰值保持、谷值保持、平均值) 。 7、环境条件考虑:测温仪所处的环境条件对测量结果有很大影响,应予 考虑并适当解决,否则会影响测温精度甚至引起损坏。 8、红外辐射测温仪的标定:红外测温仪必须经过标定才能使它正确地显 示出被测目标的温度。 2.3 影响温度测量的主要因素及修正方法 影响红外人体测温仪的因素有: 1、测温目标大小与测温距离的关系:在不同距离处,可测的目标的有效 直径 D 是不同的,因而在测量小目标时要注意目标距离。人体红外测温仪距离 系数 K 的定义为:被测目标的距离 L 与被测目标的直径 D 之比,即 K=L/D。 2、选择被测物质发射率:人体红外测温仪一般都是按黑体(发射率 =1.00)分度的,而实际上,物质的发射率都小于 1.00。因此,在需要测量目 标的真实温度时,必须设置发射率值。物质发射率可从辐射测温中有关物体 发射率的数据中查得。 3、测量温度时的环境因素:测温仪所处的环境条件对测量结果有很大的 影响,应予考虑并适当解决,否则会影响测温精度。本设计中正是利用了 PM611 热释电红外线传感器可以补偿温度起伏的作用,实现准确测温。 4、强光背景里目标的测量:若被测目标有较亮背景光(特别是受太阳光 或强灯直射) ,则测量的准确性将受到影响,因此可用物体遮挡直射目标的强 3 光以消除背景光干扰。 5、温度输出功能:首先模拟信号输出 05V,15V,010V,0/420 毫安,可以加入闭环控制中。其次高报警、 低报警生产过程中要求控制温度在某个范围里,可设置高,低报警值。高报 警:在高报警设置打开的情况下,当温度高于高报警值,相应的 LED 灯闪烁, 蜂鸣器响,并有 AH 常开继电器接通。 由于在温度测量时是在不确定的环境中进行的,所以外界环境会对测温造 成一定的影响,对测量结果产生误差,所以要对环境温度有一个修正。 由 2.1 节辐射公式可得出热释电传感器的响应公式为: (2.3)40()aVST 式中: 为与热释电响应特性及物体表面发射率有关的常数, 为物体表面温S 0T 度, 为环境温度。根据表达式(2.3)可以得到不同的标定公式: aT (1)简单关系式,即 (2.4) 1/40aaVTTKVS 式中: ,应用此公式所作的标定实验结果见表 1,表中数据表明,314aKS 不仅与 有关,还与 有关。 aaT0T (2)多项式,即 (2.5) 1/40aVS 令 (2.6)201aT 在参考文献7中, 取三项,其实验结果表明,要使测温仪满足一定的精度,S 测温时的环境温度和物体表面温度要在一定的范围内,如环境温度 =30,aT 物体表面温度在 180以上时,读数误差较大。 由下表 1 可知:首先应该对物体表面温度分段定标,因为测量范围较大, 所以不同段的标定系数相差很大。实际应用中每隔 510就必须标定一个系 数,当采样电压峰值落在此区间时就选择该系数。然后再根据环境温度的不同 对已选出的标定系数进行修正,达到在不同环境温度下仍然能够准确测温的目 4 的。 分析表 1 可知,当物体表面温度较低时(78以下) ,环境温度对修正系数的 影响较大。所以对此温度范围的物体必须进行环境温度对标定系数的修正。而 当物体表面温度较高时,则修正系数基本由物体表面温度决定,这样系数就不 必再依环境温度进行校正。这就减少了标定系数的复杂性 。下图为表 1: 表 1 不同环境温度下的标定系数 2.4 人体红外线测温仪的特点 人体红外测温仪是通过接收人体发射的红外线的能量的大小来测量其体温 的仪器。测温仪内部的灵敏探测元件将采集的能量信息输送到微处理器中进行 处理,然后转换成温度读数显示。所以人体红外测温仪具有以下优点: 1、非接触测量:它不需要接触到人体,只需在额头前方 5 厘米左右测温 即可,而且红外探测器只需感应人体辐射的红外线。因此,不会干扰人体,也 不会为人体带来损伤。 2、测量范围广:因为人体红外测温仪是非接触式测温,所以测温仪并不 处在较高或较低的温度场中,而是工作在正常的温度或测温仪允许的条件下进 行测量的,所以测量范围比较广。 3、测温速度快:即响应时间快。红外探测器中灵敏元非常灵敏,只要接 收到目标红外辐射即可在短时间内定温。 4、准确度高:人体红外测温不会与普通测温一样破坏物体本身温度分布, 因此测量精度高。 5、灵敏度高:只要人体温度有微小变化,辐射能量就有较大改变,易于 测出。而且使用安全及使用寿命长。 6、体积小,方便携带。 7、受外界环境温度干扰较小:由于本设计中所使用的红外探测器是带补 标准温度 ( ) 环境温度 ( ) 测量值 (V) 系 数 Ka (V/ ) 26.0 2.613 3.061 26.5 2.605 2.879 34.00 27.0 2.588 2.704 26.0 2.960 17.57 26.5 2.948 17.47 78.00 27.0 2.925 17.44 26.0 3.392 27.71 26.5 3.388 27.59 120.00 27.0 3.384 27.48 5 偿电路的,所以它可以补偿外界环境温度的高低起伏。 6 第三章 人体红外测温仪的硬件设计 3.1 总体设计 下图 3.1 所示是人体红外测温仪系统的总体结构框图。 红外探测 器 检测系统 信号处理 单元 显示单元 报警系统 控制器 图 3.1系统总体结构框图 由上图可以看出,红外探测仪接收到人体发出的红外线后,经过检测系统 确定后,再在信号处理单元对所测得的信号进行放大、滤波、再计算,模数转 换处理传送到显示单元显示出温度读数。如果经过处理后的数据大于所设置的 预警数据,则蜂鸣器报警。如果检测完信号后送达处理系统处理,所测的数据 有误,则可以通过控制器(按钮)来进行重新检测,直到显示正确温度。 3.1.1 整体框图设计 热释电红外测温仪可以这样设计整体结构框图,如图 3.2 所示。按下开关 即可测量,每次测量结果显示在显示器上。 当测量按钮按下时,整个电路开 始工作,物体表面辐射的能量经热释电传感器接收后,将热辐射信号转化为电 信号,经由放大电路放大后(由外界环境导致的杂乱信号经滤波器过滤后)到 达 A/D 模数转换器,89C51 单片机作为 CPU 接收经 A/D 转换后的数字信号, 经数据处理后转换成物体表面温度显示在 LCD 液晶显示屏上。 传 感 器 放 大 器 大 器 滤 波 器 波 器 AD C08 04 转 换 器 AT8 9C5 1 液 显 LCD 1602 图 3.2总体电路框图 7 3.1.2 电路设计 本设计采用 89C51 系列单片机进行数据的采集存储和处理。由于信号只有 一个输入,为了避免不必要的消耗,本设计 A/D 转换器采用的是 ADC0804。 芯片的 CLKIN 端和 CLKR 端配合可以由芯片自身产生时钟脉冲。测量物体表 面辐射能量的热释电传感器选用的是尼赛拉传感器有限公司的 PM611 型热释 电传感器,它有效调节外界环境的温度起伏影响;液晶显示器(LCD)选用的 是 2 行 16 个字的液晶显示屏。 电路的主要功能是将热释电传感器接收的红外辐射能量转换为可供 A/D 转 换器接受的电信号。显示器(LCD)由 74LS02 译码器驱动,并由 89C51 单片机 通过软件控制显示物体表面的温度。通过软件程序编制可以实现三位有效数字 的显示( 100 度以下显示两位整数和一位小数,100 度以上显示三位整数)下图 3.3 是整个设计的电路连接图: 8 图 3.3红外人体测温仪电路 3.2 温度传感器 本设计的探头使用的是红外线传感器,它能接收人体发射出的红外线并使 之转换成电压信号。设计选用的是 PM611 单元热释电传感器,这种传感器虽 是单灵敏元,由于他采用一个接收元和二个并联的补偿元串接的结构,故也能 有效地补偿环境温度起伏,振动等干扰影响。他的工作温度是-20+70 , 特别适合测量人体的温度。而且 PM611 各项指数都比较好,因此选用了他做 温度仪的探头。如图 3.4 所示: 图 3.4传感器的内部典型连接电路 3.3 放大电路的设计 由于传感器探测到的人体红外线信号较弱,当转化为电压后需要通过放大 器放大电压信号。因为探测器测到的信号可能掺杂了外界环境的某些因素,所 以放大电路中要加入低通滤波电路把多余的杂信号过滤掉。如图 3.5 所示: 9 图 3.5放大部分电路 传感器输出的信号经 47 F 电容耦合到第一个同相放大器,它的闭环增益 为 2324 之间。同时第一个放大器还兼做高通滤波器,其截止频率为 0.3 Hz。第二个放大器是一个低通滤波器,其闭环增益约为 1,截止频率为 7 Hz。 第一个,第二个放大器分别把低于 0.3Hz 和高于 7 Hz 的信号滤掉,使输出的 信号仅是经过调制器调制的 1 Hz 红外辐射信号。通过第二章的原理可知由信 号转换为电压再转化成温度才显示出来的,那么这个过程将在第三个放大器中 完成。通过放大滤波的信号就输入到模数转换器的 Vin(+)端,模数转换器 会把收到的信号进行模数转换。 调试:在实验中通过调节放大器 1 输出端的 10K 变阻器,使第三个放大 器的输出信号大小发生改变,当最后一个也就是第三个信号放大器的输出小于 5V 时,可以适应下面系列的处理,因此第三个放大器的两个电位器用来调节 最后信号输出的大小,确保在高温时不超过 5V。 3.4 模数转换部分电路 由于传感器探测到红外线后被放大的是模拟信号,然而需要在 LCD 液显 上显示出来,所以本设计利用模数转换器来实现这个功能。因为只用到了一个 输入信号,所以为了节省不必要的累赘,采用 ADC0804 把有用的模拟信号转 换成数字信号,最后显示出来。 ADC0804 是用 CMOS 集成工艺制成的逐次比较型模数转换芯片。分辨率 8 位,输入电压范围是 05V, 增加一些外部电路后,输入模拟电压为 5V。此 芯片内有输出锁存器,当与计算机连接时,转换电路的输出可以直接连接在 CPU 数据总线上,不用再加接口电路。ADC0804 芯片的外引脚图如 3.6 所示, 引脚名称及意义如下: 10 图 3.6 ADC0804 引脚图 Vin(+) 、Vin (-):芯片的两个模拟信号输出端,用来接收单极性、双 极性和差模输入信号; D0D7:AD 转换器的数据输出端; AGND:接模拟信号地; DGND:接数字信号地端; CLK IN:外电路提供时钟脉冲输入端; CLK R:内部时钟发生器外接电阻端,与 CLK IN 端配合可由芯片自身产 生时钟脉冲,频率为 1/1.1RC; CS:片选信号输入端,低电平有效,一旦使用低电平,表示转换器被选中, 则开始工作。 WR:写信号输入,低电平有效。当 CS、WR 同时为低电平时,启动转换。 RD:读信号输入,低电平有效,当 CS、RD 同时为低电平时,可以读取 转换输出的数据。 INTR:转换结束输出信号,低电平有效。如果输出低电平表示此次转换 已经完成。 本设计采用了 CLK R 端口和 CLK IN 端口配合,芯片本身产生时钟脉冲的 方法,A/D 转换器 Vin(+ )端口接收到经处理过的模拟信号在内部进行模数 转换,片选端口 CS 和 WR 写信号输入端口同为低电平时启动转换,因为 0804 内部有输出锁存器,转换后的数字信号存在锁存器里,当 CS、RD 同为低电平 时,可以读取转换输出的数字信号,由 A/D 模数转换器的 D0D7 端输出,接 入 AT89C51 单片机的 P1 口的 P1.7P1.0,经过程序烧制显示到液晶显示屏上。 A/D 模数转换电路连接图如下图 3.7: 11 图 3.7 ADC0804 模数转换电路 3.5 LCD1602 显示电路 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点, 在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。在本设计采用的字 符型液晶模块是一种用 5x7 点阵图形来显示字符的液晶显示器,根据显示的容 量可以分为 1 行 16 个字、2 行 16 个字、2 行 20 个字等等,这里以常用的 2 行 16 个字的 1602 液晶模块来介绍它的编程方法。1602 采用标准的 16 脚接口, 其中: 第 3 脚:VEE 为液晶显示器对比度调整端; 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指 令寄存器; 第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS 和 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据; 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行 命令; 第 714 脚:D0D7 为 8 位双向数据线; 第 1516 脚:空脚。 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模 块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显 示字符地址,也就是告诉模块在哪里显示字符,表 2 是 DM-162 的内部显示地 址。 表 21602 的内部显示地址 12 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 序号 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F 第一 行 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 A 4 B 4 C 4 D 4 E 4 F 第二 行 1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同 的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、 和日文假名等,每一个字符都有一个固定的代码。 在软件中设置温度的代码 是:30.0(00110011B,00110000B,00101110B, 00110000B, 01000011B); 37.0 (00110011B ,00110111B,00101110B,00110000B, 01000011B);60 (00110110B ,00110000B,01000011B)。 在液显电路连接上,LCD1602 显示模块可以直接和单片机 AT89C51 直接 接口,液晶显示的 D0D7 八个双向端口接 AT89C51 单片机的 P0 口的 P0.0P0.7,单片机的 P0 口可以作为通用的输入,输出端口使用,此时,若要 驱动 NMOS 或其他拉电流负载时,需外接上拉电阻,才能使该位高电平有效, 所以中间接 10K 的排阻,来决定显示器高低点位,是否要显示。 由于 VEE 端接电源时接正电源时对比度最弱,接地电源时对比度最高, 对比度过高时会产生“ 鬼影 ”,对比度过低会使屏幕模糊不清,所以使用时可以 通过一个 10K 的电位器来调整它的对比度。LCD1602 的 RS 寄存器选择端口接 单片机的 P2.1 口,通过软件程序中对此端口的设置来决定选择的寄存器。液 显的 RW 端口直接接单片机的 P2.2 口,高电平时进行对输入的数字信号进行 读数。使能 E 端接单片机的 P2.3 口,使能端由高电平到低电平时开始执行命 令,把读数显示出来。下图 3.8 是 LC D1602 显示电路的连接图: 13 图 3.8LCD 显示电路连接图 14 第四章 软件设计 设计的思路是首先初始化系统,然后显示子程序,开始测温后复位各个端 口,摁下开关 ,接通电源,确定打开电源后 A/D 模数转换器 Vin(+)输入端 读取经过放大滤波计算后的数据进行模数转换,CS 片选端、WR 写入端同时 设置成低电平,当芯片自身产生一个脉冲时,启动转换。然后 A/D 转换器的 CS、 RD 同时为低电平 0 时读取转换输出的数据,转换后的数据存入模数转换 器自身的锁存器里,由输出端口 D0D7 输入到单片机的 P0 口中。读取三次数 据,满三次后读数正确的写入单片机 EEPROM 存储器。同时计数器加 1,继 续读取下一组数据。如果读数满三次后数据不正确,则要对单片机进行清零, 复位后重新测量读数。 中断子程序设置 INT0 为外部中断,中断后对 EEPROM 里的数据进行读取, 然后通过液晶屏显示出来,读取时要对数据进行一个判断,AT89C51 单片机的 P3 口除了是多功能 I/O 口外还是第二功能口,它的第二功能是作为控制端口使 用的,所以本设计用 P3.0 串行口输入端来控制报警系统,如果数据大于 37.0,则蜂鸣器报警。显示温度的范围是 3060,当所测温度高于下限或 者上限温度时,报警系统报警。执行完一次子命令后运行中断信号,子程序返 回。主程序流程图如图 4.1 所示。 主程序主要实现以下功能: 1、开机或复位时能自动初始化设备,引导程序正确执行。 2、开机或复位之后启动 A/D 转换,对环境温度进行采样,并在显示器上 显示当前环境温度。 3、保持环境温度显示的同时,对覆盖热释电探测器视场的物体表面的红 外辐射进行转换和采样,并比较各采样值,直到采样值为热释电探测器响应的 峰值电压为止。 如图 4.2 是软件设计部分的中断子程序流程图,主要实现以下功能: 1、A/D 采样子程序完成对热释电传感器放大电路输出信号的采样。要实 现准确测温就必须得到输出信号的峰值,但在实际电路中,由于探测器响应延 时不尽相同,且电路的延时也很难准确计算,所以要准确采集到峰值是十分困 难的。为此,我们只有对输出信号不断地进行采样,并比较各样值,取其中的 最大者作为峰值的近似值 2、数据处理子程序完成对采样值的计算处理。中间又经过了 ADC0804 数 模转换器将结果转换为可供 LCD 显示的代码。 3、读取温度时超过预警温度,蜂鸣器报警,没超过直接显示所测温度。 4、液晶显示子程序完成最后的温度。 15 外部中断 0 初始化 显示子程序 复位 读取数据 写入 EEPROM(超过 37.0 度) 计数器加 1 计数器清零 数据正确 满三次 启动键打开 结束 N Y Y N Y 开始 N 图 4.1 主程序流程图 16 读取指令 读取 EEPROM(超过 37 度) 报警 发送数据 LCD 显示 中断返回 Y N 外部中断入口 图 4.2 中断子程序流程图 17 第五章小结 5.1 红外测温仪的使用注意事项 1、必须准确确定被测物体的发射率; 2、避免周围环境高温物体的影响; 3、对于透明材料,环境温度应低于被测物体温度; 4、测温仪要垂直对准被测物体表面,在任何情况下,角度都不能超过 30; 5、不能应用于光亮的或抛光的金属表面的测温,不能透过玻璃进行测温; 6、正确选择跟离系数,目标直径必须充满视场; 7、如果红外测温仪突然处于环境温度差为 20 或更高的情况下,测量数 据将不准确,温度平衡后再取其测量的温度值。 5.2 改进方案 由于普通红外测温仪只限于测量物体外部温度,不方便测量物体内部和存 在障碍物时的温度,所以可以在其检测头部加一段光导纤维,并在其前端装一 个小视角的透镜,这样被测物体的辐射能经过透镜到光导纤维内部。在光导纤 维里面经过多次反射传至检测器。因为光纤可以自由弯曲,使辐射能自由转向, 这就解决了物体内部温度的测量问题,可以测量有障碍物挡住的角落等地方的 温度。 5.3 推广及应用 由于 SARS 和 H1NI 甲流的出现 (其相似并发病症状之 发烧),这样, 红外测温仪就用于人体温度的测量和大量人群的初步筛检。但是非接触式人体 红外测温仪测量的是表体温度而非精确体温,所以有关人体表面温度和传统的 用体温计测得的腋下温度之间的相关性还正在研究之中,且发表的相关文章少 之又少。到目前为止,还没有任何结论性的证据表明,其中一种温度可以可靠 地、一致性地表示为另一种温度。 本文通过研究部分受试人员的温度测试结果发现:手持式红外侧温仪所测 得的人体表面温度与体温(腋下温度)相比较,其温差因人体个体差异而一致性 较差。从本设计试验结果来看,如果将温差判据确定为 2-4时,将仍然有 35%左右的人员漏查和不必要的进一步待查。而按照现在一些相关单位暂时提 出的红外测温值修正 1-3,那么可能漏查的人员更多! 基于普朗克辐射理论的红外非接触测温技术,由于被测物体均非物理惫义 上的黑体( 发射率 =1),而是灰体 (发射率 (,R,)1),而被测物体的发射率 (,R,)与辐射波长 ,辐射物体表面粗糙度 R,被测物体的材料等有关, 18 因而其测温的准确度受到限制。相对于工业用途的红外测温来讲,人体表面的 红外测温因每个人的个体差异较大(诸如人体自身对周围环境温度的适应调节 能力,皮肤状况,化妆,出汗,肤色等),因而很难准确地(标准体温计的准确 度为0.15)地给出人体温度。 19 参考文献(References) 1 那彦.电子及通信毕业设计M.西安:西安电子科技大学出版社,2008. 2 程玉兰.红外诊断实用技术M.北京:机械工业出版社,2002. 3 赵全利,肖兴达.单片机原理及应用教程(第二版)M. 北京:机械工业出版 社,2008. 4 彭承琳.生物医学传感器原理及应用M .北京;高等教育出版社,2000. 5 何希才.传感器及其应用实例M .北京:机械工业出版社,2004. 6 黄贤武,郑筱霞.传感器实际应用电路设计M. 成都:电子科技大学出版社, 1997. 7 何志彪,黄光,易新建.热释电红外测温方程的研究J. 红外技术,1999. 8 陈继述.红外探测器M .北京:国防工业出版社,1986. 9 胡乾斌,李光斌,李玲,等单片微型计算机原理与应用 M .武汉:华中理 工大学出版社,1997. 10 柳刚,黄竹邻,周昊,王双保,易新建.非接触式红外研制M. 光电子科技 与信息, 2005. 11 陈永甫.红外探测与控制电路M .北京:人民邮电出版社,2004:290-320. 12 何希才.传感器及其应用电路M .北京:电子工业出版社,2001:7 46,177191. 13 马殿阁.多路红外温度监测仪J .电子测量技术,1993(3):5556. 14 刘瑞新.单片机原理及应用教程M .北京:机械工业出版社,2005.7. 15 无线电杂志社.无线制作精汇M .北京:人民邮电出版社,2005. 16 赵亮.单片机语言编程与实例M .北京:人民邮电出版社,2003. 17 阎石.数字电子技术基础M .北京:高等教育出版社,2006.5. 18 谢嘉奎.电子线路非线性部分(第四版)M .北京:高等教育出版社, 2000. 20 致 谢 在本次毕业设计中,我首先非常感我的导师彭岚峰老师孜孜不倦的指导, 做设计的过程中彭老师多次询问进程,并为我指点迷津。她严谨细致、一丝不 苟的作风一直是我工作、学习中的榜样,她循循善诱的教导和不拘一格的思路 给予我无尽的启迪。 感谢何尚平老师,在导师带实习生去苏州实习时对我的询问不耐烦的给我 讲解、指导,帮助我开拓研究思路、精心点拨、热忱鼓励。又给了我很多参考 资料。何老师作为一个老师对不是自己的学生耐心之极,很令人钦佩,是优秀 的师德。 我还要感谢在一起愉快的度过四年生活的谢碧芳同学,叶栋兰同学,柳谚 和曹李华同学,正是由于他的帮助和督促,我才能克服一个个的困难和疑惑, 直至今天的顺利完成。 21 附录 1 PCB 板图 22 附录 2 3D 效果图 正面图 反面图 23 附录 3 程序 # include /头文件 # include # include # include # include # include # include /测温头文件 #include /液晶显示头文件 sbit upalarm=P30; /上限温度报警信号 sbit dc_motor_run=P26; /超过上限温度,报警 bit up_one,down_one; /加 1 和减 1 标志 bit alarm_up_flag; /上限报警设置标志 bit set_temper_flag; /设置控制标志温度标志 bit alarm_switch; /报警开关 bit set_temper_dot_flag; unsigned char user_temper=37; /用户标定温度 unsigned char TH=30,TL=20,RS=0 x3f; /上限温度 50,下限 20,分辨率 10 位,也就 是 0.25C unsigned unsigned char t2,*pt; /用来存放温度值,测温程序就是通过这个 数组与主函数通信的 unsigned char TempBuffer117=0 x2b,0 x20,0 x30,0 x30,0 x2e,0 x30,0 x30,0 x20, 0 x53,0 x45,0 x2b,0 x20,0 x30,0 x30,0 x2e,0 x30,0; /显示实时温度,上电时显示+ 00.00 SET+ 00 unsigned char TempBuffer017=0 x54,0 x48,0 x3a,0 x2b,0 x20,0 x30,0 x30,0 x20, 0 x54,0 x4c,0 x3a,0 x2b,0 x20,0 x30,0 x30,0 x20,0; /显示温度上下限,上电时显示 TH:+ 00 TL:+ 00 unsigned char code dotcode4=0,25,50,75; 因显示分辨率为 0.25,但小数运算比较麻烦,故采用查表的方法* 再将表值分离出十位和个位后送到十分位和百分位*/ void sounddelay(); void tempsound(); 24 /*用户设定温度转换为 LCD 显示数据* *功能:将用户设定温度 user_temper,分离出符号位,百、十、个位 并将它们转化为 ACSII 码,送到液晶显示缓冲区 void user_temper_LCD(unsigned char temper) TempBuffer110=0 x2b; / /0 x2B 为+的 ASCII 码 TempBuffer111=temper/100+0 x30; /分离出 temper 的 百十个位 if( TempBuffer111=0 x30) TempBuffer111=0 xfe; /百位数消隐 TempBuffer112=(temper%100)/10+0 x30; /分离出十 位 TempBuffer113=(temper%100)%10+0 x30; /分离出个 位 TempBuffer115=user_dot_temper+0 x30; /*温度转换为 LCD 显示数据* *功能:将报警温度,分离出符号位,百、十、个位,并将它们转化为 ACSII 码,送到 液晶显示缓冲区 void alarm_LCD( unsigned char TH, unsigned char TL) TempBuffer03=0 x2b; /0 x2B 为+的 ASCII 码 if(TL0 x7f) else TempBuffer011=0 x2b; /0 x2B 为+的 ASCII 码 TempBuffer04=TH/100+0 x30; /分离出 TH 的 百十个位 if( TempBuffer04=0 x30) TempBuffer04=0 xfe; /百位数消隐 TempBuffer05=(TH%100)/10+0 x30; /分离出十位 TempBuffer06=(TH%100)%10+0 x30; /分离出个位 TempBuffer012=TL/100+0 x30; /分离出 TL 的百 十个位 if( TempBuffer012=0 x30) TempBuffer012=0 xfe; / /百位数消隐 TempBuffer013=(TL%100)/10+0 x30; /分离出十位 25 TempBuffer014=(TL%100)%10+0 x30; /分离出个位 /*温度转换为 LCD 显示数据* *功能:将两个字节的温度值,分离出符号位,整数及小数 并将它们转化为 ACSII 码,送到液晶显示缓冲区 void temper_LCD(void) unsigned char x=0 x00,y=0 x00; t0=*pt; pt+; t1=*pt; else TempBuffer10=0 x2b; /0 xfe 为变+的 ASCII 码 t1=4; / 右移 4 位 x=x /和前面两句就是取出 t0的高四位,t0 的低四 位代表小数 t1=t1|x; /将高低字节的有效值的整数部分拼 成一个字节 soundvalue1=t1; if(t1user_temper) dc_motor_run=1; /如果温度高于用户标定温度,则 报警 else dc_motor_run=0; TempBuffer11=t1/100+0 x30; /+0 x30 为变 09 ASCII 码 if( TempBuffer11=0 x30) TempBuffer11=0 xfe; /百位数消隐 TempBuffer12=(t1%100)/10+0 x30; /分离出十位 TempBuffer13=(t1%100)%10+0 x30; /分离出个位 26 t0=t0 /取有效的两位小数 t0=2; /左移两位,以便查表 x=t0; y=dotcodex; /查表换算成实际的小数 soundvalue2=y; TempBuffer15=y/10+0 x30; /分离出十分位 TempBuffer16=y%10+0 x30; /分离出百分位
展开阅读全文