0390-高壓均質(zhì)機傳動端的設(shè)計及運動仿真【含4張CAD圖】
0390-高壓均質(zhì)機傳動端的設(shè)計及運動仿真【含4張CAD圖】,含4張CAD圖,高壓,均質(zhì)機,傳動,設(shè)計,運動,仿真,cad
開題報告書
課題來源
高壓均質(zhì)機是食品加工工業(yè)的重要設(shè)備之一,在提高乳制品如牛奶、冰淇淋和果汁等的質(zhì)量方面,重要性尤為突出。此外,高壓均質(zhì)機還廣泛應(yīng)用于醫(yī)藥和化工生產(chǎn)。目前,國內(nèi)對均質(zhì)機的研究還很不夠,生產(chǎn)的機型也較為陳舊。為此選擇高壓均質(zhì)機作為畢業(yè)設(shè)計課題,能綜合提高學生分析問題、解決問題的能力
科學依據(jù)(包括課題的科學意義;國內(nèi)外研究概況、水平和發(fā)展趨勢;應(yīng)用前景等)
高壓均質(zhì)機較國外落后了近八十個年頭。水平相對比較低,無論是材料選擇,加工精度、使用壽命、規(guī)格品種、應(yīng)用領(lǐng)域及能源消耗,都與國際先進水平有著不小的差距,這顯示我國均質(zhì)機產(chǎn)業(yè)的發(fā)展任重而道遠
研究內(nèi)容
目前要解決如下問題:
傳動端、液力端結(jié)構(gòu)形式的選擇,確定泵的主要結(jié)構(gòu)參數(shù),原動機的選擇,動力端曲軸和連桿的設(shè)計以及液力端泵閥的設(shè)計和計算。
現(xiàn)基本以機械設(shè)計為主,其它為輔。
擬采取的研究方法、技術(shù)路線、實驗方案及可行性分析
按照設(shè)計任務(wù),根據(jù)調(diào)查研究所提供的權(quán)據(jù)和有關(guān)技術(shù)資料,進行以下工作:進行數(shù)據(jù)計算、繪制有關(guān)圖紙(總裝圖、曲軸、連桿、泵閥等),編寫技術(shù)文件等。其基本內(nèi)容如下:
1)總裝圖的設(shè)計。
2)零件圖的設(shè)計。
3)按規(guī)定格式編制設(shè)計計算說明書。
研究計劃及預(yù)期成果
首先了解均質(zhì)機的均質(zhì)原理,工作原理以及基本參數(shù)。然后就是總體設(shè)計,如:傳動端結(jié)構(gòu)形式的選擇,液力端結(jié)構(gòu)形式的選擇,確定泵的主要結(jié)構(gòu)參數(shù),原動機的選擇等。接下來就是動力端的設(shè)計了有曲軸和連桿的設(shè)計還有液力端泵閥的設(shè)計。最后是運動仿真,也就是C語言的應(yīng)用。
特色或創(chuàng)新之處
本次設(shè)計的特色就是運動仿真,它運用了結(jié)構(gòu)化的語言——C語言。C語言具有效率高,層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護。C語言的表現(xiàn)能力和處理能力極強。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。由于C語言實現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。
已具備的條件和尚需解決的問題
曲軸、連桿和泵閥的設(shè)計及設(shè)計計算。
指導(dǎo)教師意見
指導(dǎo)教師簽名:
年 月 日
教研室(學科組、研究所)意見
教研室主任簽名:
年 月 日
院系意見
主管領(lǐng)導(dǎo)簽名:
年 月 日
一、題目及專題:
1、 題目 高壓均質(zhì)機傳動端的設(shè)計及運動仿真
2、專題
二、課題來源及選題依據(jù)
高壓均質(zhì)機是食品加工工業(yè)的重要設(shè)備之一,在提高乳制品如牛奶、冰淇淋和果汁等的質(zhì)量方面,重要性尤為突出。此外,高壓均質(zhì)機還廣泛應(yīng)用于醫(yī)藥和化工生產(chǎn)。目前,國內(nèi)對均質(zhì)機的研究還很不夠,生產(chǎn)的機型也較為陳舊。為此選擇高壓均質(zhì)機作為畢業(yè)設(shè)計課題,能綜合提高學生分析問題、解決問題的能力。
高壓均質(zhì)機較國外落后了近八十個年頭。水平相對比較低,無論是材料選擇,加工精度、使用壽命、規(guī)格品種、應(yīng)用領(lǐng)域及能源消耗,都與國際先進水平有著不小的差距,這顯示我國均質(zhì)機產(chǎn)業(yè)的發(fā)展任重而道遠。
三、本設(shè)計(論文或其他)應(yīng)達到的要求:
1.設(shè)計技術(shù)圖樣折合A0不少于二張。
2.設(shè)計說明書一份,字數(shù)不少于10000字。
3.了解均質(zhì)原理,比較均質(zhì)形式。
4.高壓均質(zhì)機的設(shè)計計算。
5.高壓均質(zhì)機的總體設(shè)計,高壓端結(jié)構(gòu)和均質(zhì)頭結(jié)構(gòu)設(shè)計。
高壓均質(zhì)機傳動端的設(shè)計及運動仿真
摘 要
本設(shè)計設(shè)計的是高壓均質(zhì)機動力端主要零件。首先,文章介紹了高壓均質(zhì)機的工作原理。流體在高壓狀態(tài)下通過細小縫隙時,會產(chǎn)生較大的剪切力、撞擊力和空穴力,使流體中的固體顆粒破碎為微小顆粒,高壓均質(zhì)機就是利用這一原理工作的。接著,文章參考現(xiàn)有的均質(zhì)機結(jié)構(gòu),確定了均質(zhì)機主要結(jié)構(gòu)參數(shù),然后,按照高壓往復(fù)泵的設(shè)計方法對高壓均質(zhì)機的主要零部件,如傳動裝置、曲軸、連桿等進行了結(jié)構(gòu)設(shè)計。還有液力端泵閥的設(shè)計,并對其進行了相應(yīng)的強度校核。最后,文章介紹了本次設(shè)計中還有高壓均質(zhì)機的運動仿真,采用了C語言程序,并對其進行了詳細的說明。
關(guān)鍵詞:高壓均質(zhì)機 食品機械 均質(zhì)閥
目 錄
摘要………………………………………………………………… 1
緒論………………………………………………………………… 4
第一章 均質(zhì)機及其基本參數(shù)………………………………………… 5
1.1均質(zhì)機的均質(zhì)原理…………………………………………… 5
1.2均質(zhì)機的工作原理…………………………………………… 5
1.3均質(zhì)機的基本參數(shù)…………………………………………… 6
第二章 總體設(shè)計…………………………………………………… 9
2.1傳動端結(jié)構(gòu)形式的選擇……………………………………… 9
2.2液力端結(jié)構(gòu)形式的選擇……………………………………… 9
2.3確定泵的主要結(jié)構(gòu)參數(shù)……………………………………… 10
2.4原動機的選擇……………………………………………… 12
第三章 動力端的設(shè)計計算………………………………………… 14
3.1傳動裝置的設(shè)計…………………………………………… 14
3.2曲軸的設(shè)計………………………………………………… 15
3.3連桿與其軸瓦………………………………………………… 15
3.4十字頭……………………………………………………… 16
第四章 液力端零部件設(shè)計…………………………………………… 16
4.1泵閥設(shè)計……………………………………………………16
第五章 運動仿真………………………………………………………20
5.1 C語言程序簡介…………………………………………………20
5.2傳動端運動及程序………………………………………………20
設(shè)計小結(jié)………………………………………………………………32
致謝…………………………………………………………………33
參考資料……………………………………………………………… 34
緒 論
高壓均質(zhì)是一種制備超細液液乳化物或液固分散物的通用設(shè)備,被廣泛應(yīng)用與各行業(yè)的生產(chǎn)者和科技研領(lǐng)域。例:
一、 食品飲料行業(yè):
豆奶、花生奶、松子奶等各種植物蛋白飲料。
核桃露、杏仁露、蓮子露、椰子汁等各種懸浮果汁飲料。
酸奶、均質(zhì)奶、純牛奶、甜牛奶、乳酸飲料、冰淇淋、豆奶粉等各種乳品和乳制品。
二、 制藥:
抗生素、各種乳劑、漿液制劑、中藥制劑、花粉破碎及各種營養(yǎng)保健液。
三、 輕工化工行業(yè):
香精香料、化妝品、乳化硅油、感光劑、增亮劑、高級涂料、顏料、染料等。
四、 生物工程技術(shù):
對大腸桿菌、胞進行破碎,撮取其有效成分。
隨著人民生活水平的提高,食品工業(yè)必將跟上時代的步伐,不僅要求食品本身的營養(yǎng)豐富,還對其質(zhì)量、口味、外觀、保存等提出了高標準,這樣必然把食品工業(yè)推上一個新高潮。
食品品種繁多,本設(shè)計是主要應(yīng)用于乳品工業(yè)中。它是一種特殊的高壓泵,用于噴霧干燥設(shè)備中,可使液體分散成細微的霧滴,便于干燥成粉狀。通過均質(zhì)的煉乳、冰淇淋、代乳粉,液體中的分散項破裂成細微狀態(tài),可減少沉淀,增加粘稠性,口感細膩,并延長存放時間。均質(zhì)機不僅在乳品工業(yè)和冰淇淋生產(chǎn)中得到廣泛應(yīng)用,而且還適用于醫(yī)藥、化工生產(chǎn)中??傊?,在我國均質(zhì)機發(fā)揮出的作用越來越大,因此需要人們對其進行深入的研究,以便設(shè)計生產(chǎn)。
本設(shè)計參考現(xiàn)有的均質(zhì)機而設(shè)計,力求經(jīng)濟、結(jié)構(gòu)合理,但肯定還有許多的不足之處,希望在老師和同學的幫助下,得到進一步的改進。
第1章 均質(zhì)機及其基本參數(shù)
均質(zhì)機是一種特殊的高壓泵,利用高壓的作用,使物料中的脂肪球的破裂到直徑小于2m達99%。均質(zhì)機由均質(zhì)頭和高壓泵組成,即往復(fù)柱塞泵。它包括液力端和動力端。通過均質(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ì)機的均質(zhì)原理
1.1.1剪切作用
流體在高速流動時,在均質(zhì)機頭隙縫處,產(chǎn)生剪切作用而均質(zhì)。脂肪球通過三個柱塞往復(fù)泵吸入泵體時,在縫隙處先是被延展,同時又存在著液流通過均質(zhì)閥時的渦動作用,使延展部分被剪切為更小的脂肪球微粒。又因為液流中存在著表面活性物質(zhì),它圍繞在更細小的脂肪球微粒外層形成一種這些微粒不再互相粘合的膜.脂肪滴由此離開,而后面部分的還沒有流進縫隙。當?shù)竭_均質(zhì)閥活門縫隙處時,會同樣的剪切作用繼續(xù)形成更小的脂肪球微粒。
1.1.2撞擊學說
三聯(lián)柱塞往復(fù)泵的高壓作用使液體中脂肪球和均質(zhì)閥發(fā)生高速撞擊現(xiàn)象,因而使料液中的脂肪球破裂。
1.1.3空穴學說
因高壓作用使料液高速流過均質(zhì)閥縫隙處時,造成相當于高頻振動的效果,能在瞬間引起空穴現(xiàn)象,使脂肪球碎裂。
在實際工作中,高壓均質(zhì)機的原理是以上幾種學說的綜合。
1.2均質(zhì)機的工作原理
如圖1-1所示,當高壓液體通過閥的閥座和閥桿的狹窄通道時(可以用調(diào)節(jié)手柄調(diào)節(jié)間隙大小),使液料速度達150~300m/s,壓力降低至液料汽化壓力,使之形成氣泡。當液料離開閥座門間
的間隙時,其速度降低,壓力升高,導(dǎo)致氣泡被壓破,產(chǎn)生內(nèi)爆,產(chǎn)生的空穴和高頻振動使脂肪球顆粒破碎。此過程中,能量強烈釋放,液料形成湍流,沖擊沖擊流,完成均質(zhì)過程。
圖1-1雙級均質(zhì)閥工作示意圖
1.3均質(zhì)機的基本參數(shù)
1.3.1瞬時流量
理論上,瞬時流量=工作腔容積變化率
如圖1-2
圖1-2
圖1-3雙缸泵的無因次流量曲線
圖1-4 三缸泵的無因次流量曲線
q = A=Au=Ar(u)
(q)= = (u)
其中(q) -無因次瞬時流量;
(u)-無因次瞬時速度, (u)==-(sin+sin2)。
衡量流量脈動性的指標為不均勻系數(shù)==
單缸泵:B=3.14 ; 雙缸泵:B/2=1.57 ;
三缸泵:B/3=1.04 ; 四缸泵:B1.1 ;
可以看出,四缸泵的脈動性反而比三缸泵有所增加,流量曲線如圖1-3,圖1-4。
1.3.2泵的壓力
均質(zhì)壓力對脂肪球大小的影響如表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)濟性,壓力不宜太高,所以本機選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è)計要求料液溫度為60~70℃,同時,可以提高密封圈效率。
1.3.4效率
理論流量與實際流量之間有一定的流量損失,即容積損失,它包括四部分:
流體的壓縮或膨脹造成的△,
閥在關(guān)閉時滯后造成的△,
閥關(guān)閉不嚴造成的泄漏△,
柱塞與密封圈之間的泄漏△,
取=+++ =0.8
第2章 總體設(shè)計
2.1傳動端結(jié)構(gòu)形式的選擇
傳動端為從動力輸入端到十字頭為止的部件,包括機體、曲柄、連桿、曲軸、十字頭及潤滑冷卻等輔助設(shè)備。
2.1.1曲軸
曲軸為整體澆鑄體,材料為QT60-2,本機采用二支點 三拐式。三個曲柄相位角相差120o,曲柄與連桿之間軸瓦材料用20%錫鋁合金。
確定曲軸半徑時考慮到兩個方面的問題.較小時,強度、剛度無法滿足,撓度、轉(zhuǎn)角增加;較粗大時,要考慮加工撓性問題。
曲拐的運動順序為一、三、二。第一曲拐轉(zhuǎn)角=,第二曲拐轉(zhuǎn)角=+240,第三曲拐=+120。這可以使偏角大致相等,力求使機械慣性力和慣性力矩得到平衡,減輕對基礎(chǔ)的餓撓性載荷。
2.1.2連桿
連桿大頭采用剖分式,用特制定位螺栓定位,扣緊螺母防松,小頭定位。是澆鑄件,材料為QT60-2。連桿體和大小頭中開油槽,油孔,來潤滑曲柄和十字頭。
根據(jù)總體結(jié)構(gòu)選=r/l=0.0625。
2.1.3軸承
有沖擊載荷,適宜選用滾子軸承。
2.1.4十字頭
整體鑄件,材料ZG35。
2.1.5傳動方式選擇
采用一級帶傳動。
2.2液力端結(jié)構(gòu)形式的選擇
液力端是從柱塞一直到泵進出口管接頭的部件,是介質(zhì)的過流部分,包括液體缸、柱塞和密封件、吸排液閥組件、缸蓋、閥箱蓋。
在選擇液力端結(jié)構(gòu)形式時,應(yīng)遵循下述基本要求:
a 過流性能好,水力阻力損失小,為此,液流通道應(yīng)力求短而直,盡量逃避拐彎和急劇的斷面變化;
b 液流通道應(yīng)利于氣體排出,不允許有死區(qū),造成氣體滯留。通常,吸入閥應(yīng)置于液缸體頂部;
c 吸入閥和排出閥一般應(yīng)該垂直布置,以利于閥板正常起閉和密封;
d 余隙容積應(yīng)盡可能的小,尤其是對高壓短程泵;
e 易損件壽命長,更換方便;
f 制造工藝性好。
2.2.1泵體
臥式三聯(lián)單作用泵的泵體為一整體式長方體不銹鋼塊鍛造,材料為1Cr18Ni9Ti,其剛性好,工作腔間距小,機加工量小,吸排出閥布置為直通式三通體。其優(yōu)點為過流性能好,余隙容積較小,結(jié)構(gòu)緊湊,尺寸小,柱塞雖然不可以從液缸前塞處裝拆,但T型孔加工工藝性好。
2.2.2柱塞
柱塞材料為3Cr13,表面經(jīng)高頻淬火,再精密加工和磨光,具有等硬度和光潔度的表面,有較高的耐磨性和防腐性。因為直徑小,采用實心結(jié)構(gòu),加工簡單。為不使柱塞發(fā)熱,保證設(shè)備正常運轉(zhuǎn),柱塞上冷卻水不可斷。柱塞與十字頭之間采用平面連接,結(jié)構(gòu)簡單,加工方便,易于裝拆。
2.2.3均質(zhì)閥
均質(zhì)閥借調(diào)整螺旋彈簧對閥心的壓力,得到調(diào)整流體壓力的作用。在雙級均質(zhì)閥中,第一級流體壓力為18MPa,主要使脂肪球破碎,第二級壓力減至2.7MPa,主要使脂肪球均勻分散。
本機用手動輪直接控制壓力,操作方便,體積減小。
均質(zhì)頭制造成兩面均可使用的圓柱形結(jié)構(gòu),加工方便,使用壽命長。
2.3確定泵的主要結(jié)構(gòu)參數(shù)
2.3.1活塞平均速度U的選擇
U的大小直接影響泵各運動副零部件的摩擦和磨損,特別是對柱塞及其密封的影響尤為顯著。U過大則摩擦和磨損嚴重,會造成泄漏,流量下降,排出壓力也不能達到額定值。U過小則液力端徑向尺寸增加,傳動端受力也增加從而使泵的總體尺寸和重量增加。一般可根據(jù)經(jīng)驗公式得到U的定量選取范圍:
U= K Nm/s
式中 U—柱塞平均速度,m/s;
K—統(tǒng)計系數(shù),液壓機用三聯(lián)或多聯(lián)機動泵一般為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;
當p> p或p為常壓時,全壓力p– p≈p。
Z—泵的聯(lián)數(shù)(柱塞數(shù));
K—系數(shù),K-1= A/A,K=0,對雙作用泵,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
收藏