2018年4月9日 星期一

正位度 True Position

正位度(TRUE POSITION)

正位度在幾何公差上的定義(作者自己的定義)是標明一個特徵(通常是圓柱狀物體或圓柱狀孔位)的位置之容許公差帶,和一般的公差表示法有所不同,一般常見的尺寸公差(圖一)
圖一
其可變動範圍長寬各為+-0.2,所以他的公差帶會是一個矩形,見圖二
圖二
公差帶的交集就是一個長0.4寬0.4矩形

至於正位度,它的公差帶是圓形的,這個是和普通的尺寸公差最大差別.
正位度的符號如圖三
圖三
由於正位度必須有參考的基準特徵(比如說基準面,基準軸,基準輪廓...),因此其標注方式通常如圖四
圖四
其意義為 所標註的圓柱狀特徵,以A基準當作參考的前提下,該特徵和A基準間的位置可以有直徑0.02的公差帶.
以一個實際例子來說,如圖五
圖五

圖五為一個版件上有一圓孔,該圓孔的直徑可介於19.9~20.1之間,而其正位度的解讀方式為,“不管該圓孔目前的直徑為多少,只要介於19.9~20.1之間,以A基準算過去50的長度,B基準算過去40的長度為圓心,實際加工出來的圓孔的圓心和基準對出來的圓心可以有直徑0.02的公差帶.如圖六所示,
圖六
至於為什麼要定義正位度這種公差呢?主要是為了組裝的設計需求而生,當今天有一整組孔要卡在一整組相對應圓柱體上,使用正位度公差比一般尺寸公差容易在製程上容易控制其尺寸和配合條件,當然這得配合上最大材料或最小材料條件的正位度公差,這個在下一篇會詳細說明.大致上正位度的入門就是這樣.
















2018年4月2日 星期一

Laser Tracker (02)-量測實務

日前有介紹過,對於60英呎(約1.5公尺)的鋁製棒材,有0.2度C的溫差時會有大概7um的熱膨脹長度差異,當雷射追蹤儀需要量測的物件都是非常大的(像747-400的機身長度有71公尺),而且現場並無法進行溫控,所以溫度差異造成的尺寸誤差是非常可觀的。因此在量測物件之前,就得先量測物件本身的溫度,確定物件本身的溫度為何~通常物件的設計人員會規定至少一個物件要取多少個溫度樣本,在物件的哪幾個地方取溫度樣本,同一時間的溫度樣本的差異不可超過幾度,每隔多少時間要取樣...等限制條件,跟CMM在恆溫條件(20度C+/-1度C)量測比起來,雷射追蹤儀需要注意更多外在因素,溫度就是其中一樣。
有了溫度和尺寸差異的問題後,為了解決這個問題,設計人員會訂定ㄧ個標準溫度(比如說20度C),並以標準溫度時的尺寸當做標稱尺寸(Nominal dimension),並以scale bar(我翻做比例尺棒)當做驗算標準,假定今天我在物件平均溫度為25度C時量測了所有尺寸,這些尺寸數據很明顯不可能和標稱尺寸(標稱為20度C)吻合,甚至無法達成公差要求。此時便需要把所有量測數據做Best Fit Transformation(最佳擬何轉換),轉換的矩陣就和機構學上的正向運動學的座標轉換矩陣類似,有空會再補ㄧ篇數學上的詳細計算~ 經過最佳擬何轉換後,量測數據和標稱尺寸的差異就會小很多,比例也會有所縮放(通常機器人學的關節運算或是CMM的疊代運算是不牽涉比例縮放的),因此會有個縮放前和縮放後的比值,我翻譯成比例因數(scale factor),但要如何保證轉換後的量測數據是可信的,此時就得靠比例尺棒了。
比例尺棒必須和物件的材料一致或熱膨脹係數相近,才有辦法驗證轉換的數據可信度。在量測物件溫度後,會再量測比例尺棒的溫度,先確保兩者溫度相近,在量測完物件的尺寸後,會再量測比例尺棒的長度,這比例尺棒的長度並不會參加最佳擬何轉換,而是我們轉換完後,會把比例尺棒的長度乘上比例因數來看比例尺棒的縮放長度是否和其標稱長度一致,如果在公差範圍內就代表轉換的結果是可信的。
這一篇就先寫到這,下一篇還是寫量測實務,因為使用這個儀器要注意的點真的一大堆

熱膨脹對長度的影響

