针对健康齿轮的时变啮合刚度计算

2026-1-27

针对健康齿轮的时变啮合刚度计算,基于材料力学势能法(又称能量法)是一种经典且计算效率较高的解析方法。它通过将轮齿简化为悬臂梁,计算各变形分量对应的势能来求解刚度。

势能法核心原理与分量

此方法认为齿轮啮合的总柔度由几部分叠加而成,总刚度为各分量刚度的串联。其核心是计算由弯矩、剪力、轴向力及齿面接触引起的势能。

下表汇总了需要计算的主要势能分量及其对应的刚度:

势能分量 物理来源 对应的刚度 计算公式关键点
赫兹接触势能 齿面接触局部弹性变形 赫兹接触刚度 ( k_h ) 基于赫兹接触理论,与齿面曲率半径、材料弹性模量、齿宽相关。
弯曲势能 弯矩引起的轮齿弯曲变形 弯曲刚度 ( k_b ) 将齿根处固定,将轮齿视为变截面悬臂梁,沿啮合点积分计算。
剪切势能 剪力引起的剪切变形 剪切刚度 ( k_s ) 同样将轮齿视为悬臂梁,考虑剪切变形的影响。
轴向压缩势能 轴向分力引起的压缩变形 轴向压缩刚度 ( k_a ) 计算沿齿廓方向的分力引起的压缩变形能。
基体势能 轮齿基体(齿根圆以下部分)的变形 基体刚度 ( k_f ) 常采用经验公式(如Sainsot公式)计算。

一对齿的啮合刚度 ( k_t ) 为各分量刚度串联后的总和:
[

]
对于双齿啮合区,总刚度为两对齿刚度的并联。

数值分析计算步骤

一个完整的数值分析流程通常包括以下步骤:

  1. 齿轮几何与啮合参数计算:基于模数、齿数、压力角等,计算基圆、齿顶圆、啮合线长度、单双齿啮合区间等关键几何与啮合参数。
  2. 划分啮合点与坐标映射:将啮合线等分或按角度划分,确定每一个计算位置(啮合点)。对每个啮合点,确定其在主动轮和从动轮齿廓上的对应坐标,计算该点的压力角、曲率半径等。
  3. 计算各势能分量:对每一对参与啮合的轮齿,在每一个啮合点位置,利用积分公式分别计算弯曲、剪切、轴向压缩势能。赫兹接触刚度和基体刚度通常用解析公式直接计算。
  4. 合成单齿与总时变刚度:根据上一步计算的总势能 ( U ),利用公式 ( k = F^2 / (2U) ) 计算单个轮齿在啮合点处的综合刚度(F为法向载荷)。再根据重合度,在单、双齿啮合区分别进行刚度串并联合成,得到一个完整啮合周期内的时变啮合刚度曲线

MATLAB程序框架

基于势能法的MATLAB数值计算程序框架

%% 齿轮时变啮合刚度计算 - 势能法 (Weber能量法)
clear; clc;

%% 1. 基本齿轮参数输入
% 示例:健康直齿轮副
m = 3;           % 模数 (mm)
z1 = 30;         % 小齿轮齿数
z2 = 50;         % 大齿轮齿数
alpha = 20;      % 分度圆压力角 (度)
B = 20;          % 齿宽 (mm)
E = 2.06e5;      % 弹性模量 (MPa)
mu = 0.3;        % 泊松比
F = 1000;        % 法向载荷 (N)

%% 2. 计算齿轮几何与啮合关系
% 计算分度圆、基圆、齿顶圆半径等
d1 = m * z1;
db1 = d1 * cosd(alpha);
da1 = d1 + 2 * m * ha_coeff; % ha_coeff为齿顶高系数,通常为1

% 计算重合度 epsilon_alpha
% 计算啮合线长度,单双齿啮合区分点

%% 3. 沿啮合线离散化,计算每个啮合点
% 将啮合线等分为N个点
N = 200;
% 计算每个点在齿轮1和齿轮2齿廓上的对应参数(压力角、曲率半径、到齿根距离等)

%% 4. 主循环:计算每个啮合位置的总刚度
total_stiffness = zeros(1, N); % 存储总时变刚度

for i = 1:N
    % 4.1 计算当前啮合点处,齿轮1和齿轮2上对应点的几何参数
    [alpha1, dx1, ...] = calc_gear_point_params(i, ...); % 自定义函数
    [alpha2, dx2, ...] = calc_gear_point_params(i, ...);
    
    % 4.2 计算各势能分量(需自定义函数)
    % 赫兹接触刚度
    k_h = calc_hertz_stiffness(...); 
    
    % 齿轮1的弯曲、剪切、轴向、基体刚度
    [k_b1, k_s1, k_a1, k_f1] = calc_individual_stiffness(alpha1, dx1, ...);
    % 齿轮2的弯曲、剪切、轴向、基体刚度
    [k_b2, k_s2, k_a2, k_f2] = calc_individual_stiffness(alpha2, dx2, ...);
    
    % 4.3 合成当前啮合点处单对齿的刚度
    k_single = 1 / (1/k_h + 1/k_b1+1/k_s1+... + 1/k_b2+1/k_s2+...);
    
    % 4.4 根据重合度及啮合点位置,判断当前是单齿还是双齿啮合区
    % 若是双齿啮合区,需找到另一对同时啮合的齿的刚度,然后并联
    if is_double_teeth_zone(i, ...) % 自定义判断函数
        % 计算另一对齿在对应位置的刚度 k_single2
        total_stiffness(i) = k_single + k_single2; % 刚度并联
    else
        total_stiffness(i) = k_single;
    end
end

%% 5. 绘制时变啮合刚度曲线
figure;
plot(linspace(0, 1, N), total_stiffness, 'b-', 'LineWidth', 1.5); % 横坐标可归一化为一个啮合周期
xlabel('啮合周期');
ylabel('综合时变啮合刚度 (N/m)');
title('健康齿轮副时变啮合刚度曲线');
grid on;

关键函数说明

  • calc_individual_stiffness:这是核心函数,用于计算单个轮齿在特定啮合点的各刚度分量。你需要根据势能法积分公式(可参考相关文献)来实现。
  • calc_hertz_stiffness:基于赫兹接触理论计算接触刚度。
  • is_double_teeth_zone:根据重合度和当前啮合点位置,判断是否处于双齿啮合区。

参考代码 根据传统材料力学势能法来进行数值分析计算健康齿轮时变啮合刚度 www.3dddown.com/csb/77904.html

注意事项

  • 方法特性:势能法计算速度快,概念清晰,非常适合健康齿轮或简单裂纹情况的快速分析。但对于极端复杂的齿形或严重局部故障,其基于梁理论的假设可能导致误差增大,此时有限元法虽然计算慢,但精度更高。
  • 参数影响:计算结果对齿轮几何参数(如过渡曲线)很敏感,建模时需精确。若需考虑齿面摩擦安装偏心等复杂因素,需要对模型进行修正。
  • 代码验证:建议先用标准齿轮参数与已发表文献的结果进行对比验证,确保核心函数计算正确。