APP下载

基于LoRa和STM32的路灯自动监控系统的研究*

2021-09-24田旭飞姚凯学王凯鹏王运峰

计算机工程与科学 2021年8期
关键词:后台路灯电路

田旭飞,姚凯学,王凯鹏,王运峰

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

1 引言

随着物联网技术的发展,越来越多的物联网技术被运用到各行各业之中,在建设智慧城市的道路上起到了关键性的作用。然而,我国的智慧城市建设虽有进步,但目前的覆盖面并不是很广。比如缺少智能化的路灯控制系统,而路灯又是一个城市和农村基础设施的重要组成部分,也是人类生活中必不可少的工具。如今大部分地区的路灯系统还处在传统控制方式、传统现场人工巡检、传统电路故障排查、传统市电供电、传统电力线布设、没有统一的管理平台等阶段,从而造成了巨大的能源浪费[1 - 4]。

Leccese[5]研究了使用传感器检测自然光环境数据来统一调控路灯开关的系统。该系统虽然使得路灯便于管理,但只通过光照传感数据容易受粉尘、闪电、汽车灯光、落叶等环境因素干扰,从而影响节能效果,而且控制方式单一、不灵活,也无法检测路灯是否故障、路灯运行状态等信息。Bae等人[6]提出使用太阳能LED路灯来达到节能的效果,应用支持向量机根据气象多因子提前一小时预测太阳辐射,从而预测储能系统的功率和电池容量。但是,该方法没有对路灯系统进行实时的管控、运行状态监测和调光控制,所以照明亮度和时间达不到城市主干道路的要求,目前仅能用于乡村、市郊等地区。谭承恒等人[7]提出了基于LoRa(Long Range)通信的太阳能路灯控制系统,通过LoRa模块将路灯的位置、太阳能电池板的信息和蓄电池的电能信息发送到LoRa集中器,再由集中器通过4G移动网络将信息发送到远程控制中心。该路灯系统的主要功能是通过分时段分功率的工作模式以及路况检测进行开关灯控制,使得路灯对于能源的分配相对合理。但是,该研究方案没有对路灯的运行状态、故障信息等进行监测,同时LoRa技术只是建立星型网络拓扑,会受到城市建筑物的干扰,没有发挥其最大性能。

目前,我国大部分路灯系统还处于手动控制、时间控制或纯光照控制阶段,不能在光照发生变化时或特殊情况下及时地对某一部分或某一个单灯进行调整,会造成开关灯的时间过晚或过早,影响居民正常出行或造成巨大的能源浪费,也达不到精准控制的要求,而且也需要专职人员来控制路灯,会造成巨大的人力资源成本浪费;其次,传统路灯需要现场人工巡检和故障排查,不能在路灯发生故障时及时有效地发现,且在故障排查以及维修时不能及时有效地发现故障点,会造成故障路灯长期处于故障或维修状态,影响道路交通的畅通性,同时,也影响居民的正常出行[8,9];再者,传统路灯系统没有统一的管理平台,不能统一管理所有路灯的状态信息,从而造成路灯系统管理混乱,信息资源得不到整合,达不到实时控制和监测的目的,也没有进行实时数据采集、处理及可视化。最后,传统路灯系统存在巨大的能源浪费,根据不完全调查研究显示,在国家整体的照明损耗当中,城市照明系统大约占到30%左右,而每年在照明方面的费用至少为上百亿人民币。而城市对路灯照明的利用率非常低,仅仅只有60%左右,这就造成了严重的电能浪费[10]。

对此,本文研究了基于LoRa和STM32的路灯自动监控系统,本文系统能够自动监测路灯实际运行状态、是否故障、地理位置、环境数据等信息,能够根据实际情况提供多种控制方式,能够自动监测路灯运行状态及进行故障排查,能够统一管理所有路灯。同时,本文系统既能最大限度提高路灯资源利用率节约电能,减少市政在路灯照明方面的成本开支,也能有效地提高路灯科学管理水平,提升路灯所在地区的形象。鉴于智慧城市的建设,道路照明管控系统也终将朝着智能化控制的主流趋势发展[11,12]。

2 系统总体设计

基于LoRa和STM32的路灯自动监控系统采用了LoRa级联组网模式,并将该组网结构应用到路灯自动监控系统的总体设计体系中,针对此架构进行软硬件开发和设计,同时对整个系统开展测试并完成调试。单个路灯系统架构图如图1所示。系统主要包括数据采集仪MCU(Micro Control Unit)、数据检测模块、太阳能供电模块、通信模块、电路调光控制模块、LED灯、后台人机交互模块等。其中,太阳能供电模块为整个系统提供电源;MCU与电路调光控制模块连接,对LED灯进行开关灯和调光控制;MCU与数据检测模块连接,实现相关参数的采集;MCU与通信模块连接,实现硬件系统与后台服务器之间的实时数据传输,其中4G通信网络实现MCU与后台服务器双向数据实时传输,蓝牙与串口通信主要用于现场调试和相关参数设置,方便对系统进行安装调试,LoRa通信实现路灯系统之间的组网和通信。

