摘要:提供了一种基于数字式红外传感器MLX90615的多点红外测温方法。STM32微处理器通过SMBus总线协议与MLX90615进行通信,首先分别对每个MLX90615地址进行修改,确保其地址编号在总线上的唯一性,然后根据不同地址编号获取不同点上MLX90615所测温度值,结果送至上位机温度监测软件显示。

目前在多点温度测量系统中应用较为广泛的是DALLAS公司的数字温度传感器DS18B20,其优点是只需一根总线,就能完成系统中数据的交换与控制。但DS18B20响应速度慢,精度低,且在实际应用中当总线挂接的DS18B20 的数目超过8 个时,就必须为每个DS18B20提供独立电源供电,导致系统维护变得十分困难。红外测温技术作为一种便捷、准确的非接触式测温技术而得到快速发展。红外测温可实现在其视场范围内对难以接触区域或危险区域进行连续、实时的温度监测,有效降低了测温作业的危险系数;且具有体积小、精度高、可组网及实时性能好等优点。本文采用数字式红外温度传感器MLX90615作为温度检测器件,以STM32微处理器为核心,设计实现多点红外温度测量系统。

  该系统具有优点为:测温精度高;测量不影响温度场的分布;非接触式温度测量,降低危险系数;响应时间短,易于实现动态测量。

  1 红外辐射测温基本原理

  红外辐射是一种人眼不可见的光线,俗称红外线,它是介于可见光中红色光和微波之间的光线。由于带电粒子的运动,一切温度高于绝对零度的物体都在不停地向周围空间发出红外辐射能量,能量波长主要集中在0.6~15 μm波段。其辐射能量密度与温度的关系符合斯蒂芬-波尔兹曼辐射定律:

  

  由式(1)可知,只要已知物体的温度及其辐射率,即可计算出它所发射的辐射功率。反之,如果测量出物体的辐射功率,即可确定物体的温度。红外传感器的输出信号是被测目标温度To 与传感器自身温度Ta 共同作用的结果:

  

  式中:温度单位均为Kelvin;A 为仪器常数,与传感器的设计结构有关。

  2 硬件设计

  非接触式多点红外测温系统硬件部分主要由红外传感器组、微处理器、其他外围电路及PC组成。红外传感器将其视场范围内的红外辐射转化成数字信号,通过SMBus总线将数据传至STM32微处理器,微处理器与上位机进行串口通信,将温度数据显示在上位机。

  2.1 红外传感器部分

  传感器部分采用数字式红外传感器MLX90615ESG-DAA,该芯片是由Melexis 公司生产的高精度数字式测温芯片,具有PWM和SMBus两种输出方式,正常工作的环境温度范围是-40~85 ℃,被测对象温度范围是-40~115 ℃,若需更小的测温范围,可通过SMBus总线修改E2PROM 中相应控制字来改变这个范围,从而提高精度。发射率可设置0~1.0之间的任意值,可根据公式:

  发射率=dec2hex[round(16 384×ε)] ,将0~1.0之间的任意浮点数ε 转换为16进制数,然后写入相应控制字。

  MLX90615主要由红外热电堆传感器、低噪声放大器、16位模/数转换器和DSP单元等组成,其结构框图如图1所示。红外热电堆传感器将采集到的红外辐射转化为电信号,并经过低噪声放大器放大后送给模/数转换器。模数转换器输出的数字信号经FIR/IIR低通滤波器调理后送入数字信号处理器,数字信号处理器对数字信号运算处理后输出测量结果并保存在MLX90615内部RAM中,可以通过SMBus 或PWM 方式供主控CPU单元读取。

  

  若干个红外传感器作为从器件,通过SMBus总线连接到微处理器,典型的SMBus配置如图2所示[3],SDA及SCL引脚皆需300 kΩ弱上拉。注意,MLX90615红外传感器支持7位地址,因此同一总线上的传感器数量最多为127个。

  

  2.2 微处理器

  微处理器采用基于ARM Cortex-M3的32位微控制器STM32F103C8T6.该微处理器具有高速可靠、温度范围宽、资源丰富、功耗低等优点,广泛应用于医疗保健、手持设备、电机控制等场合。STM32F103C8T6具有64 KB 的片内FLASH 存储器、32 个通用I/O 引脚、2 个10 路12位A/D转换器、3个通用定时器等外设资源和USART,I2C,SPI,CAN等通信接口,能够满足多点红外测温系统的设计要求。

  3 软件设计

  3.1 MLX90615的传输协议

  SMBus数据传输协议为主设备与从设备之间的数据通讯提供了可能,该协议规定,在某一时刻总线上只能有一个主设备有效。主设备可通过“读数据”和“写数据”与从设备进行“交流”,其数据传输格式如图3、图4所示。其中,S为起始位,Slave Address 为从器件地址,Wr为写标志,Command 为命令字节,Rd为读标志,PEC为出错数据包,P为停止位。

  

  SDA上的数据在SCL变为低电平300 ns后即可改变,数据在SCL的上升沿被捕获。16位数据分2次传输,每次传一个字节。每个字节都是按照高位(MSB)在前,低位(LSB)在后的格式传输,两个字节中间的第9个时钟是应答时钟。数据传输时序如图5所示。

  

  3.2 温度采集模块

  MLX90615 红外温度传感器的出厂默认地址为0x5b,因此应首先通过软件对红外传感器的地址进行修改,避免总线上出现“一呼百应”的情况。MLX90615支持7位地址,可使用地址值为1~127,所有传感器都会响应0×00地址,应避免使用。更改地址时应保证只有一只传感器挂接在总线上,且必须先对传感器地址控制字清空,即先写入“0×00”地址,再写入指定地址值,其流程如图6所示。

  初始化主要完成通用IO、串口、中断及SMBus总线的设置。

  

  为每个MLX90615红外传感器设置其惟一地址后,将其通过SDA及SCL两线挂接到SMBus总线,与微处理器进行通信。

  微处理器作为总线上的主器件向总线上的第一个MLX90615发送命令并等待应答,待收到应答后,读取该点温度值并通过串口传至上位机进行显示,之后向第二个MLX90615发送命令并等待应答,得到应答后读取该点温度并传至上位机显示,以此类推,对总线上的所有MLX90615进行温度数据采集。MLX90615中读出的温度值转换为摄氏温度的公式为:

  

  数据读取流程图如图7所示。

  

  3.3 上位机界面

  上位机温度监测界面采用C++下的MFC类库编写,实现上位机通过串口与微处理器连接,接收由微处理器发送的温度数据并显示。可通过单击界面上的按钮来控制、选择监测点,如图8所示。

  

  4 实验结果

  实验采用3只MLX90615传感器分别监测热水、冰及室内温度,开始监测1 min后得到其方差、平均值及参考温度如表1所示。

  

  结果表明,MLX90615测温精度更高,且测量结果稳定,响应速度可达7~9 ms.缺点是测温时与被测对象距离需保持在2 cm以内,距离超过70 cm时所测温度为环境温度。

  5 结语

  本文设计实现了基于MLX90615红外传感器的非接触式多点温度测量系统,该系统测量精度可达0.02 ℃,且响应速度快,抗干扰能力强。传感器与微处理器的接口简单,简化了硬件设计工作,为多点温度测量提供一种新方法。实验结果表明,该方法测温精度高,响应速度快,且非接触式测量有效降低了危险系数,为多点测温提供了一种新途径

