EPS基础助力控制算法

各位同学,今天我们来聊聊EPS最核心的东西——基础助力控制。说实话,这部分内容看起来简单,但真正做起来坑不少。我在项目里见过太多人把助力曲线画得漂漂亮亮,结果上车一跑,方向盘手感怪得要命。

嗯,咱们一步步来拆解。

助力曲线设计原理

助力曲线,说白了就是一张“车速-方向盘扭矩-助力电流”的映射表。你想想看,低速时要轻,高速时要稳,这个道理谁都懂。但怎么把这个“轻”和“稳”量化成具体数值?

我个人习惯把助力曲线分成三段来看:

  • 死区段:方向盘扭矩小于某个阈值(比如0.5Nm),不助力。为什么?防止驾驶员手轻微搭在方向盘上就乱动。
  • 线性段:这是主要工作区,助力随扭矩线性增加。斜率决定了手感轻重。
  • 饱和段:扭矩大到一定程度,助力不再增加。保护电机,也防止助力过大失控。

我在项目中遇到过一个问题:某款车低速时助力给得太猛,驾驶员稍微一动方向盘,车头就窜。后来发现是线性段斜率设得太陡。调整后,手感舒服多了。

核心公式(简化版):

I_base = f(T_driver, V_vehicle)

其中:
I_base    = 基础助力电流 (A)
T_driver  = 驾驶员施加扭矩 (Nm)
V_vehicle = 当前车速 (km/h)
f()       = 三维查表函数

基础助力查表算法

实际工程中,我们不会用公式去实时计算。太慢了,而且不好调。都是用查表法。

一张典型的助力曲线表长这样:

车速(km/h)0 Nm1 Nm2 Nm3 Nm4 Nm5 Nm
00.08.016.024.030.030.0
200.06.012.018.024.028.0
400.04.59.013.518.022.0
600.03.06.09.012.016.0
800.01.53.04.56.08.0
1000.00.51.01.52.03.0

查表时,输入是车速和扭矩,输出是电流。如果落在两个网格点之间,就用线性插值。举个例子:车速30km/h、扭矩2.5Nm,那就先查20km/h和40km/h两行,再在扭矩方向上插值。

我的小技巧: 查表代码里,边界处理一定要做好。车速超过100km/h怎么办?扭矩超过5Nm怎么办?我见过有人没做饱和处理,高速时查出来一个超大电流,方向盘突然变重,吓死人。

助力增益调度策略

光有基础助力还不够。为什么?因为不同工况下,同样的助力曲线效果不一样。

举个例子:你原地打方向,和车子在冰雪路面上打方向,手感能一样吗?肯定不一样。所以我们需要增益调度。

常用的增益因子包括:

  • 车速增益:低速增益大,高速增益小。这是最基本的。
  • 方向盘转角增益:大转角时适当减小助力,防止打得太快失控。
  • 方向盘角速度增益:快速打方向时,助力要跟得上。我习惯加一个微分项。
  • 温度增益:电机温度高了,降助力保护。这个容易被忽略。

最终助力电流的计算方式:

I_final = I_base * K_v * K_theta * K_dtheta * K_temp

我曾经在项目里踩过一个坑:温度增益没做好,夏天跑高速,电机过热,助力突然消失。方向盘瞬间变重,驾驶员差点失控。从那以后,我对温度保护格外上心。

注意: 增益调度不是越多越好。每个增益因子都会引入一个维度,调试工作量翻倍。我建议先从车速增益和角速度增益入手,其他按需添加。

回正控制基础逻辑

回正控制,说白了就是帮方向盘回正。你想想看,打完方向松开手,方向盘应该自己回到中间位置。如果回不正,或者回正过头,驾驶体验就很差。

回正控制的核心逻辑:

  1. 检测回正状态:判断驾驶员是否松手。通常看扭矩是否接近零,且方向盘角速度方向与转角方向相反。
  2. 计算目标回正力矩:根据转角和车速,查表得到一个目标回正力矩。
  3. 施加助力:电机输出一个与回正方向相同的力矩,帮助方向盘归位。

这里有个关键点:回正力矩不能太大,否则会 overshoot。我习惯加一个阻尼项,当方向盘接近中间位置时,减小回正力矩,防止来回摆动。

回正控制的查表逻辑:

if (|T_driver| < T_release_threshold) {
    // 驾驶员松手了
    T_return = lookup_return_table(V_vehicle, theta_steer);
    I_return = T_return * K_return_gain;
} else {
    // 驾驶员还在操控,不介入回正
    I_return = 0;
}

避坑指南: 我曾经遇到过一个问题——回正控制介入太早。驾驶员还在轻微扶着方向盘,系统就以为松手了,开始回正。结果驾驶员感觉方向盘在跟自己较劲。后来我把松手阈值调大了一点,并且加了一个延时判断,问题就解决了。

好了,以上就是EPS基础助力控制的四个核心模块。助力曲线是骨架,查表算法是血肉,增益调度是调节器,回正控制是锦上添花。把这四个搞明白,EPS的基础控制你就掌握了七八成。

嗯,内容不少,但都是干货。你们在实际项目中遇到问题,随时可以回来翻翻这部分内容。


专注资料整理