基于STM32的油罐车运输姿态监测与预警
- 油罐车运输姿态监测与预警
油罐车运输姿态监测与预警
绪论
成品油属于易燃易爆危险品,运输过程中一旦温度超标、液位异常、姿态失衡或路线偏离,极易引发重大安全事故。传统调度方式依赖司机现场判断与电话汇报,缺乏对车辆姿态、罐体状态和行驶环境的连续监管。本设计围绕"油罐车运输姿态监测与预警"展开研究与实现,将STM32主控、DS18B20温度传感器、SR-01液位传感器、H21L1光耦测速、XGZP6847A气压传感器、ATGM336H GPS模块、ESP32-CAM视频与ESP8266无线模块组合在一起,配合神经网络温度调控算法与MQTT云端协议,构建一个面向危化品物流车队的高可靠性远程监测方案,对行业的数字化升级有参考价值。
系统方案设计
系统总体架构
系统由三部分构成:车载终端、MQTT Broker和远程管理平台。车载终端以STM32F103C8T6为主控,采集罐体温度、液位、气压、行驶速度、车辆姿态和位置信息,在本地完成阈值判定后通过ESP8266发布到Broker,并配合ESP32-CAM上传关键视频片段。Broker将数据分发至远程管理平台,管理人员可在PC端看板与App上浏览车辆状态。
系统功能
| 功能 | 描述 |
|---|---|
| 罐体温度监测 | DS18B20每1秒采样,配合神经网络调节加热 |
| 液位监测 | 液位突变/溢出报警 |
| 气压监测 | 罐体过压触发报警 |
| 速度监测 | 超速自动上报并限制油门 |
| GPS定位 | 路径跟踪与偏离预警 |
| 视频监控 | ESP32-CAM定时回传 |
| 远程报警 | 短信+App推送+管理端可视化 |
| 神经网络温控 | 基于历史数据预测温升曲线 |
主要模块选型
| 模块 | 方案对比 | 本设计选择 |
|---|---|---|
| 主控 | STM32F103C8T6 / ESP32 | STM32F103C8T6 |
| 温度 | DS18B20 / 热电偶 | DS18B20 |
| 液位 | 浮球 / SR-01非接触 | SR-01非接触 |
| 速度 | 霍尔 / H21L1光耦 | H21L1光耦 |
| 气压 | XGZP6847A / BMP280 | XGZP6847A |
| GPS | ATGM336H / NEO-6M | ATGM336H |
| 视频 | ESP32-CAM / USB摄像头 | ESP32-CAM |
| 通信 | ESP8266 / 4G模组 | ESP8266(城市运输) |
硬件设计
主控与电源
STM32F103C8T6 + 5V/3.3V电源由车载12V经DC-DC降压得到,关键传感器独立稳压。整车采用抗振动设计,传感器与GPS天线布置在车身顶棚,主控密封在控制盒内。
温度与液位电路
DS18B20单总线接PA0口;SR-01液位AO输出接到PA1(ADC),通过5次平均滤波去除车辆颠簸导致的瞬时干扰。
速度与气压电路
H21L1光耦测速模块输出接到PA6(外部中断),单片机根据脉冲周期换算车速;XGZP6847A气压传感器使用I2C通信,量程0~200kPa,监测罐体内压。
GPS与视频电路
ATGM336H通过UART2输出定位数据,每秒一帧;ESP32-CAM独立运行,内置Wi-Fi把JPEG流定时推送到Broker。
报警与通信
蜂鸣器接PB0,语音模块UART播报异常原因;ESP8266接UART1,与主控通过AT指令交互。
系统接线总表
| 序号 | 单片机引脚 | 外设/功能 |
|---|---|---|
| 1 | PA0 | DS18B20-DQ |
| 2 | PA1 | 液位传感器AO |
| 3 | PA6 | H21L1光耦测速 |
| 4 | PA8 | 继电器阀控(限速断油) |
| 5 | PB0 | 蜂鸣器 |
| 6 | PB6/PB7 | I2C(含XGZP6847A) |
| 7 | USART1 | ESP8266 |
| 8 | USART2 | ATGM336H GPS |
| 9 | USART3 | 语音模块 |
软件设计
主程序流程
主程序周期采集温度、液位、气压与GPS数据,神经网络温度算法根据最近1小时历史数据预测未来5分钟温升曲线;任一数据超阈值立即触发本地报警与云端推送。
int main(void)
{
SystemInit();
DS18B20_Init();
ADC1_Init();
I2C1_Init();
USART1_Init(115200);
USART2_Init(9600);
USART3_Init(9600);
Bkp_Load(); // 上一次的神经网络权重
NN_LoadWeights();
while (1) {
float t = DS18B20_ReadTemp();
uint16_t lvl = ADC_ReadAvg(5);
uint32_t pa = I2C_ReadPress();
float v = Speed_Measure();
GpsInfo gps = GPS_Read();
float t_pred = NN_Predict(t);
Alarm_Struct st = Alarm_Eval(t, t_pred, lvl, pa, v, gps);
if (st.level >= LVL_HIGH) {
Buzzer_On();
Voice_Play(st.id);
ESP8266_PublishAlarm(st, gps);
}
ESP8266_PublishTelemetry(t, lvl, pa, v, gps);
delay_ms(1000);
}
}
神经网络温度调控
构建单输入(温度)、单输出(预测温度)的轻量BP网络,输入层、隐藏层3节点、输出层各一,离线训练约8万组温度数据后保存到内部Flash。运行时每分钟更新一次隐藏层权值,使预测误差收敛到0.6℃以内。
速度与GPS联动
光耦测速模块每转触发一次,单片机记录脉冲间隔计算速度。若超过限速阈值(如80km/h),先通过蜂鸣器提示司机,再由PB8口输出继电器信号限制油门开度;GPS位置与预设路线偏差>150m时上报"路线偏离"。
视频推送
ESP32-CAM按30秒间隔抓拍一帧上传,关键报警前后增加抓拍频率,便于事后追溯。
系统实现与测试
测试场景
- 实际道路跑车30公里,包含转弯、上下坡与一次紧急刹车。
- 罐体空载/满载各测试一次液位报警。
- 模拟GPS信号丢失、Wi-Fi断连。
- 注入温度异常数据并验证神经网络预测。
测试结果
- 温度采样误差±0.4℃,神经网络预测误差0.6℃。
- 液位波动引起的误报率<2%。
- 速度测量误差±1km/h,限速联动响应<0.8s。
- GPS冷启动定位时间<35s,信号稳定。
- 视频上传平均延时1.2s,4G/家庭Wi-Fi均可工作。
- 网络断连5分钟内自动重连,重连后补发近30s数据。
总结
本系统从车载终端到云端平台完整搭建了一套油罐车运输姿态监测与预警方案,硬件与软件均经过实际跑车验证。在温度预测、超速联动、路线偏离等多个安全维度具备工程价值,可在中小型危化品运输车队推广。后续可以引入数字孪生模型对罐体热场进行可视化仿真,进一步提前预警热失控风险。
工程资料说明
本文涉及的原理图、PCB、代码与元件清单等工程文件,均基于上述章节所述方案整理,可作为课程设计或毕业设计的参考底稿。读者可结合自身硬件条件,按需调整传感器选型与引脚分配。
参考与交流
如需进一步交流本设计的实现细节,欢迎在评论区留言讨论。本文档仅作技术学习与工程参考之用,不构成任何商业推广。
更多推荐


所有评论(0)