1-63數(shù)控設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
1-63數(shù)控設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
1-63數(shù)控設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
1-63數(shù)控設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
1-63數(shù)控設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1、引言盤(pán)狀凸輪(plate cam):具有變化半徑盤(pán)狀體,從動(dòng)在垂直于凸輪的平面內(nèi)作移動(dòng)或擺動(dòng)。楔形移動(dòng)凸輪(wedge cam):將盤(pán)形凸輪一個(gè)扇形部分繞在圓錐上-錐形凸輪,即在圓錐體上開(kāi)有曲線槽,從動(dòng)件運(yùn)動(dòng)與圓柱凸輪相同。柱狀凸輪(cylindrical cam):移動(dòng)凸輪繞在圓柱體上圓柱凸輪。實(shí)際上是在圓柱體上開(kāi)有曲線槽端面上做成曲面形狀,從動(dòng)件與在凸輪軸同一平面或平行平面內(nèi)移動(dòng),擺動(dòng)。尖底從動(dòng)件(a knife edge follower): 點(diǎn)接觸,易磨損,傳力不大。2.滾子從動(dòng)件(aroller follower):線接觸:磨損小,傳力大平底從動(dòng)件 (a flat-face fo

2、llower):平面接觸,接觸處易形成油膜,高速。往復(fù)移動(dòng)凸輪機(jī)構(gòu)(reciprocating)擺動(dòng)凸輪機(jī)構(gòu)(oscillating)1.1.4 按鎖合方法分類(lèi)力封閉(彈簧 、重力) 形封閉(槽形、等寬矩形、等徑、共軛)1.2 凸輪設(shè)計(jì)的現(xiàn)狀凸輪機(jī)構(gòu)是能使從動(dòng)件按給定規(guī)律運(yùn)動(dòng)的高副機(jī)構(gòu),被廣泛應(yīng)用于各類(lèi)機(jī)械中。然而,由于凸輪機(jī)構(gòu)設(shè)計(jì)復(fù)雜,計(jì)算工作量大,凸輪輪廓的精度對(duì)輸出響應(yīng)影響大,凸輪加工較困難等原因,應(yīng)用范圍及應(yīng)用水平受到限制。傳統(tǒng)的盤(pán)形凸輪設(shè)計(jì)主要有圖解法和法,加工方法有手工線加工和數(shù)控銑削加工,大批量生產(chǎn)亦可采用仿形銑。圖解法直觀簡(jiǎn)單,但是手工作圖選取的等分?jǐn)?shù)有限、精度差。1.1.3

3、按從動(dòng)件的運(yùn)動(dòng)形式分類(lèi)1.1.2 按從動(dòng)件與凸輪的接觸形式分類(lèi)在各種機(jī)械中,特別是自械和自動(dòng)控制裝置中,廣泛地應(yīng)用各種形式的凸輪機(jī)構(gòu)。凸輪的分類(lèi)凸輪按形狀分類(lèi)以此為基礎(chǔ)工畫(huà)線加工的精度和加工表面精度都比較低。目前大多數(shù)凸輪的設(shè)計(jì)仍采用手工方法,以尖頂對(duì)心直動(dòng)從動(dòng)件的凸輪輪廓設(shè)計(jì)為例(本所解決)。從動(dòng)件的運(yùn)動(dòng)規(guī)律如圖二,要求生成對(duì)應(yīng)的凸輪輪廓,常用的方法是描點(diǎn)和擬合。對(duì)圖中水平線從動(dòng)件沒(méi)有升降運(yùn)動(dòng)的,可以在凸輪坐標(biāo)系中直接根據(jù)圓心,半徑,轉(zhuǎn)角畫(huà)出圓弧;對(duì)斜線段,可用適當(dāng)?shù)膸讉€(gè)繞圓心均勻分布,半徑線性增加的節(jié)電連成曲線;對(duì)曲線段,可以求出盡可能多的結(jié)點(diǎn)連接成輪廓。手工從事這部分工作既麻煩又難保證精

4、度,因此,對(duì)于從動(dòng)件運(yùn)動(dòng)規(guī)律復(fù)雜,精度要求高的凸輪,手工操作難以勝任。上述部分工作雖然可以借助專(zhuān)門(mén)的凸輪設(shè)計(jì),但大多數(shù)一般用戶并不擁有這些。于是本人嘗試在法的基礎(chǔ)上用 vb 對(duì)從動(dòng)件運(yùn)動(dòng)規(guī)律編程,實(shí)現(xiàn)凸輪的參數(shù)化設(shè)計(jì),自動(dòng)生成 NC 代碼,供數(shù)控機(jī)床加工凸輪零件。2、凸輪的設(shè)計(jì)原理本的設(shè)計(jì)就是根據(jù)工作要求選定合適的凸輪結(jié)構(gòu)的形式、推桿的運(yùn)動(dòng)規(guī)律和有關(guān)的基本尺寸,然后根據(jù)選定的推桿運(yùn)動(dòng)規(guī)律設(shè)計(jì)出凸輪應(yīng)有的輪廓曲線。其關(guān)鍵是根據(jù)工作要求選定推桿的運(yùn)動(dòng)規(guī)律,并運(yùn)用數(shù)學(xué)對(duì)運(yùn)動(dòng)曲線進(jìn)行處理,以生成 NC 代碼,供數(shù)控機(jī)床使用。2.1 確定各段推桿運(yùn)動(dòng)曲線2.1.1 推桿的運(yùn)動(dòng)規(guī)律凸輪機(jī)構(gòu)設(shè)計(jì)的主要步驟是

