基于农业墒情站的多路功耗采集系统

2020-07-15 05:01姚凯学李路里王凯鹏
计算机技术与发展 2020年7期
关键词:墒情功耗电流

任 莎,姚凯学,李路里,王凯鹏

(贵州大学 计算机科学与技术学院,贵州 贵阳 550025)

0 引 言

在国家“四化同步”发展战略的背景下,积极推进农业物联网的应用发展,对促进农业信息化和农业现代化的融合具有重大意义[1-2]。农业墒情站主要的功能是运用各种传感器设备对农业墒情数据进行采集,再通过GPRS无线通信技术将采集到的农业墒情数据传输到后台综合管理系统进行农业环境数据的统计与分析[3-5]。它能够对农作物生长环境进行全方位的检测,在农业生产和农业环境的调节中起到科技保障的作用,促进精准农业的发展[6]。但是农业墒情站大多数用于田间野外,采用太阳能系统进行供电,由于太阳能供电系统[7]受天气变化影响较大,连续阴天可能会造成设备供电不足,无法正常使用,特别是贵州地区的阴雨天气比较频繁,更易出现此类情况。

持久的阴雨天气会使得太阳能供电系统充电少于放电,导致农业墒情站因断电而无法工作,实验室农业墒情站项目运行至今,已经在清镇茶园基地、贵州省水稻研究所等地方投入使用两年之久,均遇到过此类问题,因此研究农业墒情站的功耗问题显得尤为重要。文中提出了一款基于农业墒情站的多路功耗采集系统[8-12],能够实时测量墒情站中各个模块的功耗,为后续研究农业墒情站的功耗优化问题打下基础。

1 系统总体设计

本系统是在实验室所研发的农业墒情站设备的基础上所设计的,要求满足以下条件:

(1)能够采集墒情站各个模块的功耗数据(电流、电压数据)。

(2)能够实时传送所采集到的数据帧。

(3)由于功耗研究也包括了对墒情站中供电系统的研究,因此需要能够同时采集光照强度数据及电池电压数据。

(4)制定相应的通信协议,完成与PC端的通讯。

系统主要由五部分组成:以STM32F103ZET6为核心的数据处理模块、电流电压检测模块、GPRS传输模块、光照传感器模块以及供电模块。系统的总体框图如图1所示。

图1 系统总体框图

系统的具体工作流程为:电流电压检测模块将检测到的多个墒情站模块的电流电压数据通过STM32F103ZET6芯片中的ADC(analog-to-digital converter,模数转换器)进行采集,并将采集到的电流电压数据和光照数据按照通信协议进行帧封装,再通过GPRS模块将封装好的数据帧发送至PC端进行显示。由于光照传感器的供电电压为12 V,因此,直接使用12 V电池为系统进行供电,采用降压模块将12 V电压转化为5 V电压为STM32F103ZET6芯片及电压检测模块提供电源。

2 硬件设计

系统的硬件设计主要分为数据处理模块、电流检测模块、电压检测模块、光照传感器模块、通信模块以及供电模块。系统硬件实物图如图2所示。

2.1 数据处理模块

数据处理模块采用STM32F103ZET6芯片作为主控MCU,主要实现对数据的采集和发送。STM32F103ZET6芯片中的ADC有18个通道,可以测量16个外部信号源和2个内部信号源。使能ADC的扫描模式和连续转换模式,通过DMA(direct memory access,直接存储器存取)循环将每个通道测量的数据传输到内存,再通过串口传输出数据。光照强度数据是通过485串口通讯的方式进行传输。

图2 系统硬件实物图

2.2 电流检测模块

测量电流选用了基于霍尔感应原理的电流检测专用芯片——ACS712ELCTR-05B-T[13],该芯片对应的量程为±5 A。它是由Allegro公司推出的一种线性电流传感器,器件内置了精确的低偏置的线性霍尔传感器电路,能够输出与检测的交流或直流电流成正比的电压。此芯片有很高的输出灵敏度,响应时间也很快,性比价高,使用方便。ACS712ELCTR-05B-T芯片采用小型的SOIC8封装,其引脚分布如图3所示,芯片需要5 V电源电压进行供电。各引脚的功能介绍如表1所示。

图3 ACS712引脚图

表1 ACS712引脚功能描述

ACS712ELCTR-05B-T芯片中含有一个缓冲放大器和一个电阻,能够通过芯片的引脚6外接简单的RC低通滤波电路降低输出噪声,也可以通过RC低通滤波电路来提高低电流的精确度。ACS712ELCTR-05B-T芯片具体的工作原理是通过靠近芯片表面铜制电流路径施加的电流所生成的磁场,被芯片内的集成霍尔IC所感应并将其转化为成比例的电压,所测电流与电压之间的对应关系为线性,取电源电压Vcc为5 V,则输出电压的计算公式为:

Vout=2.5+0.185*Ip

其中,Ip是指被测电流,当Ip为0 A时,也就是没有输入被测电流的时候,对应的输出电压为电源电压的一半,即2.5 V,其中的0.185为该对应关系的斜率,单位为V/A。

将芯片引脚5、引脚7、引脚8与STM32F103ZET6最小系统板对应的引脚相连,根据农业墒情站各个模块的接口,设计了相应的接线模式,方便系统测量功耗数据。因ACS712ELCTR-05B-T芯片输出的数据为电压数据,所以具体的电流测量是通过STM32F103ZET6芯片的内部ADC进行采集,经过数据处理后将所采集到的电压数据转化为电流数据,再通过通讯协议进行帧封装,便于直观显示。

