我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAM

噴油嘴橢球面手工編程方法的實現

時間:2011-02-28 10:31:33 來源:

  近年來,數控自動編程發展迅速,有很多以計算機圖形學為基礎的自動編程軟件(如MasterCAM、UG等),有效地解決了幾何造型、零件幾何形狀的顯示、交互式設計、修改以及刀具軌跡生成等問題,使得CAD/CAM逐步走向一體化。然而,數控自動編程必須增加計算機硬件和軟件系統,增加了設備投資;自動編程軟件的學習以及熟練運用需要一定的時間,需要一定的計算機知識和一定的機械基礎知識,而且現代的編程軟件為了做到功能全面,增加了許多新的加工概念和方式,軟件包整體比較復雜和龐大,若想熟練掌握運用存在一定困難;自動編程產生的加工程序一般比較長,同樣的零件,自動編程的程序可能是手工編程的程序長度的幾倍甚至幾十倍,其加工時間相應地會成倍或成幾十倍地增長,這是其無法修正的根本缺陷。因此,對于小批量生產、形狀相對簡單的外冷噴油嘴的橢球面部分來說,采用手工編程,利用逼近圓的方法編寫C語言程序,把橢球面用球面來近似,計算出若干個點,最終通過這些點編制外冷噴油嘴的橢球面部分的數控程序,加工形成橢球面輪廓的方法是可行的,既節約了成本,也節省了加工時間。

  一、橢球面的逼近處理

  對于噴油嘴的橢球面部分,數學處理的任務是用直線段或圓弧段去逼近非圓輪廓。噴油嘴的零件圖如圖1所示。

  

  在車床上車削橢球面,車床系統只有直線插補和圓弧插補功能,沒有橢圓曲線插補功能。因此,對于橢圓曲線的逼近也有兩種方式。一是直線逼近:如果曲線方程比較簡單,又不準備做理論誤差驗算,那么借助計算器就可以完成,但直線逼近的誤差較大,只適用于比較粗糙的加工。另一種是用圓弧逼近。圓弧逼近一般應借助微機來完成,也有兩種逼近方式。

  一種方法是先按估計分段,編寫一個程序作逼近,然后再編一個程序驗算誤差,如果算出的誤差超過允許值,再回過來增加分段數,反復幾次,直到誤差略小于允許值為止。此法操作起來雖麻煩一些,但兩個程序都比較簡單。另一種方法是邊逼近邊計算誤差,使算出的逼近圓弧與實際輪廓間的誤差總是小于或等于某個允許值。

  這樣的程序雖然復雜一些,但機上操作就簡單多了。圖2所示的是噴油嘴的剖面圖。

  

  在噴油嘴橢球面部分的圓弧逼近中,本文選擇等誤差逼近方法,它能以最少的逼近圓

  弧段來獲得最高的逼近精度。如能把每段逼近圓弧與橢圓間的距離限制在1μm之內,那么由編程引起的理論誤差就可以忽略不計了。編制如此精密逼近的數控加工程序,關鍵是作等誤差逼近計算。只要算出每個逼近圓的數據,編寫加工程序就很方便了。

  1.方法的選擇

  對需要加工的那段橢圓作等分,如圖3所示。在AB上沿逆時針方向取點,依次為U1,U2,…,Un。一種取法是讓相鄰兩點間的x向距離相等,然后用橢圓方程算出各點的y值。這種取法的缺點是各區段弧長相差甚大,而且曲線段越長的區段的曲率變化越大。

  

  采用另外一種取法,即讓相鄰兩點的參數值相等。橢圓的參數方程如式(1)所示。

  

  看一下變量中的幾何意義。先以a、b為半徑作兩個同心圓,再作半徑OF,交于點E。從F點作X軸的垂線FD,再從 E點作X軸的平行線,并與FD交于A。把∠FOX作為變量,用Ф表示。把點 A確定在加工起點,并用U1(x1,y1)表示,令其相應的參數角為Ф1。給參數一個增量Δ Ф,令Ф1+ΔФ=Ф2,與Ф2相應的點用U2(x2,y2)表示,那么用此法沿逆時針依次取U3,U4,…,Un,Un應到達或略超過加工終點B,這種用相同參數增量取的點群,其相鄰兩點間的弧長相差不大。

  2.逼近圓的一般概念和計算

  在上述橢圓上任取兩點P(x1,y1)、Q(x3,y3),它們的參數角分別為C1、C3;在橢圓輪廓的PQ間取一點M2(x2,y2),使其對應的參數C2=(C1+C3)/2。令PM2、M2Q的中點分別為M4(x4,y4)和M5(x5,y5)。從M4、M5分別作PM2、M2Q的垂線,這兩條垂線交于O(x0,y0),O就是P、M2、Q三點決定的圓的圓心,亦即與PQ間橢圓曲線逼近的圓的圓心,OP是圓的半徑。根據已知條件來計算這個逼近圓。如圖4所示,直線OM4和OM5的方程聯立,解得這個圓的方程如式(2)所示。

  

  

  3.逼近圓誤差的一般計算

  把圖4的右半部分放大,作成圖5。令 OM4的延長線與圓的交點為M6(x6,y6)、與橢圓的交點為M8(x8,y8)。可以把M6M8的長度看作是這部分的最大誤差。為求M6M8的長度,先得計算M6、M8點的坐標值。M6的坐標是直線方程OM4和圓方程(2)組成的方程組的解。M8的坐標是由直線方程OM6和橢圓方程組成的方程組的解,式中的正負選擇與x4的正負號相同后,經過計算M6M8的長度為

  

  將右側PM2間的最大誤差D1與允許誤差作比較,判別是否超差。再用同樣的方法算出左側M2Q間的最大誤差D2,將它與允差作比較,判別是否超差。只有左右兩部分均未超差才能認定截取的PQ間沒有超差。

  

  4.實用逼近圓的選擇

  如圖3所示,先把第1、3點U1、U3分別作為P、Q點,即取P=1、Q=3。按上述方法作第一個逼近圓的計算、誤差計算和判別。如未超差,就改取U1、U4作為P、Q點,即取P=1、Q=4作第二個圓,再進行相應的計算和判別。只要不超差,圓就繼續試作下去。如作到第W個圓算出超差,那么前一個圓,即過P=1、Q=W-1點的圓,就是找到的第一個實用逼近圓。這個實用逼近圓Q點的坐標、圓心相對于P點的X、Y向距離I、J和圓半徑,都是有用的數據。

  接著找第二個實用逼近圓。將第一個實用逼近圓弧的終點 Q,即(Q=W-1)作為新的P點,緊接著的下一個點作為新的Q點,重新開始作第一個圓,經計算如不超差,就將Q再往前取一點,作第二個圓,直到作到第L個圓算出超差,那么前一個圓( L-1)就是找到的第二個實用逼近圓。這樣依次找下去,直到某個實用逼近圓弧的終點達到或超過橢圓的加工終點B為止,找到若干個實用逼近圓。

  二、C語言程序的編寫

  每個參數角增量取0.00063弧度比較適當,這意味著整個圓要分成近萬段。這就要計算近萬個圓和近兩萬個誤差,顯然這必須借助計算機來實現。根據以上的計算方法和思路,編制了C語言程序,部分程序如下.

  #include

  #include

  main()

  {

  double x,y,x0,y0,

  …

  ..,a,b,r,d1,d2;定義各個參數。

  Int q;

  c0=3*1.570796;初始點參數角值。

  c1=c0;

  c3=c0+q*0.00063;

  c2=(c1+c3)/2;

  x1=a*cos(c1);

  y1=b*sin(c1);

  x3=a*cos(c3);

  y3=b*sin(c3);

  ……

  scanf("%f,%f,%f”,&a,&b,&q);輸入橢圓的長軸,短軸以及點數

  printf("%f,%f,%f,%f,%f",a,bx, y,r,d1,d2);輸出逼近圓x,y的坐標值以及圓的半徑,

  d1,d2為是否超差,如超差,該值舍去

  }

  三、數控程序的編制及加工過程的實現

  該零件在CAK6150DI臥式數控車床上加工,該機床采用FANUC數控系統,這里需要注意一點,用C語言程序計算出來的x、y、r等值需要轉換成機床上的加工代碼,x值即是機床的z向坐標值,y值的2倍就是數控程序x軸的坐標值。編制的部分數控程序代碼如下。

  粗車部分程序:

  G00 x52.34,z45.0;

  G03 x59.23,z44.86,

  R58.53,F0.15;

  G03 x65.56,z38.01,

  R68.61,F0.15;

  G03 x71.09,z29.74,

  R79.12,F0.15;

  G03 x75.41,z19.55,

  R89.06,F0.15;

  G03 x77.58,z6.2,R96.66,F0.15;

  …

  精車部分程序:

  …

  G03 x59.60,z45.0,R58.91,F0.08;

  G03 x65.95,z38.10, R69.03,F0.08;

  G03 x71.47,z29.83, R79.55,F0.08;

  G03 x75.80,z19.63, R89.49,F0.08;

  G03 x78.0,z5.0, R97. 10,F0.08;

  G01 x36.5z5.0, F0.08;

  G00x36.5z50.0;

  T0100;

  M05;

  M30;

  四、結束語

  數控手工編程在任何時候都是必要的,是編程技術不可缺少的一部分。中等難度以下零件的手工編程的難點多在于數值點的計算和處理,而且手工編程并不排斥計算機的應用,通用軟件在輔助人工計算處理圖形節點、坐標數值點方面極為有效。通常進行人工計算需要花費半天甚至一天的圖形,利用編寫程序,在計算機上僅用十多分鐘就能完成數值計算,而且能保證一定的精度。所以根據逼近圓的方法,利用計算機輔助,最終通過數控編程實現了橢球面的加工。

  實踐證明,這種方法是可行的,不僅節約了成本,而且節省了加工時間。