最近用CMM量長度60 inch的鋁製棒材時發現了一個有趣的效應,當時量測室的溫度是19.3度C,然後棒材的溫度是19.5度C (從室溫27度放在量測室ㄧ個下午後的溫度),上CMM量測頭尾端重複5次,過程大約10分鐘,出來的結果是逐步縮小的,每次的結果都會很剛好的縮短0.0002 inch~0.0003 inch(約5-8um),後來計算了一下溫度差異即使在只有0.2度C的情況,會造成的熱膨脹差異總共會有:
鋁熱膨脹係數: 23.2 x 10e-6 /度C
鋁材長度: 60 inch*25.4 mm/inch=1524 mm
溫度差 0.2度C
總共會造成的差異為:
長度差=23.2*10e-6*1524*0.2=0.07007 mm =7.07um
所以即使在溫差很小(0.2度C)的情況,在中大型工件所造成的長度差異(7um)也是會讓工件超過公差的~~~
(如果配合熱傳導計算就能差不多能模擬每分鐘的溫度變化和長度變化了~~)

2018年3月19日 星期一

PythonOCC 使用心得

pythonOCC是個非常好用的工具,它就是把OpenCasCade包成python的library,基本上商用CAD/CAM軟體做得到的事情,它都能做到,加上它把QT也一起整合起來,因此使用和開發上是個很方便的工具,尤其是特殊客製化的功能上.

圖一 PythonOCC的繪圖介面

雷射追蹤儀(LASER TRACKER)簡介之二

由於雷射追蹤儀是移動式座標量測儀器,因此該儀器非常容易受到外在環境影響,所以在使用前都需做場檢查(Field Check).場檢查是為了確保環境的變因在量測可接受範圍內,通常要做的項目有: 溫度監測 場地穩定度檢查 雷射追蹤儀角度檢查 ADM/IFM檢查,一套完整的檢查搞下來大約1~2小時,是個耗時費工的檢查儀器.

2017年12月22日 星期五

Laser Tracker (ver. English)

Introduction
Laser Tracker is a kind of PCMM (Portable Coordinate Measuring Machine), for large size object measurement survey.

The applicable object could be like:
Airplane
or :
Submarine

or:
Windmill blades


So it is not hard to image how far this instrument can measure. Generally speaking, the maximum measuring distance of laser tracker is 50-80m.

The accuracy level of laser tracker is about 0.025mm at 5 meter long, 0.075-0.090mm at 80m. Take daily life object to make comparison, 0.075-0.090mm is about the diameter of a hair.

The appearance of this kind of  instrument is as following shown:

Faro Laser Tracker
Leica Laser Tracker
API Laser Tracker
The principle of this instrument is to put one retroreflector on the object to be measured.
Tracker will emit laser beam to the retroreflector, then the retorreflector will reflect the laser beam of laser tracker, tracker will calculate the distance by time deviation between sent and received beam(ADM mode: Absolute Distance Meter) and/or by wave path difference/interference between sent and received beam (IFM mode: InterFerence Meter ).
Then cooperate with azimuth and elevation encoder of tracker, the spherical coordinate of retroreflector will be defined. the spherical coordinate will be transferred to Cartesian coordinate system.
That is the principle of laser tracker.

Connect Mitsubishi Q series PLC with Ethernet by using C#

PLC setting

1. Open GX work 2 to set the protocol type and port of PLC.
2. Write the setting to PLC

PC setting

1.Open VS IDE
2.Select C#
3.refer Socket library
using System.Net.Sockets;
4.there are two types of protocol of PLC, TCP and UDP. Here we introduce both

5. TCP connection

5.1 Create TCP object
Socket mysocket = new Socket(SocketType.Stream, ProtocolType.Tcp);

5.2 Create IP object
byte[] address = { 192, 168, 3, 39 }
IPAddress addr = new IPAddress(address);

5.3 Connect to PLC
the first parameter is IPAddress object, the rear one is port number of PLC, it can be set in GX work2.
mysocket.Connect(addr, 1001);

5.4 Checking
create a bool object to check the connection is successful or not.
bool result = mysocket.Connected;

6. UDP connection

6.1 Create UDP object
Socket mysocket = new Socket(SocketType.Dgram, ProtocolType.Udp);

6.2 Create IP object
See section 5.2

6.3 Connect to PLC
the first parameter is IPAddress object, the rear one is port number of PLC, it can be set in GX work2.
mysocket.Connect(addr, 1025);

6.4 Checking
create a bool object to check the connection is successful or not.
bool result = mysocket.Connected;



同軸度 Coaxiality

同軸度和同心度是兩個非常容易搞混的幾何公差. 同軸度的符號如下: 跟正位度的符號是一樣的! 有這種設定,主要是它的定義和正位度的使用方法很像,反而跟同心度沒這麼相似. 首先來個範例: 由於這個不是繪圖軟體做的,只是示意用,不合工程圖規範的部分還請包涵. 這個是...