
曲柄摇杆机构的运动分析(共4页).doc
4页精选优质文档-----倾情为你奉上% 曲柄摇杆机构运动分析% (1)-计算连杆的输出角th3和摇杆的输出角th4% 设定各杆的长度(单位:毫米)rs(1)=304.8; % 设定机架1长度rs(2)=101.6; % 设定曲柄2长度rs(3)=254.0; % 设定连杆3长度rs(4)=177.8; % 设定摇杆4长度dr=pi/180.0;% 角度与弧度的转换系数% 设定初始推测的输入% 机构的初始位置th(1)=0.0; % 设定曲柄2初始位置角是0度(与机架1共线)th(2)=45*dr; % 连杆3的初始位置角是 45度th(3)=135*dr; % 摇杆4的初始位置角是135度% 摇杆4的初始位置角可以用三角形的正弦定理确定th(3)=pi-asin(sin(th(2))*rs(3)/rs(4));dth=5*dr; % 循环增量% 曲柄输入角从0度变化到360度,步长为5度,计算th34for i=1:72 [th3,th4]=ntrps(th,rs); % 调用牛顿—辛普森方程求解机构位置解非线性方程函数文件 % Store results in a matrix-th34,in degrees % 在矩阵th34中储存结果,以度为单位;(i,:)表示第i行所有列的元素;(:,i)表示第i列所有行的元素 th34(i,:)=[th(1)/dr th3/dr th4/dr]; % 矩阵[曲柄转角 连杆转角 摇杆转角] th(1)=th(1)+dth; % 曲柄转角递增 th(2)=th3; % 连杆转角中间计算值 th(3)=th4; % 摇杆转角中间计算值end% 求解曲柄摇杆机构中连杆的输出角th(3)和摇杆的输出角th(4)—函数文件function [th3,th4]=ntrps(th,rs)% 使用基于牛顿—辛普森方程解答四杆机构位置的非线性问题% 变量设置% th(1)=theta_2 % 输入变量% th(2)=theta_3_bar(starting guess) % 输出变量% th(3)=theta_4_bar(starting guess) % 输出变量% rs(1)=r_1,机架长度;rs(2)=r_2,曲柄长度;rs(3)=r_3,rs(4)=r_4,摇杆长度th2=th(1);th3bar=th(2);th4bar=th(3);% 设定收敛条件epsilon=1.0E-6;% 计算二维矢量的函数% 四杆机构闭环矢量方程的矩阵形式f=[rs(3)*cos(th3bar)-rs(4)*cos(th4bar)+rs(2)*cos(th2)-rs(1); rs(3)*sin(th3bar)-rs(4)*sin(th4bar)+rs(2)*sin(th2)];% 重复计算每个方程式的修正量因子while norm(f)>epsilon J=[-rs(3)*sin(th3bar) rs(4)*sin(th4bar); rs(3)*cos(th3bar) -rs(4)*cos(th4bar)]; dth=inv(J)*(-1.0*f); th3bar=th3bar+dth(1); th4bar=th4bar+dth(2); % 四杆机构闭环矢量方程的矩阵形式 f=[rs(3)*cos(th3bar)-rs(4)*cos(th4bar)+rs(2)*cos(th2)-rs(1); rs(3)*sin(th3bar)-rs(4)*sin(th4bar)+rs(2)*sin(th2)]; norm(f); % 计算矩阵或向量的范数(模)end;th3=th3bar; % 弧度值th4=th4bar; % 弧度值% 绘制输出角th(2)与th(3)—输入角th(1)的关系曲线subplot(2,2,1) % 选择第1个子窗口plot(th34(:,1),th34(:,2),th34(:,1),th34(:,3))axis([0 360 0 170])grid % 网格线ylabel(从动件角位移/deg)title(角位移线图)text(110,110,摇杆4角位移)text(50,35,连杆3角位移)% (2)-计算连杆的角速度om3和摇杆的角速度om4% Setting initial conditions% 设置初始条件om2=250; % 曲柄角速度(等速输入)T=2*pi/om2; % 机构周期-曲柄旋转1周的时间(秒)% 曲柄输入角从0度变化到360度,步长为5度,计算om34for i=1:72 ct(2)=i*dth; A=[-rs(3)*sin(th34(i,2)*dr) rs(4)*sin(th34(i,3)*dr); rs(3)*cos(th34(i,2)*dr) -rs(4)*cos(th34(i,3)*dr)]; B=[om2*rs(2)*sin(ct(2));-om2*rs(2)*cos(ct(2))]; om=inv(A)*B; % 输出角速度矩阵 om3=om(1); om4=om(2); om34(i,:)=[i om3 om4]; % 矩阵[序号 连杆角速度 摇杆角速度] t(i)=i*T/72;end% 绘制连杆的角速度om3和摇杆的角速度om4—时间Times的关系曲线subplot(2,2,2) % 选择第2个子窗口plot(t,om34(:,2),t,om34(:,3))axis([0 0.026 -190 210])grid % 网格线title(角速度线图)ylabel(从动件角速度/rad/s)text(0.001,170,摇杆4角速度)text(0.013,130,连杆3角速度)% (3)-计算连杆的角加速度a3和摇杆的角加速度a4a2=0; % 曲柄角速度是等速,角加速度a2=dom2/dt=0% 曲柄输入角从0度变化到360度,步长为5度,计算a34for i=1:72 c(2)=i*dth; C=[-rs(3)*sin(th34(i,2)*dr) rs(4)*sin(th34(i,3)*dr); rs(3)*cos(th34(i,2)*dr) -rs(4)*cos(th34(i,3)*dr)]; D(1)= a2*rs(2)*sin(c(2))+om2^2*rs(2)*cos(c(2))+om34(i,2)^2*rs(3)*cos(th34(i,2)*dr)-om34(i,3)^2*rs(4)*cos(th34(i,3)*dr);D(2)=-a2*rs(2)*cos(c(2))+om2^2*rs(2)*sin(c(2))+om34(i,2)^2*rs(3)*sin(th34(i,2)*dr)-om34(i,3)^2*rs(4)*sin(th34(i,3)*dr); a=inv(C)*D; % 输出角加速度矩阵 a3=a(1); a4=a(2); a34(i,:)=[i a3 a4]; % 矩阵[序号 连杆角加速度 摇杆加角速度] t(i)=i*T/72;end% 绘制连杆的角加速度a3和摇杆的角加速度a4—时间Times的关系曲线subplot(2,2,3) % 选择第3个子窗口plot(t,a34(:,2),t,a34(:,3))axis([0 0.026 -6*1e4 8*1e4])grid % 网格线title(角加速度线图)xlabel(时间/s)ylabel(从动件加速度/rad/s^{2})text(0.003,6.2*1e4,摇杆4角加速度)text(0.010,3.3*1e4,连杆3角加速度)%% 输出1:四杆机构运动周期(0:5:360),时间,角位移,角速度,角加速度数据disp 曲柄转角 连杆转角-摇杆转角-连杆角速度-摇杆角速度-连杆加速度-摇杆加速度ydcs=[th34(:,1),th34(:,2),th34(:,3),om34(:,2),om34(:,3),a34(:,2),a34(:,3)];disp (ydcs)% 输出参数的数量级必须一致%% (4)-运动误差分析% 闭环矢量方程:r2+r3-r4-r1=0% 误差矢量E=r2+r3-r4-r1的模是表示仿真有效程度的标量(ex和ey是误差分量)ex=rs(2)*cos(th34(:,1)*dth)+rs(3)*cos(th34(:,2)*dth)-rs(4)*cos(th34(:,3)*dth)-rs(1);ey=rs(2)*sin(th34(:,2)*dth)+rs(3)*sin(th34(:,2)*dth)-rs(4)*sin(th34(:,3)*dth);ee=norm([ex ey]); % 计算误差矢量矩阵的范数(模)%% 输出2:四杆机构运动周期(0:5:360),时间,X向误差分量,Y向误差分量disp 曲柄转角 时间(秒) X向误差 Y向误差wc=[th34(:,1),t(:),ex(:,1),ey(:,1)];disp (wc)fprintf (1, 误差矢量矩阵的模 ee = %3.4f \n,ee)%% 绘制均方根相容性误差曲线subplot(2,2,4) % 选择第4个子窗口plot(t,ex(:,1),t,ey(:,1))axis([0 0.026 -800 600])grid % 网格线title(均方根误差曲线)xlabel(时间/s)ylabel(均方根误差)text(0.012,350,X向误差分量)text(0。
