汽车防抱死制动系统仿真
简介
汽车防抱死制动系统(ABS)可以在汽车制动过程中自动控制和调节车轮制动力,防止制动过程中汽车车轮“抱死”,保持最大的车轮附着系数,从而得到最佳制动效果,即最短的制动距离、最小的侧向滑移及最好的制动转向性能。
使用说明
一、实验目的
1.建立汽车ABS数学模型
2.绘制汽车ABS仿真曲线
二、仿真数据
汽车ABS仿真所需参数见表6-4-1。
| 车轮质量/kg | 车轮滚动半径/m | 车轮转动惯量/kg·m² | 峰值附着系数 |
|---|---|---|---|
| 364 | 0.25 | 12 | 0.82 |
| 车轮抱死附着系数 | 目标滑移率 | 滑移率下限 | 滑移率上限 |
| 0.61 | 0.2 | 0.185 | 0.221 |
| 初始车速/(m/s) | 初始角速度/(rad/s) | 初始制动力矩/N·m | 增压速率/N·(m/s) |
| 25 | 100 | 500 | 1500 |
| 减压速率/N·(m/s) | 采样时间/s | 仿真时间/s | |
| 6000 | 0.02 | 5 |
三、实验步骤
1.建立汽车ABS数学模型
原理参考教材第六章实例4
2.绘制汽车ABS仿真曲线
根据汽车ABS数学模型,编写绘制车轮滑移率时域曲线、车轮前进速度与车轮线速度时域曲线、车轮法向载荷与地面制动力时域曲线、车轮制动力矩时域曲线、车轮制动减速度时域曲线的MWORKS程序如下。
# 定义所需的参数
T = 5 # 总仿真时间
Ts = 0.02 # 采样周期
n = Int(round(T / Ts)) # 采样点数
t = 0:Ts:(n-1)*Ts # 时间向量
phi_h = 0.82 # 滑移率-滑移比曲线参数:phi_h/so * s
phi_g = 0.61 # 滑移率-滑移比曲线参数:(phi_h - phi_g * so) / (1 - so) - (phi_h - phi_g) / (1 - so) * s
k = 1 # 循环计数器
phi = zeros(n) # 滑移比数组
smin = 0.185 # 最小滑移率
smax = 0.221 # 最大滑移率
so = 0.2 # 阈值滑移率
m = 364 # 车辆质量
rd = 0.25 # 轮胎半径
g = 9.8 # 重力加速度
Iw = 12 # 车轮转动惯量
uo = zeros(n) # 车轮中心前进速度数组
uo[1] = 25 # 初始车轮中心前进速度
uw = zeros(n) # 车轮线速度数组
uw[1] = 25 # 初始车轮线速度
s = ones(n) # 滑移率数组
s[1] = 0 # 初始滑移率
w = zeros(n) # 车轮角速度数组
w[1] = 100 # 初始车轮角速度
beta = zeros(n) # 车轮减速度数组
a_u = zeros(n) # 车辆加速度数组
Tb = zeros(n) # 车轮制动力矩数组
Tb[1] = 500 # 初始车轮制动力矩
ki = 1500 # 比例控制器增益
kd = 6000 # 比例控制器增益
Fx = zeros(n) # 车轮制动力数组
Fd = 364 * g # 地面制动力
while uo[k] > 0
global k # 使用全局变量k
uw[k] = rd * w[k] # 计算车轮线速度
s[k] = (uo[k] - uw[k]) / uo[k] # 计算滑移率
if s[k] <= so && s[k] >= 0
phi[k] = phi_h / so * s[k] # 计算滑移比
elseif s[k] > so && s[k] <= 1
phi[k] = (phi_h - phi_g * so) / (1 - so) - (phi_h - phi_g) / (1 - so) * s[k] # 计算滑移比
elseif s[k] < 0
println("something is wrong") # 输出错误信息
break # 跳出循环
end
Fx[k] = m * g * phi[k] # 计算车轮制动力
beta[k] = (Fx[k] * rd - Tb[k]) / Iw # 计算车轮减速度
a_u[k] = Fx[k] / m # 计算车辆加速度
w[k+1] = w[k] + beta[k] * Ts # 计算车轮角速度
uo[k+1] = uo[k] - a_u[k] * Ts # 计算车轮中心前进速度
if s[k] < smin
Tb[k+1] = Tb[k] + ki * Ts # 根据滑移率调整车轮制动力矩
elseif s[k] >= smax
if Tb[k] >= 0 && Tb[k] <= kd * Ts
Tb[k+1] = 0 # 根据滑移率调整车轮制动力矩
else
Tb[k+1] = Tb[k] - kd * Ts # 根据滑移率调整车轮制动力矩
end
elseif s[k] >= smin && s[k] <= smax
Tb[k+1] = Tb[k] # 根据滑移率调整车轮制动力矩
end
k += 1 # 计数器加一
end
# 绘制图表
figure(1)
plot(t, s)
axis([0 t[k] + 0.02 0 0.35])
xlabel("时间/s")
ylabel("滑移率")
grid()
figure(2)
plot(t, uo, t, uw, "--")
axis([0 t[k] + 0.2 0 31])
xlabel("时间/s")
ylabel("速度/(m/s)")
text(0.5, 13, "车轮中心前进速度")
text(0.6, 23, "车轮线速度")
grid()
figure(3)
plot(t, Fd * ones(n), "--", t, Fx)
axis([0 t[k] + 0.02 0 4000])
xlabel("时间/s")
ylabel("力/N")
text(2.0, 3700, "地面制动力")
grid()
figure(4)
plot(t, Tb)
axis([0 t[k] + 0.02 0 2000])
xlabel("时间/t")
ylabel("车轮制动力矩/N.m")
grid()
figure(5)
s = plot(t, Fx / m)
axis([0 t[k] + 0.02 0 10])
xlabel("时间/t")
ylabel("车轮制动减速度/(m/s^2)")
grid()
在MWORKS编辑器中输入这些程序,点击运行按钮,就会得到车轮滑移率时域曲线、车轮前进速度与车轮线速度时域曲线、车轮法向载荷与地面制动力时域曲线、车轮制动力矩时域曲线、车轮制动减速度时域曲线,如图6-4-2~图6-4-6所示。

从车轮滑移率时域曲线可以看出,滑移率随着时间快速接近0.2附近,开始振荡,在3.2s附近趋于平衡。

从车轮前进速度与车轮线速度时域曲线可以看出,车轮线速度随时间的增加而减小,车轮中心前进速度总体也在减小,但是有小幅振荡,在3.6s时均减小至0,汽车完全制动。

从车轮法向载荷与地面制动力时域曲线可以看出,在制动过程中,车轮地面制动力快速上升到3000N附近,由于ABS作用,在2000~3000N之间反复振荡。车轮法向载荷是一条直线,说明是不变的。
从车轮制动力矩时域曲线可以看出,在制动过程中,一开始制动力矩迅速升高至1400N·m附近,随后在1000N·m上下振荡,最后在3.6s时减小至0。
从车轮制动减速度时域曲线可以看出,在制动过程中,一开始制动减速度迅速升高至8m/s²附近,随后稳定振荡变化,最后在3.6s时减小至0。


登录账号即可下载资源、参与讨论。