基于MLX90615和STM32的多点红外温度测量系统设计
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 ℃,且响应速度快,抗干扰能力强。传感器与微处理器的接口简单,简化了硬件设计工作,为多点温度测量提供一种新方法。实验结果表明,该方法测温精度高,响应速度快,且非接触式测量有效降低了危险系数,为多点测温提供了一种新途径。
温湿度控制器相关文章:温湿度控制器原理
评论