发表了主题帖:
【玄铁杯第三届RISC-V应用创新大赛】工业无线物联网传感网络
工业无线物联网传感系统
作者:于大江
项目背景
在工业生产环境中,低温冷库、食品生产、防尘车间等众多应用中都需要用到分布式多点传感系统。分布式多点传感系统可以精确监测所处环境的温湿度变化以及光照强度,有利于工业生产环境。
以低温冷库为例,低温冷库中摆放很多货架,如果货架相对于出风口是横着摆的。那么,很可能你的货架死角点位温度会较高,而风机正对面的点位温度会较低,最终导致了均匀度超标。假如因为冷库分区问题,导致离风机近的位置,货物堆得老高,对齐了风机,而远离风机的地方,货堆得不高,那远处堆货的位置,就很容易形成冷风吹不到,导致形成高温区。如果是机组自身制冷能力下降,自然容易导致库内各区域温度分布不均匀。如果是风机老化磨损,风力不足,那同样也容易导致风力不够,形成死角,产生高温点位而超标。另外,所谓低温冷库,大部分公司都是在阴凉或常温的库里隔出来一个冷库。这样很多情况下,冷库是三面在阴凉库内一面在外墙(大气环境)。也有两面在阴凉库内两面在外墙(大气环境)的情况这类情况可以预见,假如冷库的隔热层没做好的话,冷库靠阴凉库的墙壁外侧是阴凉库,20度以下,那冷库内靠这几面墙的区域的温度,显然会低于冷库靠仓库外墙(大气环境)那片区域的温度,就可能导致温度均匀度超标。
因此,为了发现并监测这些情况是否会对工业生产环境造成影响,分布式多点传感器应运而生。分布式多点传感器分布在工业生产环境的各个角落,监测温湿度以及光照强度的变化,给工程师对检测工业生产环境是否达标提供了便利。
作品简介
在工业生产环境中常常需要用到分布式多点传感系统,特别是在低温冷库、食品生产、防尘车间应用中使用较为频繁。传统的分布式多点传感系统具有供电、布线困难,节点造价高,拓展性差等缺点,且通常采用有线连接,不利于数据的传输与监测。为了改善上述问题,本论文选用WIFI进行信息传输,为分布式多点传感系统的信息传输提供了便利。系统基于ESP32 C3、SHT20温湿度传感器、BH1750光照传感器和OLED0.96屏幕处理器作为物联网传感节点。采用USB充电,充电管理芯片选用TP4055,通过电阻分压,ADC采集分压后的电压,通过模数转换后计算出电压,转化为锂电池剩余电量,然后将数据显示在屏幕上,以及通过WIFI将数据发送给终端。最后制作了PCB板子。
目前工业控制领域大多采用ARM和X86架构,本系统采用RISC-V构建了自主可控的物联网传感系统。系统基于Licheepi 4A处理器硬件平台作为计算和显示终端,可以显示多个节点的温度、湿度、光强和锂电池剩余电量,以及查看每一个数据随系统时间变化的波形图,以及将数据上传到阿里云物联网平台,用户可以随时随地查看各个节点数据。系统可以在两秒内检测到节点上线和下线,并保存为日志。可以对多个节点信息进行分析,判断温湿度是否均匀,实时发现异常节点,实现终端报警提醒。系统通过WIFI自组网实现了分布式多节点的传感信息采集,采用了ESP NOW通信协议,实现了超低功耗通信,以及每隔1秒传输一次数据。
系统框图
本项目系统框图如图1-1所示,系统基于ESP32 C3、SHT20温湿度传感器、BH1750光照传感器和OLED0.96屏幕处理器作为物联网传感节点。采用USB充电,充电管理芯片选用TP4055,通过电阻分压,ADC采集分压后的电压,通过模数转换后计算出电压,转化为锂电池剩余电量, 然后将数据显示在屏幕上,以及通过WIFI将数据发送给终端。系统基于Licheepi 4A处理器硬件平台作为计算和显示终端,可以显示多个节点的温度、湿度、光强和锂电池剩余电量,以及查看每一个数据随系统时间变化的波形图,以及将数据上传到阿里云物联网平台,用户可以随时随地查看各个节点数据。系统可以在两秒内检测到节点上线和下线,并保存为日志。系统通过WIFI自组网实现了分布式多节点的传感信息采集,采用了ESP NOW通信协议,实现了超低功耗通信,以及每隔1s传输一次数据。
图1-1 系统框图
各部分功能说明
1电路采集电路
电池系统可通过电池电压检测实现简单的电源电量管理。以电压为基础的方法属于最早应用的方法之一,它仅需测量电池两级间的电压,该方法基于电池电压和剩余电量之间存在的某种已知关系。它看似直接,但却存在难点:在测量期间,只有在不施加任何负载的情况下,才存在这种电池电压与电量之间的简单关联。当施加负载时(这种情况发生在用户对电量感兴趣的多数情况下),电池电压就会因为电池内部阻抗所引起的压降而产生失真。此外,即使去掉了负载,发生在电池内部的张持过程也会在数小时内造成电压的连续变化,实际的充电过程中,温度、放电速率以及电池老化等众多因素都会影响充电状态。
图3-1 剩余电压与手机电量关系图
如图3-1所示为剩余电压与手机电量的关系图。一般手机设计待机电量时, 比如有4格5档(4-3-2-1-0)的电量指示。将电池的电压对容量关系进行均分,取75%-50%-25%-0%这样进行电压划分。因为要考虑到电池使用一段时间(比如1年)后, 其放电平台会降低,上述的比例会失调。所以厂家会考虑一点点这方面的余量,以新电池60%、40%、20%、5%这样的比例进行设计。即剩余电量100%——4.20V、90%——4.06V、80%——3.98V、70%——3.92V、60%——3.87V、50%——3.82V、40%——3.79V、30%——3.77V、20%——3.74V、10%——3.68V、5%——3.45V、0%——3.00V。
图3-2 电量采集电路原理图
图3-2为电量采集电路原理图。通过电阻分压实现对锂电池的分压,然后输入到ADC,单片机计算出对应的电压。
2光照、温湿度传感器电路
通过IIC即可实现与单片机的通信。当单片机上电后,DVI引脚低电平复位。BH1750的内部由光敏二极管、运算放大器、ADC采集、晶振等组成。PD二极管通过光生伏特效应将输入光信号转换成电信号,经运算放大电路放大后,由ADC采集电压,然后通过逻辑电路转换成16位二进制数存储在内部的寄存器中(光照越强,光电流越大,电压就越大)。光照、温湿度传感器电路图如图3-3所示。
图3-3 光照、温湿度传感器电路
SHT20的分辨率可以通过输入命令进行改变(8/12bit乃至12/14bit的 RH/T),传感器可以检测到电池低有助于提高通信的可靠性。
3 OLED显示电路
图3-4 OLED显示电路图
OLED 屏幕的运行时电流大约为30mA,设置的模式为IIC模式。OLED显示电路图如图3-4所示。
C1P /C1N C2P /C2N :保留引脚,应保持NC,这里并联电容器。
VBAT:连接到VDD。VDD指的是高电平
VSS:接地引脚。
VDD:用于核心逻辑操作的电源引脚。
BS[2:0]:MCU总线接口选择引脚
CS:该引脚是芯片选择输入(低电平使能)。
RES:该引脚为复位信号输入。当引脚拉低时,执行芯片初始化。在正常操作期间,保持该引脚高(即连接到VDD)。
D/C:这是数据/命令控制引脚当它被拉高(即连接到VDD)时,D[7:0]处的数据被视为数,当它被拉低时,D[7:0]处的数据将传输到命令寄存器。
4 传感器供电
传感器持续供电是有消耗的,一般低功耗的传感器大部分情况下是处于休眠状态,传感器并不需要一直工作着,可以使用一个简单的电路切断传感器的电源。传感器供电电路如图3-5所示,BH1750 传感器在Powerdown Current模式下面的电流很低,最大才只有1uA的电流消耗。通过MOS管开关,可以直接切断传感器的供电,而且消耗极低,考虑到我们的BH1750传感器可以支持3.6V的供电,我们本次采取开关电路由一个PMOS和一个NMOS构成的方式,此方法还有成本低的优点。
图3-5 传感器供电电路
5 ESP32 C3
ESP32-C3是乐鑫公司开发了的一款低成本的MCU模块,它能满足常见的物联网产品功能需求,同时大幅度提升产品的安全性能。对于物联网产品开发,芯片充足的可用内存与成本优势同样重要。芯片内存受限的情况下,设备的内存优化与管理对厂商来说都是极大的挑战。ESP32-C3 搭载 RISC-V 32 位单核处理器,时钟频率高达 160 MHz,内置 400 KB SRAM,集成了 2.4 GHz Wi-Fi 和支持长距离的 Bluetooth 5 (LE),具有行业领先的射频性能和低功耗。它具有 22 个可编程 GPIO 管脚,支持 ADC、SPI、UART、I2C、I2S、RMT、TWAI 和 PWM。上电之前不能下拉 IO9/BOOT 的电平状态,否则 ESP32-C3 将会进入下载模式;IO8引脚默认进行了上拉,因为如果其为低电平状态,则不能使用串口进行固件下载。EN和IO9功能图如表3-1所示。
表3-1 EN和IO9功能图
主机通过设置虚拟窗口的RTS和DTR线来实现ESP32-C3进入下载模式(先设置下载模式标志,再复位ESP32C3;若下载模式标志被清,则从flash启动)。ESP32 C3电路图如图3-6所示。
图3-6 ESP32 C3电路图
ESP-NOW 是由乐鑫开发的另一款无线通信协议,可以使多个设备在没有或不使用 Wi-Fi 的情况下进行通信。这种协议类似常见于无线鼠标中的低功耗 2.4GHz 无线连接——设备在进行通信之前要进行配对。配对之后,设备之间的连接是持续的、点对点的,并且不需要握手协议。它是一种短数据传输、无连接的快速通信技术。
6节点设计
节点能实现环境温度、湿度、光强数据实时采集并显示在OLED屏幕上。节点采用锂电池供电,且具图表 1-1有充电管理功能,能够使用USB进行充电。节点能上报自身的电量并在终端显示出来,低电量时在终端报警。节点设计图如图5-1所示。
图5-1 节点设计图
7终端设计
在Licheepi 4A的GUI上可查看各个节点的温湿度、光照和锂电池剩余电量,以及数据根据系统时间变化的波形图,数据上报间隔1秒。终端显示界面如图5-2所示。
图5-2 终端显示界面
8云端显示
终端可以将节点数据上传到阿里云物联网平台,可以远程在手机或者电脑上查看节点数据。云端显示图如图5-6所示
视频演示(视频简介+链接)
实物演示:https://b23.tv/MZoWA4V
项目源码
后续开源
项目总结(对作品完成度、技术探索、创新点等方面进行总结)
作品创新点
1、选用Licheepi 4A作为终端,该芯片采用龙芯中科自主研发的龙架构指令,是真正的国产芯,无线担心国外卡脖子,安全性和稳定性很高,非常适合用于工业控制领域,用于构建自主可控的工业无线物联网系统。
2、低功耗:采用了超低功耗的WIFI芯片ESP32 C3和超低功耗的组网协议ESP32 NOW