1. 电动车电驱系统振动问题现状
作为一名在电动车电驱系统领域深耕多年的工程师,我经常被问到这样一个问题:"为什么有些电动车在加速或减速时会感觉不够平顺?"这个问题的核心,就在于电机控制器的振动抑制能力。在最近参与的多个量产项目中,我们通过主动阻尼控制技术,成功将电机振动幅度降低了60%以上。
电动车与传统燃油车最大的区别之一就是动力系统的响应特性。电机可以在毫秒级时间内输出最大扭矩,这本是优势,但若控制不当,反而会成为振动问题的源头。特别是在以下三种典型工况下:
- 急加速/急减速时产生的转矩突变
- 特定转速区间出现的机械谐振
- 负载突变时的瞬态振动
这些振动不仅影响驾驶舒适性,长期来看还会导致机械部件疲劳损伤。我们曾拆解过行驶10万公里的故障电机,发现未做振动控制的轴承磨损量是优化后的3倍之多。
2. 主动阻尼控制原理剖析
2.1 二质量模型理论基础
要理解振动控制,首先要建立正确的系统模型。我们采用经典的二质量模型来描述电机传动系统:
code复制[电机惯量Jm]--[轴刚度K]--[负载惯量Jl]
|________[阻尼系数C]________|
这个模型将电机转子简化为质量块Jm,负载简化为Jl,两者通过具有一定刚度K和阻尼C的传动轴连接。当电机输出转矩Tm时,系统运动方程可以表示为:
Jmθm'' + C(θm'-θl') + K*(θm-θl) = Tm
Jlθl'' + C(θl'-θm') + K*(θl-θm) = 0
通过拉普拉斯变换,我们可以得到系统的特征方程,进而分析其固有频率和阻尼特性。在实际项目中,我们通常先用MATLAB的System Identification工具箱基于实测数据辨识这些参数。
2.2 振动产生机理
振动主要来源于两个方面:
- 转矩激励:电机本身的转矩脉动,通常包含6n±1次谐波(n为整数)
- 结构谐振:当激励频率接近系统固有频率时发生的共振
我们曾测试某型号电机,在2300rpm时出现明显振动,经分析正是由于此时12阶转矩谐波(460Hz)与传动系统的一阶固有频率(458Hz)重合导致的。
3. 主动阻尼控制实现方案
3.1 基于巴特沃斯滤波器的转矩补偿
核心思路是通过检测转速波动,实时计算补偿转矩。具体实现步骤如下:
-
转速信号采集:
- 使用2048线光电编码器,4倍频后分辨率达到8192脉冲/转
- 采用M法测速,采样窗口为1ms
-
滤波器设计(MATLAB实现):
matlab复制% 滤波器参数设计
fs = 10e3; % 采样频率10kHz
fc = 80; % 截止频率80Hz
order = 4; % 4阶滤波器
[b,a] = butter(order, fc/(fs/2), 'high');
speed_filtered = filtfilt(b, a, speed_raw); % 零相位滤波
这里有几个关键点:
- 截止频率fc要高于电机基频但低于最低谐振频率
- 使用filtfilt函数实现零相位延迟,这对实时控制至关重要
- 4阶滤波器在阻带衰减和计算量之间取得平衡
- 补偿量计算:
matlab复制Kp = 0.15; % 比例系数
Ki = 2.5; % 积分系数
error = speed_filtered - speed_ref;
compensation = Kp*error + Ki*cumtrapz(error)*Ts;
3.2 加速度反馈控制
加速度反馈的本质是通过控制算法"虚拟"增加电机惯量,其实现原理如下:
-
加速度估计:
- 采用二阶差分法计算加速度
- 加入滑动平均滤波减少噪声影响
-
等效惯量计算:
matlab复制J_nominal = 0.02; % 电机标称惯量(kg·m²)
K_feedback = 0.008; % 反馈系数
accel = (speed(k) - 2*speed(k-1) + speed(k-2))/Ts^2;
J_effective = J_nominal + K_feedback*accel;
- 转矩限幅处理:
matlab复制if J_effective > 0.035
J_effective = 0.035; % 上限保护
elseif J_effective < 0.015
J_effective = 0.015; % 下限保护
end
4. 工程实现关键点
4.1 参数整定方法
经过多个项目积累,我们总结出以下参数整定流程:
- 扫频测试:在0.5-1000Hz范围内进行频率响应测试
- 模型辨识:使用最小二乘法拟合得到J、K、C参数
- 仿真验证:在MATLAB/Simulink中验证控制算法
- 台架测试:逐步调整Kp、Ki和K_feedback
- 实车验证:最后进行道路测试
典型参数范围:
- Kp:0.1-0.3
- Ki:1.0-3.0
- K_feedback:0.005-0.015
4.2 常见问题解决方案
问题1:高频噪声放大
- 解决方案:在速度环前增加50Hz低通滤波器
- 注意事项:滤波器相位延迟需补偿
问题2:低速工况效果差
- 解决方案:采用变参数控制,随转速调整Kp/Ki
- 参数表:
转速(rpm) Kp Ki 0-500 0.2 3.0 500-2000 0.15 2.5 >2000 0.1 2.0
问题3:不同负载下稳定性差异大
- 解决方案:引入负载观测器进行前馈补偿
- 实现代码:
matlab复制T_load = T_cmd - J*accel_measured; % 负载转矩观测
feedforward = 0.7*T_load; % 前馈系数
5. 实测效果与案例分析
在某量产车型上的测试数据显示:
| 指标 | 控制前 | 控制后 | 改善率 |
|---|---|---|---|
| 0-100km/h振动(g) | 0.25 | 0.08 | 68% |
| 急制动振动(g) | 0.18 | 0.05 | 72% |
| 谐振峰值(dB) | 82 | 65 | 17dB |
特别值得一提的是,在-30℃低温环境下,传统被动阻尼方法效果会下降约40%,而我们的主动控制方案通过自适应参数调整,性能波动控制在10%以内。
6. 进阶优化方向
对于追求极致性能的项目,我们还开发了以下增强功能:
-
谐振频率在线辨识:
- 基于FFT的实时频谱分析
- 自动跟踪频率漂移(如温度引起的刚度变化)
-
多模式切换控制:
- 普通模式:侧重舒适性
- 运动模式:侧重响应速度
- 节能模式:侧重效率优化
-
基于深度学习的预测控制:
- 使用LSTM网络预测振动趋势
- 提前施加补偿转矩
- 实测可进一步降低振动15-20%
在实际项目中,我们发现机械系统的非线性特性往往比理论模型复杂得多。有一次,某车型在特定档位出现异常振动,后来发现是变速箱齿轮间隙导致的。这种情况下,我们在控制算法中增加了死区补偿模块,完美解决了问题。
