APP下载

基于STM32低功耗远传水表的硬件设计*

2018-02-08吴建斌

微处理机 2018年1期
关键词:智能水表水表低功耗

吴建斌,成 亚

(华中师范大学物理科学与技术学院,武汉430000)

1 引言

一直以来,水务公司对水表用户抄表都是采用传统的人工抄表的方式,这种抄表方式人为误差严重,漏抄,估抄,冒抄现象时有发生,不仅费时费力,而且不能及时准确更新用户的用水情况[1-2]。为解决人工抄表困难和及时掌握用水信息等类似问题,近年来出现了多种智能远传水表,大体上分为脉冲式与直读式。由于脉冲式水表会因为电池断电与线路中断等情况产生数据错误。而大多数直读式水表采用绝对编码数据采集技术。绝对编码数据采集技术采用了光电等物理方式,通过一种专门的传感器和特殊的编码计算方法进行位置编码。该水表较为直观且平时不需供电,只在读取数据的时刻上电,数据不会因断电而清零,但是其编码器结构、信号处理和识别方式比较复杂,要求的制造工艺和制造成本普遍相对较高[3-5]。设计采用摄像式的直读式水表[6],只需设计图像采集模块采集水表图像数据,经过简单的图像识别算法就可以提取水表示数,不仅克服了脉冲式水表需持续供电的困难而且结构简单容易实现。目前我国大部分地区仍然采用人工抄表的方式,而且现有的智能水表价格都普遍较高,根据中国智能水表网的数据显示普通智能水表价格一般在250元左右,并且对存量机械水表进行改造需要停水和改变管道,所以不适合智能水表的大面积推广。为了降低智能水表的成本,使其能够被广泛的推广应用,以及在不停水和改变供水管道的前提下实现现有存量机械水表的智能化改造,设计了一种低功耗,低成本的摄像直读式远传水表。

2 智能水表硬件设计方案以及工作流程

2.1 智能水表硬件设计方案

系统微处理器采用意法半导体公司的基于超低功耗的ARM32位Cortex-M0处理器内核STM32F030CCT6单片机,一块芯片成本低至7元。它具有48MHz的工作频率,片上集成256KB的Flash以及32KB的SRAM,1个12位的μs级A/D转换器,8个定时器,10个通信接口(其中包括2个I2C,2个 SPI,6个 USART接口),37个 I/O 端口,工作电压范围为2.4V~3.6V[7]。它同时也具备了多种工作模式的选择,能够使系统在不需要工作时处于休眠状态,有效的降低了工作功耗。

近年来无线射频技术飞速发展[8],无线远传抄表无需布线,安装方便,易实现。本系统通信模块采用LORA组网技术。基于LORA模块的远程抄表系统,不仅具有易嵌入、组网容量大、低功耗等优点,而且接收灵敏度高达-140dBm,信号穿透性强,传输距离远[9]。由于系统使用电池供电,而LORA采用点对点通信方式,实现远距离传输,不需要网格化网络,适用于长期以电池供电的方式[10],满足系统长期电池供电的需求,所以本系统采取LORA通信方式。

基于STM32单片机的智能水表的总体硬件设计框图如图1所示,它以STM32F030CCT6单片机为核心,附加其他外围模块组成。其中,主要的外围模块包括电源模块、图像数据采集模块、LORA无线通信模块、LED照明模块以及电压检测模块。考虑到低成本和低功耗的需求,系统所选用器件的单片采购价不超过60元,其中主控模块单片采购价大约7元,摄像头模块单片采购价大约20元,LORA通信模块单片采购价大约12元。

图1 智能水表硬件框图

系统的低功耗设计主要体现在两方面:一方面是各个模块芯片的选择,本系统选取的芯片都是低功耗低成本的器件。另外一方面是合理优化系统的工作流程,采用各模块逐步唤醒和断电的工作机制,各个模块均设计了开关电路。当系统需要用到某个模块时才为其供电,其它时刻处于断电状态,有效的降低了系统功耗。

2.2 工作流程

系统的工作流程为:首先启动MCU,启动电压检测功能,检测电池剩余电量,当电量不足时,打开LORA电源开关,系统通过LORA发出警示,最后关闭LORA电源;当电池电量充足时,打开摄像头电源开关,启动摄像头,当摄像头启动成功,则打开LED灯进行照明,摄像头拍照,当摄像头拍照结束,关闭LED灯。摄像头采集的图像则写入FIFO。单片机读取FIFO数据并进行图像处理,同时关闭摄像头电源,接着打开LORA电源开关。通过LORA将主控处理获取的结果发送出去,最后关闭LORA开关,系统进入休眠状态,等待下一次的唤醒启动。工作流程如图2所示。

