汽车制动性仿真

简介

汽车制动性是指汽车行驶时能在短时间内停车且维持行驶方向稳定性和在下长坡时能维持一定车速的能力。从获得尽可能高的行驶安全的观点出发,汽车制动性评价指标主要有制动效能、制动效能的恒定性和制动时的方向稳定性。

使用说明

一、实验目的

1.建立汽车制动性数学模型

2.绘制汽车制动力分配曲线

3.绘制利用附着系数与制动强度曲线

4.绘制制动效率与附着系数曲线

5.建立汽车制动过程数学模型

6.汽车制动效能仿真

二、仿真数据

汽车制动性仿真所需参数见表6-3-1。

表6-3-1 汽车制动性仿真所需参数
载荷 汽车质量/kg 汽车质心高度/m 轴距/m 质心至前轴距离/m 质心至后轴距离/m
空载 1520 0.532 2.705 1.082 1.623
满载 1910 0.591 2.705 1.488 1.217

三、实验步骤

1.建立汽车制动性数学模型

原理参考教材第六章实例3

2.绘制汽车制动力分配曲线

编写绘制汽车制动力分配曲线的MWORKS程序如下。

Fb1 = collect(0:50:15000) # 定义自变量Fb1的取值范围
m1 = 1520 # 定义m1的值
g = 9.8 # 定义g的值
h1 = 0.532 # 定义h1的值
L = 2.705 # 定义L的值
b1 = 1.623 # 定义b1的值
m2 = 1910 # 定义m2的值
h2 = 0.591 # 定义h2的值
b2 = 1.217 # 定义b2的值

Fb21 = 0.5 * (m1 * g / h1 * sqrt.((b1^2) .+ 4 * L * h1 / m1 / g .* Fb1) .- (m1 * g * b1 / h1 .+ 2 * Fb1)) # 根据给定公式计算Fb21的值
Fb22 = 0.5 * (m2 * g / h2 * sqrt.((b2^2) .+ 4 * L * h2 / m2 / g .* Fb1) .- (m2 * g * b2 / h2 .+ 2 * Fb1)) # 根据给定公式计算Fb22的值

Fb23 = 0.5625 * Fb1 # 根据给定公式计算Fb23的值
plot(Fb1, Fb21, Fb1, Fb22, Fb1, Fb23) # 绘制三条曲线:Fb21、Fb22、Fb23

text(5000, 4500, "I曲线(满载)")
text(7000, 2500, "I曲线(空载)")
text(12000, 7000, "Beta线")

xlabel("前制动器制动力/N")
ylabel("后制动器制动力/N")

在MWORKS编辑器中输入这些程序,点击运行按钮,就会得到汽车制动力分配曲线,如图所示。

image.png

图6-3-2 汽车制动力分配曲线

3.绘制利用附着系数与制动强度曲线

编写绘制利用附着系数与制动强度曲线的MWORKS程序如下。

z = collect(0:0.05:1) # 定义自变量z的取值范围
h1 = 0.532 # 定义h1的值
a1 = 1.082 # 定义a1的值
b1 = 1.623 # 定义b1的值
L = 2.705 # 定义L的值
h2 = 0.591 # 定义h2的值
a2 = 1.488 # 定义a2的值
b2 = 1.217 # 定义b2的值
bt = 0.64 # 定义bt的值

mf1 = bt * L .* z ./ (b1 .+ h1 .* z) # 根据给定公式计算mf1的值
mr1 = (1 - bt) * L .* z ./ (b1 .- h1 * z) # 根据给定公式计算mr1的值
mf2 = bt * L .* z ./ (b2 .+ h2 .* z) # 根据给定公式计算mf2的值
mr2 = (1 - bt) * L .* z ./ (b2 .- h2 * z) # 根据给定公式计算mr2的值

plot(z, mf1, z, mr1, z, mf2, z, mr2) # 绘制四条曲线:mf1、mr1、mf2、mr2

text(0.85, 1.4, "1")
text(0.95, 0.77, "2")
text(0.95, 0.92, "3")
text(0.93, 0.82, "4")

xlabel("制动强度")
ylabel("利用附着系数")

在MWORKS编辑器中输入这些程序,点击运行按钮,就会得到利用附着系数与制动强度曲线,如图所示。可以看出,制动强度为0.87时,前、后轴利用附着系数均为0.87,这就是该车的同步附着系数。满载时前轴利用附着系数相对于空载增加,后轴利用附着系数相对于空载减少,主要原因是制动时质心前移。

image.png

图6-3-3 利用附着系数与制动强度曲线

4.绘制制动效率与附着系数曲线

利用式(6-3-11)和式(6-3-12),编写绘制制动效率与附着系数曲线的MWORKS程序如下。

mu = 0:0.05:1 # 定义自变量mu的取值范围
h1 = 0.532 # 定义h1的值
a1 = 1.082 # 定义a1的值
b1 = 1.623 # 定义b1的值
L = 2.705 # 定义L的值
h2 = 0.591 # 定义h2的值
a2 = 1.488 # 定义a2的值
b2 = 1.217 # 定义b2的值
bt = 0.64 # 定义bt的值

ef1 = b1 ./ (L * bt .- mu .* h1) * 100 # 根据给定公式计算ef1的值
ef1 = ((ef1 .+ 100) .- sqrt.((ef1 .- 100) .^ 2)) / 2 # 根据给定公式修正ef1的值
er1 = a1 ./ (L .- L * bt .+ mu .* h1) * 100 # 根据给定公式计算er1的值
er1 = ((er1 .+ 100) .- sqrt.((er1 .- 100) .^ 2)) / 2 # 根据给定公式修正er1的值
ef2 = b2 ./ (L * bt .- mu .* h2) * 100 # 根据给定公式计算ef2的值
ef2 = ((ef2 .+ 100) .- sqrt.((ef2 .- 100) .^ 2)) / 2 # 根据给定公式修正ef2的值
er2 = a2 ./ (L .- L * bt .+ mu .* h2) * 100 # 根据给定公式计算er2的值
er2 = ((er2 .+ 100) .- sqrt.((er2 .- 100) .^ 2)) / 2 # 根据给定公式修正er2的值

