第三題
你能讓此凸輪迴轉嗎?
ans:
可以,只要將function pincam稍作修改
以下是可轉動的function pincam5,由正上方固定的紅色桿
可清晰看出在凸輪旋轉時,桿位置的變化
function [x,y]=pincam5(cth,r0,s,e,L,range,pattern,cw)
%Find the pin type cam with an offsect e
%Inputs:
% cth:angle of cam, degrees
% r0:radius of base circle
% e:offset
% s:stroke
% L:length of pin
% cw:rotation direction of cam(-counterclockwise,+clockwise
%pattern = denote the type of motion used(a 3 element-row matrix)
% 1:uniform 2:parabolic 3:simple harmonic 4: cycloidal
% 5:polynomial motion
% example [4 3]
%range =the degrees the specific motion starts, eg.[90 180 240]
% Example: [x y]=pincam([10 60],5,2,1,10,[90 180 240],[4 3],-1)
figure(1);
n=0;
for mm=1:10:360;
n=n+1;
m=mm*pi/180;
clf;
th=cth*pi/180;
s0=sqrt(r0*r0-e*e);
for i=1:length(cth)
t=th(i)*cw;
A=[cos(t-m) -sin(t-m);sin(t-m) cos(t-m)];
[ym,yy,yyy]=dwell(cth(i),range,pattern);
x0=s0+ym*s;
Sx=[0 x0 x0+L;e e e];
X=A\Sx;
x(i)=X(1,2);y(i)=X(2,2);
%line(X(1,1:2),X(2,1:2));
%line(X(1,2:3),X(2,2:3),'linewidth',3,'color','red')
end
[yw,yyw,yyyw]=dwell(cth,range,pattern)
y1=yw*s+r0;
y2=yw*s+r0+L;
line([0 0],[y1(n) y2(n)],'linewidth',3,'color','red')
hold on;
plot([0 x],[0 y],'ro',x,y,'k-')
axis ([-50 50 -50 50])
pause(0.05)
end
所繪出的動畫如下
2007年5月30日 星期三
第十ㄧ次作業 第二題
第十ㄧ次作業 第一題
第ㄧ題
某凸輪開始時先在0-100°區間滯留,然後提升後在200至260°區間滯留,其高度(衝程)為5公分,
其餘l由260°至360°則為返程。升程採用等加速度運動,返程之運動型式自定。設刻度區間為10°,
試繪出其高度、速度及加速度與凸輪迴轉角度間之關係。
ans:
依照function plot_Dwell,再帶入本題題目所給的條件,由於反成的運動型是自由,
所以我們可得以下五個運動關係圖
1.返程為等速度運動
plot_dwell(0:10:360,5,[2 1],[100 200 260])
2.返程為拋物線運動〈等加速度運動〉
plot_dwell(0:10:360,5,[2 2],[100 200 260])
3.返程為簡諧運動
plot_dwell(0:10:360,5,[2 3],[100 200 260])
4.返程為擺線運動
plot_dwell(0:10:360,5,[2 4],[100 200 260])
5.返程為多項式運動
plot_dwell(0:10:360,5,[2 5],[100 200 260])
某凸輪開始時先在0-100°區間滯留,然後提升後在200至260°區間滯留,其高度(衝程)為5公分,
其餘l由260°至360°則為返程。升程採用等加速度運動,返程之運動型式自定。設刻度區間為10°,
試繪出其高度、速度及加速度與凸輪迴轉角度間之關係。
ans:
依照function plot_Dwell,再帶入本題題目所給的條件,由於反成的運動型是自由,
所以我們可得以下五個運動關係圖
1.返程為等速度運動
plot_dwell(0:10:360,5,[2 1],[100 200 260])
2.返程為拋物線運動〈等加速度運動〉
plot_dwell(0:10:360,5,[2 2],[100 200 260])
3.返程為簡諧運動
plot_dwell(0:10:360,5,[2 3],[100 200 260])
4.返程為擺線運動
plot_dwell(0:10:360,5,[2 4],[100 200 260])
5.返程為多項式運動
plot_dwell(0:10:360,5,[2 5],[100 200 260])
2007年5月22日 星期二
2007年5月16日 星期三
第九次作業
學號:b9461005
R=10+05=15
L=15+5=20
當以第二桿驅動時,發現四種情況皆無法成立
因此無法移動
當以第三桿驅動時,符合第一類情形
0≦r4,且0≦r2-r4≦r3
所以帶入程式中
drawsldlimits([1 15 20 10],0,-1,1)
Qstart =
-14.4775
Qstop =
194.4775
得出角度的範圍在 -14.4775 < θ < 194.4775
當以滑塊為驅動時,發現符合第二類的情形
|r2-r3|< r4
由程式跑出r1的範圍在 -33.54 < r1 < 33.54,
可知,滑塊的移動範圍在 -33.54 ─ 33.54之間
drawsldlimits([1 15 20 10],0,-1,2)
Qstart =
-33.5410
Qstop =
33.5410
又由公式
θmin =θ1 + sin-1((r2+r3) / r4),
θmax =θ1 +π- sin-1((r2+r3) / r4)
在這範圍間第二桿角度的變化為
θmin =-0.06
θmax =3.20
又利用程式
for n=1:10:360
drawsldlinks([1 15 20 10],0,n,1,0)
pause(0.02)
end
以及
for n=1:10:360
drawsldlinks([1 15 20 10],0,n,1,1)
pause(0.02)
end
可觀察出若以第一桿或以第二桿驅動時的連續變化
R=10+05=15
L=15+5=20
當以第二桿驅動時,發現四種情況皆無法成立
因此無法移動
當以第三桿驅動時,符合第一類情形
0≦r4,且0≦r2-r4≦r3
所以帶入程式中
drawsldlimits([1 15 20 10],0,-1,1)
Qstart =
-14.4775
Qstop =
194.4775
得出角度的範圍在 -14.4775 < θ < 194.4775
當以滑塊為驅動時,發現符合第二類的情形
|r2-r3|< r4
由程式跑出r1的範圍在 -33.54 < r1 < 33.54,
可知,滑塊的移動範圍在 -33.54 ─ 33.54之間
drawsldlimits([1 15 20 10],0,-1,2)
Qstart =
-33.5410
Qstop =
33.5410
又由公式
θmin =θ1 + sin-1((r2+r3) / r4),
θmax =θ1 +π- sin-1((r2+r3) / r4)
在這範圍間第二桿角度的變化為
θmin =-0.06
θmax =3.20
又利用程式
for n=1:10:360
drawsldlinks([1 15 20 10],0,n,1,0)
pause(0.02)
end
以及
for n=1:10:360
drawsldlinks([1 15 20 10],0,n,1,1)
pause(0.02)
end
可觀察出若以第一桿或以第二桿驅動時的連續變化
2007年5月9日 星期三
第八次作業
8.1
[val,form]=f4bar([4 3 3 5],0,45,10,0,-1,0);
abs(val(:,3))'
ans =
0 10.0000 16.2681 4.9677
abs(val(:,4))'
ans =
0 0 491.4428 383.6120
8.2
drawlinks([4 3 3 5],0,45,10,0,-1,0);
hold on
line([2.1 2.1+0.41],[2.1 2.1-2.45],'color','red');
line([2.1+1.1 2.1+1.1-2.1],[2.1+2.8 2.1+2.8-2.1],'color','red');
line([2.1 2.1-18.7],[2.1 2.1-4.39]);
8.3
[Ang1, Ang2]=fb_angle_limits([4 3 3 5],0,0)
Ang1 =
28.9550
Ang2 =
331.0450
drawlinks([4 3 3 5],0,28.995,0,0,-1,0)
drawlinks([4 3 3 5],0, 331,0,0,-1,0)
8.4
for n=0:18;
drawlinks([4 3 3 5],0,n*20,0,0,-1,0);
hold on
end
8.5
axis equal
for n=1:43;
drawlinks([4 3 3 5],0,n*7,0,0,-1,0);
hold on
pause(0.002)
end
[val,form]=f4bar([4 3 3 5],0,45,10,0,-1,0);
abs(val(:,3))'
ans =
0 10.0000 16.2681 4.9677
abs(val(:,4))'
ans =
0 0 491.4428 383.6120
8.2
drawlinks([4 3 3 5],0,45,10,0,-1,0);
hold on
line([2.1 2.1+0.41],[2.1 2.1-2.45],'color','red');
line([2.1+1.1 2.1+1.1-2.1],[2.1+2.8 2.1+2.8-2.1],'color','red');
line([2.1 2.1-18.7],[2.1 2.1-4.39]);
8.3
[Ang1, Ang2]=fb_angle_limits([4 3 3 5],0,0)
Ang1 =
28.9550
Ang2 =
331.0450
drawlinks([4 3 3 5],0,28.995,0,0,-1,0)
drawlinks([4 3 3 5],0, 331,0,0,-1,0)
8.4
for n=0:18;
drawlinks([4 3 3 5],0,n*20,0,0,-1,0);
hold on
end
8.5
axis equal
for n=1:43;
drawlinks([4 3 3 5],0,n*7,0,0,-1,0);
hold on
pause(0.002)
end
訂閱:
文章 (Atom)