机械原理课程设计——Ice Cream
T=2*pi/om2; % 机构周期-曲柄旋转1周的时间(秒)
% 曲柄输入角从0度变化到360度,步长为5度,计算om34 for 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和摇杆的角加速度a4
a2=0; % 曲柄角速度是等速,角加速度a2=dom2/dt=0 % 曲柄输入角从0度变化到360度,步长为5度,计算a34 for 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的关系曲线
36
机械原理课程设计——Ice Cream
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.003,-600,'Y向误差分量')
37
机械原理课程设计——Ice Cream
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; % 弧度值
九、参考文献
【1】 张桓,陈作模,葛文杰主编·机械原理(第七版):高等教育出版社,2007
【2】 曾小慧,王玉丹,路桂英 主编·机械原理课程设计指导书 :中国地质大学,2012
【3】 刘宝柱 苏彦华 张宏林 主编 MATLAB7.0从入门到精通(修订
38
机械原理课程设计——Ice Cream
版):人民邮电出版社,2011
【4】 郭仁生 主编 机械工程设计分析和MATLAB应用 (第三版):机械工业出版社 2011
39