Arthur.Jiang/蒋旭华
MP:13823378682
海源悦汽车电子股份有限公司
上海市嘉定区恒永路8号
FAX: 021-38019209
//===============================
最具专业的汽车电子零组件供应商,诚信为您服务 !

基于MXL90614设计温度传感器相关推荐

  1. 基于激光视觉传感器的工业机器人焊缝跟踪系统的优缺点

    一.总体项目情况概述 开发发那科工业机器人和上位机之间的通讯功能并完成测试. 开发发那科工业机器人和焊缝跟踪传感器的位置标定功能并完成测试. 开发焊接实时跟踪的图像预处理功能并完成测试. 开发常用焊缝 ...

  2. 基于DS18B20数字温度传感器的温度计设计

    基于DS18B20数字温度传感器的温度计设计 本报告为哈尔滨工业大学电子与信息工程学院大二学期微机原理课程的课设报告.请注意,本文所述代码均在Quartus II 13.0程序内使用汇编语言运行. 一 ...

  3. 安卓基于Frida HOOK传感器 实现虚拟运动跑步

    安卓基于Frida HOOK传感器 实现虚拟运动跑步 (本文运行环境:WIN10 + Pythom 3.6) 众所周知,安卓HOOK是十分厉害的的,所以有一天,我突发奇想能不能动态HOOK安卓的传感器 ...

  4. 【基于Arduino APDS9960 传感器的手势控制非接触式电梯】

    基于Arduino APDS9960 传感器的手势控制非接触式电梯 前言 所需组件 APDS9960 RGB & 手势传感器 电路原理图 代码说明 测试手势控制的非接触式升降机 完整代码 前言 ...

  5. 基于可穿戴传感器和深度卷积神经网络运动状态进行下半身监控算法

    最近加拿大温哥华市西蒙弗雷泽大学机电系统工程与工程科学学院Menrva研究小组,发明了一种传感器装置可以实时监控下半身运动状态. 介绍 跑步是一项比较容易受伤运动,先前已经对跑步者进行了不同运动学参数 ...

  6. 基于微波雷达传感器的智能安全车门锁,微波雷达感应模组技术

    基于微波雷达传感器的智能安全车门锁,为了解决由于人们的粗心而不正当的使用车门所造成的事故问题,通过微波雷达感应模组对周围物体进行感应检测. 在危险发生前做出判断,通过蜂鸣器的鸣叫声对车内人员进行提醒和 ...

  7. 基于DeepConvLSTM的传感器信号分类

    随机智能手机的普及,在日常生活中,大多数人在做任何事情的时候,都会随身携带手机.如果开启手机中的传感器,当用户运动时,就可以采集大量的用户信息,根据这些信息,就可以判断当前用户的运动模式,如行走.上楼 ...

  8. matlab两轮自平衡小车,(2-3合刊) 基于MEMS惯性传感器的两轮自平衡小车设计

    摘要:着重分析了两轮自平衡小车的设计原理与控制算法,采用卡尔曼滤波算法融合陀螺仪与加速度计信号,得到系统姿态倾角与角速度最优估计值,通过双闭环数字PID 算法实现系统的自平衡控制.设计了以MPU-60 ...

  9. 基于电位器式传感器位移测量仪的设计

    基于STC89C52电位器式传感器位移测量仪的设计 本文的位移测量仪的设计要求为:采集和处理测量电路的信号,显示测量位移,测量范围是0-50mm精度为0.1mm.设计能和计算机进行通信的标准接口,并将 ...