图2 工作流程图

系统不仅在硬件选型上降低了成本和功耗,而且本系统工作流程的设计,有效的降低了系统的功耗。

3 主要外围模块

3.1 LED照明模块

由于水表安装在一个比较密闭的黑暗环境中,因此本系统设计了两个LED灯用于图像采集时的照明,这样才能保证系统采集数据的准确性。LED照明电路如图3所示。发光二极管的阳极接电源,电源由开关控制。LED1和LED2端口与MCU的IO端口连接,由软件控制拉低或拉高LED1和LED2端口。当摄像头准备拍照时,打开摄像头电源开关。当摄像头启动完毕开始拍照,拉低LED1和LED2,使LED灯照明。当拍照完成,拉高LED端口,使LED灯熄灭。充分的降低了灯光照明时间,有效的降低了功耗。

图3 照明电路

3.2 图像采集模块

系统图像采集选用的是OV公司生产的CMOS VGA图像传感器OV7670。该传感器采用CMOS结构,由单电源供电,体积小,工作电压低,不仅能够提供VGA摄像头和影像处理器的所有功能,而且功耗非常小[11]。因为OV7670的像素时钟(PCLK)最高可达24MHz,一般单片机(如STM32F0)的IO口直接抓取是非常困难的,也十分耗占CPU[12],所以本系统图像采集模块通过采用FIFO存储来自OV7670的图像数据,它能完整的存一帧的图像数据并且可以随时读取,有效的降低了OV7670对单片机的性能依赖。

图像采集模块如图4所示。

图4 图像采集模块

其中,U6是12M的有源晶振,产生12M的时钟信号作为OV7670的XCLK输入,为OV7670提供时钟。

PAM3101DAB是一块稳压芯片,将3.3V电压转为2.8V,为OV7670提供稳定的2.8V工作电压。

U7是一个二输入与非门,OV7670的行同步信号HREF与MCU的W_EN引脚作为与非门的输入,输出信号WE连接到FIFO的WE端口,作为OV7670向FIFO写数据使能。

缓存AL422B的DO0到DO7连接到MCU的IO口,MCU通过此数据口从FIFO中读取图像数据,进行处理。AL422B的写指针复位WRST引脚连接到MCU,由MCU控制写指针操作。WRST低电平有效,当WRST为低电平时,写指针复位,开始从0地址写数据;当WRST为高电平时,写指针运动。AL422B的读指针复位RRST引脚连接到MCU,由MCU控制读指针操作。RRST低电平有效,当RRST为低电平时,读指针复位,开始从0地址读取数据;当RRST为高电平时,读指针运动。AL422B的RCLK引脚连接到MCU的IO端口,由MCU向其提供读数据时钟。AL422B的OE引脚连接到MCU,由MCU控制FIFO读操作。OE低电平有效,当OE信号为低电平时,FIFO输出使能状态,随着读时钟RCLK的运转,数据输出管脚D07到DO0会按地址递增的方式输出数据;当OE信号为高电平时,关闭输出,随着读时钟RCLK的运转,数据输出管脚DO7到DO0会呈现高阻态。OV7670的PCLK引脚连接到缓存AL422B的WCLK引脚,作为OV7670向FIFO写数据的时钟。OV7670的数据口Y2到Y9连接到AL422B的DIO到DIO7端口,作为OV7670向FIFO的写图像数据端口。

3.3 LORA通信模块

通信模块是智能远传水表的一个重要部分。摄像头采集水表图像数据后,进行图像识别,提取水表示数,最后通过LORA通信模块将水表数据传送出去。本系统通信模块采用最新的LoRa扩频调制技术芯片SX1278。SX1278是一款高性能、低功耗、远距离的微功率无线模块,内部自动扩频计算和硬件校验处理,使用起来简单,而且SX1278的射频芯片基于扩频跳频技术,在稳定性、抗干扰能力以及接收灵敏度上都超越现有的GFSK射频模块,通信距离是普通FSK模块的三倍以上[13-14]。SX1278具有以下特性:

