APP下载

低功耗土壤环境监测系统的研究与设计

2021-05-12肖汉光冉智强王宪文

关键词:温度传感器低功耗功耗

肖汉光,冉智强,王宪文

(重庆理工大学两江人工智能学院,重庆 401135)

土壤是农业生产和人类赖以生存的物质基础,如今,土壤板结、土壤酸碱化、水分流失等问题严重影响土壤的生产功能、环境功能和生态功能的发挥,对粮食产量、食物质量、生态安全和人体健康造成一定影响[1]。准确地检测出土壤环境参数,对倡导精准农业的中国具有深远意义。

随着计算机与通信技术的发展,传统农业与智能电子设备的结合越发紧密,现代科学技术的快速发展为土壤环境监测研究打开了新的大门。孟德伦等[2]采用“T”型结构装置测量农田土壤水分,通过蓝牙传输技术将数据实时发送到Android手机。Nagarajan G等[3]设计了基于 ZigBee的无线传感器网络系统以实现土壤特性监测和自动灌溉管理。韩团军[4]结合ZigBee网络和WiFi网络实现了对山间农田环境参数的监测,并采用Web服务器对数据进行显示、处理和存储。

如表1所示,蓝牙可同时连接的设备少,传输范围小,无法满足大范围或户外监测要求。WiFi因为功耗过高,电池无法长时间供电,且数据安全得不到保障。ZigBee虽然功耗较低,覆盖距离相对较广,但能力依然有限。窄带物联网(narrow band internet of things,NB-IoT)技术能够很好地解决功耗与传输距离间的矛盾,有超低功耗、大连接、低速率小数据分组、低成本、广覆盖等特点,它是当前各大运营商的主流技术选择[5]。

表1 通信方式比较

本文中基于现有的土壤环境检测方法和发展趋势,设计了一套基于NB-IoT的土壤温湿度远程实时监测系统,在选择低功耗设备的基础上,通过设置不同工作模式、优化程序设计等操作,使系统功耗尽可能低,以达到长时间监测的目的。最后验证表明,系统在保证测量精度的同时有效降低了功耗,提高了监测设备的使用寿命。

1 系统设计

1.1 系统整体设计

系统整体架构如图1所示,稳压电路对系统供电,同时带有上电复位功能。土壤温度传感器DS18B20输出数字信号直接通过I/O引脚连接到单片机,由于土壤湿度传感器YL69输出的是模拟信号,需要连接到内置的 AD转换电路上。STM32F103RCT6单片机将从传感器得到的数据传送给NB-IoT模块,再由该模块发送到已经对接好的云平台上。采用的OceanConnect是华为公司基于物联网、云计算和大数据等技术打造的开放生态环境。

图1 系统整体架构框图

1.2 低功耗设计

1.2.1 低功耗元器件选择

选用低功耗的元器件可以从根本上降低硬件系统的能耗。MCU是嵌入式系统的核心,复杂的芯片集成度高、功能强,但片内晶体管多,总漏电流大,即使进入待机状态,漏电流也不可忽视,而简单的芯片内核不仅功耗低,成本也低[6]。由于该土壤温湿度监测系统追求低功耗而不是低时延,因此选用ST公司的STM32F103RCT6芯片作为主控MCU,该芯片拥有低功耗模式,在基本满足温湿度测量的条件下,相比于其他芯片能耗更低,待机时电流仅为2μA。无线通信模块是系统中耗电最大的部分,因此同样选用具有低功耗模式的NB-IoT模块。

1.2.2 低功耗模式切换

STM32F103RCT6有睡眠、停止、待机3种低功耗模式[7]:睡眠模式时,内核关闭,但外设依然运行,功耗最高,任一中断或事件可唤醒;停止模式时,所有时钟停止,功耗较低,外部中断可唤醒;待机模式时,1.8 V内核电源关闭,功耗最低,但只有WKUP脚和RTC能将其唤醒。系统根据未工作时间长短,结合电源消耗、启动时间和唤醒源,选定最佳的低功耗模式。