5、確定從動(dòng)件的運(yùn)動(dòng)規(guī)律(見(jiàn)圖 2-1、2-2)。從動(dòng)件的運(yùn)動(dòng)規(guī)律主要由以下參數(shù)確定:從動(dòng)件行程h、推程運(yùn)動(dòng)角u、遠(yuǎn)休止角s、回程運(yùn)動(dòng)角d和進(jìn)休止角0對(duì)于盤(pán)型凸輪,凸輪轉(zhuǎn)動(dòng)一周完成一個(gè)循環(huán),即有:u+s+d+0=360一般,各個(gè)角度由機(jī)構(gòu)的使用要求決定,但通??梢赃M(jìn)行調(diào)整,使其獲得更優(yōu)的性能。原則上,推程運(yùn)動(dòng)角u 越大越好,可以減小推程的壓力角?;爻踢\(yùn)動(dòng)角d 可以略小些,因?yàn)榛爻桃话悴皇枪ぷ餍谐?,壓力角可以大些。圖 2-1 凸輪機(jī)構(gòu)的運(yùn)動(dòng)圖 2-2 從動(dòng)件的運(yùn)動(dòng)規(guī)律2.1.2 運(yùn)動(dòng)規(guī)律的類(lèi)型運(yùn)動(dòng)規(guī)律可以用從動(dòng)件的位移S、速度V、加速度a 以及躍度j (j=da/dt)來(lái)表示,如上圖。常見(jiàn)運(yùn)動(dòng)規(guī)律的

6、公式如表一所示(h 為行程,x=/u,0 x1):表一 常見(jiàn)運(yùn)動(dòng)規(guī)律的公式名 稱(chēng)運(yùn)動(dòng)規(guī)律公式備注等速S=hx剛性沖擊修正等速S=8hx2/3(0 x1/4)S=h(8x-1)/6(1/43/4)S=S=h1-8(1-x)2/3(3/4x1)柔性沖擊等加速-等S=2hx2(0 x1/2)S=h1-2(1-x)2(1/2x1)柔性沖擊梯形加速度S=64hx3/9(0 x1/8)S=h(8x2/3-x/3+1/72)(1/8x3/8)S=h(-64x3/9+32x2/3-10 x/3+7/18)(3/8x5/8)2.1.3 運(yùn)動(dòng)規(guī)律的特征參數(shù)各運(yùn)動(dòng)規(guī)律的性能表現(xiàn)在速度最大值vmax、加速度最大值 a

7、max 和躍度最大值 jmax 以及速度與加速度之積的最大值(va)max:vmax=Cvh/u2a =C h(/ )maxauj =C h(/ )3maxju2(va)max=Cvah(/u)S=h(-8x2/3+5x-97/72)(5/8x7/8)S=h(64x3/9-64x2/3+64x/3-55/9)(7/8x1)修正梯形加速度S=h2x-sin(4x)/2/(2+)(0 x1/8) S=h4x2-(-2)x+/16-1/2/(2+)(1/8x3/8) S=h2(+1)x-/2-sin(4x-)/2/(2+)(3/8x5/8) S=h(7+2)x-4x2-33/16+1/2/(2+)(

8、5/8x7/8)S=h2x+-sin(4x-2)/2/(2+)(7/8x1)余弦加速度S=h(1-cosx)/2柔性沖擊正弦加速度S=hx-sin(2x)/2/2修正正弦加速度S=hx-sin(4x)/4/(4+)(0 x1/8)S=h2+x-9sin(/3+4x/3)/4/(4+)(1/8x3/8) S=h4+x-sin(4x)/4/(4+)(7/8x1)2-3 多項(xiàng)式S=h(3x2-2x3)柔性沖擊3-4-5 多項(xiàng)式S=h(10 x3-15x4+6x5)4-5-6-7多項(xiàng)式S=h(35x4-84x5+70 x6-20 x7)系數(shù)Cv、Ca、Cj、Cva 稱(chēng)作特征系數(shù)(見(jiàn)表二)。Cv=存在剛

9、性沖擊,Ca=存在柔性沖擊。表二特征系數(shù)特征系數(shù)Cv、Ca、Cj、Cva 的可能的最小值見(jiàn)表三:特 征 系 數(shù)名 稱(chēng)適用場(chǎng)合CvCaCjCva等速1-低速輕載修正等速1.335.33/8.38/105.37.11/5.73低速重載等加速-等248中低速輕載梯形加速度25.3342.78.89高速輕載修正梯形加速度24.8961.48.09高速輕載余弦加速度1.574.933.88中低速中載正弦加速度26.2839.58.18中高速輕載修正正弦加速度1.765.5369.55.46高速重載2-3 多項(xiàng)式1.563.463-4-5 多項(xiàng)式1.885.77606.69高速中載4-5-6-7多項(xiàng)式2.