1)基于LoRa扩频调制技术;

2)半双工通信,SPI通信控制;

3)工作在2.1-3.6V宽电压范围;

4)微功率发射,标准100mW;

5)接收灵敏度高达-148dBm,最大发射功率+20dBm;

6)硬件检验、硬件扩频编码、可以自定义调频机制;

7)接收、发射、CAD检测、休眠等多种模式任意切换。

通信模块电路如图5所示。SPI_OUT、SPI_IN、SPI_CLK、NSS引脚连接到MCU相应的端口,作为SPI接口的4条总线信号。NSS为片选信号,当NSS信号线为低电平时,片选有效。SPI_CLK为时钟信号线,由主通信设备产生。STM32的SPI时钟频率最大为fPCLK/2。SPI_OUT为主设备输入/从设备输出引脚,主机从这条信号线读入数据,从机的数据则由这条信号线输出。SPI_IN为主设备输出/从设备输入引脚,主机的数据从这条信号线输出,从机由这条信号线读入数据[15]。RESET_LORA为SX1278的复位引脚,连接到MCU。DIO_0-DIO_5为SX1278的数据IO口,由软件配置。VCC_LORA为SX1278提供电源。ANT为天线接口。

图5 LORA通信模块

4 硬件测试与结果分析

4.1 硬件测试

完善良好的硬件环境是软件正常运行的必备条件。因此在进行软件设计前,首先要检测硬件性能是否达到预期的效果。在系统硬件设计完成后,需要对硬件电路反复的进行测试。经过反复测试,确认本系统各元器件引脚连接正常,无短路、断路情况。各外围模块硬件测试均达到预期效果,可以正常使用。图6为摄像头OV7670采集的水表图像。

4.2 结果分析

由于水表处于黑暗环境,用于照明的两个LED灯为减小水表玻璃盖产生的镜面反射作用,应该对称的安装在距离摄像头尽可能远的左右上方。为了摄像头采集到最清晰的图像,摄像头应该安装在水表正上方约5cm高处。由图6可知,图像采集模块拍摄出的水表示数比较清晰,为下一步软件设计中的图像识别提高了识别率,有效减小了智能水表的错误率。本系统最大的优点在于低功耗和低成本的设计。智能水表使用的器件均为低压、低功耗器件。此外,电路中还设计了多个电源开关,仅当用到某个模块时,其电源开关才闭合,有效的降低了功耗。系统在最后的测试中,电源端串联了一个电流表,测量了系统待机状态以及工作状态下的电流。测得待机状态下的电流为20μA;系统处于工作状态下的工作电流为50mA。假设水表每个月采集并发送数据3次,每次采集数据到发送数据需要的时间在2s以内。因此,采用2600mAh左右的电池并考虑20%的功耗损耗,在理论上可以使用一年。

图6 摄像头OV7670采集的水表图像

5 结束语

本文对基于STM32F030CCT6的远传智能水表的硬件设计与电路实现做了详细阐述。首先描述了基于STM32F030CCT6的远传智能水表的整体硬件框图,给出了主芯片与各外围模块的关系。接着介绍了STM32F030CCT6选型优势以及其特性和功能,其次分别阐述了各个外围模块的接口电路,从硬件的角度阐述了各个硬件模块的工作原理与实现功能,最后进行了硬件测试和结果分析。从硬件上实现了低功耗远传智能水表的设计。系统设计难点就是对器件的选型,由于涉及到低功耗,所以要求所选器件都是低压供电、低功耗器件。尽管系统实现了低功耗远传智能水表,但是功耗可能没有实现到最低。为了在以后的发展中更好地满足用户的需求,系统功能需要不断地升级优化,未来在图像采集及识别准确度、通信距离数据传输精确度等通信能力、产品功耗和成本等方面都有待进一步的改进。

[1]李浩,田野,杨大伟.水表抄表方式的优缺点及应用前景分析[J].山东水利,2015,40(10):55-56.LIHao,TIANYe,YANGDawei.Advantagesanddisadvantages of meter reading method and application prospect analysis[J].Shandong Water Resources,2015,40(10):55-56.

[2]辛增念,冀春涛.智能水表无线抄表系统的设计[J].科技创新导报,2008(36):95-97.XINZengnian,JIChuntao.Smartmeterwirelessmeterreading system design[J].Science and Technology Innovation Herald,2008(36):95-97.

