ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

球轴承拟静力学与热生成:从Hertz接触到Palmgren模型的完整计算链路

2026/9/14 9:39:37 拓冰建站 浏览量
球轴承拟静力学与热生成:从Hertz接触到Palmgren模型的完整计算链路 简介针对球轴承热生成计算的 MATLAB 资源包面向轴承设计与热分析工程师、科研人员及高年级学生。内容聚焦轴承拟静力学建模、摩擦力矩反算与发热量估算覆盖载荷分布、温度升高与热应力的关联可帮助读者从机理层面掌握轴承热特性。包内共32个文件、2.59MB以m/asv源码和txt说明为主另有xml配置与bmp结构图覆盖从模型推导到数值仿真的完整链路。其中摩擦力矩、非线性方程与热生成等核心脚本分别独立可运行TikZ文件用于绘制高质量力流图与轴承结构图。已有484人学习下载适合快速验证理论模型、开展课题预研或进行轴承参数优化可在设计初期评估发热风险。这些文件相互配合能够完成从参数输入到结果输出的完整分析流程适合课程设计、毕业设计及实际工程应用。1. 球轴承拟静力学与热生成转速越高越不能分开算高速球轴承的设计链条里最容易被低估的是“载荷”与“温度”的耦合关系。结构工程师用静力学模型算接触应力热管理工程师用一个经验系数估计发热量两边各自交付直到台架测试发现实测温升比预估高出一倍才回头检查接触载荷到底在什么量级。拟静力学的价值恰好在这里它把转速、载荷和润滑状态统一到一组接触平衡方程里逐个滚动体求解出真实的接触角与法向载荷再用这些载荷去驱动发热计算。bearing-heat-gen.zip这类包名指向的正是工程中反复复用的那套流程轴承几何参数 → Hertz接触刚度 → 滚动体平衡迭代 → 摩擦扭矩与热功率。电机主轴、机床电主轴、减速器选型都会走这条路。本文以6205深沟球轴承为贯穿示例先从几何模型讲到代码实现再落到热生成定量估算和三个最容易出错的细节。整个链路用手写Python就能跑通不依赖任何商业轴承分析软件。2. 球轴承几何输入与Hertz接触刚度拟静力学方程的地基要建立拟静力学方程必须先回答两个问题滚珠与滚道在哪一点接触接触处的力与位移按什么规律变化。前者由轴承设计的几何参数决定后者是Hertz点接触理论的直接应用。两个答案合并成方程组的系数矩阵任何误差都会在后续迭代中成倍放大。2.1 几何输入沟曲率系数为什么比套圈直径更关键轴承几何对拟静力学模型的影响通过一组固定参数表达。以6205深沟球轴承为参考常用输入如下参数符号6205典型值对计算结果的影响节圆直径D_m39.0 mm决定滚珠轨道半径与离心力臂滚珠直径d_b7.94 mm直接进入滚珠质量、曲率求和与接触刚度初始接触角α_0按预紧状态取8°15°示例10°高速下实际接触角会偏离此值数度内圈沟曲率系数f_i0.515数值越小沟越深接触刚度越大外圈沟曲率系数f_o0.525同上但对外圈接触影响更显著滚珠数量Z9决定载荷在哪些滚珠上集中沟曲率系数 f 定义为沟道曲率半径与滚珠直径之比。f 从 0.515 改为 0.520看似只差 1%却能让接触椭圆短半轴改变约 6%进而直接影响油膜厚度与发热量。工程里常见的错误是从轴承样本抄了外径内径却漏抄沟曲率系数导致后续所有计算都建立在错误的接触几何上。另一个高频错误是直接把样本里的“接触角 0°”当计算输入实际上深沟球轴承在预紧和轴向载荷下等效设计接触角通常在 8°15°建模时应按预紧状态取一个非零值。2.2 Hertz点接触曲率和、椭圆率与载荷变形系数Hertz 点接触需要一个关键中间量接触点处的曲率和 Σρ。设滚珠半径为 r内圈沟曲率半径为 R_i f_i·d_b则内圈接触处的主曲率按接触力学取压缩为正、拉伸为负滚珠方向一 2 / d_b 滚珠方向二 2 / d_b 沟道方向一 -1 / (f_i · d_b) 沟道方向二 2·cosα_0 / (D_m - d_b·cosα_0)四项代数和就是 Σρ_i。外圈接触同理。最容易被忽略的是“沟道方向二”这一项它和节圆直径、接触角都有关系不少手算稿直接把这一个分量省略导致刚度整体高估。载荷-变形关系采用 Hertz 点接触的标准形式Q K_n · δ^1.5其中 K_n 为接触刚度系数量纲是 N/mm^1.5。K_n 不能用一个常数替代它依赖 Σρ 和等效弹性模量。钢-钢接触的等效弹性模量约为 1.13e5 MPa所以 K_n 的变化完全由曲率几何决定。工程上常用查表法先算曲率差函数 F(ρ) |ρ_diff| / Σρ再查 Harris《滚动轴承分析》附录中的椭圆积分表得到椭圆率 κ 与变形系数 δ*。下表给出一组常见对应关系F(ρ)κ a/bδ*0.903.080.5320.923.640.4740.944.320.4150.965.190.358想避开查表也可以用数值方法直接解椭圆积分但对入门实现来说对着这张表做线性插值已经足够稳定K_n 数量级落在 2e55e5 N/mm^1.5 之间。2.3 用代码估算K_n把查表过程写成一个函数下面的 Python 函数把上一节的插值过程固化下来输入沟曲率系数就能得到单个接触的刚度import numpy as np from math import cos, radians, sqrt def hertz_K(f_groove, d_b7.94, d_m39.0, alpha_deg10.0, E_eff1.13e5): 由曲率几何估算 Hertz 接触刚度 K (N/mm^1.5)。 a0 radians(alpha_deg) rho_sum (4.0/d_b - 1.0/(f_groove*d_b) 2.0*cos(a0)/(d_m - d_b*cos(a0))) rho_diff abs(4.0/d_b - 1.0/(f_groove*d_b) - 2.0*cos(a0)/(d_m - d_b*cos(a0))) F_rho rho_diff / rho_sum # 对 F(ρ) 做 δ* 线性插值 F_tab [0.90, 0.94, 0.96] d_tab [0.532, 0.415, 0.358] delta_star np.interp(F_rho, F_tab, d_tab) R_eff 1.0 / rho_sum K E_eff * sqrt(R_eff) / delta_star return K print(hertz_K(0.515), hertz_K(0.525))这段代码把查表过程封装成可复用函数。参数说明f_groove是沟曲率系数d_b、d_m单位是毫米alpha_deg取设计接触角E_eff是钢对钢等效弹性模量。rho_diff决定 F(ρ)F(ρ) 越小接触椭圆越圆δ* 越大刚度越低。np.interp是线性插值如果 F(ρ) 落在表外最好用三次样条否则要注意外推失真。2.4 接触角偏移是拟静力学的第一个闭环深沟球轴承承受轴向载荷时接触角会从初始值向上偏移。偏移量不是输入参数而是由轴向位移 δ_a 决定cosα_1 (1 - δ_a / (2·r_i)) · cosα_0其中 r_i 是内外沟曲率中心距。看起来是简单几何关系但 δ_a 与轴向载荷 F_a 之间又是非线性关系。这就构成拟静力学模型的第一个闭环给定接触角假设 → 算刚度 → 算载荷 → 再修正接触角。后面第 3 章的迭代求解器本质上就是同时解出这组非线性关系。这里有两个工程中经常踩的坑。第一初始接触角不要取零代入余弦计算否则后续雅可比矩阵会奇异工程上一般从 8°12° 起算。第二沟曲率中心距 r_i 不等于 f_i·d_b - d_b/2还要计入内圈沟底半径与节圆半径的几何关系用错了误差可达百分之几直接污染最终的载荷分布。3. 滚珠力平衡与Newton-Raphson迭代把转速和载荷解进接触角拟静力学模型的第二个闭环在单个滚珠上。每个滚珠同时受内圈法向力 Q_i、外圈法向力 Q_o、离心力 F_c 和陀螺力矩 M_g 作用平衡条件是这四个效应在径向和轴向两个方向上代数和为零。3.1 高速滚珠的离心力与陀螺力矩转速以什么方式进入方程外圈固定、内圈以角速度 ω 旋转时滚珠的公转角速度 ω_c 与自转角速度 ω_b 之间有确定关系。忽略摩擦力矩的近似式为ω_c ω/2 · (1 - d_b·cosα / D_m)滚珠感受到的离心力为F_c m_b · ω_c² · D_m/2滚珠质量 m_b ρ·π·d_b³/6。以 6205 在 12000 r/min 为例ω_c 约为 500 rad/s单颗滚珠离心力在 10 N 量级。这个量级在重载低速工况下可以忽略但在 15000 r/min 以上甚至会超过滚珠自身承受的径向载荷分量直接改变接触角取值范围。陀螺力矩作用于滚珠绕自身轴线的自旋轴M_g J_b · ω_b × ω_cJ_b m_b·d_b²/10 是滚珠转动惯量。陀螺力矩会改变滚珠的方位角姿态最终以切向摩擦的形式进入能量平衡。在拟静力学中它常作为解出载荷后的后置校验项防止计算出的接触椭圆偏得太离谱。3.2 平衡方程组装配两个方程、两个未知数、一组非线性关系定义滚珠与内圈接触角为 α_i与外圈接触角为 α_o。轴向平衡和径向平衡分别是Q_i·sinα_i - Q_o·sinα_o 0 Q_i·cosα_i - Q_o·cosα_o F_c 0注意第二个式子中的 F_c 指向外物理含义是离心力减弱内圈法向载荷、增强外圈法向载荷。两个方程两个未知数 Q_i 和 Q_o再加上接触变形关系Q_i K_i·δ_i^1.5 Q_o K_o·δ_o^1.5对应的变形 δ_i、δ_o 又与内外圈接触角下的滚珠中心位置有关所以实际迭代变量是 α_i 和 α_oQ_i、Q_o 只是中间量。把两组公式合并得到一个二元非线性方程组用 Newton-Raphson 迭代收敛即可。3.3 Newton-Raphson求解器单个滚珠的最小实现下面代码实现上述求解过程的核心循环import numpy as np from math import pi, cos, sin class BallQuasiStatic: 单个滚珠的拟静力学平衡求解器 def __init__(self, d_m39.0, d_b7.94, alpha0_deg10.0, f_i0.515, f_o0.525, n_rpm12000, rho7850.0): self.d_m, self.d_b d_m, d_b self.a0 np.deg2rad(alpha0_deg) self.f_i, self.f_o f_i, f_o self.w 2*pi*n_rpm/60.0 # 内圈角速度 rad/s # 滚珠质量 kgmm³ 转 m³ 再乘密度 self.m_b rho*pi*d_b**3/6.0 * 1e-9 def hertz_K(self, f_groove): # 省略展开直接调用上一节的 hertz_K 函数 from ch2_hertz import hertz_K return hertz_K(f_groove, self.d_b, self.d_m, np.rad2deg(self.a0)) def centrifugal_force(self): w_c self.w/2.0*(1.0 - self.d_b*cos(self.a0)/self.d_m) return self.m_b*w_c**2 * (self.d_m/2.0) * 1e-3 def solve(self, tol1e-10, max_iter40): K_i self.hertz_K(self.f_i) K_o self.hertz_K(self.f_o) Fc self.centrifugal_force() ai ao self.a0 # Newton 迭代初值 for _ in range(max_iter): # 接触变形滚珠中心径向位移的简化几何投影 d_i 0.5*self.d_b*(1.0 - cos(ai - self.a0)) d_o 0.5*self.d_b*(1.0 - cos(ao - self.a0)) Qi K_i*d_i**1.5 Qo K_o*d_o**1.5 f1 Qi*sin(ai) - Qo*sin(ao) f2 Qi*cos(ai) - Qo*cos(ao) Fc F np.array([f1, f2]) J np.array([ [Qi*cos(ai), -Qo*cos(ao)], [-Qi*sin(ai), Qo*sin(ao)] ]) step np.linalg.solve(J, -F) ai step[0] ao step[1] if np.linalg.norm(step) tol: return ai, ao, Qi, Qo, Fc raise RuntimeError(40 轮迭代未收敛请检查初值与刚度量纲)代码有几点需要着重解释。第一centrifugal_force中* 1e-3是把节圆直径从毫米转成米漏掉这一项会让离心力虚高 1000 倍。第二雅可比矩阵 J 采用解析形式实际调试时建议用有限差分验证一版确认偏导数符号正确。第三接触变形 d_i 用的是几何投影近似完整实现应把内外圈整体位移代入全局方程这里为展示迭代骨架做了简化趋势结论不受影响。3.4 从单球到全轴承载荷分布的反直觉现象单球解出的是径向受载最重的一颗滚珠的状态。实际轴承里滚珠按相位角分布每颗滚珠的径向位移不同离心力作用方向也各异。工程做法是把角间距 2π/Z 展开对每颗滚珠重复以上平衡迭代再以外圈整体受力协调所有解。转速 r/min外圈接触角内圈法向载荷 N离心力 N010.0°3200600011.2°335121200013.9°380481800017.1°455108上表是示意性的趋势数据。转速升高后外圈接触角逐渐增大、内圈载荷被动抬升这就解释了一个反直觉现象高速工况下适度降低预紧反而能延缓接触角偏移减少滚珠打滑发热。4. 从接触载荷到发热功率Palmgren扭矩模型与热流分配拟静力学解出接触载荷后发热计算的输入就齐全了。工程中应用最广的是 Palmgren 模型把总摩擦力矩分成与转速相关的 M0 和与载荷相关的 M1 两项。4.1 Palmgren扭矩模型M0速度项与M1载荷项Palmgren 模型的物理基础是分开考虑润滑剂黏性阻力和接触区摩擦损耗。M0 主要由润滑剂的内摩擦决定随转速升高而增大M1 由接触区的弹性滞后和滑动摩擦决定随载荷增大而增大。两者相加M_total M0 M1单位取 N·mm 时发热功率为H 2·π·n·M_total / 60 [W]其中 n 是内圈转速单位 r/min。M0 的计算需要润滑油运动黏度 νmm²/s和转速 n当 n·ν ≥ 2000 时M0 1.6e-7 · f0 · (n·ν)^(2/3) · D_m³润滑方式不同f0 取值不同。油气润滑的 f0 明显低于油浴这也是高速电主轴普遍改用油气润滑的原因之一。参数油浴润滑油气/脂润滑f0240.61.0对流换热系数150300 W/(m²·K)4080 W/(m²·K)适用转速较低较高载荷项 M1 的表达式为M1 f1 · P_load · D_mf1 由轴承类型和接触载荷决定球轴承常取 f1 0.0009·(F_a/Cs)^0.55P_load 取当量动载荷。对纯轴向载荷工况直接取 F_a径向工况按 X·F_r Y·F_a 计算。4.2 扭矩换算成热功率量纲处理与最小代码实现import numpy as np def heat_generation(bearing, Qi, Qo, ai, ao, nu30.0, f02.0, Cs1.05e5): 输入拟静力学解出的载荷与接触角单位统一为 N 和 mm。 返回 M0、M1 与发热功率 HW。 n bearing.n_rpm Dm bearing.d_m # 速度项 M0n*nu 一般远大于 2000 M0 1.6e-7 * f0 * (n * nu)**(2.0/3.0) * Dm**3 # 以轴向载荷近似当量动载荷 Fa Qi * sin(ai) f1 0.0009 * (Fa / Cs)**0.55 M1 f1 * Fa * Dm M_total M0 M1 H 2.0 * np.pi * n * M_total / 60.0 return M0, M1, H # 承接第3节求解结果 solver BallQuasiStatic(n_rpm12000) ai, ao, Qi, Qo, Fc solver.solve() m0, m1, heat heat_generation(solver, Qi, Qo, ai, ao) print(fM0{m0:.2f} N·mm M1{m1:.2f} N·mm H{heat:.2f} W)这段代码的关键在设计参数单位。M0的单位是 N·mm转速保持 r/min最后除以 60 转成秒发热功率单位才是瓦特。参数说明nu是 40°C 下的运动黏度f0需要和润滑方式对应Cs是基本额定静载荷可在轴承样本中查到。热功率 H 的两个直接用途一是给润滑系统做油量核算二是作为瞬态热网络模型的热源边界。4.3 拟静力学与热网络耦合收敛判定与松弛因子严格来说发热和温度不是单向的。温度升高后润滑油黏度下降M0 减小温度导致滚道热膨胀接触角和预紧量也会变化。完整的做法是外循环迭代拟静力学设定 → 计算热功率 → 热网络求温差 → 修正润滑油温度 → 更新黏度 → 回到拟静力学收敛判据取连续两轮温差绝对值小于 0.1°C。稳态工况下一般 58 轮能收敛如果热容或对流系数给得不准会在某个转速区间出现振荡此时把松弛因子降到 0.5 以下再迭代。5. 热生成计算的校核与三个收敛陷阱5.1 用厂商标定极限转速做逆向校核验证拟静力学程序最经济的方式是用轴承厂商样本中的极限转速和额定载荷反推。以 6205 为例油浴润滑极限转速约 12000 r/min取该转速做拟静力学计算检查最大滚珠载荷与基本额定静载荷 Cs 的比值是否落在 0.50.8 的安全区间。如果算出来超过 Cs说明接触角初值或曲率系数输入有问题。转速为 0 的静力学解也应该和手算的载荷分布对得上这是最简单的冒烟测试。5.2 陷阱一接触角初值取零雅可比矩阵直接奇异Newton-Raphson 对初值敏感。α_0 取 0 度时sinα 项为零雅可比矩阵 J 在对角位置出现零元素线性求解直接报奇异。工程上的解法是把初值设到 8°12°并在每轮迭代后限制角度增量不超过 5°防止一步跨到负接触角分支。提示如果代码中出现“Singular matrix”错误先查接触角初值再去查单位换算。5.3 陷阱二离心力换算漏掉单位系数d_m 用毫米、ω_c 用 rad/s、质量用 kg 时离心力量纲换算最隐蔽。m_b * ω_c² * D_m/2 * 1e-3中的1e-3是毫米转米的系数漏掉会让离心力虚高 1000 倍。建议在代码里把单位关系写成注释并加一个断言转速 0 时离心力必须为 0转速 12000 r/min 时 Fc 应该落在 10100 N 量级。5.4 把发热功率导给下游热网络时的习惯做法输出热功率 H 后常见做法是把它作为热网络节点的热源输入。对于 6205 这类小尺寸轴承H 通常在十几瓦量级油路带走大部分热量对流系数取 150200 W/(m²·K) 可得稳定温升曲线。如果仿真和实测温差大于 5°C优先检查润滑油黏度是否随温度更新再检查 M0 系数 f0 是否与真实润滑方式匹配最后才考虑有限元对流边界的问题。把黏度更新纳入外循环后多数偏差都能收敛回合理区间。本文还有配套的精品资源点击获取