汽车转向梯形机构设计说明
设计题目:汽车转向梯形机构的设计
班级:机自 xx
姓名: xxx
指导老师: xx
2010年10月10日
交通大学
汽车转向梯形机构设计
机自84班亚敏 08011098
设计要求:
(1)设计实现前轮转向梯形机构;
(2)转向梯形机构在运动过程中有良好的传力性能。
原始数据:
车型:无菱兴旺,转向节跨距M:1022mm,前轮距D:1222mm,轴距L:1780mm,最小转弯半径R:4500mm。
前言:
汽车转向系统是用来改变或恢复其行驶方向的专设机构,由转向操纵机构、转向器和转向传动机构三部分组成。转向操纵机构主要由方向盘、转向轴、转向管柱等组成:转向器将方向盘的转动变为转向摇臂的摆动或齿条轴的往复运动,并对转向操纵力进行放大的机构:转向传动机构将转向器输出的力和运动传给车轮,并使左右车轮按一定关系进行偏转运动的机构。
设计过程:
一、设计原理简介
1采用转向梯形机构转向的机动车辆,左右转弯时应具有相同的特征,因此左右摇臂是等长的。
2外侧转向轮偏转角满足无侧滑条件时的关系式为:
cotα?cotβ=M
L
(1)
3.转向过程中转向梯形机构应满足的方程为
cos(α+α0)=cos(β+β0)?a
M
cos(β+β0?α?
α0)+2a2?b2+M2
2Ma
(2)
且
b=M?2acosα0
(3)
代人整理得:
cos(α+α0)=?cos(β?α0)+a
M
cos(β?α?2α0)+
2cosα0?2cos2α0
M +a
M
(4)
式中αβ为无侧滑状态下梯形臂转角的对应位置,可视为已知。由(1)式算出来,因此,方程中有两个独立的未知量需求解,要梯形臂转角的两个对应位置即两个方程来求解。
4梯形臂转角的两个对应位置的确定
由函数逼近理论确定梯形臂转角的两个对应位置的方程为:
αi=qq
2[1?cos2i?1
4
π](i=1,2)
(5)式中,qq为外偏转角的最佳围值,由计算机逐步搜索获得。由汽车的最大转弯半径可得最大转角为23.86度。
5非线性方程组的求解
由梯形臂转角的两个对应位置确定的方程为
cos(αi+α0)+cos(βi?α
0)?a
M
cos(βi?αi?2α0)?
2cosα0+2cos2α0
M ?a
M
=0
(i=1,2)
可用最速下降法计算该方程。用C++程序实现编程,代码如下。
double F1(double a,double i)//方程1
{
double m=0.01;
double n=atan(1/(1/tan(m)-M/L));
double f;
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;
return f;
}
double F2(double a,double i)//方程2
{
double m=0.446;
double n=atan(1/(1/tan(m)-M/L));
double f;
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;
return f;
}
double SolveF(double a,double i)//最速下降法的目标函数
{
double f=F1(a,i)*F1(a,i)+F2(a,i)*F2(a,i);
return f;
}
double Caculate(double t1)//最速下降法求解方程1与方程2的方程组
{
double ff[2],t2=0.8;
double f=1;
while(f>e)
{
double ei,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);
}
return t2;
}
二、设计误差分析
根据转向梯形机构主参数的设计值计算出转向轮的实际偏转角,再通过无侧滑状态下的理想转角的比较,可进行转向梯形机构的误差分析。
转向轮的实际偏转角βm
1.根据已确定的转向梯形机构尺寸,由下式确定转向轮的实际偏转角为
βm=2arctan A±√A2+B2?C2
B+C
?β0
式中
A=sin(α+α
)
B=cos(α+α
)?M/a
C=2a2?b 2+M2
2a2?Mcos(α+α0)
a
2.转向轮的理想偏转角β
侧转向轮无侧滑时的理想偏转角:β=arctan(cotα?M
a
)
3.转向轮偏转角误差
Δβ=β? βm=arctan(cotα?M
a )?2arctan A±√A2+B2?C2
B+C
?
α0+180
C++程序代码如下
double beta(double a,double i,double m)//计算误差的函数
{
double A=sin(m+i);
double B=cos(m+i)-M/a;
double b=M-2*a*cos(i);
double C=(2*a*a-b*b+M*M)/(2*a*a)-M*cos(m+i)/a;
double Bm=2*atan((A-sqrt(A*A+B*B-C*C))/(B+C))+i-pi;
double beta=atan(1/(1/tan(m)-M/L))-Bm;
if(beta<0)
beta=-beta;
return beta;
}
double min(double a,double i)//求最大误差的函数
{
double min=0;
for(int j=0;j<120;j++)
{
if(beta(a,i,j*pi/900)>min)
{
min=beta(a,i,j*pi/900);
}
}
return min;
}
设计结果:
设计方法有两种:最速下降法求解和直接搜索法。
直接搜索法利用计算机,选择a和α0的值计算误差,比较从而