膜片弹簧离合器优化设计及特性仿真
简介
自调式膜片弹簧离合器是离合器技术发展的新产品,它能在使用过程中自动补偿由于摩擦片磨损引起的工作压紧力变化,使膜片弹簧保持初始角位置,从而使离合器转矩容量保持稳定,减小最大分离力,提高驾驶舒适度。
使用说明
一、实验目的
1.建立自调式膜片弹簧离合器基本参数优化数学模型
2.建立膜片弹簧优化数学模型
3.对自调式膜片弹簧离合器基本参数进行优化
4.对膜片弹簧进行优化
5.绘制膜片弹簧的载荷-变形关系曲线
二、仿真数据
膜片弹簧离合器优化设计和特性仿真所需参数见表6-13-1。
| 发动机最大转矩/N·m | 290 |
|---|---|
| 发动机最大转矩对应的转速/(r/min) | 2000 |
| 发动机最大功率/kW | 92.6 |
| 发动机最大功率对应的转速/(r/min) | 4000 |
| 汽车质量/kg | 2185 |
| 驱动轮滚动半径/m | 0.35 |
| 变速器第一挡传动比 | 3.917 |
| 主减速器传动比 | 4.0 |
三、实验步骤
1.建立自调式膜片离合器基本参数优化数学模型
原理参考教材第六章实例13
2.建立膜片弹簧优化数学模型
原理参考教材第六章实例13
3.对自调式膜片弹簧离合器基本参数进行优化
根据自调式膜片弹簧离合器基本参数优化数学模型,编制对自调式膜片弹簧离合器基本参数进行优化的MWORKS程序如下。
import Pkg; Pkg.add("Optim") # 导入Pkg包并添加Optim包,用于优化问题的求解
Pkg.add("JuMP") # 添加JuMP包,用于建立数学模型
Pkg.add("Ipopt") # 添加Ipopt包,作为JuMP的优化器,用于求解非线性规划问题
function myfunl(x)
return π / 4 * (x[2]^2 - x[3]^2) # 定义目标函数,计算一个二维空间中的函数值
end
function myconl(x)
c = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
c[1] = x[3] / x[2] - 0.7 # 第一个约束条件
c[2] = -x[3] / x[2] + 0.53 # 第二个约束条件
c[3] = 0.14 * x[1] * (x[2] + x[3]) / (290 * 1000) - 1.75 # 第三个约束条件
c[4] = -0.14 * x[1] * (x[2] + x[3]) / (290 * 1000) + 1.2 # 第四个约束条件
c[5] = (0.28 * x[1] * (x[2] + x[3])) / (1000 * π * (x[2]^2 - x[3]^2)) - 0.0061 # 第五个约束条件
c[6] = 4 * x[1] / (π * (x[2]^2 - x[3]^2)) - 1.5 # 第六个约束条件
c[7] = -4 * x[1] / (π * (x[2]^2 - x[3]^2)) + 0.1 # 第七个约束条件
c[8] = 23890 / (π * (x[2]^2 - x[3]^2)) - 0.2 # 第八个约束条件
return c
end
# 设置初始值和边界
x0 = [6525, 250, 150]
lb = [1000, 160, 110]
ub = [10000, 302, 190]
# 求解
bounds = [(lb[1], ub[1]), (lb[2], ub[2]), (lb[3], ub[3])]
constraints = [ineq_cons(myconl)]
options = optimoptions("fmincon",algorithm="SLSQP", maxiter=50000)
options.bounds = bounds
result = fmincon(myfunl, x0, constraints, options)
println("fmincon results:")
println("x = ", result.x)
在MWORKS编辑器中输入这些程序,点击运行按钮,就会得到自调式膜片弹簧离合器基本参数优化结果:摩擦面上的工作压力F = 6525.0N,摩擦片外径D = 250.0mm,摩擦片内径d = 150.0mm。实际设计时,应对优化结果进行圆整。
4.对膜片弹簧进行优化
根据膜片弹簧优化数学模型,编制对膜片弹簧进行优化的MWORKS程序如下。
import Pkg; Pkg.add("Optim")
Pkg.add("JuMP")
Pkg.add("Ipopt")
# 定义目标函数
function f(x)
f1 = 0
for k = 1:1:10
# 计算 f1 的值
f1 = 0.1 * 120830.77 * abs(x[2] * (x[7] - 0.18 * k) * log(x[3] / x[4]) * ((x[1] - (x[7] - 0.18 * k) * (x[3] - x[4]) / (x[5] - x[6])) * (x[1] - 0.5 * (x[7] - 0.18 * k) * (x[3] - x[4]) / (x[5] - x[6])) + x[2]^2) / (x[5] - x[6])^2) - (x[2] * x[7] * log(x[3] / x[4]) * ((x[1] - x[7] * (x[3] - x[4])/(x[5] - x[6])) * (x[1] - 0.5 * x[7] * (x[3] - x[4])/(x[5] - x[6])) + x[2]^2)/(x[5] - x[6])^2)
end
f2 = 0
for k = 1:1:10
# 计算 f2 的值
f2 = 0.1 * 120830.77 * abs(x[2] * (x[7] + 2 - 0.18 * k) * log(x[3] / x[4]) * ((x[1] - (x[7] + 2 - 0.18 * k) * (x[3] - x[4]) / (x[6] - 32)) * (x[1] - 0.5 * (x[7] + 2 - 0.18 * k) * (x[3] - x[4]) / (x[6] - 32)) + x[2]^2) / (x[6] - 32)^2)
end
# 计算最终目标函数值
f = 0.7 * f1 + 0.3 * f2
end
function ineq(x)
c = zeros(20) # 初始化约束向量 c
# 计算不等式约束 c
c[1] = x[7] / x[1] * (x[3] - x[4]) / (x[5] - x[6]) - 1
c[2] = -x[7] / x[1] * (x[3] - x[4]) / (x[5] - x[6]) + 0.8
c[3] = x[7] * ((x[1] - x[7] * (x[3] - x[4]) / (x[5] - x[6])) * (x[1] - 0.5 * x[7] * (x[3] - x[4]) / (x[5] - x[6])) + x[2]^2) - (x[7] - 1.8) * ((x[1] - (x[7] - 1.8) * (x[3] - x[4]) / (x[5] - x[6])) * (x[1] - 0.5 * (x[7] - 1.8) * (x[3] - x[4]) / (x[5] - x[6])) + x[2]^2)
c[4] = x[1] / x[2] - 2.2
c[5] = -x[1] / x[2] + 1.6
c[6] = x[1] / (x[3] - x[4]) - 0.26795
c[7] = -x[1] / (x[3] - x[4]) + 0.1584
c[8] = x[3] / x[4] - 1.35
c[9] = -x[3] / x[4] + 1.2
c[10] = 2 * x[3] / x[2] - 100
c[11] = -2 * x[3] / x[2] + 70
c[12] = x[3] - x[5] - 6
c[13] = x[5] - x[3] + 2
c[14] = x[6] - x[4] - 4
c[15] = x[4] - x[6] + 1
c[16] = (x[6] - 32) / (x[5] - x[6]) - 4.5
c[17] = -(x[6] - 32) / (x[5] - x[6]) + 2.3
c[18] = 115384.616 * (x[4] - 32) * x[2] * (x[7] + 2) * log(x[3] / x[4]) * ((x[1] - (x[7] + 2) * (x[3] - x[4]) / (x[6] - 32)) * (x[1] - 0.5 * (x[7] + 2) * (x[3] - x[4]) / (x[6] - 32)) + x[2]^2) / (x[4] * (1 - 68.755 / (x[4] + 72)) * x[2]^2 * (x[6] - 32)^2) + 230769.23 * (((x[3] - x[4]) / (x[4] * log(x[3] / x[4])) - 1) * (x[1] / (x[3] - x[4]) - 0.5 * (x[7] + 2) / (x[5] - x[6])) * (x[7] + 2) / (x[5] - x[6]) + 0.5 * x[2] / x[4] * (x[7] + 2) / (x[5] - x[6])) - 2400
c[19] = -115384.616 * (x[4] - 32) * x[2] * (x[7] + 2) * log(x[3] / x[4]) * ((x[1] - (x[7] + 2) * (x[3] - x[4]) / (x[6] - 32)) * (x[1] - 0.5 * (x[7] + 2) * (x[3] - x[4]) / (x[6] - 32)) + x[2]^2) / (x[4] * (1 - 68.755 / (x[4] + 72)) * x[2]^2 * (x[6] - 32)^2) - 230769.23 * (((x[3] - x[4]) / (x[4] * log(x[3] / x[4])) - 1) * (x[1] / (x[3] - x[4]) - 0.5 * (x[7] + 2) / (x[5] - x[6])) * (x[7] + 2) / (x[5] - x[6]) + 0.5 * x[2] / x[4] * (x[7] + 2) / (x[5] - x[6])) - 900
c[20] = -120830.77 * x[2] * x[7] * log(x[3] / x[4]) * ((x[1] - x[7] * (x[3] - x[4]) / (x[5] - x[6])) * (x[1] - 0.5 * x[7] * (x[3] - x[4]) / (x[5] - x[6])) + x[2]^2) / (x[5] - x[6])^2 + 120830.77 * x[2] * (x[7] + 2) * log(x[3] / x[4]) * ((x[1] - (x[7] + 2) * (x[3] - x[4]) / (x[5] - x[6])) * (x[1] - 0.5 * (x[7] + 2) * (x[3] - x[4]) / (x[5] - x[6])) + x[2]^2) / (x[5] - x[6])^2 + 500
return c
end
function eq(x)
ceq = zeros(1) # 初始化等式约束向量 ceq
ceq[1] = 120830.77 * x[2] * x[7] * log(x[3] / x[4]) * ((x[1] - x[7] * (x[3] - x[4]) / (x[5] - x[6])) * (x[1] - 0.5 * x[7] * (x[3] - x[4]) / (x[5] - x[6])) + x[2]^2) / (x[5] - x[6])^2 - 6525
return ceq
end
x0 = [5, 2.5, 106, 84, 102, 86, 3.636]
lb = [3, 2, 104.2, 80.2, 100, 81.2, 2.8]
ub = [6, 3, 125, 104.2, 123, 108.2, 5.2]
bounds = [(lb[1], ub[1]), (lb[2], ub[2]), (lb[3], ub[3]), (lb[4], ub[4]), (lb[5], ub[5]), (lb[6], ub[6]), (lb[7], ub[7])]
constraints = [ineq_cons(ineq), eq_cons(eq)]
options = optimoptions("fmincon",algorithm="SLSQP", maxiter=50000)
options.bounds = bounds
result = fmincon(f, x0, constraints, options)
println("Results:")
println("x = ", result.x)
在MWORKS 编辑器中输入这些程序,点击运行按钮,就会得到膜片弹簧优化结果;膜片弹簧高度H = 5.0mm,膜片弹簧厚度h = 2.5mm,膜片弹簧外半径R = 106.0mm,膜片弹簧内半径r = 84.0mm,膜片弹簧外支撑半径R₁ = 102.0mm,膜片弹簧内支撑半径r₁ = 86.0mm,接合工作点弹簧大端加载时所对应的变形量λ= 3.636mm。
5.绘制膜片弹簧的载荷—变形关系曲线
根据膜片弹簧载荷数学模型,编写绘制膜片弹簧的载荷-变形关系曲线的MWORKS程序如下。
# 定义函数 zhtx1(t)
function zhtx1(t)
E = 210000 # 弹性模量
R = 106 # R 参数
r = 84 # r 参数
u = 0.3 # 泊松比
L = 102 # L 参数
l = 86 # l 参数
h = 2.5 # h 参数
H = 5 # H 参数
# 根据输入的 t 值计算 y 的值
y = (pi * E * h * t .* log(R / r) .* ((H .- t .* (R - r) ./ (L - l)) .* (H .- 0.5 * t .* (R - r) ./ (L - l)) .+ h^2) ./ (6 * (l .- u^2) * (L - l)^2))
return y
end
x1 = 0:0.02:6 # 创建 x1 值的数组
F1 = zhtx1(x1) # 将 x1 应用于 zhtx1 函数以生成相应的 y 值
# 绘制函数 zhtx1
plot(x1, F1)
# 定义函数 zhtx2(t)
function zhtx2(t)
E = 210000 # 弹性模量
R = 124.87 # R 参数
r = 104.05 # r 参数
u = 0.3 # 泊松比
L = 122.84 # L 参数
l = 106.32 # l 参数
h = 2.65 # h 参数
H = 5.13 # H 参数
# 根据输入的 t 值计算 y 的值
y = (pi * E * h * t .* log(R / r) .* ((H .- t .* (R - r) ./ (L - l)) .* (H .- 0.5 * t .* (R - r) ./ (L - l)) .+ h^2) ./ (6 * (l .- u^2) * (L - l)^2))
return y
end
x2 = 0:0.02:6 # 创建 x2 值的数组
F2 = zhtx2(x2) # 将 x2 应用于 zhtx2 函数以生成相应的 y 值
# 在同一图表上绘制函数 zhtx1 和 zhtx2
plot(x1, F1,linestyle="--");hold(true)
plot(x2, F2)
legend(["优化前", "优化后"])
xlabel("变形/mm")
ylabel("载荷/KN")
在MWORKS编辑器中输入这些程序,点击运行按钮,就会得到优化前、后的膜片弹簧的载荷-变形关系曲线,如图6-13-3所示。可以看出,膜片弹簧离合器优化后,大幅度减小了弹簧工作时的最大压力,很大程度上改善了分离踏板力,并且在工作范围内摩擦片压紧力变化较小。因此,优化后的膜片弹簧参数更合理,性能更优越。
