裝配圖高壓均質(zhì)機(jī)傳動(dòng)端的設(shè)計(jì)及運(yùn)動(dòng)仿真
裝配圖高壓均質(zhì)機(jī)傳動(dòng)端的設(shè)計(jì)及運(yùn)動(dòng)仿真,裝配,高壓,均質(zhì)機(jī),傳動(dòng),設(shè)計(jì),運(yùn)動(dòng),仿真
高壓均質(zhì)機(jī)傳動(dòng)端的設(shè)計(jì)及運(yùn)動(dòng)仿真
摘 要
本設(shè)計(jì)設(shè)計(jì)的是高壓均質(zhì)機(jī)動(dòng)力端主要零件。首先,文章介紹了高壓均質(zhì)機(jī)的工作原理。流體在高壓狀態(tài)下通過細(xì)小縫隙時(shí),會(huì)產(chǎn)生較大的剪切力、撞擊力和空穴力,使流體中的固體顆粒破碎為微小顆粒,高壓均質(zhì)機(jī)就是利用這一原理工作的。接著,文章參考現(xiàn)有的均質(zhì)機(jī)結(jié)構(gòu),確定了均質(zhì)機(jī)主要結(jié)構(gòu)參數(shù),然后,按照高壓往復(fù)泵的設(shè)計(jì)方法對(duì)高壓均質(zhì)機(jī)的主要零部件,如傳動(dòng)裝置、曲軸、連桿等進(jìn)行了結(jié)構(gòu)設(shè)計(jì)。還有液力端泵閥的設(shè)計(jì),并對(duì)其進(jìn)行了相應(yīng)的強(qiáng)度校核。最后,文章介紹了本次設(shè)計(jì)中還有高壓均質(zhì)機(jī)的運(yùn)動(dòng)仿真,采用了C語言程序,并對(duì)其進(jìn)行了詳細(xì)的說明。
關(guān)鍵詞:高壓均質(zhì)機(jī) 食品機(jī)械 均質(zhì)閥
目 錄
摘要………………………………………………………………… 1
緒論………………………………………………………………… 4
第一章 均質(zhì)機(jī)及其基本參數(shù)………………………………………… 5
1.1均質(zhì)機(jī)的均質(zhì)原理…………………………………………… 5
1.2均質(zhì)機(jī)的工作原理…………………………………………… 5
1.3均質(zhì)機(jī)的基本參數(shù)…………………………………………… 6
第二章 總體設(shè)計(jì)…………………………………………………… 9
2.1傳動(dòng)端結(jié)構(gòu)形式的選擇……………………………………… 9
2.2液力端結(jié)構(gòu)形式的選擇……………………………………… 9
2.3確定泵的主要結(jié)構(gòu)參數(shù)……………………………………… 10
2.4原動(dòng)機(jī)的選擇……………………………………………… 12
第三章 動(dòng)力端的設(shè)計(jì)計(jì)算………………………………………… 14
3.1傳動(dòng)裝置的設(shè)計(jì)…………………………………………… 14
3.2曲軸的設(shè)計(jì)………………………………………………… 15
3.3連桿與其軸瓦………………………………………………… 15
3.4十字頭……………………………………………………… 16
第四章 液力端零部件設(shè)計(jì)…………………………………………… 16
4.1泵閥設(shè)計(jì)……………………………………………………16
第五章 運(yùn)動(dòng)仿真………………………………………………………20
5.1 C語言程序簡(jiǎn)介…………………………………………………20
5.2傳動(dòng)端運(yùn)動(dòng)及程序………………………………………………20
設(shè)計(jì)小結(jié)………………………………………………………………32
致謝…………………………………………………………………33
參考資料……………………………………………………………… 34
緒 論
高壓均質(zhì)是一種制備超細(xì)液液乳化物或液固分散物的通用設(shè)備,被廣泛應(yīng)用與各行業(yè)的生產(chǎn)者和科技研領(lǐng)域。例:
一、 食品飲料行業(yè):
豆奶、花生奶、松子奶等各種植物蛋白飲料。
核桃露、杏仁露、蓮子露、椰子汁等各種懸浮果汁飲料。
酸奶、均質(zhì)奶、純牛奶、甜牛奶、乳酸飲料、冰淇淋、豆奶粉等各種乳品和乳制品。
二、 制藥:
抗生素、各種乳劑、漿液制劑、中藥制劑、花粉破碎及各種營養(yǎng)保健液。
三、 輕工化工行業(yè):
香精香料、化妝品、乳化硅油、感光劑、增亮劑、高級(jí)涂料、顏料、染料等。
四、 生物工程技術(shù):
對(duì)大腸桿菌、胞進(jìn)行破碎,撮取其有效成分。
隨著人民生活水平的提高,食品工業(yè)必將跟上時(shí)代的步伐,不僅要求食品本身的營養(yǎng)豐富,還對(duì)其質(zhì)量、口味、外觀、保存等提出了高標(biāo)準(zhǔn),這樣必然把食品工業(yè)推上一個(gè)新高潮。
食品品種繁多,本設(shè)計(jì)是主要應(yīng)用于乳品工業(yè)中。它是一種特殊的高壓泵,用于噴霧干燥設(shè)備中,可使液體分散成細(xì)微的霧滴,便于干燥成粉狀。通過均質(zhì)的煉乳、冰淇淋、代乳粉,液體中的分散項(xiàng)破裂成細(xì)微狀態(tài),可減少沉淀,增加粘稠性,口感細(xì)膩,并延長存放時(shí)間。均質(zhì)機(jī)不僅在乳品工業(yè)和冰淇淋生產(chǎn)中得到廣泛應(yīng)用,而且還適用于醫(yī)藥、化工生產(chǎn)中??傊谖覈|(zhì)機(jī)發(fā)揮出的作用越來越大,因此需要人們對(duì)其進(jìn)行深入的研究,以便設(shè)計(jì)生產(chǎn)。
本設(shè)計(jì)參考現(xiàn)有的均質(zhì)機(jī)而設(shè)計(jì),力求經(jīng)濟(jì)、結(jié)構(gòu)合理,但肯定還有許多的不足之處,希望在老師和同學(xué)的幫助下,得到進(jìn)一步的改進(jìn)。
第1章 均質(zhì)機(jī)及其基本參數(shù)
均質(zhì)機(jī)是一種特殊的高壓泵,利用高壓的作用,使物料中的脂肪球的破裂到直徑小于2m達(dá)99%。均質(zhì)機(jī)由均質(zhì)頭和高壓泵組成,即往復(fù)柱塞泵。它包括液力端和動(dòng)力端。通過均質(zhì)后的牛奶、脂肪球直徑和所占比例均發(fā)生變化,如表1-1:
表1-1脫脂乳與均質(zhì)乳中的脂肪球比較
脂肪球
()
脫脂乳
(﹪)
均質(zhì)乳(﹪)
一段
二段
0~1
41.8
19.2
89.2
1~2
47.7
66.5
10.3
2~3
9.2
12.6
0.5
3~4
0.9
1.7
0
4~5
0.1
0
0
5~6
0
0
0
1.1均質(zhì)機(jī)的均質(zhì)原理
1.1.1剪切作用
流體在高速流動(dòng)時(shí),在均質(zhì)機(jī)頭隙縫處,產(chǎn)生剪切作用而均質(zhì)。脂肪球通過三個(gè)柱塞往復(fù)泵吸入泵體時(shí),在縫隙處先是被延展,同時(shí)又存在著液流通過均質(zhì)閥時(shí)的渦動(dòng)作用,使延展部分被剪切為更小的脂肪球微粒。又因?yàn)橐毫髦写嬖谥砻婊钚晕镔|(zhì),它圍繞在更細(xì)小的脂肪球微粒外層形成一種這些微粒不再互相粘合的膜.脂肪滴由此離開,而后面部分的還沒有流進(jìn)縫隙。當(dāng)?shù)竭_(dá)均質(zhì)閥活門縫隙處時(shí),會(huì)同樣的剪切作用繼續(xù)形成更小的脂肪球微粒。
1.1.2撞擊學(xué)說
三聯(lián)柱塞往復(fù)泵的高壓作用使液體中脂肪球和均質(zhì)閥發(fā)生高速撞擊現(xiàn)象,因而使料液中的脂肪球破裂。
1.1.3空穴學(xué)說
因高壓作用使料液高速流過均質(zhì)閥縫隙處時(shí),造成相當(dāng)于高頻振動(dòng)的效果,能在瞬間引起空穴現(xiàn)象,使脂肪球碎裂。
在實(shí)際工作中,高壓均質(zhì)機(jī)的原理是以上幾種學(xué)說的綜合。
1.2均質(zhì)機(jī)的工作原理
如圖1-1所示,當(dāng)高壓液體通過閥的閥座和閥桿的狹窄通道時(shí)(可以用調(diào)節(jié)手柄調(diào)節(jié)間隙大小),使液料速度達(dá)150~300m/s,壓力降低至液料汽化壓力,使之形成氣泡。當(dāng)液料離開閥座門間
的間隙時(shí),其速度降低,壓力升高,導(dǎo)致氣泡被壓破,產(chǎn)生內(nèi)爆,產(chǎn)生的空穴和高頻振動(dòng)使脂肪球顆粒破碎。此過程中,能量強(qiáng)烈釋放,液料形成湍流,沖擊沖擊流,完成均質(zhì)過程。
圖1-1雙級(jí)均質(zhì)閥工作示意圖
1.3均質(zhì)機(jī)的基本參數(shù)
1.3.1瞬時(shí)流量
理論上,瞬時(shí)流量=工作腔容積變化率
如圖1-2
圖1-2
圖1-3雙缸泵的無因次流量曲線
圖1-4 三缸泵的無因次流量曲線
q = A=Au=Ar(u)
(q)= = (u)
其中(q) -無因次瞬時(shí)流量;
(u)-無因次瞬時(shí)速度, (u)==-(sin+sin2)。
衡量流量脈動(dòng)性的指標(biāo)為不均勻系數(shù)==
單缸泵:B=3.14 ; 雙缸泵:B/2=1.57 ;
三缸泵:B/3=1.04 ; 四缸泵:B1.1 ;
可以看出,四缸泵的脈動(dòng)性反而比三缸泵有所增加,流量曲線如圖1-3,圖1-4。
1.3.2泵的壓力
均質(zhì)壓力對(duì)脂肪球大小的影響如表1-2:
表1-2
壓力(kgf/cm)
脂肪球直徑()
平均直徑()
0
1~18
3.71
35
1~14
2.39
70
1~7
1.68
105
1~4
1.40
141
1~3
1.08
176
1~3
0.99
211
0.5~2
0.76
隨著壓力的提高,脂肪球顆粒減少,考慮到制造工藝性、經(jīng)濟(jì)性,壓力不宜太高,所以本機(jī)選180 kg f/cm。
1.3.3均質(zhì)溫度
均質(zhì)與溫度的關(guān)系如表1-3
表1-3
脂肪球直徑()
20℃
40℃
65℃
0~1
2.3﹪
1.9﹪
4.3﹪
1~2
29.3﹪
36.7﹪
74.4﹪
2~3
23.3﹪
21.1﹪
9.0﹪
3~4
29.8﹪
25.2﹪
12.3﹪
4~5
-
15.2﹪
0
5~6
15.2﹪
0
0
表中可以看出,均質(zhì)最佳溫度為65℃。本設(shè)計(jì)要求料液溫度為60~70℃,同時(shí),可以提高密封圈效率。
1.3.4效率
理論流量與實(shí)際流量之間有一定的流量損失,即容積損失,它包括四部分:
流體的壓縮或膨脹造成的△,
閥在關(guān)閉時(shí)滯后造成的△,
閥關(guān)閉不嚴(yán)造成的泄漏△,
柱塞與密封圈之間的泄漏△,
取=+++ =0.8
第2章 總體設(shè)計(jì)
2.1傳動(dòng)端結(jié)構(gòu)形式的選擇
傳動(dòng)端為從動(dòng)力輸入端到十字頭為止的部件,包括機(jī)體、曲柄、連桿、曲軸、十字頭及潤滑冷卻等輔助設(shè)備。
2.1.1曲軸
曲軸為整體澆鑄體,材料為QT60-2,本機(jī)采用二支點(diǎn) 三拐式。三個(gè)曲柄相位角相差120o,曲柄與連桿之間軸瓦材料用20%錫鋁合金。
確定曲軸半徑時(shí)考慮到兩個(gè)方面的問題.較小時(shí),強(qiáng)度、剛度無法滿足,撓度、轉(zhuǎn)角增加;較粗大時(shí),要考慮加工撓性問題。
曲拐的運(yùn)動(dòng)順序?yàn)橐?、三、二。第一曲拐轉(zhuǎn)角=,第二曲拐轉(zhuǎn)角=+240,第三曲拐=+120。這可以使偏角大致相等,力求使機(jī)械慣性力和慣性力矩得到平衡,減輕對(duì)基礎(chǔ)的餓撓性載荷。
2.1.2連桿
連桿大頭采用剖分式,用特制定位螺栓定位,扣緊螺母防松,小頭定位。是澆鑄件,材料為QT60-2。連桿體和大小頭中開油槽,油孔,來潤滑曲柄和十字頭。
根據(jù)總體結(jié)構(gòu)選=r/l=0.0625。
2.1.3軸承
有沖擊載荷,適宜選用滾子軸承。
2.1.4十字頭
整體鑄件,材料ZG35。
2.1.5傳動(dòng)方式選擇
采用一級(jí)帶傳動(dòng)。
2.2液力端結(jié)構(gòu)形式的選擇
液力端是從柱塞一直到泵進(jìn)出口管接頭的部件,是介質(zhì)的過流部分,包括液體缸、柱塞和密封件、吸排液閥組件、缸蓋、閥箱蓋。
在選擇液力端結(jié)構(gòu)形式時(shí),應(yīng)遵循下述基本要求:
a 過流性能好,水力阻力損失小,為此,液流通道應(yīng)力求短而直,盡量逃避拐彎和急劇的斷面變化;
b 液流通道應(yīng)利于氣體排出,不允許有死區(qū),造成氣體滯留。通常,吸入閥應(yīng)置于液缸體頂部;
c 吸入閥和排出閥一般應(yīng)該垂直布置,以利于閥板正常起閉和密封;
d 余隙容積應(yīng)盡可能的小,尤其是對(duì)高壓短程泵;
e 易損件壽命長,更換方便;
f 制造工藝性好。
2.2.1泵體
臥式三聯(lián)單作用泵的泵體為一整體式長方體不銹鋼塊鍛造,材料為1Cr18Ni9Ti,其剛性好,工作腔間距小,機(jī)加工量小,吸排出閥布置為直通式三通體。其優(yōu)點(diǎn)為過流性能好,余隙容積較小,結(jié)構(gòu)緊湊,尺寸小,柱塞雖然不可以從液缸前塞處裝拆,但T型孔加工工藝性好。
2.2.2柱塞
柱塞材料為3Cr13,表面經(jīng)高頻淬火,再精密加工和磨光,具有等硬度和光潔度的表面,有較高的耐磨性和防腐性。因?yàn)橹睆叫?,采用?shí)心結(jié)構(gòu),加工簡(jiǎn)單。為不使柱塞發(fā)熱,保證設(shè)備正常運(yùn)轉(zhuǎn),柱塞上冷卻水不可斷。柱塞與十字頭之間采用平面連接,結(jié)構(gòu)簡(jiǎn)單,加工方便,易于裝拆。
2.2.3均質(zhì)閥
均質(zhì)閥借調(diào)整螺旋彈簧對(duì)閥心的壓力,得到調(diào)整流體壓力的作用。在雙級(jí)均質(zhì)閥中,第一級(jí)流體壓力為18MPa,主要使脂肪球破碎,第二級(jí)壓力減至2.7MPa,主要使脂肪球均勻分散。
本機(jī)用手動(dòng)輪直接控制壓力,操作方便,體積減小。
均質(zhì)頭制造成兩面均可使用的圓柱形結(jié)構(gòu),加工方便,使用壽命長。
2.3確定泵的主要結(jié)構(gòu)參數(shù)
2.3.1活塞平均速度U的選擇
U的大小直接影響泵各運(yùn)動(dòng)副零部件的摩擦和磨損,特別是對(duì)柱塞及其密封的影響尤為顯著。U過大則摩擦和磨損嚴(yán)重,會(huì)造成泄漏,流量下降,排出壓力也不能達(dá)到額定值。U過小則液力端徑向尺寸增加,傳動(dòng)端受力也增加從而使泵的總體尺寸和重量增加。一般可根據(jù)經(jīng)驗(yàn)公式得到U的定量選取范圍:
U= K Nm/s
式中 U—柱塞平均速度,m/s;
K—統(tǒng)計(jì)系數(shù),液壓機(jī)用三聯(lián)或多聯(lián)機(jī)動(dòng)泵一般為0.21~0.70;
N—折合成單聯(lián)單作用泵的有效功率,kw。
N=( p- p) Q / [612Z (k+1)]
≈pQ/ [612Z(k+1)] kw
式中 Q—泵的流量,l/min
p—泵的排出壓力,kg f/cm;
p—泵的吸入壓力,kg f/cm;
當(dāng)p> p或p為常壓時(shí),全壓力p– p≈p。
Z—泵的聯(lián)數(shù)(柱塞數(shù));
K—系數(shù),K-1= A/A,K=0,對(duì)雙作用泵,A/A<1,0
#include
#define PI 3.1415926
int xa=70,ya=270,xb,yb,xc,yc,xd=183,yd=270,xe,ye,xf,yf=75;
double lalfa,lalfa1=360.0;
double lab=50.5,lbc=108.75,lcd=112.5,lad=112.5,lde=225,lef=315,lb=195;
double A,B,C,ac,a3,omiga1=5.236,omiga2,omiga3,omiga4,sc,vc;
double alfa1,alfa2,alfa3,alfa4,alfa5;
double ab=67.5,bc=145,cd=150,ad=150,de=300,ef=420,b=260;
int alfa=0,l=300,m=100,xxc,yxc,xvc,yvc,xac,yac;
/***************************************************************************/
void set_angle()
{lalfa1-=10;
if(lalfa1<0)
lalfa1=lalfa1+360;
lalfa=PI*lalfa1/180;
}
void draw_link()
{int i;
float A,B,C,l;
double thita,gama;
A=ad-ab*cos(lalfa);
B=-ab*sin(lalfa);
C=(A*A+B*B+cd*cd-bc*bc)/(2*cd);
thita=2*atan((B+sqrt(A*A+B*B-C*C))/(A-C));
if(thita<0)
thita+=PI;
xb=(int)(lab*cos(lalfa))+xa;
yb=ya-(int)(lab*sin(lalfa));
xc=xd+(int)(lcd*cos(thita));
yc=yd-(int)(lcd*sin(thita));
gama=thita-0.5;
xe=(int)(lde*cos(gama))+xd;
ye=yd-(int)(lde*sin(gama));
l=lde*sin(gama)-lb;
xf=(int)(sqrt(lef*lef+l*l))+xe;
setbkcolor(BLUE);
setcolor(RED);
setlinestyle(0,0,3);
moveto(xa,ya);
lineto(xb,yb);
lineto(xc,yc);
lineto(xd,yd);
lineto(xe,ye);
lineto(xf,yf);
line(xc,yc,xe,ye);
setcolor(15);
setlinestyle(0,0,0);
circle(xa,ya,5);
floodfill(xa,ya,WHITE);
circle(xd,yd,5);
floodfill(xd,yd,WHITE);
circle(xb,yb,3);
floodfill(xb,yb,WHITE);
circle(xc,yc,3);
floodfill(xc,yc,WHITE);
circle(xe,ye,3);
floodfill(xe,ye,WHITE);
moveto(xa,ya);
lineto(xa-10,ya+10);
lineto(xa+10,ya+10);
lineto(xa,ya);
line(xa-15,ya+10,xa+15,ya+10);
for(i=4;i<=30;i+=4)
line(xa-15+i,ya+10,xa-15+i-3,ya+15);
moveto(xd,yd);
lineto(xd-10,yd+10);
lineto(xd+10,yd+10);
lineto(xd,yd);
line(xd-15,yd+10,xd+15,yd+10);
for(i=4;i<=30;i+=4)
line(xd-15+i,yd+10,xd-15+i-3,yd+15);
bar((xf-10),(yf+6),(xf+10),(yf-6));
line(375,yf+6,640,yf+6);
for(i=0;i<260;i+=8)
line(380+i,yf+6,380+i-3,yf+11);
/*line(0,310,640,310);
line(200,0,200,480);*/
}
void set_text()
{setcolor(YELLOW);
settextstyle(4,0,5);
/* outtextxy(180,200,"MADE BY SPHINX!");*/
outtextxy(250,250,"2000.5.18");
}
links()
{int graphdriver=VGA,graphmode=VGAMED;
initgraph(&graphdriver,&graphmode," ");
do
{setactivepage(1);
clearviewport();
set_angle();
draw_link();
set_text();
setvisualpage(1);
setactivepage(0);
clearviewport();
set_angle();
draw_link();
set_text();
setvisualpage(0);
}while(!kbhit());
getch();
closegraph();
}
/**************************************************************************/
set_c()
{A=ad-ab*cos(alfa1);
B=-ab*sin(alfa1);
C=(A*A+B*B+cd*cd-bc*bc)/(2*cd);
alfa3=2*atan((B+sqrt(A*A+B*B-C*C))/(A-C));
if(alfa3<0)
alfa3+=PI;
alfa2=atan((B+cd*sin(alfa3))/(A+cd*cos(alfa3)));
if(alfa2<0)
alfa2+=PI;
omiga3=omiga1*(ab*sin(alfa1-alfa2))/(bc*sin(alfa3-alfa2));
omiga2=-omiga1*(ab*sin(alfa1-alfa3))/(cd*sin(alfa2-alfa3));
alfa4=alfa3-0.5236;
alfa5=asin((b-de*sin(alfa4))/ef)+2*PI;
if(alfa5<0)
alfa5+=PI;
omiga4=-(de*omiga3*cos(alfa4))/(ef*cos(alfa5));
a3=(bc*omiga2*omiga2+ab*omiga1*omiga1*cos(alfa1-alfa2)-cd*omiga3*omiga3*cos(alfa3-alfa2))/(cd*sin(alfa3-alfa2));
xc=(de*cos(alfa4)+ef*cos(alfa5))/2;
vc=-((-de*omiga3*sin(alfa4-alfa5))/cos(alfa5))/10;
ac=(-(de*(a3*sin(alfa4-alfa5)+omiga3*omiga3*cos(alfa4-alfa5))+ef*omiga4*omiga4)/cos(alfa5))/100;
}
draw_x()
{int i;
setcolor(WHITE);
line(0,l,640,l);
line(m,0,m,480);
line(360+m,0,360+m,480);
line(m,0,m-8,20);
line(m,0,m+8,20);
line(640,l,620,l-8);
line(640,l,620,l+8);
for(i=m;i<=620;i+=30)
line(i,l,i,l+6);
xxc=(int)(alfa+m);
yxc=-(int)(70-xc);
/*if(yxc<64)
yxc=yxc+64;
if(yxc>64)
yxc=yxc-64;*/
setcolor(RED);
lineto(xxc,yxc);
}
draw_v()
{xvc=(int)(alfa+m);
yvc=(int)(l-vc);
setcolor(YELLOW);
lineto(xvc,yvc);
}
draw_a()
{xac=(int)(alfa+m);
yac=(int)(l-ac);
setcolor(GREEN);
lineto(xac,yac);
}
chart()
{int graphdriver=VGA,graphmode=VGAHI;
initgraph(&graphdriver,&graphmode," ");
moveto(m,l);
setbkcolor(BLACK);
do
{alfa1=alfa*PI/180;
set_c();
draw_x();
alfa=alfa+1;
}while(alfa<=540);
moveto(m,l);
alfa=0;
do
{alfa1=alfa*PI/180;
set_c();
draw_v();
alfa=alfa+1;
}while(alfa<=540);
moveto(m,l);
alfa=0;
do
{alfa1=alfa*PI/180;
set_c();
draw_a();
alfa=alfa+1;
}while(alfa<=540);
setfillstyle(1,RED);
bar(5,450,25,460);
settextstyle(0,0,2);
setcolor(RED);
outtextxy(30,446,"displacement");
setfillstyle(1,YELLOW);
bar(240,450,260,460);
settextstyle(0,0,2);
setcolor(YELLOW);
outtextxy(265,446,"velocity");
setfillstyle(1,GREEN);
bar(410,450,430,460);
settextstyle(0,0,2);
setcolor(GREEN);
outtextxy(435,446,"acceleration");
setcolor(WHITE);
line(m,0,m,480);
setlinestyle(3,0,1);
line(m,64,m+255,64);
line(m,216,m+45,216);
line(m,225,m+120,225);
settextstyle(0,0,0);
outtextxy(m-45,64,"570(x)");
outtextxy(m-45,216,"270(x)");
outtextxy(m-45,225,"856(v)");
outtextxy(m-60,430,"-1545(v)");
/*******drawzb******/
outtextxy(m-6,l+8,"0");
outtextxy(m+24,l+8,"30");
outtextxy(m+54,l+8,"60");
outtextxy(m+84,l+8,"90");
outtextxy(m+114,l+8,"120");
outtextxy(m+144,l+8,"150");
outtextxy(m+174,l+8,"180");
outtextxy(m+204,l+8,"210");
outtextxy(m+234,l+8,"240");
outtextxy(m+264,l+8,"270");
outtextxy(m+294,l+8,"300");
outtextxy(m+324,l+8,"330");
outtextxy(m+354,l+8,"360");
outtextxy(m+384,l+8,"390");
outtextxy(m+414,l+8,"420");
outtextxy(m+444,l+8,"450");
outtextxy(m+474,l+8,"480");
outtextxy(m+504,l+8,"510");
setlinestyle(0,0,0);
/*line(355,0,355,480);
line(145,0,145,480);*/
getch();
closegraph();
}
/***********************************************************************/
double vac,valfa1,valfa2,vomiga1=5.236,vomiga2,vxc,vvc;
double vab,vbc,vb;
int vjust,valfa=0,vl=300,vm=100,vxxc,vyxc,vxvc,vyvc,vxac,vyac;
vset_c()
{valfa2=asin((vb-vab*sin(valfa1))/vbc);
/* if(alfa2<0)
alfa2+=PI;*/
vomiga2=-vomiga1*vab*cos(valfa1)/(vbc*cos(valfa2));
vxc=(vab*cos(valfa1)+vbc*cos(valfa2))/2;
vvc=(-vomiga1*vab*sin(valfa2-valfa1)/cos(valfa2))/10;
vac=((-vab*vomiga1*vomiga1*cos(valfa1-valfa2)+vbc*vomiga2*vomiga2)/cos(valfa2))/50;
}
vdraw_x()
{int i;
setcolor(WHITE);
line(0,vl,640,vl);
line(vm,0,vm,480);
line(360+vm,0,360+vm,480);
line(vm,0,vm-8,20);
line(vm,0,vm+8,20);
line(640,vl,620,vl-8);
line(640,vl,620,vl+8);
for(i=vm;i<=620;i+=30)
line(i,vl,i,vl+6);
vxxc=(int)(valfa+vm);
if(vjust==1)
vyxc=-(int)(vl-vxc);
if(vjust==2)
vyxc=-(int)(70-vxc);
/*if(yxc<64)
yxc=yxc+64;
if(yxc>64)
yxc=yxc-64;*/
setcolor(RED);
lineto(vxxc,vyxc);
}
vdraw_v()
{vxvc=(int)(valfa+vm);
vyvc=(int)(vl-vvc);
setcolor(YELLOW);
lineto(vxvc,vyvc);
}
vdraw_a()
{vxac=(int)(valfa+vm);
vyac=(int)(vl-vac);
setcolor(GREEN);
lineto(vxac,vyac);
}
vchart()
{int graphdriver=VGA,graphmode=VGAHI;
printf("Please Chose The 1:L1=150,L2=955.5,b=0, omiga1=50r/min\n");
printf(" or 2:L1=101,L2=433,b=260, omigal=50r/min\n");
printf("HaHa,Which one do you chose??? :-)\n");
scanf("%d",&vjust);
if(vjust==1)
{vab=150;vbc=955.5;vb=0;}
if(vjust==2)
{vab=101;vbc=433;vb=260;}
initgraph(&graphdriver,&graphmode," ");
moveto(vm,vl);
setbkcolor(BLACK);
valfa=0;
do
{valfa1=valfa*PI/180;
vset_c();
vdraw_x();
valfa=valfa+1;
}while(valfa<=540);
moveto(vm,vl);
valfa=0;
do
{valfa1=valfa*PI/180;
vset_c();
vdraw_v();
valfa=valfa+1;
}while(valfa<=540);
moveto(vm,vl);
valfa=0;
do
{valfa1=valfa*PI/180;
vset_c();
vdraw_a();
valfa=valfa+1;
}while(valfa<=540);
setfillstyle(1,RED);
bar(5,450,25,460);
settextstyle(0,0,2);
setcolor(RED);
outtextxy(30,446,"displacement");
setfillstyle(1,YELLOW);
bar(240,450,260,460);
settextstyle(0,0,2);
setcolor(YELLOW);
outtextxy(265,446,"velocity");
setfillstyle(1,GREEN);
bar(410,450,430,460);
settextstyle(0,0,2);
setcolor(GREEN);
outtextxy(435,446,"acceleration");
setcolor(WHITE);
line(vm,0,vm,480);
/*setlinestyle(3,0,1);
line(m,64,m+255,64);
line(m,216,m+45,216);
line(m,225,m+120,225);*/
settextstyle(0,0,0);
/*outtextxy(m-45,64,"570(x)");
outtextxy(m-45,216,"270(x)");
outtextxy(m-45,225,"856(v)");
outtextxy(m-60,430,"-1545(v)");*/
/*******drawzb******/
outtextxy(vm-6,vl+8,"0");
outtextxy(vm+24,vl+8,"30");
outtextxy(vm+54,vl+8,"60");
outtextxy(vm+84,vl+8,"90");
outtextxy(vm+114,vl+8,"120");
outtextxy(vm+144,vl+8,"150");
outtextxy(vm+174,vl+8,"180");
outtextxy(vm+204,vl+8,"210");
outtextxy(vm+234,vl+8,"240");
outtextxy(vm+264,vl+8,"270");
outtextxy(vm+294,vl+8,"300");
outtextxy(vm+324,vl+8,"330");
outtextxy(vm+354,vl+8,"360");
outtextxy(vm+384,vl+8,"390");
outtextxy(vm+414,vl+8,"420");
outtextxy(vm+444,vl+8,"450");
outtextxy(vm+474,vl+8,"480");
outtextxy(vm+504,vl+8,"510");
setlinestyle(0,0,0);
/*line(355,0,355,480);
line(145,0,145,480);*/
getch();
closegraph();
}
/******************************************************************/
int xx1=100,yy1=150,xx2,yy2,xx3,yy3=150;
double _alfa=0,_alfa1;
double _ab=50,_bc=320,_b;
void _setangle()
{_alfa+=10;
if(_alfa>360)
_alfa=_alfa-360;
_alfa1=PI*_alfa/180;
}
void _drawlink()
{double l,i;
xx2=(int)(_ab*cos(_alfa1))+xx1;
yy2=yy1-(int)(_ab*sin(_alfa1));
l=2*_ab*cos(_alfa1);
xx3=(int)((l+sqrt(l*l-4*(_ab*_ab-_bc*_bc)))/2)+xx1;
setbkcolor(BLUE);
setcolor(RED);
setlinestyle(0,0,3);
moveto(xx1,yy1);
lineto(xx2,yy2);
lineto(xx3,yy3);
setcolor(15);
setlinestyle(0,0,0);
lin
收藏