项目简介:为分析炮弹发射对炮膛的时序影响,设计一种分布式应变测量系统。系统由上位机、数据指令网关、采集节点三部分组成。
数据采集节点:以STM32处理器为核心,前端电桥及信号调理电路实现应变信号变换,利用外部中断信号响应来自网关节点的时统信号,利用STM32处理器内置ADC DMA方式实现应变数据采集,采用卡尔曼滤波算法实现数据滤波,采用(nandflash或者SD卡)实现数据临时存储,通过RS485总线实现数据上传至网关节点。
网关节点:采用基于imx6ull linux技术实现,主要实现了RS485以太网网关功能,能够接收来自上位机的指令并转发至RS485,兼容TCP/UDP/MQTT协议;利用定时器实现基于Linux的时统(时间统一系统)发生驱动,为采集节点提供同步信号;网关内置环控功能,通过板载温度传感器实现温度采集和散热控制;网关节点带有800*480屏幕实现传感器采集节点的轮询显示和校准控制功能;
上位机采用:NI软件实现数据读取分析显示功能。
框图分析:
右半部分
网关(imx6ull)各模块功能解析
1. 屏幕显示模块(800×480)
功能:
显示 数据校准页面(如传感器零点调整、实时应变曲线)。
提供人机交互界面(HMI),支持触摸操作(如参数设置)。
技术实现:
Linux 驱动(如 Framebuffer 或 LVGL 图形库)。
通过 SPI 或 RGB 接口连接屏幕。
2. 网络通信模块
功能:
RS485 指令转发:接收上位机(PC/NI 软件)的指令,通过 RS485 转发至 STM32 节点。
TCP 通信:与上位机通过以太网交互(如上传数据、接收控制命令)。
协议支持:
下行(RS485):Modbus RTU(轮询 STM32)。
上行(TCP):MQTT/Modbus TCP(与 NI 软件通信)。
3. 电源模块(24V DC 供电总线)
功能:
为网关及附属电路(如 RS485 转换芯片)提供 24V 直流电源。
通过 DC-DC 降压芯片转换为 5V/3.3V 供 imx6ull 核心板使用。
设计要点:
多节点共享供电(总线结构),需考虑电源冗余和滤波。
4. 时统信号生成模块
功能:
通过 50kHz 硬件中断 精确控制 IO 口电平翻转,产生同步脉冲信号。
经 时统总线(RS485 或专用线路)广播至所有 STM32 节点,确保同步采集。
技术实现:
Linux 高精度定时器(如
hrtimer
)或 FPGA 协处理。驱动代码通过 GPIO 控制信号输出。
5. 数据采集与存储模块
RS485 轮询:
定时轮询各 STM32 节点的状态和应变数据(Modbus RTU 协议)。