杜海龙,张靖宇,王启鑫,莫浩杰
(1.中国民航大学 工程技术训练中心,天津 300300;2.中国民航大学 航空工程学院,天津 300300;3.中国民航大学 电子信息与自动化学院,天津 300300)
随着科技的发展,温湿度测量越来越重要,将测量的环境温湿度作为输入,通过环境控制系统的计算与输出,可为电子设备及仪器的正常运行,冷链运输的保鲜,仓储粮食、药品的安全等提供重要保障[1-6]。在这一过程中,测量精度是闭环系统工作效果的重要影响因素。本文采用具有高精度的SHT75传感器[7]和高速32位单片机STM32F405制作温湿度检测系统,在确保测量精度的基础上,为系统的响应速度提供保证[8]。
面向现时段温湿度测量系统的整体布局,采用瑞士盛世瑞恩公司出品的SHT75数字式温湿度传感器作为数据采集部分,将意法半导体(STMicroelectronics)集团出品的STM32F405作为处理器部分,对获取的数据进行处理后传输至显示设备。本系统的显示设备选用PC机,或者使用独立的显示模块。硬件结构如图1所示。
图1 系统硬件结构
瑞士盛世瑞恩公司出品的SHT75数字式温湿度传感器符合高可靠性与持续稳定等要求,制作工艺精密,能够将传感单位和数据处理小块集成在一个微型电路板中,兼具测温和测湿功能,此外,与之对应的A/D转换器和串行接口可与其完美贴合。虽然传感器电路上集成有很多功能单位和元件,但其制造成本低廉,具有极高的市场竞争力。
考虑到测量环境以及测量方式,传感器元件中集成的传感元件对集成环境具有特殊要求,如测湿单元需集成在一个精致的湿度小腔体内。考虑到用户后续对数据进行调节的需求,可选用OPT存储器存放精确实验校准系数。传感器接口除了必要的电源和接地端外,只有两线串行接口,通信便捷,在运行过程中配合电压精确调节模块,使得测试过程更加迅速、稳定[9]。
传感器采用的环氧树脂LCP盖下层为FR4针,由铜铍制成,镀镍和金。传感器符合ROHS和WEEE标准,因此不受Pb、Cd、PBDE的影响。虽然传感器电路上集成有很多功能单位和元件,但因其体积小,价格低,因此使用较为广泛。SHT75外形尺寸如图2所示。
图2 SHT75传感器外形尺寸
STM32F405系列单片机拥有高达4 mm×4.2 mm的高集成度、高性能、嵌入式存储器和外设,与提供168 MHz的Cortex-M4内核(带浮点单元格)。DSP命令和浮点单位扩大了用户的使用宽度。该系列单片机拥有90 nm工艺和具有动态功率调整功能的ART加速器,工作模式下的消耗[10]为238 μA/MHz。
经过不断调整和布局,设计出符合要求的单片机模块印刷电路板,它包括单片机最小系统、电源模块、外接传感器接口(4线制的I2C)、显示模块接口(UART串口)。PCB板规格为15 cm×15 cm,如图3所示。
图3 PCB设计电路板
温湿度测量设计的关键在于软件设计以及数据的计算、补偿、校准和传输。温湿度测量流程如图4所示。
图4 温湿度测量流程
SHT75的串行接口针对传感器信号获取和功率消耗问题进行了优化。传感器虽然无法根据I2C规则寻找地址,但如果I2C总线未连接到其他组件,则传感器可以承接I2C总地址线,同时,微控制器必须遵循传感器规则。
读取数据时,单片机先向传感器发送读取命令,等待传感器测量完毕后,将数据分为高有效字节与低有效字节,并将低有效位和校验和发送至单片机。传感器测量时序如图5所示。
图5 测量时序
2.2.1 湿度信号的非线性补偿
湿度的非线性补偿需要参考准确的测量数值,可通过公式(1)进行信号转换:
湿度信号转换公式相关参数见表1所列。
表1 湿度信号转换公式相关参数
2.2.2 湿度信号的温度补偿
由于事实温度和测试标定温度25 ℃(77℉)显著不同,因此需要进行温度补偿:
温度补偿系数见表2所列。
表2 温度补偿系数
2.2.3 计算温度
PTAT开发的温度传感器具有优异的线性度。数字输出(SOT)可以使用下式转换为温度数据:
温度转换公式相关系数见表3所列。
表3 温度转换公式相关系数
2.2.4 计算露点
SHT75无法直接测量露点温度,但可通过温湿度读数计算露点。
在同一集成电路上测量的温度和湿度可用于获取露点。露点计算方法非常多,但大多数都极其复杂,因此可以通过下式获得更好的精度:
露点计算参数见表4所列。
表4 露点(Td)计算参数
为了使所设计的系统更加可靠、高效,必须进行不断调试。本系统的调试环节包括对传感器收集到的数值进行计算、调试,以及其他模块的初步调节。
SHT75采集的数据并不是可直接利用的温湿度数据,而是8位二进制数,所以需要利用公式进行转化,另外湿度方面还需考虑温度对其的影响,进行补偿。露点温度在前两者的基础上进行计算,通过公式转化和处理后,在实验室内测得连续的数值。实验结果由电脑软件(串口助手)显示,但其只能显示十六进制数值,所以获取的结果需通过单位换算得到。对获取的数值进行进制换算和整理后得到的修正后数据见表5所列。
表5 修正后数据
实验室在较短时间内环境变化较小,所以连续测量得到的结果未发生较大波动,加之传感器测量的是局部温湿度,因此结果不能代表整个实验室的环境特性。为了验证测量数据的准确性,本实验选用一个温湿度测量器件作为基准数据进行比对,在比对过程中,基准元件和试验元件均处在同一测量环境中,以保证测量对象统一。用上述数据与实验室中的基准数据进行比对,发现误差处在要求范围内,调试正常。
为了查看传感器测量的反应速度,将人为改变传感器附近的温湿度。用手掌握住传感器后再松开,反复测试(人体在接触传感器或站在传感器附近时,可以快速引起附近温度的上升,并且受手掌汗腺的影响,传感器附近的湿度也会快速发生变化)。测量包括两组:一组5 s握放,另一组10 s握放。观察其变化并记录,第一组每500 ms记录一次,第二组每1 s记录一次,数据见表6、表7所列。
表6 第一组整体调试的数据(5 s握放)
表7 第二组整体调试的数据(10 s握放)
经过比对,发现所测结果与基准数据一致,且反应时间符合系统的要求,调试达到预期。
基于传感器SHT75与单片机STM32的数字式温湿度测量系统工作正常,实验结果表明了算法的可行性和有效性,通过对比可知,其温度测量的精度为±0.3 ℃,其湿度测量的精度为±1.8%RH,最大温度误差为±1.57 ℃,25 ℃时最大相对湿度误差为±4%RH。该测量系统具有精度高、误差小、性能稳定和布置灵活等特点。