NB-IoT模块 M5310-A有 3种工作模式[8]:Active模式时,模块处于活动状态,所有功能正常可用,可以进行数据发送和接收;Idle模式时,模块处于浅睡眠状态,网络保持连接状态,可接收寻呼消息;PSM模式时,模块只有RTC工作,网络处于非连接状态,不可接收寻呼消息。Idle模式和PSM模式都能够降低模块的工作电流,其中主要用到了PSM和eDRX节电技术,让模块活动与睡眠交替进行,可保证电路系统处于低功耗状态。

1.2.3 外围电路节电

野外测量时会存在供电电压过高的情况,而降低单片机供电电压可有效降低功耗。电源电路中的正向低压降稳压器ASM1117可以将USB提供的5 V电压转换为3.3 V的稳定电压,供给处理器和其他元器件。此时I/O口带有高电平输出值,系统利用它们给NB-IoT模块供电,避免了多电源供电造成的能量损耗,同时将多余的I/O口设置成输入或输出,并用上拉电阻拉高,有效地减少了漏电流[9]。

土壤温度传感器和土壤湿度传感器芯片均采用CMOS技术,耗电量极小。其中,土壤温度传感器从总线上“窃取”一点电保存到电容中可完成供电,即寄生电源供电,且其在待机时功耗近似为0。

1.2.4 软件程序优化

在嵌入式系统中,软件控制硬件活动,不合理的程序同样会造成不必要的能量损耗。软件设计中的延时程序,均采用定时器中断方法。使用“中断”代替“查询”的原因在于单片机进入待机模式后,CPU会停止工作,而定时器仍以极低的功耗正常运行,当定时时间结束,即可唤醒CPU重新进入工作,降低CPU功耗的同时提高了CPU的工作效率。如果采用查询的方式,CPU会不停地访问I/O寄存器,从而带来更多额外的损耗[10]。

1.3 系统硬件设计

1.3.1 嵌入式模块

嵌入式模块包括MCU、电源电路、晶振电路、复位电路等。因为设计土壤环境监测系统是在野外应用,要充分考虑芯片功耗、总体成本与运算功耗,所以选用有丰富的内部资源的STM32F103RCT6单片机,如图2所示。

图2 STM32F103RCT6引脚图

该高集成度芯片采用的是Coxter-M3内核,其主要特点就是功耗比较小,并且具有较高的性价比,还能够支持16位和32位双指令集,其中主要包括大量寄存器,运行速度比较快,频率最高可达到72 MHz,寻址方式比较灵活,能够提高执行效率,还可通过 USB、CAN、UART/USART等多种方式进行通信连接[11]。

1.3.2 传感器模块

土壤温度传感器采用美国Dallas公司生产的数字化温度传感器DS18B20,内部结构主要由64位ROM、温度传感器、非挥发的温度报警触发器TH、TL和配置寄存器组成,其温度传感器是由低温系数晶振和高温系数晶振组成。它以单总线的数字方式传输,具有低功耗、体积小、精度高、抗干扰能力强等优点,适合恶劣环境的现场温度测量。测量的温度范围为 -55~+125℃,在 -10~+85℃ 范围内,精度为±0.5℃[12]。

土壤湿度传感器YL-69插片表面采用镀镍处理,感应面积加宽,提高导电性能,同时防止接触土壤而生锈,延长产品使用寿命,设有固定螺栓孔,便于安装[13]。其原理在于环境的湿度发生改变,使得湿敏电容存在环境的介质发生改变,从而导致湿敏电容中的电容数值产生变化,电容的数值正比于湿度值。传感器具有硬件电路简单、功耗低、灵敏度高的特点。

1.3.3 无线通信模块

NB-IoT模块M5310-A是一款工业级的多频段(Band3、Band 5、Band 8)无线模块,主要应用于低功耗的数据传输业务,满足3gpp Release14标准[14]。模块采用贴片式封装,共有30个管脚,尺寸为19 mm×18.4 mm×2.2 mm,符合检测器小巧便携的设计思想。模块功能框图如图3,其结构包括电源管理单元 PWU、串口 UART、SIM卡、ADC数模转换、RF天线等。

图3 M5310-A功能框图

1.4 系统软件设计

