牛头刨床运动仿真matlab程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

牛头刨床主运动机构MATLAB!序由主程序six_bar_main和子函数six_bar两部分组成。

1.主程序six_bar_main 文件

%1.输入已知数据

clear;

l1=;

l3=;

l4=;

l6=;

l61=; omega1=1; alpha1=0; hd=pi/180; du=180/pi;

%2.调用子函数six_bar 计算牛头刨床机构位移,角速度,角加速度

for n1=1:459;

theta1(n1)=-2*pi++(n1-1)*hd; ll=[l1,l3,l4,l6,l61];

[theta,omega,alpha]=six_bar(theta1(n1),omega1,alpha1,ll); s3(n1)=theta(1);

theta3(n1)=theta(2);

theta4(n1)=theta(3);

sE(n1)=theta(4); v2(n1)=omega(1);

omega3(n1)=omega(2);

omega4(n1)=omega(3); vE(n1)=omega(4);

a2(n1)=alpha(1);

alpha3(n1)=alpha(2);

alpha4(n1)=alpha(3); aE(n1)=alpha(4);

end

%3.位移、角速度、角加速度、和牛头刨床图形输出figure(3);

n1=1:459; t=(n1-1)*2*pi/360;

subplot(2,2,1); % 绘角位移及位移线图plot(t,theta3*du,'r-.');

grid on; hold on;

axis auto; [haxes,hline1,hline2]=plotyy(t,theta4*du,t,sE);

grid on; hold on; xlabel(' 时间/s') axes(haxes(1)); ylabel(' 角位移/\circ')

axes(haxes(2));

ylabel(' 位移/m') hold on;

grid on; text,,'\theta_3') text,,'\theta_4') text,,'s_E') subplot(2,2,2); % 绘角速度及速度线图plot(t,omega3,'r-.');

grid on; hold on;

axis auto; [haxes,hline1,hline2]=plotyy(t,omega4,t,vE);

grid on; hold on;

xlabel(' 时间/s') axes(haxes(1));

ylabel('角速度/rad\cdots A{-1}')

axes(haxes(2));

ylabel(' 速度/m\cdotsA{-1}')

hold on;

grid on; text,,'\omega_3') text,,'\omega_4') text,,'v_E') subplot(2,2,3); % 绘角加速度及加速度线图plot(t,alpha3,'r-.');

grid on;

hold on;

axis auto; [haxes,hline1,hline2]=plotyy(t,alpha4,t,aE);

grid on;

hold on;

xlabel(' 时间/s') axes(haxes(1));

ylabel('角加速度/rad\cdots A{-2}')

axes(haxes(2));

ylabel(' 加速度/m\cdotsA{-2}') hold on;

grid on;

text,,'\alpha_3')

text,,'\alpha_4') text,,'a_E')

subplot(2,2,4); % 牛头刨床机构n1=20;

x(1)=0;

y(1)=0;

x(2)=(s3(n1)*1000-50)*cos(theta3(n1)); y(2)=(s3(n1)*1000-50)*sin(theta3(n1));

x(3)=0; y(3)=16*1000;

x(4)=l1*1000*cos(theta1(n1)); y(4)=s3(n1)*1000*sin(theta3(n1));

x(5)=(s3(n1)*1000+50)*cos(theta3(n1)); y(5)=(s3(n1)*1000+50)*sin(theta3(n1));

x(6)=13*1000*cos(theta3(n1)); y(6)=13*1000*sin(theta3(n1));

x(7)=13*1000*cos(theta3(n1))+14*1000*cos(theta4(n1));

y(7)=13*1000*sin(theta3(n1))+14*1000*sin(theta4(n1));

x(8)=13*1000*cos(theta3(n1))+14*1000*cos(theta4(n1))-900; y(8)=161*1000;

x(9)=13*1000*cos(theta3(n1))+14*1000*cos(theta4(n1))+600; y(9)=161*1000;

x(10)=(s3(n1)*1000-50)*cos(theta3(n1)); y(10)=(s3(n1)*1000-50)*sin(theta3(n1));

x(11)=x(10)+25*cos(pi/2-theta3(n1)); y(11)=y(10)-25*sin(pi/2-theta3(n1));

x(12)=x(11)+100*cos(theta3(n1)); y(12)=y(11)+100*sin(theta3(n1)); x(13)=x(12)-

50*cos(pi/2-theta3(n1)); y(13)=y(12)+50*sin(pi/2-theta3(n1)); x(14)=x(10)-

25*cos(pi/2-theta3(n1)); y(14)=y(10)+25*sin(pi/2-theta3(n1));

x(15)=x(10); y(15)=y(10); x(16)=0; y(16)=0; x(17)=0; y(17)=16*1000; k=1:2;

plot(x(k),y(k)); hold on; k=3:4; plot(x(k),y(k)); hold on; k=5:9; plot(x(k),y(k)); hold on; k=10:15; plot(x(k),y(k));

hold on; k=16:17; plot(x(k),y(k)); hold on; grid on;

axis([-500 600 0 650]); title(' 牛头刨床运动仿真'); grid on;

xlabel('mm') ylabel('mm') plot(x(1),y(1),'o'); plot(x(3),y(3),'o');

plot(x(4),y(4),'o'); plot(x(6),y(6),'o'); plot(x(7),y(7),'o'); hold on; grid on; xlabel('mm') ylabel('mm') axis([-400 600 0 650]); %4牛头刨床机构运动仿真figure(2) m=moviein(20);

j=0;

for n1=1:5:360 j=j+1; clf; x(1)=0; y(1)=0; x(2)=(s3(n1)*1000-50)*cos(theta3(n1));

y(2)=(s3(n1)*1000-50)*sin(theta3(n1)); x(3)=0;

y(3)=l6*1000 x(4)=l1*1000*cos(theta1(n1)); y(4)=s3(n1)*1000*sin(theta3(n1));

x(5)=(s3(n1)*1000+50)*cos(theta3(n1)); y(5)=(s3(n1)*1000+50)*sin(theta3(n1));

x(6)=l3*1000*cos(theta3(n1)); y(6)=l3*1000*sin(theta3(n1));

x(7)=l3*1000*cos(theta3(n1))+l4*1000*cos(theta4(n1));

x(7)=l3*1000*cos(theta3(n1))+l4*1000*cos(theta4(n1));

y(7)=l3*1000*sin(theta3(n1))+l4*1000*sin(theta4(n1));

x(8)=l3*1000*cos(theta3(n1))+l4*1000*cos(theta4(n1))-900; y(8)=l61*1000;

x(9)=l3*1000*cos(theta3(n1))+l4*1000*cos(theta4(n1))+600; y(9)=l61*1000;

x(10)=(s3(n1)*1000-50)*cos(theta3(n1)); y(10)=(s3(n1)*1000-50)*sin(theta3(n1));

相关文档
最新文档