汽车转向梯形机构设计docxWord下载.docx
《汽车转向梯形机构设计docxWord下载.docx》由会员分享,可在线阅读,更多相关《汽车转向梯形机构设计docxWord下载.docx(11页珍藏版)》请在冰豆网上搜索。
车型:
无菱兴旺,转向节跨距M:
1022mm,前轮距D:
1222mm,轴距L:
1780mm,最小转弯半径R:
4500mm。
前言:
汽车转向系统是用来改变或恢复其行驶方向的专设机构,由转向操纵机构、转向器和转向传动机构三部分组成。
转向操纵机构主要由方向盘、转向轴、转向管柱等组成:
转向器将方向盘的转动变为转向摇臂的摆动或齿条轴的往复运动,并对转向操纵力进行放大的机构:
转向传动机构将转向器输出的力和运动传给车轮,并使左右车轮按一定关系进行偏转运动的机构。
设计过程:
一、设计原理简介
1采用转向梯形机构转向的机动车辆,左右转弯时应具有相同的特征,因此左右摇臂是等长的。
2内外侧转向轮偏转角满足无侧滑条件时的关系式为:
(1)
3.转向过程中转向梯形机构应满足的方程为
(2)
且
(3)
代人整理得:
(4)
式中αβ为无侧滑状态下梯形臂转角的对应位置,可视为已知。
由
(1)式算出来,因此,方程中有两个独立的未知量需求解,要梯形臂转角的两个对应位置即两个方程来求解。
4梯形臂转角的两个对应位置的确定
由函数逼近理论确定梯形臂转角的两个对应位置的方程为:
(5)式中,qq为外偏转角的最佳范围值,由计算机逐步搜索获得。
由汽车的最大转弯半径可得最大转角为23.86度。
5非线性方程组的求解
由梯形臂转角的两个对应位置确定的方程为
(i=1,2)
可用最速下降法计算该方程。
用C++程序实现编程,代码如下。
doubleF1(doublea,doublei)//方程1
{
doublem=0.01;
doublen=atan(1/(1/tan(m)-M/L));
doublef;
f=cos(m+i)+cos(n-i)-(a/M)*cos(n-m-2*i)-2*cos(i)+2*a*cos(i)*cos(i)/M-a/M;
returnf;
}
doubleF2(doublea,doublei)//方程2
doublem=0.446;
doubleSolveF(doublea,doublei)//最速下降法的目标函数
doublef=F1(a,i)*F1(a,i)+F2(a,i)*F2(a,i);
doubleCaculate(doublet1)//最速下降法求解方程1与方程2的方程组
doubleff[2],t2=0.8;
doublef=1;
while(f>
e)
{
doubleei,FF;
ff[0]=(SolveF((t1+h*t1),t2)-SolveF(t1,t2))/(t1*h);
ff[1]=(SolveF(t1,(t2+h*t2))-SolveF(t1,t2))/(t2*h);
FF=ff[0]*ff[0]+ff[1]*ff[1];
ei=SolveF(t1,t2)/FF;
t1=t1-ei*ff[0];
t2=t2-ei*ff[1];
f=SolveF(t1,t2);
}
returnt2;
二、设计误差分析
根据转向梯形机构主参数的设计值计算出内转向轮的实际偏转角,再通过无侧滑状态下的理想转角的比较,可进行转向梯形机构的误差分析。
内转向轮的实际偏转角
1.根据已确定的转向梯形机构尺寸,由下式确定转向轮的实际偏转角为
式中
2.内转向轮的理想偏转角β
内侧转向轮无侧滑时的理想偏转角:
3.内转向轮偏转角误差
C++程序代码如下
doublebeta(doublea,doublei,doublem)//计算误差的函数
doubleA=sin(m+i);
doubleB=cos(m+i)-M/a;
doubleb=M-2*a*cos(i);
doubleC=(2*a*a-b*b+M*M)/(2*a*a)-M*cos(m+i)/a;
doubleBm=2*atan((A-sqrt(A*A+B*B-C*C))/(B+C))+i-pi;
doublebeta=atan(1/(1/tan(m)-M/L))-Bm;
if(beta<
0)
beta=-beta;
returnbeta;
doublemin(doublea,doublei)//求最大误差的函数
doublemin=0;
for(intj=0;
j<
120;
j++)
if(beta(a,i,j*pi/900)>
min)
{
min=beta(a,i,j*pi/900);
}
returnmin;
设计结果:
设计方法有两种:
最速下降法求解和直接搜索法。
直接搜索法利用计算机,选择a和
的值计算误差,比较从而得出误差最小的a和
。
最后C++程序如下:
#include<
iostream>
cmath>
usingnamespacestd;
constdoubleM=1022,L=1780,e=10E-5,h=10E-5,pi=3.141592;
doubleSolveF(doublea,doublei)
intmain()
doublemax=2;
doublea,a0;
//采用最速下降法求解。
max=min(150,Caculate(150));
//a的值取150。
a=150;
a0=Caculate(150)*180/pi;
cout<
<
"
采用最速下降法:
endl;
a="
a<
毫米"
a0="
a0<
度"
最大误差:
max*180/pi<
-------------------------"
//采用直接搜索法,寻求最优解。
max=2;
for(inti=100;
i<
250;
i++)
for(intj=1;
101;
if(min(i,(65+0.1*j)*pi/180)<
max)
{
max=min(i,(68+0.1*j)*pi/180);
a=i;
a0=(68+0.1*j);
}
采用直接搜索法:
intb;
cin>
>
b;
return0;
计算结果如下:
最后选取a=197;
=68.1,其最大误差为0.36度。
设计结果理想。
采用excel作误差图如下:
运动连续性及传力性能分析:
连续性:
根据设计结果,可得该机构死点位置时转过的角度为:
代人数值得
57.66。
该值大于机构的最大转角,故机构运动连续,符合设计要求。
传力性能:
当机构转到最小角度时的传动角为
经计算可得
,符合设计要求。
心得体会:
经过将近一个月的学习思考,我终于完成了转向机构的设计。
设计过程中非线性方程的求解是遇到的最大问题,刚开始打算采用消元把a消去,得到一个关于
的函数,然后用数学软件作图,图像和横轴的交点便是
的解,但在实际操作中发现消元法把a消去之后得到的函数图象在预想范围之内与