10、197.5152.510.75高速中載表三 特征系數(shù)可能最小值2.1.4 運(yùn)動(dòng)規(guī)律選擇原則一般總希望速度、加速度和躍度的最大值盡可能小,即希望這些特征值盡可能小:a.降低特征系數(shù) Cv 可減小壓力角和機(jī)構(gòu)的結(jié)構(gòu)尺寸,降低從動(dòng)件的運(yùn)動(dòng)最大慣量;b.降低特征系數(shù) Ca 可降低從動(dòng)件的慣性力,減小接觸應(yīng)力和振動(dòng)。特別是在高速凸輪機(jī)構(gòu)中,更應(yīng)選擇較小的Ca;c.降低特征系數(shù) Cj 可以降低機(jī)構(gòu)的振動(dòng)。對(duì)高速凸輪機(jī)構(gòu),一般要求位移S 的三階導(dǎo)數(shù)躍度j 連續(xù)。d.降低特征系數(shù) Cva 可以減低凸輪軸上的轉(zhuǎn)矩。凸輪軸上的轉(zhuǎn)矩正比于速度與加速度之積。2.1.5 其他限制條件1) 壓力角:一般要求 ,是許用壓力

11、角u=30(直動(dòng)從動(dòng)件的推程);d=70(直動(dòng)從動(dòng)件的回程);u=35(擺動(dòng)從動(dòng)件的推程);d=70(擺動(dòng)從動(dòng)件的回程)。減小壓力角的措施:增大推程運(yùn)動(dòng)角 u 或回程運(yùn)動(dòng)角 d;增大基圓半徑 rb;改變運(yùn)動(dòng)規(guī)律;選擇合適的偏置距e。但平底從動(dòng)件壓力角=90,沒(méi)有這個(gè)問(wèn)題特征系數(shù)可能最小值對(duì)應(yīng)的運(yùn)動(dòng)規(guī)律備注(Cv)min1等速運(yùn)動(dòng)(Ca)min4等加運(yùn)動(dòng)(Cj)min32等躍度運(yùn)動(dòng)(Cva)min2.7對(duì)數(shù)運(yùn)動(dòng)最小值之間關(guān)系2)凸輪輪廓變尖或失真:凸輪輪廓變尖或失真長(zhǎng)發(fā)生在滾子從動(dòng)件或平底從動(dòng)件的場(chǎng)合,尤其是平底從動(dòng)件更易發(fā)生輪廓變尖或失真。解決方法:增大推程運(yùn)動(dòng)角 u 或回程運(yùn)動(dòng)角 d;增大基

12、圓半徑 rb;減小滾子半徑 rr;改變運(yùn)動(dòng)規(guī)律;等。2.2 常用的五種曲線根據(jù)實(shí)際選用了比較常用和容易實(shí)現(xiàn)的五種曲線(兩大類(lèi))2.2.1 多項(xiàng)式運(yùn)動(dòng)規(guī)律圖 2-3等速運(yùn)動(dòng)規(guī)律圖 2-4 等加速等運(yùn)動(dòng)規(guī)律圖 2-5余弦加速度運(yùn)動(dòng)規(guī)律圖 2-6正弦加速度運(yùn)動(dòng)規(guī)律(2) 正弦加速度運(yùn)動(dòng)規(guī)律(擺線運(yùn)動(dòng)規(guī)律) ,如圖 2-6 所示。從動(dòng)件的加速度按正弦規(guī)律變化,其運(yùn)動(dòng)方程為:3、 曲線的數(shù)學(xué)處理3.1 曲線的數(shù)學(xué)處理方法知道數(shù)控系般都只有直線和圓弧插補(bǔ)功能,對(duì)于非圓曲線輪廓,只有用直線或圓弧去近它。以下是幾種常用的近方法:1)等間距直線近法,2)等弦長(zhǎng)直線近法,3)等誤差直線近法,4)圓弧近法。鑒于等間

13、距直線近法比較簡(jiǎn)單、易懂,而其余三種方法非常復(fù)雜,故本人采用了等間距直線近法來(lái)作出曲線的形狀。等間距直線近法簡(jiǎn)介如下:等間距直線近法是使每一個(gè)程序段中的某一個(gè)坐標(biāo)的增量相等。圖 3-1 表示加工一個(gè)凸輪時(shí),x 坐標(biāo)按等間距分段時(shí)結(jié)點(diǎn)的分布情況。將 x1x7 的值代入方程 y=f(x),可求得 y1y14 的值,從而得到結(jié)點(diǎn) A1A14 的坐標(biāo)值。把 A1A2、A2A3A14A1 用直線連起來(lái),即到曲線圖形。間距大小一般根據(jù)零件加工精度要求憑經(jīng)驗(yàn)選取。求出結(jié)點(diǎn)坐標(biāo)后再算近誤差是否小于允許值。等間距法計(jì)算簡(jiǎn)單,但由于取定的間距應(yīng)保證曲線曲率最大處的近誤差小于允許值,所以程序可能過(guò)多。圖 3-1 等

