更新於 2024/10/13閱讀時間約 4 分鐘

簡易公差堆疊

製造公差是你總是會碰到的東西,因此設計時沒有適當考量下很容易發生問題。
不談電子產業,光是我從網路買回來的DIY家具就常常有組不上去的問題,這很明顯就是公差太大。大東西尚且如此,小東西更是得斤斤計較了。
在計算公差堆疊的時候的基本邏輯是:  目標尺寸鏈 - 決定計算方法 - 設定公差或是設定設計尺寸

目標尺寸鏈
要分析,也得先決定分析對象,尺寸鏈是第一個需要定義的東西。 上圖是一個簡單的PCBA示意圖,有一個簡單的CPU頭上頂一個散熱片。
基本上我們可以很直覺的指出,Hchassis = Hgap+Hhs+Hcpu+Hpcb+Hst 但是為了完整性我們通常會定義方向然後取 ΣHi =0

決定計算方法 (以下忽略幾何公差以簡化說明)
方法的從直覺到統計分別是: Worst-case - RSS- 6 sigma
不管選用了哪一種我們都需要每個已知料件的: 1.Nominal Dimension 2.Tolerance 來決定剩下的那一個設計尺寸
如果以一個基本的決定Hgap的計算來說,步驟可能是: 1. 撈出各個料件的圖面 (如果有人是標單邊公差,自己調回雙邊公差來計算) 2. ΣHi+ Σ|tolerance|=0 3. 移項之後你可以得到你要的Hgap 而各種計算方法主要是差在 Σ|tolerance| 項次的計算方法。
最後通常我們會整成一個表格來計算,也有寫好的,GOOGLE可以找到一狗票。
Worst-case (WC) 使用最直覺的一種,就是各種最糟狀況的總和(單項涵蓋率100%)。 那麼 Σ|tolerance| = Σ|tol_chassis|+Σ|tol_hs|+ Σ|tol_cpu|+…… 問題是,公差呈線性堆疊,料件越多會越顯誇張
RSS 納入了統計學原理,並"假設"製造的統計分布為常態分佈。在定義標準差為3σ底下(也就是單項涵蓋率99.72%的狀況), Σ|tolerance| = sqrt(tol_chassis^2+tol_hs^2+tol_cpu^2+……) 這種算法下,公差堆疊的速度會隨著項次增加而平緩 舉例來說如果有5項公差0.5的料件堆疊,worst-case的結果是0.5×5=2.5,RSS則是sqrt(0.5^2 x 5)=1.12。 留1.12 mm gap還是2.5mm gap 可能就是還能接受或是Layout發飆的差別。 而實際上,目前主流也是這種作法居多,合理又好用
6 sigma 如果想把涵蓋率推進到6 σ這種變態的境界,那麼你得要另外再考量分布形狀的偏移,也就是納入Cpk值的影響。 這種算法下的Σ|tolerance| 項就不再是手能算的了。同時也很麻煩,因為不是所有廠商都有能力提供你Cpk資料。因此反而使用上限制高。
上述三種方法其實都有人用,差別在於成本的取捨 比如說你堆疊件數少,公差累積還能接受,大可直接使用WC取得寧可錯抓不可錯放的效果。當你料件多切去RSS也是完全合理,甚至供應商水準很夠,那麼也沒有理由不用升級版的6 sigma

設定公差/尺寸
其實這才是最後的目的,諸多限制下決定你的設計。
設定尺寸相對好理解,為什麼要設定公差?
雖然數學上我們可以算出任何的數字,但是在製造的世界永遠有極限,極限往前推一點點成本是巨大的差異
其中可能是製成工藝的限制,或是透過打掉來達成出貨標準,想當然爾成本都會轉嫁回料件單價
透過合理的"分配"公差,例如1mm的空間可以分成0.9+0.1也可以分成0.5+0.5,然而0.5mm可能對廠商不是難事,但是0.1mm可能是很貴或是根本沒辦法。
在機構料件本來就便宜的如今,這一點點差別佔成本比例可能就很高了。
順帶一提,像是上面的例子至少就被我忽略了錫高厚度,幾何公差,同樣的,在實際製程中,我們總是很有可能漏抓,所以加上一點點安全餘量,保護自己也是很合理的吧 ^ ^

附錄: 常見加工精度
(1條: 0.01mm(機械)/1mil(Layout) ): 0.1mm級 (同一個數量級都還是各有操作空間) PCB Mass Lamination: 10% thickness 鋁擠: 0.5mm, 0.3mm punch: 0.3mm Die Cast: 0.3mm
0.01mm級 (同一個數量級都還是各有操作空間) 銑床: 0.05mm 射出成形: 0.05mm SMT: 0.03mm 車床: 0.01mm
0.001mm級 (同一個數量級都還是各有操作空間) EDM: 0.005mm CNC: 0.005mm 磨床: 0.003mm

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.