基于STM32 单片机的车辆状态参数自动检测系统设计
2023-09-11王宏胡可狄王昆李帅
王宏,胡可狄,王昆,李帅
(北京航天新立科技有限公司,北京,100039)
0 引言
车辆总装是车辆生产制造工艺流程中的关键环节,总装调试过程中,液压油温湿度过高、液压支腿不稳定以及车尾信号通路反复测试严重影响车辆测试效率与质量,为了避免车辆频繁起竖尤其夏季作业环境高使车辆液压油温过高导致液压系统密封件老化加速或漏油,避免车辆底盘悬架系统不稳定、液压系统温度高造成车辆调平高度不满足起竖要求等情况发生,某车辆总装测试目前采取点温枪人工测量油温以及肉眼经验判定支腿调平状态方法,此种方式测量流程繁琐、耗时长,需要人员频繁上下车或进行多人配合作业,另外操作过程中,测试员需反复到达车尾应用万用表手动检查指定信号通路状态,测试安全性、质量、效率严重受到制约。随着车辆装配技术与工业技术的迅猛发展,为了提高车辆测试便捷性及效率,研制车辆状态参数自动采集、显示、报警系统是一个必然趋势。
针对以上问题,本文设计了一种车辆参数自动检测系统,该系统以STM32 单片机为控制核心,应用PT100 经温度变送器实现温度采集,应用激光测距模块实现高度信息采集,采集数据传输通过485 总线有线传输,显示终端可实时显示数据状态及报警提示,可极大提升车辆总装调试效率。
1 系统总体设计
车辆状态参数检测系统整体设计框图如图1 所示,系统主要由STM32F103 单片机控制模块、温度数据采集模块、高度数据采集模块、信号状态检测模块以及显示模块5 个部分组成,其中温度数据采集模块、高度数据采集模块单独供电。在系统工作过程中,各数据模块进行信号数据采集,温度、高度、信号状态信息通过485 通信传输至单片机,单片机作为程序控制单元,对数据进行对比、处理后,传输至显示模块显示。
图1 系统硬件总体设计图
2 系统硬件设计
■2.1 主控电路
系统选择STM32 单片机作为车辆状态参数自动检测系统的主控中心,以满足系统整体高性能、低功耗的应用需求。本文选用意法半导体基于ARM 的32 位STM32F103ZET6 芯片,利用该芯片端口实现通讯、显示、输入输出及存储功能,该芯片提供了工作频率为72 MHz 的Cortex-M3 内核的性能,可在-40℃~+85 ℃的温度范围内工作,工作电压为2.0~3.6 V。
主控电路硬件设计如图2 所示。USART1 连接高度采集模块,USART2 连接系统显示模块,UASRT3 连接温度采集模块,主控芯片PA0、PA1、PC0-PC4 引脚连接信号测试模块。其中USART1、UASRT3 应用RS485 通信,硬件接口的硬件电路如图3 所示。应用中,温度、高度数据采集模块完成数据采集,分别传输至单片机主控芯片,主控芯片进行数据处理后将数据发送至显示屏进行显示;进行信号通路测试时,主控芯片发送控制信号,控制状态指示灯亮灭,并接收状态开光量输入信号传输至显示屏显示。
图2 主控电路图
图3 RS485 接口的硬件电路图
■2.2 温度数据采集模块
温度数据采集选用磁性吸附式热电阻PT100 温度传感器,此传感器芯片抗干扰、抗振动,温度量程为-60℃~180℃,传感器探头带有磁性,尺寸为20mm×25mm,吸附于车辆油箱表面,测量范围大、响应速度快、精度高、安装方便。
PT100 温度传感器采集电阻信号,信号经温度变送模块实现线性转换、A/D 转换并经微处理器转成RS485 接口将数据传输至单片机。变送模块设计原理如图4 所示,模块供电电压为3.0 ~5.2V,分辨率 为0.1 ℃, 应 用 标 准MODBUS-RTU 协 议, 尺 寸 为5mm(厚)×16mm(宽)×32mm(长),模块使用动态线阻补偿,整体设计紧凑,选用低功耗、低温漂器件,并增加抗干扰性设计,可长期稳定工作在-40℃~70℃环境中。
图4 温度变送器原理框图
■2.3 高度数据采集模块
高度数据采集模块硬件功能如图5 所示,其包括左右对称的2 个测量模块,分别测量车辆尾部左右横梁距离地面高度。
图5 高度采集模块硬件功能框图
由于激光波长单一,测量精度高,且结构小巧,安装调整方便,被广泛应用于高精度距离测量。本文高度数据采集即选用摩天MyAntenna 工业级激光测距传感器,模块供电电压为9 ~36V,分辨率为1mm,尺寸为63.05mm×36.61mm×14.8mm,其采用相位式测量,应用MODBUS-RTU 协议及RS485 接口,成本低、精度高、速度快、测量稳定。
■2.4 信号状态检测模块
车辆总装测试过程中,需对车尾连接器完成插拔动作,并在测试按钮按下后,通过判断特定点位(连接器1_2、3_4)信号通断状态以达到车辆状态监测。为了优化测试流程,系统设计信号测试模块与手持终端通信流程如图6所示,应用中,通过车辆驾驶室与车尾模块交互通信以提高测试效率。
图6 信号状态检测模块与手持终端通信流程图
信号状态检测模块结构如图7 所示,其主要包括两个状态指示灯、两个状态操作按钮以及一个连接器工装对接接口。硬件控制电路设计如图8 所示,主要通过TLP292、TLP240A 光电耦合器与单片机通信完成信号显示、监测。手持终端“准备测试”/“恢复电缆”按钮按下,单片机发送“准备测试”/“恢复电缆”测试指令,车尾状态指示盒相应指示灯亮起。车尾状态指示盒“准备完成”/“恢复完毕”按钮按下,按钮信号以及特定点测试信号传输至主控芯片,主控芯片将信号传输至显示屏进行显示。
图7 信号状态检测模块结构图
图8 信号状态检测模块硬件控制电路图
■2.5 显示模块
系统采用5 寸LCD 串口智能屏来显示测量得到的系列参数,显示屏型号为TJC8048X550_011X,分辨率为800×480,页面设计如图9 所示,其引脚与单片机逐一相连,单片机将处理后的信息在该单元显示。
图9 显示屏显示图
3 系统软件设计
系统程序流程如图10 所示,设计包括初始化、温度数据读取判定显示、高度数读取判定显示、信号测试命令接收及显示等部分。系统接通电源,进行系统参数初始化,分别进入温度数据采集、高度数据采集及信号测试检测线程。温度数据采集线程中,系统读取温度数据后,进行数据阈值判定,当温度大于50℃时,显示屏中温度值报警显示。高度数据采集线程中,系统读取车辆左右横梁高度数据后,进行数据阈值判定,当数值超出1590mm ~1670mm 时,显示屏中左右高度值报警显示。信号测试线程中,设置系统初始状态为状态0,显示屏发出开始测试命令,程序系统进入状态1,此时手持终端显示:等待测试电缆连接,车尾状态指示盒“开始测试”指示灯亮起;车尾人工转换测试电缆,连接测试工装,按下“电缆连接完成”按钮,程序系统进入状态2,此时手持终端显示:转接电缆完成,并显示相应点位信号测试状态结果,车尾状态指示盒“开始测试”指示灯闪烁;手持终端进行信号测试状态人工判定,发出结束测试命令,程序系统进入状态3,此时手持终端显示:信号测试完成,等待电缆恢复,车尾状态指示盒“恢复电缆”指示灯亮起;车尾人工拆卸测试电缆还原至初始状态,按下“电缆恢复完成”按钮,程序系统还原至状态0。当系统处于状态1-状态3 时,驾驶室手持终端可以发出取消测试信号,如确认进入取消状态,程序系统还原至状态0。
图10 系统软件设计流程图
4 系统测试及分析
系统设计完成,分别对各模块功能进行调试试验,各模块功能正常进行整机联调测试,试验结果表明系统运行稳定,能够满足实际检测需求。
温度测试将温度传感器置于恒温箱中测量不同温度数值,将测得的结果与设定结果进行比较。传感器测得的数据及误差分析结果如图11 所示,从图中可以看出系统在不同温度下工作正常,温度测量精度较高,平均相对误差在2%以内,同时设定温度上限值50℃,当温度超出上限时,显示屏温度值变红报警显示。
图11 系统测量温度数据及误差分析图
高度测试如图12 定点定距完成测试环境搭建,系统设定测试阈值1590mm ~1670mm,实验测试结果及误差如图13 所示,从测试结果可以看出,系统高度测试工作正常,传感器测试精度较高,误差相对较低,且在设定阈值范围内,报警功能正常。
图12 系统高度测试示意图
图13 系统测量高度测试结果及误差分析图
图14 系统显示屏信号测试显示图
信号开关通路测试应用测试开关按钮模拟信号状态,当1_2 点模拟开关按下时,显示屏显示两点线路接通,当3_4点模拟开关按下时,显示屏显示两点线路接通,经过多次测试显示,系统通路测试功能正常。
5 结语
本文设计的车辆状态参数自动检测系统,通过STM32F103 单片机及PT100 温度采集模块、激光测距模块等,实现了对车辆油箱温度、左右横梁高度以及车尾特定信号状态的自动检测,系统测量通过LCD 串口智能屏实时显示信息状态参量。经过实验测试以及实际应用,各模块测量、通信正常,状态信息获取快速准确,报警功能运行有效,极大提高了车辆检测工作效率。后期将采取无线通信方式,提高系统便捷性。