4、振动基础理论:单自由度系统振动、多自由度系统振动、模态分析基础
各位同学,欢迎来到振动理论这一章。
说实话,很多做电机设计的同事一听到「振动」两个字就头疼。觉得理论太深,公式太多。但我个人觉得,搞懂振动基础,是做好NVH的必经之路。你想想看,电机转起来,噪音从哪来?就是振动传出去的。所以这一章,咱们把地基打牢。
4.1 单自由度系统振动
什么叫单自由度?说白了,就是一个系统,只需要一个坐标就能描述它的运动状态。比如一个弹簧挂着一个质量块,上下振动。这就是最经典的模型。
我在项目中遇到过不少情况,其实都可以简化成单自由度来分析。比如电机定子的一阶呼吸模态,或者转子的一阶弯曲模态。虽然实际结构复杂,但抓住主要矛盾,单自由度模型往往能给出很好的指导。
单自由度系统的运动方程很简单:
m * x'' + c * x' + k * x = F(t)
其中:
- m 是质量
- c 是阻尼
- k 是刚度
- F(t) 是外力
这个方程,我建议你背下来。因为它是所有振动分析的起点。
咱们重点看两个关键参数:
| 参数 | 公式 | 物理意义 |
|---|---|---|
| 固有频率 ωn | √(k/m) | 系统「喜欢」振动的频率 |
| 阻尼比 ζ | c / (2√(mk)) | 振动衰减的快慢 |
核心结论:当外力的频率接近系统的固有频率时,会发生共振。振幅会急剧放大。这就是电机NVH工程师最怕的事情。
我的经验:做电机NVH仿真时,我习惯先算一下定子的固有频率。如果和电磁力波的频率接近,那就要小心了。要么改结构,要么调控制策略。
4.2 多自由度系统振动
单自由度太理想了。实际电机结构,比如定子铁芯、机壳、端盖、转子,它们之间互相耦合。这就需要用多自由度系统来描述。
多自由度系统的方程,其实就是把单自由度的「标量」变成了「矩阵」:
[M] * {x''} + [C] * {x'} + [K] * {x} = {F(t)}
其中:
- [M] 是质量矩阵
- [C] 是阻尼矩阵
- [K] 是刚度矩阵
- {x} 是位移向量
嗯,这里要注意。矩阵的规模取决于你取了几个自由度。比如你把定子简化成10个节点,每个节点6个自由度,那矩阵就是60x60。算起来挺费劲的。
多自由度系统有个重要特点:它有多个固有频率,对应多个振型。比如电机定子,有2阶、3阶、4阶的呼吸模态,还有扭转模态、轴向模态等等。
避坑指南:我曾经犯过一个错误。只关注了定子的径向模态,忽略了轴向模态。结果样机测试时,轴向振动超标。后来才发现,是端盖的刚度不够,和定子的轴向模态耦合了。所以,多自由度分析时,一定要把所有方向都考虑进去。
4.3 模态分析基础
模态分析,说白了就是「解耦」。把复杂的多自由度系统,分解成若干个独立的单自由度系统。每个单自由度系统对应一个模态。
为什么要这么做?因为解耦之后,每个模态的振动是独立的。你可以单独分析每个模态的贡献。比如,电机在某个转速下振动大,你可以通过模态分析,找出是哪个模态被激发了。
模态分析的核心是求解特征值问题:
([K] - ω²[M]) * {φ} = 0
解出来的:
- ω 是固有频率
- {φ} 是模态振型
我建议你用Python做简单的模态分析。比如用scipy的eig函数:
import numpy as np
from scipy.linalg import eig
# 定义质量矩阵和刚度矩阵
M = np.array([[1, 0], [0, 1]])
K = np.array([[2, -1], [-1, 2]])
# 求解特征值问题
eigenvalues, eigenvectors = eig(K, M)
# 固有频率(取平方根)
omega = np.sqrt(eigenvalues.real)
print("固有频率:", omega)
print("模态振型:\n", eigenvectors)
关键点:模态分析的结果,直接告诉你「系统在哪些频率下容易振动」以及「振动起来是什么样子」。这是后续做响应分析和优化设计的基础。
我的习惯:拿到一个新电机模型,我第一件事就是跑模态分析。看看前6阶模态的频率和振型。如果发现某阶模态的频率和电磁力波的频率重合,那就要重点标记。这个习惯帮我避免了好几次设计返工。
4.4 小结
这一章的内容,是振动理论的基石。单自由度让你理解共振的本质,多自由度让你面对真实结构,模态分析则给了你一把「解耦」的钥匙。
你想想看,电机NVH问题,归根结底就是「力」和「结构」的匹配问题。力是电磁力,结构就是模态。把这两头搞清楚了,问题就解决了一大半。
下一章,咱们会深入讲电磁力的计算和特征。到时候你会发现,振动理论就是你的武器。
课后思考:为什么电机设计时,要尽量让定子的固有频率避开电磁力波的频率?如果避不开,你有什么办法?