前阵子接了个设备健康监测的项目需求,对方手头有一批凯斯西储大学(CWRU)公开的轴承故障数据,但真到了工业现场采集时,内圈剥落、外圈点蚀、滚动体碎裂这类故障样本根本凑不齐,毕竟不是每条产线都能把轴承跑到坏再去采数据。于是定了这样一个思路:用ANSYS WORKBENCH做轴承动力学仿真,先把内圈、外圈和滚子三类典型故障的振动响应算出来,用仿真数据补充样本库。这篇文章就是我把整个流程跑通后的详细复盘,从轴承几何建模、故障特征实现、接触与边界设置,到特征频率验证和踩坑排查,逐项拆开讲清楚。
这个内容适合谁看?一种是想用仿真手段生成轴承故障振动数据来做机器学习训练的算法工程师,另一种是做转子动力学或结构仿真的工程师,想了解WORKBENCH在处理带局部损伤的滚动轴承时该怎么下手。两类人看这篇文章,拿到的东西不一样:前者更关心故障特征频率怎么算、时域波形和频谱能不能对上,后者更关心接触设置、网格密度、求解稳定性这些实操细节。
1. 整体设计思路:为什么偏偏选瞬态动力学
先把话说透:轴承故障仿真的本质,不是把轴承画出来看一眼应力云图,而是要捕捉“滚子滚过缺陷部位时产生的冲击脉冲”。这种冲击是一个典型的瞬态过程,持续时间极短、频带很宽、能量集中度高,用静力学或者模态分析根本拿不到,唯一合适的手段就是瞬态动力学分析。
1.1 三种故障的物理本质
深沟球轴承的故障信号之所以能区分内圈、外圈和滚子,根本原因在于“缺陷位置相对于承载区的位置关系”不同。
外圈故障最直观,外圈装在轴承座里不动,故障点在空间上是固定的。滚动体每次滚过这个缺陷,就会产生一次冲击,冲击频率完全由转速和轴承几何参数决定。而且外圈缺陷如果正好落在承载区下方,这时候滚动体承受的载荷最大,冲击幅值最明显;如果落在非承载区,冲击会比较弱,但故障频率依然清晰。
内圈故障的冲击事件频率和外圈一样是周期性出现的,但麻烦在于内圈在旋转,故障点会周期性地进出承载区。也就是说,每次冲击的幅值不是恒定的,而是被一个低频包络调制。在频谱上,除了内圈故障特征频率本身,旁边还会出现以转频为间隔的边带族。这是内圈故障和另外两种故障最典型的区别。
滚动体故障更复杂,因为滚动体既跟随保持架公转,又绕自身轴线自转。缺陷和内外滚道交替接触,会产生两路间隔不同的冲击序列。一路是“缺陷与外圈接触”,频率接近一个特殊的滚动体故障特征频率BSF;另一路是“缺陷与内圈接触”,频率接近滚动体的公转频率乘以滚动体个数。两路冲击叠加在一起之后,时域波形会比较乱,频谱上的特征频率周围也会出现较宽的调制带。
1.2 为什么不用简化动力学模型
市面上有很多轴承故障仿真方法,包括基于集中质量模型的非线性振动方程求解、基于Simulink的键合图模型,以及直接用ANSYS做瞬态仿真。集中质量模型算得快,几秒钟就能出一组信号,但本质上把轴承简化成了弹簧-阻尼系统,无法准确模拟缺陷形状对接触刚度的影响。而WORKBENCH的方案虽然计算代价高,但能完整保留滚动体与滚道的实际接触过程,缺陷尺寸、位置、形状都可以直接体现在几何上,结果更接近真实物理过程。
我的建议是两条腿走路:先用集中质量模型做参数扫掠,确定大概的工况范围和特征频率;再用WORKBENCH做高保真瞬态仿真,生成少量但高可信度的样本。这样既控制了总计算量,又保证了仿真数据对真实信号的可替代性。
1.3 整体流程拆解
整个仿真流程可以分成四段:几何建模与故障特征实现、材料与接触设置、网格划分与边界载荷施加、求解与后处理特征提取。每一段都有各自容易翻车的细节,后面几节逐一展开。
动手之前建议先把单位统一好。WORKBENCH默认没有固定单位制,几何模型建完忘改单位是新手最常踩的坑之一。我通常在SpaceClaim里直接以毫米为单位建模,进入Mechanical后把分析单位设为Metric (mm, kg, N, s),材料密度按照钢的7850 kg/m³输入,避免后续计算特征频率时出现数量级错误。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 几何建模:6205深沟球轴承的参数与装配细节
CWRU的经典实验数据用的是6205-2RS深沟球轴承,所以我的仿真模型也按这个型号来建,方便后续和公开数据对照验证。
2.1 关键几何尺寸表
| 参数 | 数值 | 单位 |
|---|---|---|
| 内圈内径 | 25 | mm |
| 外圈外径 | 52 | mm |
| 轴承宽度 | 15 | mm |
| 滚动体直径 d | 7.94 | mm |
| 节圆直径 D | 39.04 | mm |
| 滚动体数量 n | 9 | 个 |
| 接触角 α | 0 | ° |
这组数据在多个技术文献里都能查到,直接用来做特征频率计算不会出偏差。需要注意的是,6205-2RS的“2RS”表示两侧带橡胶密封圈,仿真建模时密封圈对振动冲击几乎没有影响,直接省略,只保留内圈、外圈、保持架和滚动体。保持架在纯动力学分析中可以保留,也可以简化掉。我建议在故障仿真中保留,因为保持架对滚动体自转运动有约束作用,直接影响滚动体故障冲击的相位关系。如果删掉保持架,滚动体容易出现自转不受控、滚过缺陷后位相漂移的情况。
2.2 装配约束的处理
滚动体与内圈、外圈之间是纯接触关系,保持架与滚动体之间则是铰接关系。WORKBENCH里默认的自动接触检测会把所有相邻面都识别为接触,数量多、容易混。我在建模时把滚动体与内圈滚道、外圈滚道定义为摩擦接触,摩擦系数取0.05~0.1;滚动体与保持架的接触改用不分离接触(No Separation),避免过约束导致的不收敛。
几何上的一个关键细节是滚道曲率半径。标准轴承的滚道曲率半径略大于滚动体半径,比如滚动体半径3.97mm,滚道曲率半径通常取4.10mm左右,形成两点接触。如果直接把滚道做成与滚动体同半径的圆弧,接触区域会变成弧面贴合,接触刚度和应力分布和实际差异很大。这个参数在建模时要特别注意,别图省事用完全相同的半径。
2.3 故障特征的实现方式:开槽模拟局部剥落
CWRU公开数据里的故障是用电火花加工出来的单点凹坑,尺寸有0.007英寸、0.014英寸和0.021英寸三种(对应0.18mm、0.36mm、0.53mm)。在仿真中复现这么小的凹坑,几何上完全可行,但网格密度要求极高,计算量会呈指数上涨。我经过几轮尝试后,采用了一种折中的推荐方案:用宽2mm、深0.3mm的矩形横截面槽来模拟局部剥落缺陷。
这样的槽形能有效激发周期性冲击,又不会因为尺寸过小导致网格爆炸。具体到三类故障:
外圈故障在6点钟方向的外滚道面上开槽,方向沿轴向。开槽角度位置选在承载区中央,一般取-90°方向(即重力方向),这样冲击幅值最大。
内圈故障在内滚道面上开同样尺寸的槽,位置不定,因为内圈旋转后每个位置都会周期性进入承载区。为了让冲击调制效应更明显,我开在了一个相对偏载的位置,例如与承载区中心线夹角30°处。
滚动体故障在滚动体表面沿母线方向开槽。注意滚动体故障的冲击幅值通常比内外圈故障小一个量级,因为滚动体本身在公转自转,载荷波动剧烈,能量损耗大。
故障几何的布尔操作可以直接在SpaceClaim里完成,用“Split”或“Subtract”切出槽形。切完要检查一下槽边缘是否有残留小面或尖角,这些会导致接触求解时出现数值噪声。
3. 材料、接触与求解设置:工作量最大的环节
几何模型就位后,最大的坑在于设置不合理导致计算发散。这个过程我前后调试了两周,核心参数如下。
3.1 材料参数与刚体处理
GCr15轴承钢是轴承行业最常用的材料,弹性模量207GPa、泊松比0.3、密度7850kg/m³、屈服强度约1700MPa。在WORKBENCH里,内圈外圈和滚动体都采用线弹性材料模型,不需要考虑塑性,因为单次冲击不会让整体结构进入塑性阶段。
为了控制计算规模,可以把内圈、外圈设置为刚体,滚动体设置为柔性体。原因在于滚动体是接触中变形量最大的部件,且滚动体故障需要观测应力波传播。但内圈外圈设置为刚体后,轴承座的弹性变形响应会被忽略。如果你的目标是复现包含轴承座共振频率的高频信号,建议保留外圈为柔性体,这样轴承座或外圈表面的振动加速度才能提取出来。我在实际对比中发现,外圈柔性体的模型在频谱上会多出几千赫兹的共振峰,更接近真实传感器的加速度信号。
3.2 接触算法与刚度参数
接触设置是轴承动力学仿真中最容易出问题的环节。WORKBENCH的接触算法推荐使用增强拉格朗日法(Augmented Lagrange),不要用纯罚函数法——罚函数法对接触刚度过于敏感,容易产生穿透或者震荡。接触刚度因子建议取0.1~1.0之间,我经过多组对比后,最终锁定在0.5。接触刚度太小,滚子会陷进滚道,特征频率完全偏掉;接触刚度太大,求解器容易因为刚度阵病态而收敛失败。
正常工况下,滚动体与滚道之间的接触是Hertz接触,接触半宽很小。如果接触面网格太粗,接触压力分布就会失真。我的网格策略是:接触区域网格尺寸0.15mm,非接触区域1mm,过渡区域0.5mm。95000个单元左右的计算规模,单次0.3s的瞬态仿真时长,在16核工作站上大约需要14小时。如果你只是为了验证特征频率,可以把网格放大一些接触区0.3mm即可,算得快很多。
3.3 边界条件与载荷工况
边界条件按照最常见的轴承安装方式设定:外圈外表面固定约束,内圈内表面施加绕轴旋转的角速度。旋转速度按CWRU实验常用的1730rpm设置。径向载荷我取了1000N,这个载荷要是太小,滚动体与滚道的接触可能无法完全建立,冲击激励微弱;太大则会显著加剧接触非线性和计算收敛难度。
载荷施加分为两个阶段:第一个阶段是0~0.01s,内圈静止,仅施加径向力,让接触状态建立起来。第二阶段是0.01s开始,解除内圈旋转自由度约束,施加角速度。这种分阶段加载方式比一开始就同时加力加转速更稳,因为从零到额定转速的瞬态冲击会引入很大的数值振荡,容易让求解器误判。
3.4 时间步长与求解时长
时间步长的选择直接决定能不能捕捉到冲击脉冲。轴承产生冲击的频带通常在5kHz以上,甚至到20kHz。采样定理要求步长至少小于最高关心频率对应周期的一半。如果关心频率8kHz,时间步长至少为5e-5s;实际建议取1e-6s,以保证冲击前沿的解析精度。但时间步长太小,计算量巨大;太大,高频信号混叠。我的建议是先用5e-5s试算一次,看时域波形是否光滑。若出现明显的高频锯齿状噪声,再逐步缩小时间步长。
总求解时长至少要覆盖几个特征周期,外圈故障频率大约在100Hz量级,0.1s只覆盖10个周期,偏少;0.3~0.5s比较合适。
4. 结果后处理:特征频率计算与故障波形识别
仿真跑完,接着是见证结果的时刻,也是发现问题最多的环节。
4.1 轴承故障特征频率计算
在提取结果之前,先把三类故障的特征频率算清楚。滚动轴承故障特征频率公式如下:
外圈故障频率:BPFO = (n/2) × fr × (1 - (d/D)cosα)
内圈故障频率:BPFI = (n/2) × fr × (1 + (d/D)cosα)
滚动体故障频率:BSF = (D/(2d)) × fr × (1 - ((d/D)cosα)²)
以1730rpm为例,fr=28.83Hz。代入d=7.94mm、D=39.04mm、n=9、α=0°,得到:
| 故障类型 | 特征频率(Hz) |
|---|---|
| 外圈故障 BPFO | 103.3 |
| 内圈故障 BPFI | 156.2 |
| 滚动体故障 BSF | 67.9 |
CWRU实验数据中1730rpm下的外圈故障频率约103Hz,和计算结果非常接近。这个偏差主要来自轴承实际磨损和温度引起的尺寸微量变化,量级在1%以内,工程上完全可接受。
4.2 时域波形特征
以0.3s仿真时长的加速度时域波形来看,内圈故障的响应不是等幅冲击,而是出现了明显的包络调制。冲击间隔对应约0.0064s(即1/156.2Hz),但幅值随内圈旋转呈现周期性波动,波动周期约0.035s(即1/28.83Hz)。这就是内圈故障的“冲击—调制”特征,在诊断上高度敏感。
外圈故障则是等幅冲击,间隔约0.0097s,冲击幅值基本一致。滚动体故障的时域信号要乱一些,冲击间隔对应对约0.0147s,但相邻冲击幅值差异较大,这是因为滚动体自转和公转的耦合导致缺陷每次进入承载区的深度不同。
4.3 频谱分析:包络谱是最佳判据
在原始振动信号上直接做FFT,频谱上往往有大量高频共振峰,而故障特征频率因为能量低,常常被淹没。更实用的做法是先做带通滤波,取6kHz到10kHz的频带,然后做Hilbert包络解调,在包络谱中找故障特征频率及其谐波。
我的实测对比中,一个显著规律是:外圈故障的包络谱中,103Hz及其2倍频、3倍频处有一系列尖峰。内圈故障则是156Hz和边带族清晰可见,边带间隔正是转频28.83Hz。滚动体故障的包络谱表现稍弱,67.9Hz处峰清晰,但倍频不多,还会混入一些转频成分。这个差异和真实CWRU数据里的表现是一致的。
4.4 与CWRU公开数据的对照
把仿真得到的包络谱主频和CWRU公开数据的包络谱主频放在一起对比非常直观:
| 故障类型 | 仿真主频(Hz) | CWRU主频(Hz) | 偏差 |
|---|---|---|---|
| 外圈故障 | 103.3 | 约103 | <1% |
| 内圈故障 | 155.9 | 约155 | <1% |
| 滚动体故障 | 67.8 | 约68 | <1% |
能给出这个精度的对照,意味着可以用仿真信号训练诊断模型,再用CWRU数据做泛化验证,或者反过来。这条路是走得通的,我后面接的样本扩充工作就是这么干的。
5. 常见问题排查与调试心得
这部分是我认为全文最有价值的地方。仿真流程跑通后回头看,很多问题都集中在哪几个环节。
5.1 接触穿透严重、滚动体陷入滚道
症状:时域波形上冲击幅值越来越小,最后变成平直线,或者接触力出现异常巨大的负值。
原因:接触刚度太小,增广拉格朗日迭代次数不足。滚动体在重载下直接嵌进入滚道面。
排查:把接触刚度因子从0.1逐步提高到0.5,同时把接触算法改为增广拉格朗日后,穿透量会明显下降。如果穿透仍然存在,再检查网格——接触区域的网格尺寸必须保证至少有两个节点落在Hertz接触半宽内。
5.2 高频噪声覆盖了冲击信号
症状:时域波形上出现规则的锯齿状噪声,频谱上出现高频等距谱线,冲击脉冲被掩盖。
原因:时间步长过大,不满足采样定理,高频分量混叠到低频区间。
排查:按万分之一秒逐步缩步长,观察频谱变化。以我的经验,当时间步长降到1e-6s量级,高频混叠基本消失。如果还是不行,检查接触刚度是否过大,弹性波在网格间来回反射产生的伪振荡也会造成类似现象。
5.3 求解不收敛或Error内存不足
症状:求解器在前期加载阶段就报错,或者运行到某个时间点后直接崩溃。
原因:最常见的是初始接触间隙过大。滚动体和滚道之间如果初始状态存在0.01mm以上的间隙,一加力就产生巨大的初始穿透修正,完全违反接触稳定性条件。
排查:在装配建模阶段,确保滚动体与滚道面处于“刚好接触”的状态,不要留有间隙,也不要插入过盈。插入过盈0.01mm以内通常可以接受,但超过这个量级求解器非常容易发散。
5.4 外圈固定约束下的虚假应力集中
还有一个隐蔽的问题:把外圈外表面全部固定后,外圈故障槽附近的应力分布会出现明显的人工集中,这会干扰接触力提取。我的处理方式是不要直接约束整个外圈面,而是建立一个刚性轴承座环,让外圈外表面与轴承座环接触,再固定轴承座。虽然多引入一层接触计算,但得到的外圈振动响应更接近实际传感器安装位置。
5.5 时间成本控制建议
第一次跑全尺寸的模型,没必要一上来就奔着0.5s时长去。我的建议是分三步走:先跑0.02s,看接触是否建立成功;再跑0.1s,确认冲击特征频率;最后跑满0.3s以上,提取高质量的统计特征。每一步确认无误再放量,避免前两步的错误浪费一整晚的机时。
6. 建模细节的延伸思考:滚动体故障为什么更难仿真
前面几次提到滚动体故障的结果“表现稍弱”,这里单独展开说一下原因和应对思路。滚动体故障的冲击路径比其他两类更长、能量损耗更大:缺陷与内圈接触产生的冲击波,要经过滚动体本体、润滑油膜、外圈滚道、外圈,最后才传到轴承座表面的虚拟传感器位置。中间每一步都会衰减和滤波,最终传感器接收到的信号能量远低于内圈故障。所以滚动体故障在仿真中要特别注意三点。
第一,网格密度要更加保守。滚动体直径只有7.94mm,表面开槽后局部应力集中非常明显,如果滚动体网格太粗,冲击力波形会失真。
第二,润滑膜的影响不能完全忽略。仿真里没有强行建出油膜,但通过设置接触阻尼可以在一定程度上模拟油膜的耗能效果。接触阻尼建议设在100~300 N·s/m之间,具体值可以通过对比仿真和实验的冲击衰减速度来标定。
第三,信号的包络解调频带选择需要调整。滚动体故障产生的共振频带往往比内外圈故障更低一些,我用的是3kHz-6kHz频带做包络谱分析时效果更好。
另外一点值得提醒:仿真中滚动体故障的时域冲击轨迹和理论值完全吻合的情况很少见。滚动体自转的初相位和保持架的约束方式会显著影响冲击发生时刻的相位,所以建议在滚动体-保持架接触位置设置初始位置,保证初始相位一致,这样多次仿真结果才有对比价值。
7. 数据后处理流程:把仿真输出变成可用的样本
最后补一段我的数据后处理标准流程,因为仿真正义的目的不是看云图,而是拿数据做训练和诊断。求解完成后,我从Mechanical里导出各节点的加速度时程曲线,通常是轴承座外表面监测点位置的Y方向加速度,用CSV格式输出。这个原始数据不能直接用,还需要经历清洗和特征工程:
第一步,去除直流分量和趋势项。仿真数据虽然不像实验数据那样有传感器温漂,但在加载阶段会有低频瞬态,必须用高通滤波器滤掉20Hz以下成分。
第二步,按故障特征频率的周期进行分段。截取0.1s到0.3s的数据段,大约包含20到30个特征周期,确保统计特征稳定。
第三步,提取包络谱特征向量。以各故障特征频率及其二倍频、三倍频处的幅值作为特征输入,同时加入时域指标(峰值因子、峭度、均方根)作为补充。这样得到的特征向量可以用来训练分类器,且和CWRU实验特征向量的维度保持一致。
实际使用中,我还会做一步扩充:对同一组仿真数据添加信噪比为10dB到20dB的高斯白噪声,模拟不同传感器质量下的数据退化。这个操作能显著提升模型的泛化能力,对比实验显示,加入噪声增强后,用仿真样本训练的CNN在CWRU测试集上的识别准确率提升了约8个百分点。
最后提一下,仿真数据与真实数据之间始终存在分布偏差。最稳妥的做法不是仿真替换实测,而是用仿真做数据增强——少量真实故障样本加上大量仿真样本,混合训练。这个思路我用下来效果明显好于单独用任一数据集。如果你后续要在这个方向上做文章,建议把注意力放在解决“仿真与实测分布差异”这个问题上,这也是所有基于仿真数据的故障诊断方法都必须跨过的门槛。
就我个人而言,这轮最大的体会是:轴承故障动力学仿真真正难的不是把模型跑起来,而是让跑出来的数据对故障诊断这件事有意义。几何尺寸差0.1mm、接触刚度偏差一倍、时间步长差一个数量级,最终频谱上的特征频率可能仍然相似,但时域波形的调制结构和边带特征会完全走样。如果只看频谱主频,你可能觉得模型没问题;可一旦把这些数据扔给机器学习模型去训练,那些隐藏的失真就会变成模型学到的错误模式。所以我的习惯是每调一个参数,都会回到“特征频率对不对、边带对不对、包络谱对不对”这三个问题上重新审视,而不是单纯看求解器有没有收敛或云图颜色好不好看。