2.3 电压检测模块

系统使用STM32F103ZET6芯片的内部ADC进行电压采集,由于输入ADC的电压要小于3.3 V,而系统需测量的电压远大于3.3 V,因此选用了能够将输入电压值缩小5倍的电压检测芯片,它是基于电阻分压原理设计的,其测量范围为0 V~25 V,能够满足系统的需求。在测量时,芯片的两个端子分别接被测电压的正极和负极,引脚“+”接STM32最小系统板的3.3 V,引脚“-”接GND,引脚“s”接STM32F103ZET6芯片的AD引脚,芯片将检测到的电压数据通过引脚“s”输出至STM32F103ZET6芯片的ADC。

2.4 光照传感器模块

为了研究光照强度和电池充电之间的关系,系统对光照强度数据进行了采集。本系统选用的光照传感器为实验室自己研发的传感器,通过485串口通讯方式传输光照强度数据,因此,需要RS485转TTL芯片以实现光照传感器与STM32F103ZET6芯片之间的正常通信。

2.5 通信模块

为利于后期墒情站功耗优化的研究,所以采用GPRS模块来传输数据。本系统使用SIM800C作为通信模块[14],SIM800C是一款四频GSM/GPRS模块,其性能稳定、外观小巧、性比价高,通过AT命令控制可以低功耗实现数据信息的传输[15]。SIM800C模块突破了WIFI模块只能在固定无线网络范围内的距离局限,也打破了蓝牙模块短距离的传输瓶颈,只需要通过单片机连接SIM800C模块,在有移动网络信号覆盖的环境下就能与服务器端进行基于TCP/IP协议的点对点数据传输,实现不限距离的远程控制。SIM800C使用AT指令进行GPRS建立TCP远程连接,AT指令过程如表2所示。

表2 建立TCP远程连接过程

2.6 供电模块

为了保证光照传感器的正常工作,供电模块选用了可充电的12 V电源为光照传感器进行供电,再通过12 V转5 V的降压模块为系统的数据处理模块、电流检测模块以及通信模块提供5 V的电源电压。

3 软件设计

3.1 系统软件设计

系统软件由C语言进行编写,具体的软件设计流程是首先在系统上电后进行一系列的初始化,主要为初始化GPIO口、铁电、串口、定时器、中断、GPRS等。初始化结束后,需要判断GPRS是否联网成功,如果没有联网成功,需重新配置GPRS,建立TCP远程通信,如果GPRS联网成功,则进行下一步,判断铁电是否清零(在上电后,铁电所存的上一次数据可能会影响到下一次所采集到的数据,因此需要将铁电中的数据清零,准备接收数据,所以当铁电内还存有数据时,要将铁电中的数据清零),当铁电中的数据已经清零后进行ADC多通道采集电压数据(因为所采集的电流数据转化为了电压数据进行采集,因此只需要采集电压数据,后期再计算回电流即可),然后通过串口5采集光照传感器数据,采集数据结束后将所采集到的电压以及光照强度数据按所制定的通讯协议进行存储,判断数据是否存储成功,若没有则报错,若存储成功则将数据帧从铁电中读出通过GPRS发送后台(PC端)进行接收,判断数据是否上传(接收)成功,如果没有成功则发送报错指令。总体的软件设计流程如图4所示。

图4 系统软件流程

3.2 通信协议设计

系统采集到的数据,通过GPRS转发给上位机进行显示,为保证数据无误、可靠地传送,需要制定通信协议,使系统实现总体功能。通信协议的介绍如下:

数据采用串行传输的方式,因此需要一个特定的起始符来表示该串数据帧为系统上位机要接收的数据信息,具体的数据帧格式如表3所示。

表3 数据帧格式

START起始符标识一帧数据的开始,大小为一个字节,值固定为E1H;DATA数据域存放采集到的有效数据,根据数据来改变字节的大小,其中需定义传感器类型,如01H为电流传感器1,02H为电压传感器1,03H为电流传感器2等等;LENGTH为长度域,标识有效数据的总字节数;CRC校验码采用CRC-16循环冗余校验,大小为2个字节,由LENGTH长度域到DATA数据域生成CRC校验码;END结束符大小为一个字节,标识一帧数据的结束,值固定为EFH。

4 系统测试

本系统测试主要为系统与花生壳及网络调试助手进行联调,系统上电后,GPRS成功联网,将采集到的数据实时发送至服务器,用网络调试助手接收数据,具体的测试结果如图5所示。

图5 测试结果

通过测试,系统能够稳定地传输采集数据,每条数据间隔为0.5秒,所测得的电压及电流值误差为1.5%左右,能够满足系统的需求。

5 结束语

介绍了多路功耗采集系统的设计与实现,基于墒情站的基础上设计测量模块的接口,通过STM32F103ZET6芯片中的ADC采集墒情站各模块的功耗数据(即电流电压检测模块所检测到的电流电压数据),按照自定义的通信协议将数据进行帧封装,再由GPRS模块上传至PC端进行显示。系统测试结果表明,该系统运行稳定,具有实时性好、响应时间短、结构简单、使用方便等优点,具有较好的使用价值。

猜你喜欢
墒情功耗电流
基于任务映射的暗硅芯片功耗预算方法
土壤墒情监测的意义及技术规范
土壤墒情监测的意义与技术规范
标定电流与额定最大电流的探讨
初中语文教学“墒情”浅析
揭开GPU功耗的面纱
交变电流基本知识汇总
交变电流高考真题赏析
雪后春管忙
挑战眼力