第三章:关键传感器技术

传感器,说白了就是线控转向系统的「眼睛」和「耳朵」。

没有它们,你连方向盘转没转都不知道,更别提什么精准控制了。我入行那会儿,有个老前辈跟我说过一句话,我一直记着——「线控转向玩到深处,其实就是在玩传感器信号。」当时不太理解,后来踩的坑多了,才明白这话有多实在。

3.1 方向盘转角传感器

这是最基础的传感器。它告诉你:方向盘转了多少度,往哪个方向转。

我个人习惯把转角传感器分成两类:

  • 绝对式:上电就知道当前角度,不需要找零位。常用的是磁编码器配合多极磁环。
  • 增量式:只能知道相对变化,上电后需要「找零」。比如光电编码器。

线控转向系统里,我强烈建议用绝对式。为什么?

你想想看,如果车子启动时方向盘是歪的,增量式传感器会以为这是零位,那后面的控制全乱套了。我在项目里吃过这个亏——有一次样车调试,方向盘明明回正了,但车轮却偏了15度。查了一整天,最后发现是增量式传感器上电时没做零位标定。

关键参数:

  • 分辨率:至少0.1°,最好能做到0.036°
  • 精度:±0.5°以内
  • 更新率:不低于1kHz

3.2 扭矩传感器

扭矩传感器测量的是你施加在方向盘上的力矩。这个信号直接决定了「手感」好不好。

常见的方案有两种:

  1. 应变片式:贴在扭杆上,通过电阻变化测扭矩。精度高,但温度漂移是个麻烦事。
  2. 磁致伸缩式:利用磁弹效应,非接触测量。可靠性好,但成本高一些。

我记得有一次做耐久测试,应变片式的扭矩传感器连续工作了200小时后,输出信号开始飘。一开始以为是算法问题,后来拆开一看,应变片胶水老化了。嗯,从那以后,我对传感器的环境适应性就特别敏感。

避坑指南:

我曾经遇到过扭矩传感器和转角传感器互相干扰的情况。两个传感器靠得太近,磁场耦合了。解决办法很简单——拉开物理距离,或者在中间加一层磁屏蔽。

3.3 电机位置传感器

这个传感器装在转向执行电机上。它告诉控制器:电机转子转到哪个位置了。

没有它,你就没法做FOC(磁场定向控制)。

常用的有:

  • 旋转变压器(Resolver):耐高温、抗振动,车规级首选。我个人的最爱。
  • 磁编码器:体积小、成本低,但耐温性不如旋变。

这里有个细节——旋变需要激励信号,通常是10kHz左右的正弦波。如果激励信号质量不好,解算出来的角度就会有误差。我见过一个案例,就是因为激励信号线上串了个小电容,导致相位偏移了3度,电机跑起来嗡嗡响。

注意:

电机位置传感器的安装偏心不能超过0.1mm。否则,每转一圈都会引入一个周期性的角度误差。这个误差在低速时特别明显,手感会一卡一卡的。

3.4 车辆状态传感器

这部分包括车速传感器和横摆角速度传感器。它们提供的是整车层面的状态信息。

传感器 测量内容 典型精度 我的建议
车速传感器 车辆纵向速度 ±0.1 km/h 最好用轮速信号融合,别单靠一个传感器
横摆角速度传感器 车辆绕Z轴的旋转角速度 ±0.1°/s MEMS陀螺仪就够用,别过度设计

车速信号直接影响转向系统的助力特性。车速低的时候,手感要轻;车速高的时候,手感要重。这个逻辑大家都懂,但实际做起来,车速信号的噪声处理才是关键。

我见过一个项目,车速信号里有个50Hz的纹波,结果高速行驶时方向盘一直在微抖。查到最后,发现是CAN总线上的车速报文更新频率不够,导致信号出现了阶梯状跳变。

3.5 传感器信号处理与滤波

这是我最想聊的部分。传感器原始信号,说白了就是「脏数据」。不处理直接用,系统会疯掉。

常用的滤波手段:

  • 低通滤波:去掉高频噪声。一阶RC滤波最简单,但相位延迟大。我一般用二阶巴特沃斯。
  • 中值滤波:对付脉冲噪声特别好用。比如扭矩信号偶尔跳变一下,中值滤波能直接干掉。
  • 卡尔曼滤波:如果你需要融合多个传感器信号,卡尔曼是首选。但要注意,调参是个手艺活。

举个例子,转角传感器的原始信号长这样:

// 原始信号,单位:度
float raw_angle = 45.32;  // 实际值应该是45.30
// 噪声大概有±0.05度的随机抖动

// 一阶低通滤波
float filtered_angle = 0.9f * filtered_angle + 0.1f * raw_angle;
// 这样处理后,噪声能压到±0.01度以内

但这里有个坑——滤波会引入延迟。你想想看,如果方向盘快速打了一圈,滤波后的信号可能滞后了10ms。这10ms在高速工况下,可能就是半米多的偏差。

我的经验法则:

滤波器的截止频率,不要低于信号带宽的5倍。比如方向盘转角的变化频率最高也就10Hz,那截止频率设在50Hz以上比较安全。

另外,信号处理还有一个容易被忽略的点——时间戳对齐。多个传感器的数据到达ECU的时间可能不一样。比如车速信号是10ms发一次,转角信号是2ms发一次。如果你不做时间戳对齐,融合出来的结果就是错的。

我习惯的做法是:每个传感器数据都带上硬件时间戳,然后在软件里做插值对齐。说白了,就是让所有数据都「站在同一个时间点上」。

一个小技巧:

在做传感器信号处理时,先做「合理性检查」。比如转角传感器的变化率不可能超过2000°/s,如果超过了,那大概率是传感器坏了或者线松了。直接丢弃这个数据,用上一帧的值代替。这个逻辑虽然简单,但能避免很多莫名其妙的故障。

线控转向传感器信号处理流程 方向盘转角传感器 扭矩传感器 电机位置传感器 车辆状态传感器 信号处理 合理性检查 低通滤波 中值滤波 卡尔曼滤波 时间戳对齐 传感器融合 多源数据融合 状态估计 故障诊断 输出 图:线控转向传感器信号处理与融合流程 关键:滤波会引入延迟,需在噪声抑制和实时性之间做权衡

好了,传感器这块的内容基本就这些。每个传感器都有自己的脾气,摸透了它们,线控转向系统就成功了一半。

专注资料整理