14、間距直線 近法考慮到數(shù)控機(jī)床的精度一般為 0.01,在本中,我采用的間距為 0.1mm,即 x 軸每隔0.1mm 取一個(gè)點(diǎn)。If Combotui.ListIndex = 0 Then選擇推程曲線,等Low = 0速運(yùn)動(dòng)For i =0 To t1 Step 0.1Low= 0s =(h / Tagl) * iPicview2.PSet (i, s)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picview.PSet (Ptx(Low), Pty(Low), RGB(1000,

15、0, 0)Low = Low + 1Next i3.2 誤差判斷x 取值的大小取決于曲線的曲率和允許誤差S。一般先取西x01 試算并校驗(yàn)。誤差校驗(yàn)方法如圖 218 中的右圖所示,MN 為試算后的近線段,作MN平行于 MN 且兩直線的距離為允。根據(jù)節(jié)點(diǎn)的坐標(biāo)可求得MN 方程:ax 十by 十c0,則 MN的方程為( 3 - 1 )求解聯(lián)立方程:( 3 - 2 )如果無(wú)解,即沒(méi)有交點(diǎn),表示近誤差小于允;如果只有一個(gè)解,即等距線與輪廓線相切,表示近誤差等于允;如果有兩個(gè)或兩個(gè)以上的解,表示近誤差大于允,這時(shí)應(yīng)縮小等間距坐標(biāo)的增量值,重新計(jì)算節(jié)點(diǎn)和驗(yàn)算近誤差,直至最大的近誤差小于或等于允。等間距法計(jì)算

16、簡(jiǎn)單,但由于取定值上x(chóng) 應(yīng)保證曲線曲率最大處的近誤差小于允許值,所以程序可能過(guò)多。3.3 NC 加工代碼生成要生成 NC 代碼,可以用 AutoCAD 內(nèi)嵌的 Autolisp 進(jìn)行轉(zhuǎn)化成 DXF 文件,然后把此文件導(dǎo)入 MsterCAM 中生成 NC 代碼。但這樣太麻煩了!由于題目的凸輪加工也比較簡(jiǎn)單,所以我決定用 VB 直接編寫(xiě) NC 代碼,以便本更加人性化。當(dāng)然了,編寫(xiě)出來(lái)的代碼,不能像MasterCAM 生成的那樣完善。不過(guò),無(wú)論用哪種方法得到 NC 代碼,其主體部分肯定相同的。所以,對(duì)于自行編寫(xiě)出的 NC 代碼,稍加修改也一樣可以達(dá)到目的。在上一步中,我用兩個(gè)數(shù)組保留生成 NC 代碼

17、的點(diǎn)的值,接著在 NC 代碼的頭尾編寫(xiě)與數(shù)控實(shí)際加工有關(guān)的參數(shù),如坐標(biāo)的選擇,刀具半徑,主軸轉(zhuǎn)速等等。因?yàn)槭遣捎玫乳g距直線插補(bǔ),所以代碼的中間部分就直接取出上面的點(diǎn)的坐標(biāo)就可以了,在 VB 中以循環(huán)的方法就可以很容易實(shí)現(xiàn)。代碼如下:Low = 0For i = 0 To t1 Step 0.1 Low = 0s = (h / Tagl) * iPicview2.PSet (i, s) , RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180) Pty(Low) = (c1 + s) * Cos(i * (PI / 180)畫(huà)曲線時(shí)的點(diǎn)Pi

18、cview.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next i編NC 代碼時(shí)所取的點(diǎn)For i = 1 To 3599List1.AddItem N & LTrim(RTrim(j) & G01 & _ X & LTrim(RTrim(Format$(ptx(i), #.#) & _Y & LTrim(RTrim(Format$(pty(i), #.#)4、設(shè)計(jì)的思路及步驟基于上述觀點(diǎn),在輸出 DXF 文件方面,我選擇了第二種方法,就是直接編寫(xiě) DXF 文件。而題目要求此要有一個(gè)友好的界面,故我選擇了 Visual Basi

19、c 語(yǔ)言。實(shí)現(xiàn)的功能是接受用戶輸入,作出平面凸輪圖形,輸出 DXF 文件及 NC 代碼。具體的步驟是4.1 設(shè)計(jì)用戶界面在 Visual Basic 6.0 中,界面的設(shè)計(jì)是輕而易舉的事情。在這就不加以介紹,而我這次設(shè)計(jì)的“平面凸輪計(jì)算機(jī)輔助設(shè)計(jì)”界面有兩類(lèi),一是接受用戶凸輪輸入?yún)?shù)及從動(dòng)件運(yùn)動(dòng)規(guī)律和凸輪圖形顯示,二是接受用戶 NC 加工參數(shù)及 NC 代碼顯示窗口。用戶介面如圖 4-1所示。圖 4-1 友好用戶介面4.2接受用戶輸入并生成凸輪圖形在中,我提供了凸輪設(shè)計(jì)中所用到的最基本的四條曲線方程給用戶選擇,曲線方程的重復(fù)無(wú)限次。,x=0 時(shí),f(x)=0。然后把展開(kāi)圖的直角坐標(biāo)系轉(zhuǎn)換為平面圖

20、的極坐標(biāo)系即可得到凸輪真實(shí)的圖形為了下一步輸入 DXF 文件及 NC 代碼,所以我定義了一個(gè)全局靜態(tài)數(shù)組把作圖時(shí)得到的點(diǎn)保存起來(lái)。4.3 生成 NC 加工代碼有了上面留下來(lái)的點(diǎn)的數(shù)值,只要編寫(xiě)好接口程序,就可以得到 DXF 文件,NC 代碼了。至于 DXF 文件的格式請(qǐng)參閱“凸輪的設(shè)計(jì)原理”部分。4.4、流程圖流程圖如圖 4-2 所示。圖 4-2 流程圖5、主要模塊程序說(shuō)明5.1判斷基本參數(shù)的輸入Private Subd1_Click()Dim j As Double, i As Double q1 = Val(Text4.Text)推 q2 = Val(Text5.Text)遠(yuǎn)休q3 = V

21、al(Text6.Text) 回t1 = q1t2 = t1 + q2 t3 = t2 + q3 q4 = 360 - t3h = Val(Text3.Text)d1.Enabled = False d2.Enabled = TrueText1.Locked = True Text3.Locked = True Text4.Locked = True Text5.Locked = True Text6.Locked = True Combo1.Locked = TrueCombo2.Locked = TrueIf q1 0 And q2 0 And q3 0 And h 0 And Val(T

22、ext1.Text) And IsNumeric(Text1) AndIsNumeric(Text3) And IsNumeric(Text4) And _IsNumeric(Text5) And IsNumeric(Text6) Then5.2 坐標(biāo)生成判斷參數(shù)輸入是否為數(shù)字c1 = Val(Text1.Text)c2 = Val(Text3.Text) c = 1.2 * (c1 + c2)Picture2.DrawStyle = 1Picture2.Scale (-c, c)-(c, -c)凸輪曲線坐標(biāo)系的建立Picture2.Line (0, -1.2 * (c1 + c2)-(0,

23、1.2 * (c1 + c2), RGB(0, 128, 0)Picture2.Line (-1.2 * (c1 + c2), 0)-(1.2 * (c1 + c2), 0), RGB(0, 128, 0)For i = 1 To 10Picture2.Line (0 + i * (c1 + c2) / 10), 0)-(0 + i * (c1 + c2) / 10), c / 50), RGB(0, 128, 0) Picture2.Line (0 - i * (c1 + c2) / 10), 0)-(0 - i * (c1 + c2) / 10), c / 50), RGB(0, 128,

24、 0) Picture2.Line (0, 0 + i * (c1 + c2) / 10)-(c / 30, 0 + i * (c1 + c2) / 10), RGB(0, 128, 0) Picture2.Line (0, 0 - i * (c1 + c2) / 10)-(c / 30, 0 - i * (c1 + c2) / 10), RGB(0, 128, 0) Next iPicture2.Circle (0, 0), c1, vbBlack, 0, 0Picture2.Circle (0, 0), c1 + h, vbBlack, 0, 0 畫(huà)基圓,頂圓Picture1.ScaleL

25、eft = -30 Picture1.ScaleTop = 1.4 * c2 Picture1.ScaleWidth = 400 Picture1.ScaleHeight = -1.5 * c2Picture1.Line (0, 0)-(360, 0), RGB(0, 128, 0)For i = 1 To 4推桿曲線坐標(biāo)系的建立Picture1.Line (0, 0 + i * (c2 / 4)-(5, 0 + i * (c2 / 4), RGB(0, 128, 0) Next iPicture1.Line (0, 0)-(0, 1.4 * c2), RGB(0, 128, 0)For i

26、= 1 To 8Picture1.Line (0 + i * (360 / 8), 0)-(0 + i * (360 / 8), c2 / 24), RGB(0, 128, 0)Next i畫(huà)基圓和頂圓5.3Picture2.Circle (0, 0), c1, vbBlack, 0, 0Picture2.Circle (0, 0), c1 + h, vbBlack, 0, 0 畫(huà)基圓,頂圓5.4畫(huà)曲線(等加速等運(yùn)動(dòng))ElseIf Combo2.ListIndex = 1 Then Low = 10 * t2For i = t2 To (t2 + t3) / 2 Step 0.1s = h -

27、 2 * h * (i - t2) 2) / (q3 2) Picture1.PSet (i, s), RGB(1000, 0, 0) Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)等加速等運(yùn)動(dòng)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iLow = 10 * (t2 + t3) / 2)For i = (t2 + t3) / 2 To t3 Step 0.1s = 2 * h * (q3

28、- (i - t2) 2) / (q3 2) Picture1.PSet (i, s), RGB(1000, 0, 0) Ptx(Low) = (c1 + s) * Sin(i * (PI / 180) Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0) Low = Low + 1Next i5.5 NC 代碼顯示j = 100If Option1.Value = True Then List1.AddItem %絕對(duì)坐標(biāo)編程N(yùn)C 代碼的開(kāi)始部分List1.AddI

