《传感器技术及应用》 课程设计说明书
课设题目 红 外 测 温 仪 班 级
姓 名 学 号 指导教师 时 间
摘 要
红外测温技术在生产过程,产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥了着重要作用。它打破了传统的测温模式,并且具备不影响被测物体温度场、温度分辨率高、回应速度快、测量精度高、测量范围广、不受测温上限的限制、稳定性好和可同时测量环境温度和目标温度的特点,测量距离可达30米左右。
红外测温近年来在医疗、家庭自动化、汽车电子、航空和军事上得到广泛的应用。
本设计的红外测温仪系统是一种方便用户使用的温度测量工具,功能稳定,运行速度快,可以作为一个简易的非接触式体温测量计使用。系统能够实时检测、显示当前环境的温度信息并具备声光报警等功能。
本系统主要是采用MLX90614红外测温传感器和AT89C51单片机来实现的,单片机通过SMbus 方式与 LX90615 进行通信,将读出的温度数据进行处理,之后驱动LCD 模块显示测量温度
关键词:红外线温度测量,MLX90614传感器,LCD1602液晶显示,AT89C51单片机
摘 要
传统的接触式测温模式存在响应时间长、易受环境温度的影响等缺点。而红外测温是根据被测物体的红外辐射能量来确定物体的温度,不需与被测物体接触,具有不影响被测物体温度场、温度分辨率高、响应速度快、测温范围广、不受测温上限的限制、稳定性好等特点,因此,设计一套红外测温仪。
设计的红外测温仪以AT89C51单片机为核心,红外测温传感器(MLX90614)在测量温度后,以SMbus方式与单片机进行通信,单片机读取温度数据并进行处理,之后驱动LCD 模块显示测量温度。一旦温度超过设定阀值,立刻进行声光报警。
该红外测温仪具有功能稳定,运行速度快等特点。是一种便携式温度测量仪器。
关键词:红外线温度测量,MLX90614传感器,AT89C51单片机
目录
第1章 绪论
1.1课题开发的背景和现状 1.2课题开发的目的和意义 1.3 课题技术性能指标 2 红外测温工作原理 4 系统设计方案的选择 4.1 方案选择 4.1.1 方案一 4.1.2 方案二
4.1.3 方案对比选择 4.2 总体方案设计
3系统主要器件的方案选择 3.1 传感器的方案选择
3.1.1 红外探测器的分类 3.1.2 传感器的选择 3.2 显示器的方案选择 3.3 单片机的方案选择 5 系统各模块硬件设计 5.1 系统主电路 5.2 MCU主控模块 5.3 红外温度测量模块 5.3.1 MLX90614的特性
5.3.2 MLX90614的内部结构 5.3.3 MLX90614的接口电路 5.4 电源模块
5.5 声光报警模块
5.6 LCD显示模块 6 系统软件设计
6.1 MLX90614的SMBus传输协议 6.2 软件流程图 6.3 主程序设计
7 系统误差分析与改进方法 8 课程设计心得体会 9 参考文献 附录
1 总电路图 2 元器件清单
第一章 绪论 1.1 课题开发的背景和现状
红外辐射这一物理现象被发现在1800年,但直到本世纪50年代,红外技术才开始进入广泛应用的阶段。非接触测温技术也叫辐射测温,最早的非接触测温就是以光学高温计为代表的高温法,以后,人们根据斯蒂芬.玻尔兹曼公式,利用黑体辐射能与热力学温度的关系进行测温,这就是全辐射测温和部分辐射测温法,还有的人在光学高温计上进行改进,出现了光电高温计、红外温度计等。
红外测温优点如下:
1.它的测量不干扰被测温场,不影响温场分布,从而具有较高的测量准确度。 2.测温范围宽,在理论上无测量上限,可以测量相当高的温度 3.探测器的响应时间短,反应速度快,易于快速与动态测量 4.不必接触被测物体,操作方便 5.可以确定微小目标的温度
随着工农业、国防事业、医学的发展,对温度测量越来越迫切。红外测温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥了着重要作用。近20年来,国内红外温度测量在技术上得到迅速发展,性能不断完善,功能不断增强,品种不断增多,适用范围也不断扩大,市场占有率逐年增长。 比起接触式测温方法,红外测温有着响应时间快、非接触、使用安全及使用寿命长等优点。
但是比起国外,我们仍处于起步晚,高度低的状况,就温度仪来说,美国红外线测温仪型 号: Fluke 62 Mini(非接触式温度测量) 特 点: 较宽的温度范围到500℃;高光学分辨率;激光瞄准;高精度;背景光显示;同时显示测量的最大值 温度范围: -30-500℃(932℉) 精 度: 10C-30℃(50F-86℉)时为±1℃(±2℉),德国一家公司制造的,响应时间因为一秒钟,日本的温度测量技术精确度远远领先世界同种技术。 1.2 课题开发的目的和意义
为了克服传统的温度计测量温度的主要缺点——需要测量者与被目标近距离接触和测量不方便。在顾及仪器测量高精度前提下,以追求最低成本为原则,本文设计红外测温的整体系统构架。接着根据红外测温原理,主要针对人体体温测量进行了具体的设计开发.开发包括硬件电路,外围工艺,单片机程序和主机程序,对人体的温度测量的误差低于±o.1℃。
红外测温为测量各种温度提供了快速、红外测量手段,可广泛、有效地用于密集人群的体温测量。红外测温针对特定人群,比如儿童或老人,极其方便。此次设计的体温测量计可以数字的方式显示出测量结果,使测量过程变得直观,而且具有较高的灵敏度,可以在几秒钟内测得结果,且寿命长,是较为理想的测温器。
在本设计中,整合大学所学的各种专业知识,并运用到实际生活中,并在其中应用了当今的新技术,此设计能跟上科技大潮的步伐。红外测温现在应用日益广泛,在生活中应用很多。在我国甲流、SARS时,红外测温是最常用的测量技术,无接触,不感染,对人们战胜疾病,起到很重要的作用。无论是过去还是将来,红外测温应用必将日益广泛。本设计就是基于这种思路,从基础入手,利用红外测温技术,提高了测温的距离,和测温的范围,在传统测温的基础上更进一步。本设计在人们的生活中,会得到推广并应用与各个领域。 1.3 课题的技术性能指标
1 题目说明
测温方式一般可以分为接触式和非接触式测温。接触式测温优点是简单、可靠、测量精度高,但只能测量被测物体与测温传感器达到热平衡后的温度,所以缺点就是响应时间长、易受环境温度的影响;而红外测温是根据被测物体的红外辐射能量来确定物体的温度,不需与被测物体接触,具有不影响被测物体温度场、温度分辨率高、响应速度快、测温范围广、不受测温上限的限制、稳定性好等特点,近年来在医疗、家庭自动化、汽车电子、航空和军事上得到广泛应用。因此,设计一套红外测温系统,可以作为一个简易的非接触式温度测量计使用。系统应能够实时检测、显示当前环境的温度信息,并具备报警等功能。 2 技术要求
(1)温度测量范围—20℃~+50℃ 精度为±0.1℃; (2)采用红外测温方式;
(3)从便于携带方面考虑,选用体积小、耗能少的液晶显示器显示当前环境的温度信息。
2 红外测温工作原理
红外测温是辐射式测温的一种,是利用物体的热辐射现象来测量物体温度的。红外辐射的基本依据是玻耳兹曼、普朗克等人的黑体辐射定律。黑体是一种理想物体,它们在相同的温度下都发出同样的电磁波谱,而与黑体的具体成分和形状等特性无关,通过实现和计算得出黑体辐射定律。
一切温度高于绝对零度的物体都在不停地向周围空间发出红外辐射能量。物体的红外辐射能量的大小及其按波长的分布——与它的表面温度有着十分密切的关系。因此,通过对物体自身辐射的红外能量的测量,便能准确地测定它的表面温度,这就是红外辐射测温所依据的客观基础。
物体发射率对辐射测温的影响:自然界中存在的实际物体,几乎都不是黑体。所有实际物体的辐射量除依赖于辐射波长及物体的温度之外,还与构成物体的材料种类、制备方法、热过程以及表面状态和环境条件等因素有关。因此,为使黑体辐射定律适用于所有实际物体,必须引入一个与材料性质及表面状态有关的比例系数,即发射率。该系数表示实际物体的热辐射与黑体辐射的接近程度,其值在零和小于1的数值之间。根据辐射定律,只要知道了材料的发射率,就知道了任何物体的红外辐射特性。
影响发射率的主要因素在: 1. 材料种类 2. 表面粗糙度 3. 理化结构 4. 材料厚度
自然界一切温度高于绝对零度(一273.15℃)的物体,其辐射能量密度与物体本身的温度关系符合基尔霍夫辐射定律。只要测量出所发射的E,就可得出温度,这就是红外测温的原理。利用这个原理制成的温度测量仪表在测量时不需要与被测对象接触,因此属于非接触式测量。红外测温范围很宽,从一5O℃直至高于3 000℃。在不同的温度范围,对象发出的电磁波能量的波长分布不同,在常温(0—100℃)范围,能量主要集中在中红外和远红外波长。本设计选用的MLX90614红外测温传感器,测温范围为-70℃—380℃。
当用红外线测温,测量目标的温度时首先要测量出目标在其波段范围内的红
外辐射量,红外能量被红外温度传感器接收,并转变为相应的电信号。该信号经过放大器和信号处理电路,并按照系统内部的算法校正后转变为被测目标的温度值,然后由测温系统计算出被测目标的温度。
4 系统设计方案的选择 4.1 方案选择 4.1.1 方案一
在该方案中,系统可以分为模拟红外温度传感器(内含环境温度测量)模块、放大电路模块、AD转换电路模块、MCU主控模块、声光报警模块、LED显示模块和电源模块。如下图4.1所示。所谓的模拟传感器就是传感器的输出是模拟量,而不是可以直接进行数据处理的数字量,所以他需要通过信号放大和AD转换等处理才能传输给单片机进行相关的处理。
图4.1 方案一的系统框图
首先模拟红外温度传感器接收人体发出的红外线,然后经过转换后输出对应的电压值,传感器同时通过片上温度传感器测量环境温度/传感器温度。这两个红外温度传感器的输出量通过放大电路和AD转换电路处理后传输到MCU模块进行相关的处理(软件滤波、黑体校定等),然后通过LED模块显示相应的人体温度。
4.1.2 方案二
该方案与第一个方案的最大区别是:在本方案中采用数字红外温度传感器代替模拟红外温度传感器。由于数字红外传感器内部集成了运放电路、A/D转换电路、滤波电路和数字信号处理器,所以只需通过传感器的数据接口就可以把传感器所测量的人体温度数据直接传输给MCU主控模块处理并显示。系统框图如下图3.2所示
图4.2 方案二的系统框图 4.1.3方案对比选择
对于方案一,模拟传感器的成本相对要低,而且整个系统设计的自由度相对要高一些,但是也使得系统电路变的更为复杂。例如集成运放电路要用到双电源供电,这就使得电源模块的设计变得复杂、功耗变大和效率变得更低,这对于使用电池供电的便携式系统是不利的。同时在软件设计方面,要涉及到滤波处理、温度线性校准处理和黑体校定等,这使得设计工量大大增加。而且对于开发者的开发环境要求较高,例如要具备黑体校定的设备等。
而虽然在方案二里采用的数字传感器的成本相对模拟传感器的较高,但整个系统的设计相对简单,数字红外温度传感器可以与MCU直接相连接(需要接上拉电阻),由于不需要额外的集成运放电路,所以也不需要用到双电源供电,因而使得电源模块的设计简化,电池的利用效率更高。由于该方案的电路简单且集成度高,所以功耗更低。而且相比第一个方案,无需黑体校正。所以开发时间要比方案一少。这也意味着方案的总体成本(硬件成本、开发时间成本等)其实要比方案一要低。
综上所述,本次设计采用方案二更合理。 4.2 总体方案设计
经过论证对比后,本次设计选择了方案二的设计。在该方案里,整个系统从硬件上可以分成5个子模块:分别是红外温度测量模块、MCU主控模块、声光报警模块、LCD显示模块和电源模块(如图4.2所示)。
其中本系统的红外测温传感器采用Melexis公司设计生产的低成本红外温度测量数字传感器——MLX90614。MLX90614中的红外温度传感元件是工业级硅片,它带有的一个薄型微机械加工隔膜来过滤掉环境红外线的影响,环境温度由芯片内置的热电偶测得。定制的内置信号调节芯片放大微小的热电偶电压并将其数字化,通过使用芯片EEPROM存储器中储存的生产厂设定校准参数,计算出物体的温度。数字输出温度是完全线性化并对环境温度进行过补偿的。通过SMBus或连续的PWM信号,传感器将结果输送到使用者应用中。整个温度计系统封装在一个金属罐中。对于OEM制造商来说,这些特性提供如下的优点:不需要昂贵的外部组件,能够轻松将传感器整合到应用电路(PCB)上。这种自容式系统解决了微小电压信号、环境影响和电磁兼容性的设计难题,否则这些因素会导致红外线温度测量的很多困难和麻烦。同目前市场上的其它红外线解决方案相比,高度的集成化使得MLX90614更具价格优势。
本系统主要实现以下功能: 实时检测、显示当前所测温度信息和声光报警
等。
3 系统主要器件的方案选择 3.1 传感器的方案选择 3.1.1 红外探测器的分类
红外探测时红外测温仪的重要组成部分,它对测量的精度和范围有着重要的意义。它可以分为热探测仪和电子探测仪两大类。热探测仪分为热电堆探测器、光电导探测器、光生伏特器和光电磁探测器等,而光子探测器则分为光电子发射器、光电导探测器、光生伏特器和光电磁探测器等。
热电堆探测器采用热电堆为探测元件,利用塞贝尔效应,测量比较准确。热敏电阻探测仪是根据物体受热后电阻会发生变化的性质而制成的红外探测器,它可以响应从X射线到微波波段的整个范围,可在室温下正常工作,但由于其时间常数大,只适用于响应速度不高的 场合。气体探测器是气室内的吸收膜吸收红外辐射升温,加热工作气体,由气体膨胀给出电信号。热释电效应工作的探测器,其响应速度虽不如光子型 ,但由于它在室温下使用、光谱响应宽、工作频率宽、灵敏度与波长无关,因此其应用领域广、容易使用。常用热释电探测器有硫酸三甘钛探测器、铌酸锶钡探测器等。
红外光子探测器是利用光子效应制成的红外探测器。常用的光子探测器有光电二极管、光敏二极管、Insb光电磁探测器。红外光子探测器的主要缺点是需要制冷,因为它需要制冷来抑制由于热运动而产生的自由载流子。新一代近室温光电探测器利用排斥效应、提取效应以及磁集中效应能够实现静态耗尽,实现非制冷条件下的红外探测。 3.1.2 传感器的选择
方案一 采用红外线温度传感器IRTR。IRTR系列红外传感器是一种集成的多用途工业传感器,因此不能用人体测温,故不用此方案。
方案二 采用热释电红外线传感器D203S。该型传感器能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。但这种传感器一般用于开关电路,红外防盗报警等方面,若要用于测量体温,则需要加入步进电机等进行斩光处理,硬件上的复杂性决定了它的稳定性不高,故不选此方案。
方案三 采用热电堆红外传感器MLX90614,MLX90614是Melexis公司生产的并集成了放大、滤波和A/D转换等功能的非接触式红外温度传感器。它以非接触的方式检测物体发射出来的红外线能量,并将其转换成相应的电压信号输出。由于MLX90614具有较小的热惯性和较高的灵敏度,因此非常适合医学测温,故选方案三。
3.2 显示器的方案选择
方案一 选用数码管显示。数码管具有耗能低、电压低、寿命长、对外界环境要求低等优点,但其也有电路复杂、占用资源较多、显示信息少、不宜显示大量信息等缺点,故不选此方案。
方案二 选用液晶显示器显示。液晶显示器与数码管相比,有以下明显的优点:微功耗、尺寸小、显示信息量大、字迹美观、视觉舒适而且容易控制。而本系统需要显示直观的信息,并且显示的信息量比较大,所以应选用显示功能更好的液晶显示器,故选择方案二。 3.3 单片机的方案选择
方案一 采用MCS-51单片机。传统的单片机具有价格低廉、易于掌握等特点,但也有功能单一、RAM、ROM空间小等缺点,故不选此方案。
方案二 采用AT89C51单片机。AT89C51与MCS-51单片机的基本结构是一样的,编程所使用的指令以及单片机的管脚都与MCS-51单片机相同,即完全兼容。由于采用了Flash工艺制作的内部存储器,用户可以用电的方式进行反复快速擦除、改写,这给初学者在设计中提供了极大的方便。故选方案二。
在嵌入式领域中有多种微处理器可以选择,比如FPGA、DSP、单片机、ARM等,在这些处理器中单片机的价格最低,性能适中,适合此类场合。下面对一些常用的单片机类型进行说明:
(1) 51系列单片机。
51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称,其代表型号有ATMEL公司的AT89系列等,Philips、华邦、Dallas、Siemens(Infineon)等公司也有许多兼容的产品,它广泛应用于工业控制系统、白色家电等领域之中。目前很多公司都有51系列的兼容机型推出,在今后很长的一段时间内将占有大量市场。
(2) AVR系列单片机。
AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC (ReducedInstruction Set CPU)精简指令集高速8位单片机。AVR单片机废除了机器周期,抛弃复杂指令计算机( CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中,广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。
(3) MSP430。
MSP430系列是一个16位、具有精简指令集、超低功耗的混合型单片机,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。片上集成了AD、DA、PWM、LCD驱动,其比较器AD采样方式能达到很高的精度,开发系统也很便宜。缺点是在位操作时有点麻烦,不适合用于逻辑控制以及对功耗不敏感的使用场合。
从成本、开发的难易程度考虑,选用ATMEL公司的AT89C51单片机。它是一种低功耗、高性能CMOS 8位微控制器,具有8K可编程Flash存储器,与80C51产品指令和引脚完全兼容,有8K字节的Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,3个16位定时/计数器,1个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
5 系统各模块硬件设计 5.1 系统主电路
基于AT89C51单片机的红外测温仪的硬件设计采用目前使用比较广泛的模块化设计思想,将整个系统分成5大模块:MCU主控模块、红外温度测温模块、电源模块、声光报警模块和LED显示模块。通过划分模块的方法,可以把一个复杂的问题分割成几个相对容易解决的问题,分别予以解决,大大简化了设计的难度。系统主电路图如下图4.1所示
图5.1 系统主电路图
5.1 MCU主控模块
该红外测温仪系统是以AT89C51单片机为核心器件,此MCU主控模块的工作原理是:加载相应程序的AT89C51单片机把红外测温模块传来的数据加以处理,送LED显示器显示和在温度超限时声光报警。MCU主控电路如下图5.2所示
图5.2 MCU主控电路
其复位电路如图5.2左边下部分,本MCU主控模块是通过开关手动复位的,只要在RST引脚出现大于10ms的高电平,单片机就进入复位状态,这样做的目的是便于根据实际情况而选择是否复位温度测量数据。而单片机的振荡电路选用的是晶振振荡电路,其具体电路如图2-1左边上部分。采用晶体震荡电路的原因是因为它的频率稳定性好,而这正是本红外测温仪系统非常重要的技术要求。 5.2 红外温度测量模块
此红外温度测量模块采用非接触手段,解决了传统测温中需要接触的问题,具有回应速度快,测量精度高,测量范围广等优点。 红外测温器件MLX90614
内部集成了放大、A/D转换、滤波和数字信号处理等功能,其可以测量的温度范围为-70℃—380℃,对于测体温是完全可以满足要求。 5.3.1 MLX90614的特性
MLX90614系列测温芯片是Melexis公司生产的一种使用方便的高精度红外测温芯片,它具有数字PWM和SMBus两种输出方式。
热量由芯片热电偶测得。MLX90614在其信号调节芯片中采用了先进的低噪音放大器,一个17位的数模转换器和数字信号处理单元,放大微小的热电偶电压并将其数字化,通过使用芯片EEPROM存储器中储存的生产厂设定的校准参数,计算出物体的温度。
数字输出温度是完全线性化并对环境温度进行过补偿的。使得它能保持0.01℃温度精确度,在0℃-50℃的物体温度范围内,标准的MLX90614具有±0.5℃的绝对精确度;在该范围以外,精确度为±1℃。调试后,可以达到±0.2℃。
MLX90614允许-40℃-125℃的超大工作温度范围,以及-70℃-380℃的扩展物体温度范围。以上两个温度的上下限制为其工作的极限范围,如果需要较小的测温范围,可以通过SMBus总线修改E²PROM里相应温度上下限控制字来改变这个范围,从而提高精度。
5.3.2 MLX90614的引脚分布和内部结构
MLX90614采用4脚罐形封装(TO239),顶端引脚分布视图如图5.3所示。具体的引脚功能如表5.1所示。
图5.3 MLX90614的顶端引脚分布视图 引脚号 SMBUS模式 PWM模式 引脚名称 功 能 引脚名称 功 能 1 SCL 串行时钟输入 Vz 由外部电路置高电平 2 SDA 串行数据输入输出接口 PWM 做为PWM波的输出接口 3 VDD 外部电源输入 VDD 外部电源输入 4 VSS 地,和外壳相连 VSS 地,和外壳相连 表5.1 MLX90614的引脚功能表 MLX90614由红外温度传感器、低噪声放大器、A/D转换器、DSP单元、脉宽调制电路及逻辑控制电路构成,MLX90614内部的结构框图如图5.4所示。热电堆输出的温度信号经过内部高性能、低噪声的运算放大器放大后,送给模数转换器(ADC),ADC输出的17位数字经过可编程FIR和IIR低通滤波器(即框图中的DSP)处理后输出,该输出作为测量结果保存在MLX90614内部RAM存储单元中,可以通过SMBus读取;同时测量结果送到后级数子式脉冲宽度调制电路,将测量结果以PWM的方式输出。
t0控制单元调压器
图5.4 MLX90614内部的结构框图 5.3.3 MLX90614的接口电路
MLX90614的SCL/Vz管脚和PWM/SDA管脚直接连接单片机的普通I/O即可,由于MLX90614的输入输出接口是漏级开路结构,需要加上拉电阻。多个MLX90614可以用于一个系统中,每个MLX90614对应一个不同地址,通过地址的不同而访问不同的MLX90614,最多可以达到127个。MLX90614的接口电路如图5.5所示。
图5.5 MLX90614的接口电路图 5.3 电源模块
电源设计需要功能可靠,且每一个板上都有CBB电容和高品质的ELNA电容做退耦,如图5.6所示
J2 4D6DIODEU19LM7805CT12VC21C101IN+5VGND3J3C120.1uFC1810uFGND12CON2121U20LM317T 3D32322200uF0.1uFVin+VoutADJ2R23220BrRIDGE1D7DIODEC130.1uFC110.1uFR241KC2010uFC1910uFJ412CON2GND
图5.6 电源电路
通过对电路的观察,发现设计所用的电源都是直流电源+5V,所以采用三端集成稳压器LM7805,可以方便的实现此功能。先将220V/50Hz的交流电源电压通过变压器将其电压转换为12V,然后加入电桥进行整流,接着通过电容和LM7805组成的电路进行滤波,得到所要求的+5V的电压。 5.4 声光报警模块
报警装置部分采用的是声光报警,当目标温度超过设定的上/下限温度后,蜂鸣器长响,发光二极管同时亮,提示目标温度超范围,如图5.7所示
图5.7 声光报警电路图
5.5 LCD显示模块
LCD1602是金鹏公司生产的液晶显示器,具有微功耗、尺寸小、显示信息量大、字迹美观、视觉舒适而且容易控制等特点。LCD1602是字符型液晶器,这是一种专门用于显示字母、数字、符号等点阵式LCD。其显示电路如图5.8所示
图5.8 LCD显示电路
6 系统软件设计
6.1 MLX90614的SMBus传输协议
MLX90615 与单片机之间的数据传输通过SMBus 协议进行传输,单片机作为主设备与作为从设备的MLX90614进行通信。读、写数据的格式分别见图6.1、图6.2。其中,S 为起始位,Slave Address 为从器件地址,Wr 为写标志,Command 为命令字节,Rd 为读标志,PEC 为出错数据包,P 为停止位。
图6.1 读数据格式
图6.2 写数据格式
数据传输时序如图6.3 所示,在SCL 变为低电平300 ns后,将16 位数据分2 次传输,每次传送一个字节。每个字节都是按照高位( MSB) 在前,低位( LSB) 在后的格式传输,2 个字节中间的第9 个时钟为应答时钟。
图6.3 SMBus数据传输时序图 6.2 软件流程图
系统首先对SMBus总线和液晶LCD1602进行初始化设置,然后系统循环读取温度显示温度,并在温度超限时声光报警。
系统主要是讲解红外测温仪,其中MLX90614的温度读取程序流程图如图6.4所示.首先写开始条件、写从地址、写命令07H,表示要读取温度。然后编写操作为读操作,重新发开始条件,写读命令,先读取温度低字节,后读取温度高字节,最后读取错误信息码。程序带回2字节的温度数据,可以在显示子程序中转换为具体的温度数据显示。 6.3 主程序设计
1 main():主函数
在主函数中,主要是对系统SMBus初始化,对LCD液晶初始化设置。然后程序循环读取温度模块MLX90614的温度数据,然后送液晶显示屏显示当前温度数据,通过延时延长循环时间。
//**********主函数*************************************** void main() {
uint Tem //温度变量 SCK=1; SDA=1; delay(4); SCK=0;
delay(1000); SCK=1;
init1602(); //初始化LCD while(1) {
Tem=readtemp(); //读取温度 cmd-wrt(0x01); //清屏
Print(\" Temperature:\") //显示字符串 Temperature: 且换行 display(Tem); //显示温度 Print(\" \"); //显示空格 dat-wrt(0xCF); //显示摄氏度 delay(1000); //显示再读取温度显示 } }
2 display():温度输入转换并显示子程序
该程序为把MLX90614中读出的数据转换为温度输并显示。从MLX90614中读出的数据(DataH:DataL)换算为温度数据(T,单位为℃)为T=(DataH:DataL)×0.02-273.15,也可以表示为T=【(DataH:DataL)×2-27315】/100前可以看成是带着2位小数的数据。
还要注意的是温度可能为正也可能为负值,则需要判断数据值乘以2,大于等于27315则为正温度或0,小于27315为负值。
在显示过程中数据前面不需要显示“0”值不显示。
void display(uint Tem) //温度输入转换并显示 {
uint T,a,b;
T=Tem*2; //温度数据×2
if(T>= 27315) //温度为正或0 {
T=T-27315; //温度数据×2-27315 a=T/100; //a为温度整数 b=T ‰100; //b为温度小数
if(a>=100) //温度超过100℃ {
dat-wrt(0x30+a/100); //显示温度百位 dat-wrt(0x30=a ‰100/10); //显示温度十位 dat-wrt(0x30+a ‰10); //显示温度个位 }
else if(a>=10) //温度超过10℃ {
dat-wrt(0x30+a ‰100/10); //显示温度十位 dat-wrt(0x30+a‰10); //显示温度个位 }
else //显示不超过10℃ {
dat-wrt(0x30+a); //显示温度个位 }
dat-wrt (0x2e); //显示小数点,ASCII码为0x2e if(b>=10) //显示温度小数点后第1位数不等于0 {
dat-wrt(0x30+b/10); //显示温度小数点后第1位数 dat-wrt(0x30+b‰10); //显示温度小数点后第2位数 }
else //温度小数点后第1位数等于0 {
dat-wrt(0x30); //显示温度小数点后第1位数0 dat-wrt(0x30+b); //显示温度小数点后第2位数 } }
else //显示为负 {
T=27315-T; //27315-温度数据×2,即温度绝对值 a=T/100; //a为温度整数 b=T%100; //b为温度小数 dat-wrt(0x20); //显示负号
if(a>=10) //温度低于-10℃ {
dat-wrt(0x30+a/10); //显示温度十位 dat-wrt(0x30+a%10); //显示温度个位 }
else //温度高于-10℃ {
dat-wrt(0x30+a); //显示温度个位 }
dat-wrt(0x2e); //显示小数点
if(b>=10) //温度小数点后第1位数不等于0 {
dat-wrt(0x30+b/10); //显示温度小数点后第1位数
dat-wrt(0x30+b%10); //显示温度小数点后弟2位数 }
else //温度小数点后第1位数等于0 {
dat-wrt(0x30); //显示温度小数点后第1位数0 dat-wrt(0x30+b); //显示温度小数点后第2位数 } } }
7 系统误差分析及改进方法
由于普通红外测温仪只限与测量物体外部温度,不方便测量物体内部和存在障碍物时的温度,所以可以在其检测头部加一段光导纤维,并在其前端装一个小视角的透镜,这样被测物体的辐射能经过透镜到光导纤维的内部。在光导纤维里面经过多次反射传到检测器。因为光导纤维可以自由弯曲,使辐射能自由转向,这就解决了物体内部温度的测量问题,可以测量有障碍物挡住的角落等地方的温度。
又因为红外线测温仪测温是非接触式的,这样会存在着各种误差,影响误差的因素很多。距离系数(K=S:D)是测温仪到目标的距离S与测温目标直径D的比值,它对红外测温的精度有很大影响,K值越大,分辨率越高。因此,如果红外测温仪由于环境的限制必须安装在远距离目标之处,而又要测量小的目标,就应该选择高光学分辨率的测温仪,以减小测量误差。在实际使用在,许多人忽略了测温仪的光学分辨率。不管被测目标点直径D大小,打开激光束对准目标就测试。实际上他们忽略了测温仪的S:D值的要求,这样测出的温度会有一定的误差。比如,用测温距离与目标直径S:D=8:1的红外线测温仪,测量距离应满足表2的要求。
15 50 100 200 目标大小D (mm) 测量距离S (mm) <120 <400 <800 <1600 红外线测温仪易受环境因素影响(环境因素,空气中的灰尘等)。对于光亮或者抛光的金属表面的测温读数影响较大。只限于测温物体外温度,不方便测量物体内部和存在障碍物时的温度。但由于受被测对象的发射率影响,几乎不可能测到被测对象的真实温度,测量的是表面温度。
在SARS和HINI甲流出现时候,由于病症之一是发烧,因此要测量没一个人的温度,这样,红外测温仪就用于人体温度测量和大量人群的初步筛检。但是非接触是人体红外测温仪测量的是表面温度而非精确温度,所以有关人体表面温度和传统的用体温计测得的腋下温度之间的相关性还在研究中,且发表的相关文章少之又少。到目前为止,还没有任何结论性的证据表明,其中一种温度可以可靠的一致的表示为另一种温度。
8 课程设计心得体会
通过此次课程设计,使我更加扎实的掌握了有关传感器方面的知识,在 设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。同时,设计也让我感触很深,使我对抽象的理论有了具体的认识。在本次的课程设计中通过自己找材料,分析和设计,掌握了一些软件的操作方法,这为以后的学习做了铺垫。整个设计实现了从单一的理论学习到解决实际问题的转变。通过本次的课程设计,我最大的收获就是提高了自身的动手能力,培养了我的寻求解决问题的能力和团队精神也增强了我其它方面的能力。这次实践使我受益匪浅,在摸索该如何设计电路使之实现所需功能的过程中,特别有趣,培养了我的设计思维,增强了我的实际操作能力。在让我体会到设计电路艰辛的同时,更让我体会到成功的喜悦和快乐。这次设计所用的的工具是Altium Desiger 6.9.本次课程设计提高了我的综合动手能力和工程设计能力,它使我的理论知识得到了综合应用,培养我综合运用所学理论的能力和解决较复杂的实际问题的能力。
我认为,在这学期的课程设计中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。
参考文献
【1】 程德福传感器原理及应用北京:机械工业出版社,2012年1月
【2】 王守中51单片机开发入门与典型实例北京:人民邮电出版社,2007年8月 【3】 周润景Altium Desiger原理图与PCB设计北京:电子工业出版社,2009年6
月
【4】 胡汉才单片机原理及其接口技术北京:清华大学出版社,2004年6月 【5】 余永权单片机在控制系统中的应用北京:电子工业出版社,2003年8月
附录
1 总电路图
2 元器件清单
因篇幅问题不能全部显示,请点此查看更多更全内容