Figure 1 Structural diagram of a single street lamp system图1 单个路灯系统架构图

Figure 2 Structural diagram of multiple street lamp systems图2 多个路灯系统架构图

多个路灯系统架构图如图2所示。系统工作时,数据检测模块将采集到的数据信息上传到STM32的MCU中进行分析处理,然后,MCU根据当前的参数对路灯状态是否需要改变进行判断,并通过路灯控制模块对路灯系统执行相应的控制操作。其中故障检测模块对路灯的工作状态进行实时监测,在监测到故障时及时向MCU发送故障信息。最后,MCU将路灯运行状态信息进行打包封装成数据帧向STM32串口发送。若该MCU携带的是LoRa协调器节点,则数据帧由4G通信模块发送至后台服务器。若该MCU携带的是LoRa全功能节点,则需要经过LoRa网络将数据帧转发路由到LoRa协调器,再由4G通信模块将数据帧发送至后台服务器。同时,后台也可向路灯发送控制指令使路灯系统完成相应的参数设置或执行相应的控制功能。

3 系统硬件设计

本文将以STM32系列的STM32F103ZET6芯片为例,外围模块主要包括光照强度传感器、PM2.5传感器、电流传感器、PWM(Pulse Width Modulation)调节电子开关控制模块、4G通信模块、北斗定位模块、蓝牙模块、LoRa模块、可充电锂电池和LED灯等。其系统硬件实物如图3所示。

Figure 3 Physical diagram of system hardware图3 系统硬件实物图

3.1 数据采集仪硬件设计

数据采集仪是本文系统的核心,它为硬件系统提供计算处理能力,主要用来实现任务调度、数据接收与转发、执行各种控制指令操作等。数据采集仪的处理器模块采用基于Cortex-M3内核的STM32F103ZET6单片机作为硬件系统的MCU,此芯片最高工作频率为72 MHz,静态随机存储器SRAM可达64 KB,具有5个通信串口、4个通用定时器、2个IIC、3个ADC(12位)、3个SPI和2个DMA控制器[13 - 15]。基于STM32F103ZET6的集成电路板设计框图如图4所示。

Figure 4 Design diagram of integrated circuit board based on STM32F103ZET6 图4 基于STM32F103ZET6的集成电路板设计框图

MCU外围电路主要有数据备份电路、时钟电路、电源电路、保护电路、电池电量检测电路、通信接口电路、调光控制电路、RS485节能电路和电路故障检测电路等。其中,铁电存储器用于保存用户设置的参数数据,本文系统选用64 KB的非易失性铁电存储器FM24CL64GB,以便在重启后能够快速自动恢复断电之前的工作状态。电量和电路故障检测主要是检测电池的电压和流过路灯的电流。RS485节能电路主要用于光照强度传感器和PM2.5传感器的数据信号转换和节能。时钟电路为系统提供时间信息。调光控制电路是本文系统节能的主要控制方式。

Figure 5 Diagram of RS485 circuit图5 RS485电路图

3.2 数据检测模块硬件设计

数据检测模块包括光照强度传感器、PM2.5传感器、电流传感器、电量检测和路灯地理位置检测等。其中,光照强度传感器和PM2.5传感器与RS485电路连接,RS485电路图如图5所示;电流传感器与电路故障检测电路连接,电路故障检测电路图如图6所示;电量检测电路与太阳能供电系统的电池连接,电量检测电路图如图7所示。其中,光照强度传感器采用BH1750FVI数字光度计,PM2.5传感器采用SDS011激光型传感器,电流传感器采用WCS2702型传感器,电量检测采用MCU的ADC采集电池的电压,通过电池的充放电曲线来计算。同时,本文系统对光照强度传感器和PM2.5传感器进行了二次开发,即在传感器上设计了数据信号处理模块。地理位置检测主要是采集路灯所在区域内携带4G通信模块的路灯位置,然后通过这一区域对路灯进行编号定位。其定位模块选用北斗定位模块,北斗定位模块通过串口电路将数据传送至数据采集仪的MCU中进行处理。

Figure 6 Circuit diagram of fault detection图6 电路故障检测电路图

Figure 7 Circuit diagram of electricity detection图7 电量检测电路图

