课程设计1设计题目:汽车转向梯形机构的设计班级:机自xx姓名:xxx指导老师:xx2010年10月10日西安交通大学课程设计2汽车转向梯形机构设计机自84班李亚敏08011098设计要求:(1)设计实现前轮转向梯形机构;(2)转向梯形机构在运动过程中有良好的传力性能。原始数据:车型:无菱兴旺,转向节跨距M:1022mm,前轮距D:1222mm,轴距L:1780mm,最小转弯半径R:4500mm。前言:汽车转向系统是用来改变或恢复其行驶方向的专设机构,由转向操纵机构、转向器和转向传动机构三部分组成。转向操纵机构主要由方向盘、转向轴、转向管柱等组成:转向器将方向盘的转动变为转向摇臂的摆动或齿条轴的往复运动,并对转向操纵力进行放大的机构:转向传动机构将转向器输出的力和运动传给车轮,并使左右车轮按一定关系进行偏转运动的机构。设计过程:一、设计原理简介1采用转向梯形机构转向的机动车辆,左右转弯时应具有相同的特征,因此左右摇臂是等长的。2内外侧转向轮偏转角满足无侧滑条件时的关系式为:课程设计3cotα−cotβ=ML(1)3.转向过程中转向梯形机构应满足的方程为cos(α+α0)=cos(β+β0)−aMcos(β+β0−α−α0)+2a2−b2+M22Ma(2)且b=M−2acosα0(3)代人整理得:cos(α+α0)=−cos(β−α0)+aMcos(β−α−2α0)+2cosα0−2cos2α0M+aM(4)式中αβ为无侧滑状态下梯形臂转角的对应位置,可视为已知。由(1)式算出来,因此,方程中有两个独立的未知量需求解,要梯形臂转角的两个对应位置即两个方程来求解。4梯形臂转角的两个对应位置的确定由函数逼近理论确定梯形臂转角的两个对应位置的方程为:αi=qq2[1−cos2i−14π](i=1,2)(5)式中,qq为外偏转角的最佳范围值,由计算机逐步搜索获得。由汽课程设计4车的最大转弯半径可得最大转角为23.86度。5非线性方程组的求解由梯形臂转角的两个对应位置确定的方程为cos(αi+α0)+cos(βi−α0)−aMcos(βi−αi−2α0)−2cosα0+2cos2α0M−aM=0(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;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;}doubleSolveF(doublea,doublei)//最速下降法的目标函数{doublef=F1(a,i)*F1(a,i)+F2(a,i)*F2(a,i);returnf;}doubleCaculate(doublet1)//最速下降法求解方程1与方程2的方程组{doubleff[2],t2=0.8;doublef=1;while(fe){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);课程设计5FF=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;}二、设计误差分析根据转向梯形机构主参数的设计值计算出内转向轮的实际偏转角,再通过无侧滑状态下的理想转角的比较,可进行转向梯形机构的误差分析。内转向轮的实际偏转角βm1.根据已确定的转向梯形机构尺寸,由下式确定转向轮的实际偏转角为βm=2arctanA±√A2+B2−C2B+C−β0式中A=sin(α+α0)B=cos(α+α0)−M/aC=2a2−b2+M22a2−Mcos(α+α0)a2.内转向轮的理想偏转角β内侧转向轮无侧滑时的理想偏转角:β=arctan(cotα−Ma)3.内转向轮偏转角误差课程设计6Δβ=β−βm=arctan(cotα−Ma)−2arctanA±√A2+B2−C2B+C−α0+180C++程序代码如下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(beta0)beta=-beta;returnbeta;}doublemin(doublea,doublei)//求最大误差的函数{doublemin=0;for(intj=0;j120;j++){if(beta(a,i,j*pi/900)min){min=beta(a,i,j*pi/900);}}returnmin;}设计结果:设计方法有两种:最速下降法求解和直接搜索法。直接搜索法利用计算机,选择a和α0的值计算误差,比较从而得出误差最小的a和α0。最后C++程序如下:#includeiostream#includecmathusingnamespacestd;课程设计7constdoubleM=1022,L=1780,e=10E-5,h=10E-5,pi=3.141592;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;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;}doubleSolveF(doublea,doublei){doublef=F1(a,i)*F1(a,i)+F2(a,i)*F2(a,i);returnf;}doubleCaculate(doublet1)//最速下降法求解方程1与方程2的方程组{doubleff[2],t2=0.8;doublef=1;while(fe){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;}doublebeta(doublea,doublei,doublem)//计算误差的函数{课程设计8doubleA=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(beta0)beta=-beta;returnbeta;}doublemin(doublea,doublei)//求最大误差的函数{doublemin=0;for(intj=0;j120;j++){if(beta(a,i,j*pi/900)min){min=beta(a,i,j*pi/900);}}returnmin;}intmain(){doublemax=2;doublea,a0;//采用最速下降法求解。max=min(150,Caculate(150));//a的值取150。a=150;a0=Caculate(150)*180/pi;cout采用最速下降法:endl;couta=a毫米endl;couta0=a0度endl;cout最大误差:max*180/pi度endl;cout-------------------------endl;cout-------------------------endl;//采用直接搜索法,寻求最优解。max=2;for(inti=100;i250;i++){for(intj=1;j101;j++){if(min(i,(65+0.1*j)*pi/180)max)课程设计9{max=min(i,(68+0.1*j)*pi/180);a=i;a0=(68+0.1*j);}}}cout采用直接搜索法:endl;couta=a毫米endl;couta0=a0度endl;cout最大误差:max*180/pi度endl;intb;cinb;return0;}计算结果如下:最后选取a=197;α0=68.1,其最大误差为0.36度。设计结果理想。采用excel作误差图如下:课程设计10运动连续性及传力性能分析:连续性:根据设计结果,可得该机构死点位置时转过的角度为:θ=α0−arccosM2+(a+b)2−a22M(a+b)代人数值得θ=57.66。该值大于机构的最大转角,故机构运动连续,符合设计要求。传力性能:当机构转到最小角度时的传动角为=α−arcsin(ab(sinβ−sinα))经计算可得γ=36.8,符合设计要求。心得体会:经过将近一个月的学习思考,我终于完成了转向机构的设计。课程设计11设计过程中非线性方程的求解是遇到的最大问题,刚开始打算采用消元把a消去,得到一个关于α0的函数,然后用数学软件作图,图像和横轴的交点便是α0的解,但在实际操作中发现消元法把a消去之后得到的函数图象在预想范围之内与横轴没有交点,不能求出α0,和同学讨论之后,造成这种结果的原因可能是消元之后方程失去原来的意义。我去图书馆查找了有关最速下降法求解非线性方程的资料,最后决定用C++程序实现最速下降法。经过多次调试,最后得到了比较满意的结果。其实除了最速下降法,还可以通过误差公式,在程序了嵌套两个循环,在规定的a和α0的范围内逐一试算,选出误差最小的一组a和α0。这次设计虽然是重复前人的工作,但我在不断发现问题并解决问题的过程中学到了许多,在设计过程中经历了好多次失败,但是我并没有气馁,只要能够坚持不懈,就一定会有突破。在遇到问题时且不可死钻牛角尖,而应该换个角度去思考,多考虑其他方法,其次要有严谨的态度,要做到一板一眼,踏实认真。当问题过于大而一时难以下手时,应把一个大的问题划分成众多小问题,然后一一解决,最后整个难题也就解决了。在