版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、/*運(yùn)動(dòng)分析子程序*/#include#include#define PI 3.1415926/*單桿運(yùn)動(dòng)分析子函數(shù)barm*/void barm(int p1,int p2,int m1,double l1,double ang,double t10,double w10,double e10,double p202,double vp202,double ap202)/*p1,p2為單桿的端點(diǎn),m1為構(gòu)件號(hào),l1為單桿長(zhǎng)度,ang原動(dòng)件起始位置角,t,w,e分別對(duì)應(yīng)存放單桿的位置角,角速度,角加速度的二維數(shù)組,p,vp,ap分別存放點(diǎn)的位置坐標(biāo),速度,加速度*/ double lx2,ly
2、2,co,si; /*中間變量*/ co=cos(tm1+ang); si=sin(tm1+ang); lx2=l1*co; ly2=l1*si; pp20=pp10+lx2; /*桿上點(diǎn)的位置 */ pp21=pp11+ly2; vpp20=vpp10-ly2*wm1; /*桿上點(diǎn)的速度*/ vpp21=vpp11+lx2*wm1; app20=app10-ly2*em1-lx2*wm1*wm1; /*桿上點(diǎn)的加速度*/ app21=app11+lx2*em1-ly2*wm1*wm1;/*rrr級(jí)組運(yùn)動(dòng)分析子函數(shù)*/void rrrm(int model,int p1,int p2,int
3、p3,int m1,int m2,double l1,double l2,double t10,double w10,double e10,double p202,double vp202,double ap202)/*model為裝配模數(shù)1或-1,p1,p2均為已知點(diǎn)號(hào),p3為中間轉(zhuǎn)動(dòng)副點(diǎn)號(hào),m1,m2分別為構(gòu)件號(hào),l1,l2分別為構(gòu)件長(zhǎng)度,數(shù)組t,w,e分別存放構(gòu)件角位置,角速度,角加速度,數(shù)組p,vp,ap分別存放構(gòu)件位置坐標(biāo),速度,加速度*/ double delx,dely,det,ssq,d,gam,tem,q,ea,eb; /*定義中間變量*/ double dx31,dy31,
4、dx32,dy32,dvx21,dvy21; delx=pp20-pp10; dely=pp21-pp11; ssq=delx*delx+dely*dely; d=sqrt(ssq); if(d-l1-l20)|(fabs(l1-l2)-d)0) /*判斷rrr桿組是否能夠組裝*/ printf(n RRR cant be assembled.n); else det=atan2(dely,delx); tem=(d*d+l1*l1-l2*l2)/2.0/d/l1; gam=acos(tem); tm1=det+model*gam; /*求出構(gòu)件一角位置*/ pp30=pp10+l1*cos(
5、tm1); /*求出中間轉(zhuǎn)動(dòng)副位置坐標(biāo)*/ pp31=pp11+l1*sin(tm1); dx31=pp30-pp10; dy31=pp31-pp11; dx32=pp30-pp20; dy32=pp31-pp21; tm1=atan2(dy31,dx31); tm2=atan2(dy32,dx32); /*求出構(gòu)件二角位置*/ q=dx31*dy32-dx32*dy31; dvx21=vpp20-vpp10; dvy21=vpp21-vpp11; wm1=(dvx21*dx32+dvy21*dy32)/q; /*以下兩行分別求出構(gòu)件一二角速度*/ wm2=(dvx21*dx31+dvy21*
6、dy31)/q; vpp30=vpp10-l1*wm1*sin(tm1); vpp31=vpp11+l1*wm1*cos(tm1); ea=app20-app10+dx31*wm1*wm1-dx32*wm2*wm2; eb=app21-app11+dy31*wm1*wm1-dy32*wm2*wm2; em1=(ea*dx32+eb*dy32)/q; /*以下兩行分別求出構(gòu)件一二角加速度*/ em2=(ea*dx31+eb*dy31)/q; app30=app10-em1*dy31-wm1*wm1*dx31; /*求出中間轉(zhuǎn)動(dòng)副加速度*/ app31=app11+em1*dx31-wm1*wm1
7、*dy31; /*rrp級(jí)組運(yùn)動(dòng)分析子函數(shù)*/void rrpm(int model,int p1,int p2,int p3,int m1,int m2,int m3,double l1,double *sr,double *vr2,double *ar2,double t10,double w10,double e10,double p202,double vp202,double ap202)/*model代表裝配模數(shù),p1、p2、p3分別表示桿端轉(zhuǎn)動(dòng)副點(diǎn)號(hào)、滑塊導(dǎo)路上參考點(diǎn)號(hào)、滑塊上待求轉(zhuǎn)動(dòng)副號(hào),m1,m2,m3分別表示rr間桿號(hào),滑塊道路構(gòu)件號(hào),滑塊構(gòu)件號(hào)*/*sr,*vr2,*ar
8、2分別代表相對(duì)位移,相對(duì)速度,相對(duì)加速度的指針變量,t,w,e分別存放構(gòu)件的位置角,角速度,角加速度,p,vp,aP分別存放點(diǎn)的位置坐標(biāo),速度,加速度*/ double dx21,dy21,dx31,dy31,dx32,dy32; /*定義中間變量*/ double ssq,ep,fp,co3,si3,co2,si2,q,ev,fv,ea,fa; tm2=tm3; /*滑塊與其導(dǎo)路上的構(gòu)件位置角相同*/ dx21=pp20-pp10; dy21=pp21-pp11; ssq=dx21*dx21+dy21*dy21; co3=cos(tm3); si3=sin(tm3); ep=2.0*(dx2
9、1*co3+dy21*si3); fp=ssq-l1*l1; if(ep*ep=4.0*fp) /*判斷rrp桿組是否能夠組裝*/ printf(nRRP cant be assembled.n); else *sr=fabs(-ep+model*sqrt(ep*ep-4.0*fp)/2.0; pp30=pp20+(*sr)*co3; /*求出滑塊上轉(zhuǎn)動(dòng)副位置坐標(biāo)*/ pp31=pp21+(*sr)*si3; dx31=pp30-pp10; dy31=pp31-pp11; dx32=pp30-pp20; dy32=pp31-pp21; tm1=atan2(dy31,dx31); /*求出rrp
10、中桿件構(gòu)件的位置角*/ co2=cos(tm1); si2=sin(tm1); q=dy31*si3+dx31*co3; ev=vpp20-vpp10-(*sr)*wm3*si3; fv=vpp21-vpp11+(*sr)*wm3*co3; wm1=(-ev*si3+fv*co3)/q; /*求出rrp中桿件構(gòu)件的角速度*/ *vr2=-(ev*dx31+fv*dy31)/q; vpp30=vpp10-l1*wm1*si2; /*求出滑塊的速度*/ vpp31=vpp11+l1*wm1*co2; ea=app20-app10+wm1*wm1*dx31-wm3*wm3*(*sr)*co3; ea
11、=ea-2.0*wm3*(*vr2)*si3-em3*dy32; fa=app21-app11+wm1*wm1*dy31-wm3*wm3*(*sr)*si3; fa=fa+2.0*wm3*(*vr2)*co3+em3*dx32; em1=(-ea*si3+fa*co3)/q; /*求出rrp中桿件的角加速度*/ *ar2=-(ea*dx31+fa*dy31)/q; app30=app10-l1*wm1*wm1*co2-l1*em1*si2; /*求出滑塊的加速度*/ app31=app11-l1*wm1*wm1*si2+l1*em1*co2; wm2=wm3; /*滑塊與其導(dǎo)路上的構(gòu)件的角速度
12、,角加速度相等*/ em2=em3; /*rpr級(jí)組運(yùn)動(dòng)分析子函數(shù)*/void rprm(int model,int p1,int p2,int p3,int m1,int m2,double k,double l1,double *sr,double *vr2,double *ar2,double t10,double w10,double e10,double p202,double vp202,double ap202)/*model代表裝配號(hào),p1,p2,p3分別代表?xiàng)U端轉(zhuǎn)動(dòng)副號(hào),滑塊上轉(zhuǎn)動(dòng)副號(hào),桿上待求點(diǎn)號(hào),m1,m2分別代表rpr中干的構(gòu)件號(hào)和滑塊的構(gòu)件號(hào),k為導(dǎo)桿呈九十度彎曲部分
13、的長(zhǎng)度,l1為滑塊到端點(diǎn)轉(zhuǎn)動(dòng)副沿導(dǎo)軌方向距離*/*sr,*vr2,*ar2分別代表相對(duì)位移,相對(duì)速度,相對(duì)加速度的指針變量,t,w,e分別存放構(gòu)件的位置角,角速度,角加速度,p,vp,aP分別存放點(diǎn)的位置坐標(biāo),速度,加速度*/ double dx21,dy21,test,gam,bta,ct,st,q,ev,fv,ea,fa,dx31,dy31; /*定義中間變量*/ dx21=pp20-pp10; dy21=pp21-pp11; test=dx21*dx21+dy21*dy21-k*k; if(test0) /*判斷rpr桿組能否組裝*/ printf(n RPR cant be assem
14、bled.n); else *sr=sqrt(test); gam=atan(k/(*sr); bta=atan2(dy21,dx21); tm1=bta+model*gam; /*導(dǎo)桿的位置角*/ tm2=tm1; /*滑塊的位置角與導(dǎo)桿的位置角相等*/ ct=cos(tm1); st=sin(tm1); pp30=pp10+k*st+l1*ct; /*導(dǎo)桿上待求點(diǎn)的位置坐標(biāo)*/ pp31=pp11-k*ct+l1*st; q=dx21*ct+dy21*st; ev=vpp20-vpp10; fv=vpp21-vpp11; wm1=(fv*ct-ev*st)/q; /*導(dǎo)桿的角速度*/ wm
15、2=wm1; /*滑塊與導(dǎo)桿的角速度相等*/ *vr2=(fv*dy21+ev*dx21)/q; dx31=pp30-pp10; dy31=pp31-pp11; vpp30=vpp10-wm1*dy31; /*導(dǎo)桿上待求點(diǎn)的速度*/ vpp31=vpp11+wm1*dx21; ea=app20-app10+wm1*wm1*dx21+2.0*wm1*(*vr2)*st; fa=app21-app11+wm1*wm1*dy21-2.0*wm1*(*vr2)*ct; em1=-(ea*st-fa*ct)/q; /*導(dǎo)桿的角加速度*/ em2=em1; /*滑塊的角加速度與導(dǎo)桿的相同*/ *ar2=(
16、ea*dx21+fa*dy21)/q; app30=app10-em1*dy31-wm1*wm1*dx31; /*導(dǎo)桿上待求點(diǎn)的加速度*/ app31=app11+em1*dx31-wm1*wm1*dy31; /*解課本p479業(yè)的例13-1*/main() static double p202,vp202,ap202,del=10.0; /*定義全局靜態(tài)變量*/ static double t10,w10,e10; static int ic; double l1,l3,l4,l6; double dr,ang=0.0; double l2,vr2,ar2; int i; FILE *fp;
17、 l1=0.12;l3=0.6,l4=0.6,l6=0.38; /*已知變量賦值*/ dr=PI/180.0; p10=0.0; p11=0.0; p30=0.0; p31=-0.38; vp10=0.0; vp11=0.0; ap10=0.0; ap11=0.0; vp30=0.0; vp31=0.0; ap30=0.0; ap31=0.0; w5=0.0; e5=0.0; t5=0.0; w1=172.0*2.0*PI/60; e1=0.0; printf(n The minematic Parameters of Point E. 角速度 角加速度n); printf(No THETA1
18、 se ve ae w3 w4 e3 e4n); printf( deg m m/s m/s/s rad/s rad/s rad/s/s rad/s/sn); if(fp=fopen(li,w)=NULL) printf(Cant open this file./n); exit(0); fprintf(fp,n The minematic Parameters of Point E. 角速度 角加速度n); fprintf(fp,No THETA1 se ve ae w3 w4 e3 e4n); fprintf(fp, deg m m/s m/s/s rad/s rad/s rad/s/s
19、rad/s/sn); ic=(int)(360.0/del); for(i=0;i=ic;i+) t1=(i)*del*dr; barm(1,2,1,0.12,0.0,t,w,e,p,vp,ap); /*調(diào)用barm運(yùn)動(dòng)分析函數(shù)計(jì)算b點(diǎn)位置速度加速度*/ rprm(1,3,2,4,3,2,0.0,0.6,&l2,&vr2,&ar2,t,w,e,p,vp,ap); /*調(diào)用rprm運(yùn)動(dòng)分析函數(shù)計(jì)算d點(diǎn)的位置,速度,加速度,桿3的角速度,角加速度*/ rrpm(1,4,1,5,4,5,6,0.6,&l2,&vr2,&ar2,t,w,e,p,vp,ap); /*調(diào)用rrpm運(yùn)動(dòng)分析函數(shù)計(jì)算出e點(diǎn)的位
20、置,速度,加速度,桿件4的角速度,角加速度*/ printf(n%2d%8.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f,i+1,t1/dr,p50,vp50,ap50,w3,w4,e3,e4); fprintf(fp,n%d%8.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f,i+1,t1/dr,p50,vp50,ap50,w3,w4,e3,e4); if(i%16)=0)getch(); /*屏幕上滿十六行時(shí)停頓一下*/ fclose(fp); getch(); 桿組運(yùn)動(dòng)分析數(shù)據(jù)(以教材東南大學(xué)機(jī)械學(xué)科組
21、鄭文偉,吳克堅(jiān)主編機(jī)械原理(第七版),p479頁(yè)例13-1為例)The Kinematic Parameters of Point ENo THETA1 se ve ae w3 w4 e3 e4 deg m m/s m/s/s rad/s rad/s rad/s/s rad/s/s 1 0.000 0.749 -1.001 -48.334 1.633 -0.345 76.264 -21.5972 10.000 0.737 -1.419 -39.366 2.302 -0.480 62.102 -13.2793 20.000 0.721 -1.761 -31.564 2.844 -0.567 50
22、.065 -5.5644 30.000 0.702 -2.037 -24.712 3.278 -0.604 39.865 1.2455 40.000 0.681 -2.253 -18.617 3.621 -0.592 31.165 7.0276 50.000 0.658 -2.414 -13.129 3.886 -0.534 23.643 11.7467 60.000 0.634 -2.525 -8.146 4.082 -0.437 17.007 15.4048 70.000 0.609 -2.589 -3.594 4.217 -0.310 11.003 18.0089 80.000 0.58
23、3 -2.611 0.578 4.297 -0.160 5.403 19.56710 90.000 0.558 -2.594 4.419 4.323 -0.000 0.000 20.08611 100.000 0.533 -2.541 7.982 4.297 0.160 -5.403 19.56712 110.000 0.509 -2.454 11.336 4.217 0.310 -11.003 18.00813 120.000 0.486 -2.336 14.569 4.082 0.437 -17.007 15.40414 130.000 0.464 -2.188 17.793 3.886
24、0.534 -23.643 11.74615 140.000 0.444 -2.007 21.149 3.621 0.592 -31.165 7.02716 150.000 0.426 -1.791 24.809 3.278 0.604 -39.865 1.24517 160.000 0.411 -1.535 28.980 2.844 0.567 -50.065 -5.56418 170.000 0.398 -1.231 33.912 2.302 0.480 -62.102 -13.27919 180.000 0.388 -0.868 39.899 1.633 0.345 -76.264 -21.59720 190.000 0.382 -0.433 47.249 0.817 0.170 -92.667 -29.87521 200.000 0.380 0.090 56.205 -0.169 -0.033 -110.982 -36.89122 210.000 0.384 0.716 66.734 -1.337 -0.244 -129.975 -40.56923 220.000 0.393 1.455 78.081 -2.681 -0.434 -146.803 -
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度產(chǎn)學(xué)研合作項(xiàng)目研發(fā)成果轉(zhuǎn)化與知識(shí)產(chǎn)權(quán)保護(hù)協(xié)議4篇
- 2024版軟件源碼授權(quán)保密協(xié)議范本
- 二手房私人交易協(xié)議模板2024版B版
- 2025年度新能源電池研發(fā)與采購(gòu)安裝合同范本3篇
- 2025年度廠房修建與綠色建筑節(jié)能檢測(cè)服務(wù)合同4篇
- 2025年度智慧城市建設(shè)規(guī)劃與實(shí)施合同4篇
- 2025年度地理信息數(shù)據(jù)庫(kù)建設(shè)測(cè)繪合同4篇
- 2025年度企業(yè)培訓(xùn)中心場(chǎng)地租賃及課程開(kāi)發(fā)服務(wù)合同3篇
- 二零二五年度傳統(tǒng)煙酒品牌傳承保護(hù)協(xié)議
- 二零二五年度研學(xué)旅行安全保障及責(zé)任劃分合同
- 銀行2025年紀(jì)檢工作計(jì)劃
- 2024-2024年上海市高考英語(yǔ)試題及答案
- 注射泵管理規(guī)范及工作原理
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題 附答案
- 大唐電廠采購(gòu)合同范例
- 國(guó)潮風(fēng)中國(guó)風(fēng)2025蛇年大吉蛇年模板
- GB/T 18724-2024印刷技術(shù)印刷品與印刷油墨耐各種試劑性的測(cè)定
- IEC 62368-1標(biāo)準(zhǔn)解讀-中文
- 15J403-1-樓梯欄桿欄板(一)
- 2024年中考語(yǔ)文名句名篇默寫(xiě)分類匯編(解析版全國(guó))
- 新煤礦防治水細(xì)則解讀
評(píng)論
0/150
提交評(píng)論