3.3 通信模块硬件设计

系统设计的蓝牙通信主要是在现场安装测试及参数设置时使用,这种设计方便设备安装调试,而且蓝牙模块携带方便且价格便宜。而LoRa通信则是本文系统的主要组网方式,选择LoRa来组网主要是因为它具有3个最大的特点:一是传输距离远,理论可达10 km;二是超低功耗,一节电池可用时间以年为单位来计算;三是可容纳的节点数目多。因此,LoRa通信符合本文的设计要求。后台与硬件系统之间的数据通信采用4G通信方式,而各个路灯之间数据的路由和转发则通过LoRa级联组网方式来实现,LoRa组网级联时,每一台设备相当于一个中继器,从而将数据转发出去,这样可实现超长距离通信,数据汇聚到这一片区内的LoRa协调器模块,最后通过4G通信模块将片区内的所有数据发送至后台服务器[16,17]。LoRa级联组网方式原理如图8所示。

Figure 8 Schematic diagram of LoRa cascade network mode图8 LoRa级联组网方式原理图

MCU与4G 通信模块之间设计有数据通信接口电路,用于进行不同信号类型之间的转换,同时为数据帧传输提供通用接口。数据采集仪中的MCU在与4G通信模块进行通信时,首先通过SIPEX3232芯片将串口的TTL信号转换为RS232信号,然后将转换的信号发送给4G通信模块,最后由4G通信模块将数据转发到后台服务器。同理,后台也可通过4G通信模块将数据指令转发给SIPEX3232芯片,然后SIPEX3232将指令信号转换为TTL电平信号,从而让STM32的MCU读取[18,19]。数据通信接口电路原理如图9所示。

Figure 9 Schematic diagram of data communication interface图9 数据通信接口原理图

3.4 电路调光控制模块硬件设计

本文系统的LED调光原理是利用STM32编程输出的PWM波信号来调制电源的DC(Direct Current)信号,通过减小或增加流过LED灯的电流,从而起到调节LED灯灯光输出强度的作用。PWM波是脉冲宽度调制信号,而其中的“脉冲宽度”就是脉冲高电平持续的时间。PWM波信号调节LED灯亮度时,信号频率是不变的,改变的是脉冲高低电平持续的时间,即LED灯的导通时间。使用这种信号调节亮度相当于调节LED灯的平均电流,所以流过路灯的电流会发生变化,从而可达到节能的目的[20 - 22]。本文系统的PWM波触发驱动模块采用型号为XY-MOS的PWM调节控制板。设计LED灯调光控制模块,能在最大程度上节约电能,也能减少LED灯的发热量,从而可以延长LED灯的寿命,同时,也可以对灯光进行“因地制宜”的精准管控。

4 系统软件设计

本文的路灯自动监测控制系统软件设计主要以硬件系统的软件设计为主,后台软件设计将不做重点介绍。

4.1 硬件系统程序设计

系统启动后,进行系统初始化,读取铁电存储器的相应参数,判断是否有参数数据,若没有检测到默认参数,则将系统默认参数写入铁电存储器的相应地址之中。若系统已经设置了预设参数,则等待采集时间的时钟信号,当到达采集时间,MCU向各传感器或检测模块发送采集指令,并对各传感器返回的数据进行解析和存储处理。为了能够得到更加准确的环境信息,对光照强度传感器和PM2.5传感器进行平均化处理,在系统采集完11次环境信息之后,第12次采集完毕后,才对所有的数据进行处理,计算本组的环境数据的平均值、最大值、最小值和总值。系统每执行一次循环,同时也检测电路是否有故障以及LED灯是否达到开关灯或调光控制的条件,若有故障,则将故障信息发送至后台服务器,若达到灯光改变条件,则执行PWM波调光。之后系统进入休眠状态,等待下一个时钟中断唤醒。最后,将所有的数据封装成数据帧发送给通信串口,由串口将数据帧转发路由至4G通信模块,再由4G通信模块将数据帧发送至后台服务器。反之,后台也可进行相应的控制指令发送,硬件系统的MCU对后台发过来的指令进行解析和处理,执行相应的操作,并将相应的反馈信息返回至后台服务器。系统自动监测控制流程如图10所示。

Figure 10 Flow chart of automatic monitoring and control图10 系统自动监测控制流程图

4.2 通信协议设计

路灯自动监测控制系统的通信协议涉及到硬件系统与后台服务器之间的通信,而MCU的外部数据主要有光照强度、PM2.5、路灯运行状态信息、路灯电路故障信息、电池电量信息、地理位置信息等。设置的功能主要包括工作模式的选择、各种数据信息读取、光照阈值设置、时间设置、各种配置信息设置等。数据读取操作主要包括当前传感器数据读取、工作模式读取、设备编号读取、已设置光照阈值读取、已设置时间段读取、当前路灯实际状态、休眠时间读取等。

