Linux项目-基于边缘AI的液压系统状态监测平台
2024年8月 · 预计阅读时间: 1 分钟
#
简介本项目开发一种基于边缘 AI 的液压系统状态监测平台。系统架构包括多参数传感器数据采集、中控数据处理与分析、上位机界面与故障预警三部分。多参数传感器(STM32G030)实时采集压力、温度、振动和形变等工业传感器的关键参数,通过 Modbus 传输至中控(STM32H563)。中控负责汇集与保存工业现场的数据,并进行实时异常检测,当上位机发出数据查询时,将处理后的数据通过 USB 传输至上位机(STM32MP157)。上位机提供 GUI 界面,用户可查看系统运行状态和分析结果,并集成 ONNXRuntime 推理模型进行智能分析和故障预警,及时通知用户进行预防性维护。
#
实物展示#
整体V1
V2
#
PCB#
界面#
工业现场#
功能#
硬件介绍数据中控的 PCB 设计,主要是设计核心板外围电路,设计电源和 RS485 接口连接多个多参数 Modbus 传感器等,原理图如下:
PCB 如下:
_00.jpg)
工业多参数 Modbus 传感器在硬件上设计为下接多种不同类型的工业传感器,例如压力、温度、流量等传感器,主要功能为将模拟量通过 ADC 采样为数字量,通过 Modbus 协议转发给上层设备。
原理图如下:
PCB 如下:
_00.jpg)
#
软件介绍上位机软件系统基于 C++和 QT 框架开发,各个部分都是移植 libmodbus 库。libmodbus 的 --- libmodbus
该系统通过紧密协作和高效的数据通信实现数据的采集、传输和处理。具体流程如下:各个多参数 Modbus 传感器节点(STM32G030)采集的环境参数数据通过 Modbus-RTU 协议传输到数据采集中控单元(STM32H563);数据采集中控单元则汇总和管理这些数据,并通过 Modbus-RTU 协议将其发送至 MPU 主控单元(STM32MP157)。在 MPU 主控单元,数据经过后台处理及 AI 推理工具分析,最终通过 QT-GUI 界面展示处理结果供用户使用。
通过上述结构和流程,系统形成了一个高效且智能的数据处理闭环。它不仅能够进行多维度的环境参数监测,还能对数据进行深度分析,从而为用户提供智能化和实时化的数据展示和决策支持。
#
上位机上位机目前还没开发完成,期望版本是通过 ModbusTCP,这样上位机界面应当可以通过多种设备连接,包括手持设备、PC、Web 等。
故障诊断的 AI 模型是基于多尺度的神经网络,因为 ONNX 工具并不支持复杂网络结构,目前使用的简化版本,仅有一维 CNN 结构,且使用 python 实现。准确率比较低(80 左右),模型如下:
完整模型准确率基本在 99%准确率,见论文:https://doi.org/10.1038/s41598-024-66541-9
注:目前正在尝试移植到 RV1126 上,采用 C++实现,并尝试仅剥离 Transformer 模块,使用 FFT 变化与二维卷积。
这里放一下各个部分程序的流程图,详细代码见仓库HydraulicSystemMonitoringDevice: 工业液压系统监测装置,STM32MP157/STM32H5/STM32G0 系列开发。移植 libmodbus 库到 FreeRTOS/Linux 进行传感器数据收集与设备控制,实现 QT 交互界面以及 AI 异常监测。(开发中) (gitee.com)
Linux 上位机,GUI-QT 多线程实现:
H5:
工业多参数 Modbus 传感器,F0/G0:
#
相关资料modbus 库:libmodbus 的 --- libmodbus
构建的故障诊断模型-发表论文:https://doi.org/10.1038/s41598-024-66541-9