系统程序主要包括初始化程序、数据采集程序、模数转换程序、AT指令等。程序总体流程如图4所示。当单片机上电之后,配置系统时钟和外设初始化,各模块完成初始化后,检查NB-IoT模块是否成功连接到网络,如果成功连接,程序进入睡眠模式,等待定时,到达时间唤醒系统,接收云平台指令。进入主循环,数据采集程序对土壤温湿度数据进行读写操作,再发送到MCU,由于土壤湿度传感器输出模拟信号,则需要模数转换程序处理,MCU通过串口将处理后的数据传送到NB-IoT模块,最后通过AT指令实现与华为云平台的交互。测量完成后,系统会再次进入睡眠模式等待下一次操作。通过软件控制系统在非工作时间及时进入低功耗状态,可以明显减少能量消耗。

图4 程序总体流程框图

1.4.1 AT指令

NB-IoT模块是计算机与终端设备通信的枢纽,在物联网中,CoAP协议是面向网络的针对资源受限设备的应用层协议,核心内容为资源抽象、REST式交互以及可扩展的头选项等[15]。基于CoAP协议的AT命令集可用于控制、调测设备、通信模块入网等,常用的AT指令如表2所示。在使用模块之前需要查询网络注册状态,通常注册时间与信号强度有关,可以通过查询信号强度,以便在野外选取合适的测量地点。遇到设备异常,可重启模块,然后使用必要的指令实现端云数据交互。

表2 常用AT指令

1.4.2 平台开发

OceanConnect平台可以方便地将海量物联网终端连接到物联网云平台,通过开放API和IoT Agent实现设备和平台之间数据采集和命令下发的双向通信,对设备进行高效、可视化的管理,对数据进行整合分析[16]。使用之前需要在平台上完成对产品的开发,开发流程如图5所示。其中,产品模型用于描述设备具备的能力和特性,定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息。设备集成指芯片模块等端侧设备集成了IoT Device SDK、IoT Device SDK Tiny等云端互通组件后,实现与华为物联网平台对接和直接通信。最后需要进行设备调试,在开发真实应用和真实设备前,使用应用模拟器和设备模拟器对数据上报和命令下发等场景进行调测,也可以在真实设备开发完成后使用应用模拟器和设备模拟器对数据上报和命令下发等场景进行调测,也可以在真实设备开发完成后使用应用模拟器验证业务流[17],华为云平台界面如图6所示。

图5 云平台对接开发流程框图

图6 华为云平台界面

2 实验与结果

监测系统设计完成后,先在实验室用清水模拟湿度极大的土壤环境进行了简单的测试,测试环境如图7所示。系统于2019年6月8日在野外进行测试,设定数据上传云平台的时间间隔为1 h,记录8∶00~20∶00土壤温湿度数据。

测试期间,监测系统运行稳定,无掉线情况发生,经万用表测量,系统休眠状态时通信模块耗流低至3μA,射频发射状态时耗流优化至220 mA。测试数据如图8所示。

通过分析曲线图可知检测效果良好,早上下过雨后,土壤温度较低,相对湿度较大。随着天气放晴,温度逐渐升高,湿度呈稳定下降的趋势,直到13∶00,达到极值,并趋于稳定。土壤温度于17∶00开始持续下降,土壤相对湿度于15∶00起逐步增加,到20∶00结束前,均未出现严重波动。

图7 系统测试环境

图8 测试数据曲线

3 结论

研究并设计了低功耗土壤环境监测器系统,采用NB-IoT技术,将采集的土壤温度和湿度信息上传至华为物联网云平台,用户可以远程登录网站,通过实时数据和历史数据了解土壤温湿度变化,同时可以下发控制指令。实验表明:系统运行稳定、响应快速、数据精确,能够满足土壤环境检测的需要。相比以往的相关设计,本研究从多方面对系统进行了低功耗设计,符合物联网发展趋势。

猜你喜欢

温度传感器低功耗功耗
基于任务映射的暗硅芯片功耗预算方法
一种高速低功耗比较器设计
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
一种宽带低功耗四合一接收机设计
XTR105电流变送器在温度传感器中的应用
一种用于6LoWPAN的低功耗路由协议
低功耗技术在驾驶行为管理模块中的应用
揭开GPU功耗的面纱
数字电路功耗的分析及优化