29、tem N & LTrim(RTrim(j) & G00G17G40G49G80G90 j = j + 1List1.AddItem N & LTrim(RTrim(j) & T1M6 j = j + 1List1.AddItem N & LTrim(RTrim(j) & G00G90G54 & bch & _D01X & RTrim(LTrim(Format$(ptx(0), #.#) & _ Y & RTrim(LTrim(Format$(pty(0), #.#) & Z & _LTrim(RTrim(Val(Text6) & _S & LTrim(RTrim(Val(Text4) & M

30、3 j = j + 1List1.AddItem N & LTrim(RTrim(j) & Z2 & F & LTrim(RTrim(Text2) sd = Val(Text8)For M = 1 To Val(Text8) j = j + 1List1.AddItem N & LTrim(RTrim(j) & G01Z- & LTrim(RTrim(Val(Text7) & _F & LTrim(RTrim(Text1)j = j + 1For i = 1 To 3600主要走刀部分List1.AddItem N & LTrim(RTrim(j) & G01 & _ X & LTrim(RT

31、rim(Format$(ptx(i), #.#) & _Y & LTrim(RTrim(Format$(pty(i), #.#) j = j + 1Next i6功能介紹及使用說(shuō)明在相關(guān)控件中輸入基本參數(shù)和選定運(yùn)動(dòng)曲線規(guī)律后單擊確定按鈕,就可以很容易的生成凸輪輪廓曲線和推桿運(yùn)動(dòng)曲線。并運(yùn)用相關(guān)原理對(duì)運(yùn)動(dòng)曲線進(jìn)行處理,以生成NC代碼,供數(shù)控機(jī)床使用,此為的大體功能?,F(xiàn)在說(shuō)一下其使用方法:.(1)輸入凸輪基本參數(shù)(如圖).(2)選擇曲線運(yùn)動(dòng)規(guī)律(如圖)(3)單擊“確定”按鈕,則可生成圖形及參數(shù)顯示(如圖)凸輪輪廓推桿運(yùn)動(dòng)曲線參數(shù)顯示(4)輸入NC 加工參數(shù)(如圖)(5)選擇坐標(biāo)系和刀具補(bǔ)償方式(如

32、圖)(6)單擊確定,生成代碼(如圖)7、設(shè)計(jì)總結(jié)這次課程設(shè)計(jì)讓我學(xué)會(huì)了很多東西,盡管我遇到很多,但是通過(guò)查找參考書(shū)和參照別人的經(jīng)驗(yàn),終于完成任務(wù)。我遇到的最大是 VB 基礎(chǔ)不好,經(jīng)常出錯(cuò),所以做得很慢。不過(guò)通過(guò)這次的課程設(shè)計(jì)不僅讓我對(duì)數(shù)控的加工有了深一步的認(rèn)識(shí),還提高自己的編程水平。另外,在設(shè)計(jì)過(guò)程中參考了師兄和一些同學(xué)的經(jīng)驗(yàn),在此向他們表示感謝!本人認(rèn)為用 VB 做成的該界面清晰,方便,易操作,功能較為齊全,在曲線范圍內(nèi)還可以畫(huà)其他形狀的圖像(如上面使用說(shuō)明及測(cè)試中的心形)。但是還有很多,由于畫(huà)凸輪的函數(shù)式有限,缺乏具體分析其函數(shù)式的組合情況,有時(shí)生成的凸輪曲線之間連接處并非圓滑過(guò)渡,會(huì)帶來(lái)

33、很大的沖擊力,不便于立即使用,要進(jìn)行后處理。在判斷輸入?yún)?shù)是否合理,和一些出錯(cuò)處理上還不夠完善,以期待以后完善。本人設(shè)想是否可以用已有的 NC 代碼來(lái)反求其平面凸輪曲線圖,或者把保存的凸輪平面圖改變格式輸入 AutoCAD 和其他作圖中進(jìn)行修改,以進(jìn)行倒角以減少?zèng)_擊等后處理。另外還可以增加數(shù)控加工仿真功能,生成的代碼直接進(jìn)行仿真,減少代碼輸出輸入的麻煩。本設(shè)計(jì)中的顯示選擇便是基于此構(gòu)想,但由于時(shí)間較緊,本人水平有限,未能如愿,只能作為一項(xiàng)顯示的模式,以待以后完善。本界面友好,簡(jiǎn)單易用,可以完成比較簡(jiǎn)單的凸輪設(shè)計(jì)。但是存在很多的。首先,是從動(dòng)件運(yùn)動(dòng)規(guī)律曲線較少,不能滿足實(shí)際加工的需要。所幸這個(gè)問(wèn)

34、題不難解決,添加就行:第二,是壓力角的限制條件由于比較復(fù)雜,所以沒(méi)有添加進(jìn)程序,這將會(huì)限制本的應(yīng)用;最后,由于采用了等間距直線近法,所以生成的代碼較多,這是一個(gè)大缺陷。用MasterCAM 生成 NC 代碼將會(huì)是更好的選擇,但實(shí)施的難度很大,將會(huì)是努力的方向!在這次數(shù)控機(jī)床課程設(shè)計(jì)中我發(fā)現(xiàn)很多問(wèn)題,例如對(duì)于編程的使用還未夠熟悉和深入,有一些關(guān)鍵程序要請(qǐng)教的幫助才得以完成,這是我今后要努力克服的重點(diǎn)和難點(diǎn)。最后,感謝老師和的幫助!8、參考文獻(xiàn)1機(jī)床設(shè)計(jì)手冊(cè)第三分冊(cè)2廖效果.數(shù)字控制機(jī)床.:華中理工大學(xué).1992.93廖效果.數(shù)控技術(shù).:科學(xué)技術(shù).2000.74.數(shù)字控制機(jī)床.:機(jī)械工業(yè)5.機(jī)床電

35、氣控制.重慶:重慶大學(xué)6.Basic 語(yǔ)言結(jié)構(gòu)化程序設(shè)計(jì).:中國(guó)科學(xué)技術(shù).19907,. Visual Basic 編程高手.:.20008一組凸輪的計(jì)算機(jī)輔助設(shè)計(jì).機(jī)械工程師 1998,(4): p58-599凸輪曲線的快速畫(huà)法.機(jī)械工程師 1998,(6): p22-2310平面凸輪機(jī)構(gòu) CAD 系統(tǒng)的研究與開(kāi)發(fā).機(jī)械設(shè)計(jì)與制造 2000,(5):p12-1311圓柱非圓曲線槽凸輪的數(shù)控加工.制造技術(shù)與機(jī)床 2000,(8):p3412圓柱凸輪的參數(shù)化設(shè)計(jì)及數(shù)控加工.精密制造及自動(dòng)化 2001,11: p2813參數(shù)化凸輪輪廓轉(zhuǎn)換及 NC 代碼自動(dòng)生成.機(jī)床與2001,6, p2931附錄

36、源程序:主窗體Dim r As DoubleDim h As DoubleDim s As DoubleDim q1 As Double, q2 As Double, q3 As Double, q4 As DoubleDim t1 As Double, t2 As Double, t3 As DoubleDim X As Double, Y As DoubleDim c As Double, c1 As Double, c2 As DoubleDim Low As Double數(shù)組下標(biāo)Dim Ptx(3600) As Double曲線點(diǎn)數(shù)組Dim Pty(3600) As Double最終輸

37、出的點(diǎn)Const PI As Double = 3.1415926Private Subd1_Click()Dim j As Double, i As Doubleq1 = Val(Text4.Text)推q2 = Val(Text5.Text)遠(yuǎn)休q3 = Val(Text6.Text) 回t1 = q1t2 = t1 + q2t3 = t2 + q3q4 = 360 - t3h = Val(Text3.Text)d1.Enabled = Falsed2.Enabled = TrueText1.Locked = TrueText3.Locked = TrueText4.Locked = Tr

38、ueText5.Locked = TrueText6.Locked = TrueCombo1.Locked = TrueCombo2.Locked = TrueIf q1 0 And q2 0 And q3 0 And h 0 And Val(Text1.Text) And IsNumeric(Text1) And IsNumeric(Text3) AndIsNumeric(Text4) And _IsNumeric(Text5) And IsNumeric(Text6) Then判斷參數(shù)輸入是否為數(shù)字If q1 + q2 + q3 = 360 Then判斷推遠(yuǎn)休回是否超出范圍c1 = Val

39、(Text1.Text)c2 = Val(Text3.Text)c = 1.2 * (c1 + c2)Picture2.DrawStyle = 1Picture2.Scale (-c, c)-(c, -c)凸輪曲線坐標(biāo)系的建立Picture2.Line (0, -1.2 * (c1 + c2)-(0, 1.2 * (c1 + c2), RGB(0, 128, 0)Picture2.Line (-1.2 * (c1 + c2), 0)-(1.2 * (c1 + c2), 0), RGB(0, 128, 0)For i = 1 To 10Picture2.Line (0 + i * (c1 + c

40、2) / 10), 0)-(0 + i * (c1 + c2) / 10), c / 50), RGB(0, 128, 0)Picture2.Line (0 - i * (c1 + c2) / 10), 0)-(0 - i * (c1 + c2) / 10), c / 50), RGB(0, 128, 0)Picture2.Line (0, 0 + i * (c1 + c2) / 10)-(c / 30, 0 + i * (c1 + c2) / 10), RGB(0, 128, 0)Picture2.Line (0, 0 - i * (c1 + c2) / 10)-(c / 30, 0 - i

41、 * (c1 + c2) / 10), RGB(0, 128, 0)Next iPicture2.Circle (0, 0), c1, vbBlack, 0, 0Picture2.Circle (0, 0), c1 + h, vbBlack, 0, 0 畫(huà)基圓,頂圓Picture1.ScaleLeft = -30推桿曲線坐標(biāo)系的建立Picture1.ScaleTop = 1.4 * c2Picture1.ScaleWidth = 400Picture1.ScaleHeight = -1.5 * c2Picture1.Line (0, 0)-(360, 0), RGB(0, 128, 0)For

42、 i = 1 To 4Picture1.Line (0, 0 + i * (c2 / 4)-(5, 0 + i * (c2 / 4), RGB(0, 128, 0)Next iPicture1.Line (0, 0)-(0, 1.4 * c2), RGB(0, 128, 0)For i = 1 To 8Picture1.Line (0 + i * (360 / 8), 0)-(0 + i * (360 / 8), c2 / 24), RGB(0, 128, 0)Next iIf Combo1.ListIndex = 0 Then推程:等速運(yùn)動(dòng)Low = 0For i = 0 To t1 Ste

43、p 0.1Low = 0s = (h / t1) * iPicture1.PSet (i, s), RGB(1000, 0, 0) 畫(huà) 推桿運(yùn)動(dòng)規(guī)律曲線Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)畫(huà)凸輪曲線Low = Low + 1Next iPicture3.Pr推程選擇等速運(yùn)動(dòng)ElseIf Combo1.ListIndex = 1 Then等加速等運(yùn)動(dòng)Low = 0For i

44、= 0 To t1 / 2 Step 0.1s = 2 * h * (i 2) / (t1 2)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iLow = 10 * (t1 / 2)For i = t1 / 2 To t1 Step 0.1s = h - 2 * h * (t

45、1 - i) 2) / (t1 2)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr推程選擇等加速等運(yùn)動(dòng):ElseIf Combo1.ListIndex = 2 Then正弦加速度運(yùn)動(dòng)Low = 0For i = 0 To t1 Step 0.1s =

46、h * (i / t1 - Sin(2 * PI * i / t1) / (2 * 3.1415926)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr推程選擇正弦加速度運(yùn)動(dòng):ElseIf Combo1.ListIndex = 3 Then余弦加速度運(yùn)動(dòng)

47、Low = 0For i = 0 To t1 Step 0.1s = h * (1 - Cos(PI * i / t1) / 2Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr推程選擇余弦加速度運(yùn)動(dòng):Picture3.Pr半徑R=; c1; ;升程H=;

48、 c2Picture3.Pr推:; q1; ;遠(yuǎn)休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4End IfLow = 10 * t1For i = t1 To t2 Step 0.1遠(yuǎn)休程曲線的生成s = hPicture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0) 畫(huà)凸輪曲線Low = Low

49、 + 1Next iIf Combo2.ListIndex = 0 Then回程:等速運(yùn)動(dòng)Low = 10 * t2For i = t2 To t3 Step 0.1s = h * (1 - (i - t2) / q3)Picture1.PSet (i, s), RGB(1000, 0, 0) 畫(huà) 從動(dòng)件運(yùn)動(dòng)規(guī)律曲線Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0) 畫(huà)凸輪曲線Low =

50、 Low + 1Next iPicture3.Pr回程選擇等速運(yùn)動(dòng):Picture3.Pr半徑R=; c1; ;升程H=; c2Picture3.Pr推:; q1; ;遠(yuǎn)休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4ElseIf Combo2.ListIndex = 1 Then等加速等運(yùn)動(dòng)Low = 10 * t2For i = t2 To (t2 + t3) / 2 Step 0.1s = h - 2 * h * (i - t2) 2) / (q3 2)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s

51、) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iLow = 10 * (t2 + t3) / 2)For i = (t2 + t3) / 2 To t3 Step 0.1s = 2 * h * (q3 - (i - t2) 2) / (q3 2)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI

52、 / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr回程選擇等加速等運(yùn)動(dòng)Picture3.Pr半徑R=; c1; ;升程H=; c2Picture3.Pr推:; q1; ;遠(yuǎn)休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4ElseIf Combo2.ListIndex = 2 Then正弦加速度運(yùn)動(dòng)Low = 10 * t2For i = t2 To t3 Step 0

53、.1s = h * (1 - (i - t2) / q3) + (Sin(2 * PI * (i - t2) / q3) / (2 * PI)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i) * (PI / 180)Pty(Low) = (c1 + s) * Cos(-i) * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr回程選擇正弦加速度運(yùn)動(dòng):Picture3.Pr半徑R=;

54、c1; ;升程H=; c2Picture3.Pr推:; q1; ;遠(yuǎn)休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4ElseIf Combo2.ListIndex = 3 Then余弦加速度運(yùn)動(dòng)Low = 10 * t2For i = t2 To t3 Step 0.1s = h * (1 + Cos(PI * (i - t2) / (t3 - t2) / 2Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i *

55、 (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr回程選擇余弦加速度運(yùn)動(dòng):Picture3.Pr半徑R=; c1; ;升程H=; c2Picture3.Pr推:; q1; ;遠(yuǎn)休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4End IfLow = 10 * t3For i = t3 To 360 Step 0.1近休程曲線的生成s = 0Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1

56、 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iElseMsgBox (超出范圍,請(qǐng)重設(shè)參數(shù)), 16Text4.Text = Text5.Text = Text6.Text = Picture1.ClsPicture2.ClsEnd IfElseMsgBox (輸入為空,或字符,請(qǐng)重新輸入), 16End IfEnd SubPrivate Subd2_Click()Text

57、1.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Picture1.ClsPicture2.ClsPicture3.Clsd1.Enabled = Trued2.Enabled = FalseText1.Locked = FalseText3.Locked = FalseText4.Locked = FalseText5.Locked = FalseText6.Locked = FalseCombo1.Locked = FalseCombo2.Locked = FalseEnd SubPrivate Subd3_Click

58、()X = Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Y = Pty(Low) = (c1 + s) * Cos(i * (PI / 180)List1.ClearDim j As Double, fName2 As StringIf IsNumeric(Text2) And IsNumeric(Text7) And IsNumeric(Text8) And IsNumeric(Text9) Thenj = 100If Option1.Value = True ThenIf Option5.Value = True ThenList1.AddItem %L

59、ist1.AddItem N & LTrim(RTrim(j) & G17j = j + 1List1.AddItem N & LTrim(RTrim(j) & M06 T01j = j + 1List1.AddItem N & LTrim(RTrim(j) & G00 G90 G54 & bch & _ D01 & X & RTrim(LTrim(Format$(Ptx(10), #.#) & _ Y & RTrim(LTrim(Format$(Pty(10), #.#) & _ S & LTrim(RTrim(Val(Text9) & M3j = j + 1List1.AddItem N

60、& LTrim(RTrim(j) & Z2 & F & LTrim(RTrim(Text8)List1.AddItem N & LTrim(RTrim(j) & G01 Z- & LTrim(RTrim(Val(Text7) & _F & LTrim(RTrim(Text2)j = j + 1For i = 1 To 3600List1.AddItem N & LTrim(RTrim(j) & G01 & _X & LTrim(RTrim(Format$(Ptx(i), #.#) & _Y & LTrim(RTrim(Format$(Pty(i), #.#)j = j + 1Next isd

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論