【悬架笔记三】1/4被动悬架垂向动力学仿真+频域特性分析

1/4被动悬架
代码:

matlab 复制代码
%书第156页、159页
clc
clear
close all
%% 一.悬架参数
ms=320;
mw=50;
Ks=22000;
Cs=1500;
Kw=195000; 
f0=0.07;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 二.垂向振动动力学仿真
%% 二.1.状态方程
A= [0 1 0 -1;...
    -Ks/ms -Cs/ms 0 Cs/ms;...
    0 0 0 -1;
    Ks/mw Cs/mw Kw/mw -Cs/mw]; 
B= [0 0 1 0]';
C=[-Ks/ms -Cs/ms 0 Cs/ms;...
    1 0 0 0;...
    0 0 Kw 0]; 
%% 二.2.道路参数
dt=0.01;%仿真间隔时间
t_end=10;%仿真总时长
t=0:dt:t_end;
u=60;%车速,km/h
u=u/3.6;%车速转化为m/s
Sq=16*10^-6;%路面不平度系数
white_noise=1-2*1* rand(1,length(t)-1); 
for i=1:length(t)-1
    q(1)=0; 
    q(i+1)=dt*(-2*pi* f0* q(i)+2*pi*(sqrt(Sq*u))*white_noise(i))+q(i); 
    dq=diff(q)/dt;
end
%% 二.3.仿真
for i=1:length(t)-1
    x(:,1)=[0;0;0;0];
    [G,H]=c2d(A,B,dt);
    x(:,i+1)=G*x(:,i)+H*dq(i);
    y(:,i)=C*x(:,i);
end
%% 二.4.绘图
t1=dt:dt:t_end;

figure(1)
plot(t,q)
xlabel('时间/s')
ylabel('路面位移/m')

figure(2)
plot(t1,y(1,:))
xlabel('时间/s')
ylabel('车身垂直加速度/(m/s^2)')

figure(3)
plot(t1,y(2,:))
xlabel('时间/s')
ylabel('悬架动挠度/m')

figure(4)
plot(t1,y(3,:))
xlabel('时间/s')
ylabel('轮胎动载苟/N')

%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 三.频域特性曲线
%% 三.1.传递函数参数设置
b3=Ks * Cs;
b2=Kw * Ks;
b1=0;
b0=0;
a4=ms*mw; 
a3=(ms+mw)*Cs; 
a2=ms*Ks+ms*Kw+mw*Ks;
a1=Cs*Kw;
a0=Kw*Ks;
w=[0,logspace(-2,2,200)];
H1=tf([b3,b2,b1,b0], [a4,a3,a2,a1,a0]);
%% 三.2.频域特性绘图
figure(101)
bode(H1,w)
title('车身加速度波德图')

figure(102)
c2=-mw * Kw;
c1=0;
c0=0;
H2=tf([c2,c1,c0], [a4,a3,a2,a1,a0]);
bode(H2,w)
title('悬架动挠度波德图')

figure(103)
d4=ms * mw * Kw;
d3=(ms+mw) * Cs * Kw;
d2=(ms+mw) * Ks * Kw;
d1=0;
d0=0;
H3=tf([d4, d3, d2, d1,d0], [a4, a3,a2,a1, a0]); 
bode(H3,w)
title('轮胎动载荷波德图')

运行结果:


相关推荐
Hello_Embed2 小时前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中2 小时前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
Grassto3 小时前
RAG 从入门到放弃?丐版 demo 实战笔记(go+python)
笔记
Magnetic_h3 小时前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
周周记笔记6 小时前
学习笔记:第一个Python程序
笔记·学习
丑小鸭是白天鹅6 小时前
Kotlin协程详细笔记之切线程和挂起函数
开发语言·笔记·kotlin
潘达斯奈基~6 小时前
《大数据之路1》笔记2:数据模型
大数据·笔记
..过云雨7 小时前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习
咸甜适中7 小时前
rust语言 (1.88) egui (0.32.2) 学习笔记(逐行注释)(二十八)使用图片控件显示图片
笔记·学习·rust·egui
一又四分之一.7 小时前
高数基础知识(下)②
笔记