4、传感器信号监控:位置传感器、扭矩传感器、电流传感器、电压监控
传感器是转向执行器的眼睛和耳朵。信号不准,控制就是瞎蒙。我见过太多项目在台架上跑得好好的,一上车就报故障,十有八九是传感器监控没做到位。
这一章我们聚焦四个核心监控对象:位置传感器、扭矩传感器、电流传感器和电压监控。每个传感器怎么采、怎么判、怎么冗余,咱们一个一个捋清楚。
4.1 位置传感器监控
位置信号是转向角度的直接反馈。EPS里常用的是霍尔式角度传感器或磁阻式传感器。我个人习惯,位置监控必须做三层:
- 合理性检查:信号是否在物理范围内(比如0°~720°)
- 变化率检查:相邻周期角度差不能超过最大机械转速对应的变化量
- 冗余交叉检查:主副传感器差值是否在容忍窗口内
关键参数示例(乘用车EPS)
| 监控项 | 阈值 | 动作 |
|---|---|---|
| 信号范围 | 0° ~ 720° | 超限立即报错 |
| 变化率上限 | ±1000°/s | 超限降级处理 |
| 主副偏差 | ≤ 5° | 偏差过大切换副传感器 |
我曾经在一个项目中遇到过,位置传感器副芯片的供电纹波偏大,导致输出信号偶尔跳变。主芯片看没问题,但交叉对比时偏差瞬间超过10°。嗯,后来我们在监控逻辑里加了连续超限次数的计数器,连续3次才判故障,误报率直接降到零。
避坑指南:我曾经把变化率阈值设得太紧,结果低温启动时油液粘滞导致转向速度偏慢,系统误判为传感器卡滞。后来加了温度补偿系数才解决。你想想看,低温下机械特性会变,阈值也得跟着变。
4.2 扭矩传感器监控
扭矩传感器监控的是驾驶员施加在方向盘上的力矩。说白了,这就是人机交互的接口。信号不准,助力方向都可能搞反。
扭矩传感器通常采用双路冗余设计,两路信号呈线性关系。我建议的监控策略如下:
- 静态偏差监控:零扭矩时两路输出是否都在0V附近(通常±0.1V)
- 动态一致性监控:两路信号的比例系数是否在标定范围内
- 信号斜率监控:扭矩变化率不能超过物理极限(比如人不可能在1ms内从0扭到满量程)
特别注意:扭矩传感器最容易出问题的是零位漂移。温度变化、机械磨损都会导致零位偏移。我建议在每次上电自检时做一次零位校准,行车过程中也要周期性检查零位是否稳定。
我记得有一次路试,车辆在高温环境下连续行驶2小时后,扭矩传感器零位漂了0.3V。系统检测到静态偏差超限,直接切到备份传感器,同时点亮故障灯。驾驶员完全没感觉到异常——这就是监控的价值。
4.3 电流传感器监控
电流传感器监控的是电机驱动电流。它直接反映执行器的工作状态。电流信号异常,要么是电机堵转,要么是MOSFET短路,要么是传感器本身坏了。
电流监控我一般做四个维度:
- 相电流峰值监控:单相电流是否超过硬件保护阈值
- 三相电流平衡监控:正常运行时三相电流幅值应基本一致
- 电流变化率监控:di/dt是否在正常范围内(防止短路导致的电流尖峰)
- 电流与扭矩一致性监控:根据电机模型,当前电流对应的扭矩是否与扭矩传感器反馈一致
电流监控阈值参考
| 监控项 | 阈值 | 响应时间 |
|---|---|---|
| 相电流峰值 | ≤ 150A | 10μs(硬件) |
| 三相不平衡度 | ≤ 10% | 1ms(软件) |
| 电流变化率 | ≤ 500A/ms | 50μs(硬件) |
这里有个坑:电流传感器本身也会失效。我建议用双采样电阻+双ADC通道的方式做冗余。两个采样电阻串联在母线上,分别送两路ADC。软件里对比两路读数,偏差超过5%就报故障。
4.4 电压监控
电压监控看似简单,其实最容易忽略。转向执行器的供电电压直接决定电机能输出的最大扭矩。电压低了,助力不足;电压高了,可能烧驱动芯片。
电压监控我分三个层级:
- 供电电压监控:12V/24V系统电压是否在允许范围内(通常9V~16V)
- 内部稳压监控:5V/3.3V传感器供电是否稳定
- 电机反电动势监控:电机旋转时产生的反电动势是否异常(可辅助判断电机状态)
个人经验:我曾经遇到一个案例,车辆在低温启动时蓄电池电压掉到6V,系统还没来得及报欠压,MCU就已经复位了。后来我们在电源入口加了欠压锁定电路,电压低于7V时硬件强制关断驱动,等电压恢复后再软启动。这样既保护了硬件,又避免了MCU异常复位导致的误动作。
4.5 传感器信号监控架构总览
下面这张图是我自己画的一个监控架构,把四个传感器的监控逻辑串在一起。你一看就明白。
从架构图可以看出,四个传感器信号先进入监控逻辑层做各种检查,然后根据故障严重程度进入决策层,最终输出执行动作。这个流程在ASIL-D的系统中是必须的,每个环节都要有独立的监控路径。
4.6 监控策略总结
最后,我把四个传感器的监控要点整理成一个速查表,方便你对照设计:
| 传感器类型 | 核心监控项 | 冗余方式 | 典型故障模式 |
|---|---|---|---|
| 位置传感器 | 范围、变化率、主副偏差 | 双芯片冗余 | 信号跳变、零位漂移 |
| 扭矩传感器 | 静态偏差、动态一致性、斜率 | 双路线性冗余 | 零位漂移、比例失调 |
| 电流传感器 | 峰值、三相平衡、变化率、扭矩一致性 | 双采样电阻+双ADC | 采样电阻老化、ADC失效 |
| 电压监控 | 供电电压、内部稳压、反电动势 | 多路ADC+硬件比较器 | 欠压、过压、纹波过大 |
最后提醒一句:传感器监控不是越多越好。监控逻辑本身也会消耗CPU资源和存储空间。我建议在项目初期就定好监控周期和故障确认时间,避免监控逻辑成为系统的瓶颈。你想想看,一个1ms周期的监控任务如果写得不好,可能吃掉30%的CPU——那就得不偿失了。