基于LoRa的浓香型白酒固态发酵参数在线监测系统
2023-02-08赵痛快张保华史浩东杨开放
赵痛快,张 力,2,张保华,史浩东,杨开放
(1.安徽大学 电子信息工程学院,安徽 合肥 230601;2.安徽大学 集成电路学院,安徽 合肥 230601)
0 引 言
随着人们消费水平的提升,消费者对优质白酒的需求日趋增长,从而促使白酒生产企业不断通过技术升级改进生产工艺、提高生产效率。固态发酵是白酒生产的核心环节,在这一环节快速准确地获取窖池温度、水分等敏感数据对于原酒生产尤为必要,控制好窖池内部的温度和水分是生产高品质白酒的关键。白酒生产企业的勾调、灌装等环节已经实现自动化作业,但对发酵环境参数的测量仍停留在人工取样的理化测量阶段,这种方式容易破坏窖池发酵环境的完整性、工作效率低下,且无法兼顾窖池发酵的全周期参数监测[1-2],因此研发一种窖池发酵温度和水分智能在线监测分析系统极为必要。
1 系统总体结构
本文设计的系统主要包括三个模块:终端采集模块、数据传输模块和上位机显示模块。终端采集模块以STM32L152RCT6单片机作为主控芯片,利用其内部的AD模块读取温度水分传感器(BND-WSD)所采集到温度和水分数据,并转换为相应的电压信号传输;数据传输模块为了保证数据传输的可靠性,最终选择了“无线传输+有线传输”的方式,终端将采集的数据通过LoRa通信发送给LoRa网关,网关完成数据汇总的工作之后将接收的数据通过RS 485总线发送到上位机[3]。上位机显示模块的功能主要是将接收数据还原为温度、水分参数并自动存储,绘制数据曲线,同时将数据传至云平台,客户可以通过手机或者电脑直接读取窖池内部的数据,从而实现实时监测。系统的总体结构设计如图1所示。
图1 系统的总体结构设计
2 系统硬件设计
2.1 需求分析
通过对国内某浓香型白酒生产企业的发酵车间进行实地考察发现:(1)车间内部环境复杂,存在大量大型器械作业,无线信号传输可能存在干扰或信号衰减。(2)发酵车间的窖池不允许通过拉线为终端设备持续供电。浓香型白酒发酵周期较长,为了避免对窖池内部环境的破坏,终端设备一旦插入窖池内部之后就不能拔出,所以终端设备低功耗运行和电源续航能力需要重点考虑。(3)窖池温度和水分传感器模块需要快速、准确地监测酒醅参数,并注意防腐蚀。
综合上述因素,传输模块需具备穿透性强、功耗低、稳定性强的特点,以此保证数据在复杂的车间环境中能够得到可靠传输。现在常用的短距离通信技术有WiFi、蓝牙、ZigBee、LoRa等,四种无线通信技术的比较见表1所列。
表1 无线通信技术对比
经过对表1的分析可知,LoRa通信在功耗、传输距离、传输速率、网络节点数等方面都具有优势,所以本设计中数据传输模块选择了基于LoRa传输。在设备研发中,需要结合发酵规律灵活设置设备工作状态,对核心主控器件、电路运行功耗、电源续航能力等因素需要综合考虑。
2.1.1 核心控制模块
经过对市场上的芯片进行综合考虑之后,最终选择STM32L152RCT6单片机作为主控芯片,此芯片属于超低功耗芯片,具有功耗低、高效、可靠、性能极为稳定的特点。该芯片工作电压为1.8~3.6 V,有51个I/O口以及I2C、SPI、UART等多种连接能力,完全能够满足设计需求。核心控制模块的电路设计如图2所示。
图2 控制模块的电路设计
2.1.2 终端采集电路
终端采集的传感器使用的是温湿度传感器(BND-WSD),传感器内部由温度采集模块和水分采集模块两部分组成,此传感器自身硬度高、稳定性好、抗腐蚀性强,能够很好地应用在窖池内部的复杂环境中。传感器内部有自己的信号处理电路,在采集的过程中会产生0~2 V电压,分别对应温度-40~80 ℃,水分0~100%,将传感器输出的电压信号接到STM32的I/O上,对此I/O口进行检测,通过A/D采集电压信号,采集电路如图3所示。
图3 采集电路
将采集到的电压信号通过公式计算,得到相应的温度、水分数据,公式分别为:
其中:V采指的是I/O口读到的电压信号;V总指的是2 V电压。
2.2 数据传输模块
2.2.1 LoRa通信电路配置
在对车间进行实地勘察之后,发现进行通信模块选型的要求包括:通信距离远、抗干扰强、易扩展。本系统选用SX1278芯片作为通信模块的主控芯片,SX1278芯片是以LoRa技术为基础开发的,具有低功耗、免调试、灵敏度高、抗干扰强、穿透力强、发射功率低以及较宽的电压范围(2.1~3.6 V)等特点。传输距离最高可达5 km,通信接口为SPI。SX1278外部电路的设计主要包括主控芯片、射频芯片、天线部分、开关电路、接收电路、发送电路。
SX1278芯片的通信接口为SPI,在硬件电路上,NRESET(复位)脚连接STM32的PA1脚,低电平有效;芯片的NSS(使能)脚连接STM32的PB12脚,低电平有效;SPI接口的SCK(时钟)脚与STM32的PB13相连、MISO脚与PB14相连、MOSI脚与 PB15相连。硬件完成连接后,就可以通过软件层实现STM32与SX1278的通信。
SX1278芯片有接收状态和发送状态两种工作状态,但是同一时间,SX1278 芯片只能处于一种工作状态,所以实际工作时芯片要根据需要进行状态转换。在设计中增加了一个状态开关U3(RF Switch),它可以控制RFC与RF1或者RF2相连。当RF1与RFC相连时,芯片状态为接收状态;当RF2与RFC相连时,芯片状态为发射状态,从而实现状态转换。SX1278外部电路的原理如图4所示。
图4 SX1278外部电路原理
2.2.2 LoRa通信方式设置
LoRa通信模块分为发送模式和接收模式,由于SX1278芯片属于半双工通信方式[4-6],所以在同一时刻下只能处于一种状态。处于发送模式时,在发送数据之前,要先进行相关程序初始化才能发送数据,发送模式初始化的流程如图5所示。
图5 发送模式初始化的流程
STM32单片机将需要发送的数据通过SPI接口写到射频芯片的FITFO寄存器中,再通过寄存器RegOpMode设置射频芯片的状态为发送状态,然后将FITFO寄存器中的数据发送出去。寄存器RegIrqFlags的TxDone位能够确定数据是否发送成功。当数据发送结束后,可以选择继续发送数据,也可以选择切换芯片的工作模式。
数据接收模式的流程如图6所示。接收初始化后,判断接收模式状态。单一接收模式:周期性查询通道,检查通道内是否有需求的前导码。当检查到需求的前导码后就进行数据接收,不然就会生成中断超时信号;连续接收模式:持续性查询通道,当接收到前导码时,检查其长度和初始设定的长度是否相同,长度相同就进行数据接收。
图6 数据接收模式的流程
3 系统软件设计
3.1 采集节点的软件设计
采集节点主要任务有发送指令、处理数据(接收并上传)等,采集节点的程序设计是基于μC/OS-III系统完成的[7-8],主程序流程如图7所示。首先要对相关的硬件进行初始化,再根据采集节点的功能需求,为各个功能模块创建相对应的任务;然后由系统完成任务的调度。系统需要创建的任务主要有:启动、LoRa通信[9]、人机交互、ModBus通信、数据存储等。
图7 主程序流程
系统的任务创建与调度的设计结构如图8所示。系统初始化后开始创建主任务,在主任务中完成其他子任务的创建。人机交互任务的功能是便于工作人员操作设备,主要有按键模块和LCD显示模块,员工通过按键和LCD显示就可以对终端进行相关操作;数据存储任务的主要功能是将终端采集的数据和采集时间存入对应的寄存器中;数据通信任务的主要功能是使节点之间建立通信,进而完成数据的传输;ModBus通信任务的功能是与上位机进行通信,上位机通过ModBus协议读取网关内存储的数据。
图8 系统的任务创建与调度设计结构
3.2 采集值的滤波处理算法设计
由于在采集过程中可能受到窖池内部复杂环境的影响,会有一些异常值,所以需要对采集的数据进行滤波,将异常值筛选掉,本系统采用的滤波方法是中值平均滤波算法[10],将采集值放入一个大小为128的数组中,将数组中的数据按照从小到大排列,去除前后各20组数据,取中间的88组数据,并取其平均值作为最后采集值,这样可以有效避免偶然因素产生的异常值,流程如图9所示。
图9 信号采集值的滤波流程
3.3 上位机软件设计
上位机软件采用的是南京新迪生软件技术有限公司的组态软件,该软件在本系统中的主要功能包括:数据处理和分析,实时监测每一个终端设备状况,存储历史数据和绘制趋势图,对窖池内部温度和水分数据的实时监测,客户端远程监控。数据统计界面和客户端界面分别如图10和图11所示。
图10 数据统计界面
图11 客户端界面
4 系统测试与数据分析
4.1 LoRa无线通信模块测试
由于厂区内部环境复杂,为了保证传输的稳定性,在车间内部和厂区做了LoRa无线通信传输距离测试和通信数据丢包率测试,以此来测定LoRa传输的稳定性。
4.1.1 LoRa无线通信传输距离测试
为了验证传输距离对无线传输的影响,分别在空旷无遮挡区域和有建筑物遮挡区域进行测试,测试方法是将网关汇聚节点放在一个固定的位置,通过改变采集节点与网关汇聚节点的距离,测试采集节点能否组网成功,测试结果见表2所列。由表2可知,随着采集节点与网关汇聚节点的距离变大,组网成功率也会逐渐降低。当二者距离在1 000 m以内时,成功率可达95%以上。
4.1.2 LoRa无线通信数据丢包率测试
根据LoRa无线通信数据丢包率可以直观地判断出传输性能,数据包的大小和传输距离对传输性能都有影响,发送端每隔30 s发送给接收端1 000个数据包,数据包大小设置为10 B,测试结果见表3所列。
表3 无线通信数据丢包率测试
由表3可知,丢包率大小与传输距离成正比,当传输距离为1 000 m时,丢包率可以保持在1%以下。经过测量可知,车间的长度一般不会超过200 m,宽度不会超过50 m,所以LoRa无线通信模块完全能够满足系统需求。
4.2 数据准确性分析
4.2.1 温度分析
为了验证系统的可靠性,需要对采集的数据进行分析比较,先将监测终端插入窖池内部,通过上位机记录终端测量的数据;然后在窖池内部相同的地方插入窖池专用测温杆;使用这两种方法分别测量20组数据,再对20组数据进行分析,绘制折线图如图12所示。
图12 温度数据对比
由图2分析可知:误差的范围普遍保持在0.5 ℃以内,平均误差是0.23 ℃,企业对温度的要求是保持±0.5 ℃。根据结果分析,该系统对窖池温度的监测数据非常可靠。
4.2.2 水分分析
将监测终端插入窖池内部,通过上位机记录测量到的水分值,测量完毕之后,用人工取样的方式在终端测试区域采样,记录样品的质量并将样品放入烘干机,将样品完全烘干之后记录下此时的质量,最后用烘干后的质量除以烘干前的质量乘以100%得到的就是水分值。分别对终端测量和人工测量记录20组数据,对这20组数据进行比对分析,绘制折线图如图13所示。
图13 水分数据对比
通过实验可得出二者误差范围普遍在1%以内,平均误差是0.65%。根据国家规定,工业水分标准误差是2%[7],由此可知本系统完全满足此要求,数据准确度很高。
通过实验比对可知,本系统在车间内部环境复杂的条件下,测试成功率超过95%以上,测量的数据与人工取样得到的数据之间的误差也在标准范围之内,并且系统稳定性高、实时性好、续航能力强,完全满足企业的需求,具有很强的应用推广价值。
5 结 语
本文针对国内白酒生产企业窖池敏感数据监测的不足,设计了一种基于LoRa技术的酒醅发酵温度和水分监测系统。通过多轮实验,将测量值与理化分析值进行比对,测试精度满足实际需求,有效弥补了现有人工采样监测固态发酵状态的缺陷[9]。对窖池内部发酵温度和水分进行实时监测,结合上位机绘制的发酵曲线,工作人员可以很直观地掌握全程发酵状态,分析发酵过程,并对发酵异常的窖池及时进行人为干预,从而保证固态发酵的品质提升。本系统可以为白酒生产企业的固态发酵工艺改进提供有力的数据支撑,更好地推动白酒微生物发酵理论研究。系统的软硬件产品扩展性好[10]、适应性强,可广泛应用于国内浓香型、清香型等白酒生产企业。