plot(mu, er1, mu, ef1, mu, ef2, mu, er2) # 绘制四条曲线:er1、ef1、ef2、er2
axis([0, 1, 0, 100]) # 设置坐标轴范围

text(0.12, 95, "1")
text(0.3, 95, "2")
text(0.25, 75, "3")
text(0.95, 95, "4")

xlabel("附着系数")
ylabel("制动效率/%")

在MWORKS编辑器中输入这些程序,点击运行按钮,就会得到制动效率与附着系数曲线,如图所示。可以看出,汽车满载时,当附着系数为0.87时,前、后轴制动效率都为100%,汽车能利用全部的附着力来制动。

image.png

图6-3-4 制动效率与附着系数曲线

5.建立汽车制动过程数学模型

汽车制动时车轮运动状态可以分为3个阶段完成制动过程,即纯滚动、边滚边滑、车轮抱死。

根据汽车制动过程数学模型,编写绘制汽车不同初速度下的制动距离与附着系数关系曲线的MWORKS程序如下。

h1 = 0.591 # 定义h1的值
L = 2.705 # 定义L的值
a = 1.488 # 定义a的值
b = 1.217 # 定义b的值
bt = 0.64 # 定义bt的值
g = 9.8 # 定义g的值
t1 = 0.1 # 定义t1的值
t2 = 0.3 # 定义t2的值
mu0 = ((L * bt) - b) / h1 # 计算mu0的值
mu = 0.01:0.01:1 # 定义mu的取值范围
u0 = vec([30, 50, 80]) # 定义u0的值
u21 = Array{Any}(undef, 100) # 创建长度为100的空数组u21
S1 = Array{Any}(undef, 3, 100) # 创建3行100列的空数组S1

for i in (1:3) # 对于i从1到3的循环
    t2p = (1 - bt) .* (b .+ h1 .* mu) .* t2 ./ (bt .* (a .- h1 .* mu)) # 根据给定公式计算t2p的值
    for j in (1:1:100) # 对于j从1到100的循环
        if mu[j] < mu0
            u21[j] = (u0[i] ./ 3.6) .- g .* mu0 .* (t2p[j] .^ 2) ./ (t2 * 2) - g .* b .* mu[j] .* (t2 - t2p[j]) ./ (L .- h1 .* mu[j]) .- g .* L .* mu0 .* (1 - bt) .* ((t2^2) .- t2p[j] .^ 2) ./ (2 * (L .- h1 .* mu[j]) .* t2)
            S1[i,j] = (u0[i] .* (t1 + t2) ./ 3.6) .- (g .* mu0 .* (t2p[j] .^ 2) .* (1 - 2 * t2p[j] ./ (3 * t2)) ./ 2) .- g .* b .* mu[j] .* ((t2 - t2p[j]) .^ 2) ./ (2 * (L - h1 .* mu[j])) .- g .* L .* mu0 .* (1 - bt) .* (t2^3 - 3 * t2 .* t2p[j] .^ 2 + 2 * t2p[j] .^ 3) ./ (6 * (L - h1 .* mu[j]) .* t2) .+ (u21[j] .^ 2) ./ (2 * g .* mu[j])
        elseif mu[j] == mu0
            u21[j] = (u0[i] ./ 3.6) .- g .* mu0 .* t2 ./ 2
            s1[i,j] = (u0[i] .* (t1 + t2) ./ 3.6) .- (g .* mu0 .* (t2^2) ./ 6) .+ (u21[j] .^ 2) ./ (2 * g .* mu[j])
        elseif mu[j] > mu0
            u21[j] = (u0[i] ./ 3.6) .- g .* mu0 .* (t2p[j] .^ 2) ./ (t2 * 2) - g .* a .* mu[j] .* (t2 - t2p[j]) ./ (L .+ h1 .* mu[j]) .- g .* L .* mu0 .* bt .* ((t2^2) .- t2p[j] .^ 2) ./ (2 * (L .+ h1 .* mu[j]) .* t2)
            S1[i,j] = (u0[i] .* (t1 + t2) ./ 3.6) .- (g .* mu0 .* (t2p[j] .^ 2) .* (1 - 2 * t2p[j] ./ (3 * t2)) ./ 2) .- g .* a .* mu[j] .* ((t2 - t2p[j]) .^ 2) ./ (2 * (L + h1 .* mu[j])) .- g .* L .* mu0 .* bt .* (t2^3 - 3 * t2 .* t2p[j] .^ 2 + 2 * t2p[j] .^ 3) ./ (6 * (L + h1 .* mu[j]) .* t2) .+ (u21[j] .^ 2) ./ (2 * g .* mu[j])
        end
    end
end

plot(mu, S1[1, :], linestyle="--");hold(true)
plot(mu, S1[2, :], linestyle="-.");hold(true)
plot(mu, S1[3, :]) # 绘制三条曲线

axis([0.1, 1, 0, 300]) # 设置坐标轴范围
legend(["30Km/h", "50Km/h", "80Km/h"])
xlabel("附着系数")
ylabel("制动距离/m")

在MWORKS编辑器中输入这些程序,点击运行按钮,就会得到不同制动初速度下的汽车制动距离与附着系数关系曲线,如图所示。可以看出,附着系数越小,制动距离越长;制动初速度越大,制动距离越长。

image.png

图6-3-5 汽车制动距离与附着系数的关系曲线