本文系统采用字节的串行传送形式,字节存放顺序采用小端模式,即将数据的低字节存放在内存的低地址中,而数据的高字节保存在内存的高地址中。同时,设置1位起始位、8位数据位、1位停止位和无奇偶校验位。

数据帧由帧的起始符STA(编号1)、地址域AD(编号2)、控制域C(编号3)、数据长度域LEN(编号4)、数据域DATA(编号5)、帧信息校验域CRC(编号6)和帧结束符END(编号7)7个域组成。通信协议格式如表1所示。

Table 1 Format of communication protocol表1 通信协议格式

表1中的STA是帧起始符,本文系统用E8表示,标识每个数据帧的开始,即帧头;AD表示地址域,标识当前收(发)设备的地址,可根据用户需求自定义;C表示控制域或功能码,表示请求执行的操作和功能;LEN表示数据域的长度,代表数据域中的字节个数;DATA表示数据域,代表需要传输的数据;CRC表示校验码,采用CRC-16循环冗余校验,校验内容为AD、C、LEN和DATA;END是帧结束符,本文系统用E6表示,标识每一帧的结束,即帧尾。

Figure 11 Web browsing interface of backstage图11 后台Web浏览界面

Figure 12 Spot test and results图12 现场测试及结果

4.3 后台软件设计

路灯自动监测控制系统后台软件主要涉及后台数据接收、发送、数据存储、功能接口函数和数据可视化等操作。根据通信协议来编写相应的数据接收函数与指令发送函数,并将接收到的数据处理之后存入到数据库,然后通过Web系统来做相应的可视化及各种功能操作。后台Web浏览界面如图11所示。

5 测试结果

本文系统的测试实验在STM32系列的STM32F103ZET6芯片上进行,连接好硬件系统,把硬件系统程序下载到STM32F103ZET6的MCU中,再配合后台服务器及Web软件进行现场测试,测试内容为各种监测控制及功能操作,测试结果与设计原理是一致的,都做出了正确的反应。现场测试及结果如图12所示。同时,本文系统可以直接嵌入现有的路灯系统中,可以对已有的路灯系统进行升级和改造。

本文系统实际应用部署在贵州绿之众科技信息技术有限公司,运行周期为1年,路灯实际运行状态、故障信息、智能控制、自动监测和节能等各项功能都能正确运行,比传统路灯系统更节能,控制方式更灵活,能够真正达到自动监测和故障排查,能够统一管理所有路灯,提高了路灯科学管理水平。

经过实际测试,本文系统采集数据准确,路灯控制及时有效,未出现异常情况,具有很好的稳定性和可靠性。同时还具有成本低、维护便捷、通用性强、不依赖市电供电、可扩展性好等特点,能广泛应用于路灯照明系统之中,达到了路灯自动监测控制的功能需求,实现了路灯科学化及智能化管理。

6 结束语

本文重点介绍了基于STM32和LoRa的路灯自动监测控制系统的下位机硬件部分。系统实际测试采用的MCU是STM32系列的STM32F103ZET6芯片,研究了基于STM32和LoRa的路灯自动监测控制系统的硬件设计,本文系统可弥补目前大部分地区现有路灯系统的不足,主要体现在以下几个方面:(1)在路灯节能方面,设计了一种基于PWM波调光的节能监测控制系统,能够最大限度减少能源浪费,为社会节约电能,把电能用到更需要的地方,同时,也能减轻或降低市政在路灯照明方面的成本开支;(2)在路灯智能控制方面,设计了一种智能的控制方式,能为不同环境下的路灯提供不用的控制模式,保障了居民的正常出行,且能有效降低人力资源成本,改善路灯的使用效果;(3)在路灯自动监测和故障排查方面,设计了一种自动监测控制路灯运行状态和自动故障识别的功能,能及时有效地提示报警信息,提高了路灯使用效果,降低了路灯维护成本,同时,也能提升路灯所在地区的形象;(4)在建设路灯统一管理平台方面,设计了统一的管理平台,能提高路灯科学管理水平,实现实时自动监测路灯状态、实时数据采集、实时数据处理及实时数据可视化等服务。

猜你喜欢

后台路灯电路
电路的保护
解读电路
巧用立创EDA软件和Altium Designer软件设计电路
路灯
基于MATLAB模拟混沌电路
后台暗恋
为什么高速公路上不用路灯照明
后台朋友
后台的风景
电力调度中后台监控系统的应用