最新文章

  1. centos7给MySQL配置环境变量
  2. linux 环境变量LD_PRELOAD简介 定义优先加载的动态链接库
  3. python 遍历元组例子_【Python入门自学笔记专辑】——元组的创建、访问、遍历...
  4. Position(Static, Absolute, Relative, Fixed)
  5. JSP输出HTML时产生的大量空格和换行的去除方法
  6. git did not exit cleanly(解决办法)
  7. GB4208中规定的外壳防护等级IP
  8. 从面试官问“为什么选择mysql数据库”说开去
  9. 中兴通讯徐子阳:不破不立 用“加减乘除”建理想5G
  10. 7.1 XHTML的规范化
  11. 2引擎帮助文档_使用Sentence Transformers和Faiss构建语义搜索引擎
  12. 大数据可视化常见的三种错误
  13. Javascript特效:缓动动画
  14. myeclipse2015添加tomcat
  15. 网络工程师试题(二)2020-12-8
  16. 苹果清除感染 XCodeGhost 的应用
  17. 笔记5:QQ群聊天机器人
  18. 无法被局域网计算机访问,在一个局域网中,一台电脑不能被其他电脑访问为什么?如题 谢谢了...
  19. python字典统计排序1_数据分析1_入门Python
  20. 内存系列三:内存初始化浅析

热门文章

  1. php获取肖前时间,马克思主义哲学原理(上下册)
  2. 尼尔机器人技能快捷键_尼尔机械纪元出招表及招式使用技巧 尼尔机械纪元技能怎么用...
  3. [渝粤教育] 重庆城市管理职业学院 脑洞大开背后的创新思维 参考 资料
  4. 揭秘分析:朋友圈集赞引流套路,老用户是如何带来裂变效果?
  5. 7月18百度测试实习生二面经历
  6. JWT 做 token 签发
  7. C++接口实现汉字拼音转换
  8. BAT等公司高薪招聘Android开发面试题目集锦
  9. this is a prerequisite condition to test whether the packagecompat-libstdc++-33-3.2.3-61.x86_64
  10. opencv 将Mat转为图片数据