[3]郭惠均.智能水表核心技术分析[J].科技创新导报,2012(25):49-51.GUO Huijun.Analysis of core technology of intelligent water meter[J].Science and Technology Innovation Herald,2012(25):49-51.

[4]张明达,黄建明.基于Si4432的无线远传智能阶梯计费水表设计[J].电子测量技术,2017,40(8):235-239.ZHANGMingda,HUANGJianming.BasedonSi4432wireless remote transmission intelligent ladder meter design[J].Electronic Measurement Technology,2017,40(8):235-239.

[5]林思克.基于绝对编码数据采集技术的智能水表抄表系统——红外数据采集系统的设计[J/OL].轻工科技,2014,30(3):56-57.LIN Sike.Intelligent water meter reading system based on absolute coding data acquisition system-design of infrared data acquisitionsystem[J/OL].LightIndustrialScienceandTechnology,2014,30(3):56-57.

[6]陈龙龙.摄像式智能水表监测系统中图像压缩方法的研究[D].郑州大学,2016.CHENLonglong.Researchonimagecompressmethodinvideo surveillance system[D].Zhengzhou University,2016.

[7]STlife.augmented.Value-line ARM®-based 32-bitMCU with up to 256-KB Flash,timers,ADC,communication interface,2.4-3.6Voperation.STM32F030x4 STM32F030x6 STM32F-030x8 STM32F030xC Datasheet-production data,Rev2[Z].STMicroelectronics,2015.

[8]葛熠,陈为刚.基于嵌入式USRP的无线通信实现[J].电子测量技术,2016,39(6):167-171.GEYi,CHENWeigang.Wireless comunication system implementation using embedded USRP[J].Electronic Measurement Technology,2016,39(6):167-171.

[9]王阳,温向明,路兆铭,等.新兴物联网技术——LoRa[J].信息通信技术,2017,11(1):55-59.WANG Yang,WEN Xiangming,LU Zhaoming,et al.New Internet of things technology-LoRa[J].Information and Communications Technology,2017,11(1):55-59.

[10]应小军,李瑜煜.基于FPGA的CMOS图像传感器驱动电路设计[J/OL].广东工业大学学报,2015,32(1):71-74.YING Xiaojun,LI Yuyu.Design of drive circuit of CMOS image sensor based on FPGA[J/OL].Journal of Guangdong University of Technology,2015,32(1):71-74.

[11]李慧敏,樊记明,杨笑.基于STM32和OV7670的图像采集与显示系统设计[J/OL].传感器与微系统,2016,35(9):114-117.LI Huimin,FAN Jiming,YANG Xiao.Design of image acquisition and display system based on STM32 and OV-7670[J/OL].Transducerand MicrosystemTechnologies,2016,35(9):114-117.

[12]徐洁莹,刘云飞.基于STM32F107的图像采集传输系统设计[J].山西电子技术,2015(6):26-28.XUJieyin,LIUYunfei.Designofimageacquisitionandtransmission system based on STM32F107[J].Shanxi Electronic Technology,2015(6):26-28.

[13]赵太飞,陈伦斌,袁麓,等.基于LoRa的智能抄表系统设计与实现[J].计算机测量与控制,2016,24(9):298-301.ZHAO Taifei,CHEN Lunbin,YUAN Lu,et al.Design and implementation of the smart meter reading system based on LoRa[J].Computer Measurement&Control,2016,24(9):298-301.

[14]王瑞,李跃忠.基于SX1278的水表端无线抄表控制器[J].电子质量,2015(12):67-68.WANG Rui,LI Yuezhong.Wireless meter reading controller based on SX1278[J].Electronics Quality,2015(12):67-68.

[15]梁德坚,刘玉琼.SPI总线数据远距离传输实现[J].电子测试,2009(1):72-75.LIANGDejian,LIUYuqiong.RemotetransmissionofSPIbus data[J].Electronic Test,2009(1):72-75.

猜你喜欢

智能水表水表低功耗
移动支付近场通信智能水表系统探究
浅析智能水表对用水计量检测装置的性能影响
一种高速低功耗比较器设计
智能水表的计量特性与应用现状分析
上海为独居老人安装能报警的智能水表
水表检定装置不确定度分析计算的相关思考
一种宽带低功耗四合一接收机设计
防冻水表
低功耗便携智能翻译手套系统
低功耗技术在驾驶行为管理模块中的应用