射出成型模具設計常見問題:變形、縮水與脫模不良怎麼避免

Published on: | Last updated:

先說結論,這三個問題其實是「連體嬰」

好,我們今天來聊一下射出成型,特別是模具設計這一塊。嗯…很多剛入行的工程師或設計師,最頭痛的大概就是三件事:產品做出來會變形、會縮水,還有很難脫模。我看了很多網路上的文章或是一些…你知道的,教學手冊,它們很習慣把這三個問題分開來講。 跟你說,啊,縮水就加保壓;變形就調冷卻。 這樣講…不能說錯,但很容易讓你掉到一個陷阱裡。

老實說,我自己是覺得,變形、縮水、脫模不良這三個根本就是「連體嬰」。你動了其中一個,另外兩個一定會被影響。你為了處理縮水,把保壓加得滿滿的,結果內應力太大,產品一出模就翹得跟什麼一樣,這就是變形。 然後你為了讓它好脫模,拔模角做得很大,結果又影響到產品外觀跟尺寸。所以,重點從來不是單獨解決一個問題,而是怎麼在這三個之間找到一個…嗯…一個平衡點。

今天我想聊的,就是這個「平衡」的思維。這不是那種條列式的SOP,比較像是我自己這幾年在現場跟模具廠、跟客戶吵架…呃不對,是溝通…溝通之後整理出來的一些心得。很多時候,你網路上查到的標準解決方案,跟實際在台灣工廠老師傅的做法,其實會有落差。這沒有誰對誰錯,只是考量的點不一樣。比如說,國外的資料很強調前期用模流分析軟體(像是Autodesk Moldflow)去模擬,把問題抓出來。 但在台灣,很多時候還是靠老師傅的經驗,直接在模具上做調整,這速度快,但也很吃經驗。

為什麼網路上的教學,有時候沒用?

我直接講白了,很多教學文章最大的問題,就是把「製程參數」跟「模具設計」混在一起談,而且是事後補救的思維。它們會告訴你,啊,產品翹曲了,那你去調一下射出壓力、降一下模溫看看。 這對現場的射出技術員當然有用,但如果你是產品設計師或模具工程師,你的工作應該是在更前面,在模具鋼材都還沒切下去之前,就把這些問題預防掉七八成。

你看,大部分的文章會這樣分類:

  • 變形(Warpage):原因是不均勻收縮、內應力。 解決方法是優化冷卻水路、調整肉厚。
  • 縮水(Shrinkage):原因是壓力不足、補料不夠。 解決方法是加大澆口、提高保壓。
  • 脫模不良(Sticking):原因是拔模角不夠、模面太粗糙。 解決方法是加大角度、拋光模面。

這看起來都沒錯,對吧?但魔鬼就在它們的關聯性裡。你提高保壓去救縮水,產品內應力就會飆高,更容易翹曲變形。 你為了閃開縮水,把產品肉厚做得超級薄,結果它就變得軟趴趴,頂出的時候一不小心就變形了。 所以,我們不能只看單點,要把整個系統串起來看。

概念示意圖:模具內的壓力、溫度與冷卻的交互作用
概念示意圖:模具內的壓力、溫度與冷卻的交互作用

怎麼做?從源頭設計解決「變形、縮水、脫模」的連鎖反應

好,那具體要怎麼做?我的習慣是,在開模前,就先在腦中跑一遍射出場景。忘掉那些單獨的參數,我們從產品的「一生」來看:從塑膠熔膠進去,到最後成品頂出來。我把它分成三個階段來思考:充填保壓、冷卻固化、成品頂出。

階段一:充填與保壓——縮水與變形的源頭

這個階段是最多問題的根源。塑膠料怎麼進去、壓力怎麼傳遞,幾乎決定了縮水跟變形的一半。

  • 肉厚均勻是聖經:這句話講到爛了,但它就是最重要的事。 塑膠是流體,它會挑好走的路走。你設計一個地方3mm厚,旁邊突然變成1mm,那塑膠料一定是先衝去3mm的地方,等它要擠進1mm的薄區時,可能已經半冷卻了,壓力也傳不過去,那邊就會縮水,甚至射不飽。 這種不均勻的流動跟壓力,就是造成內應力的元兇,也就是變形的根本原因。
  • 澆口不是隨便開的:澆口的位置決定了塑膠怎麼流,也決定了纖維材料的排向(如果你用的是加纖料)。 纖維排向會嚴重影響收縮率,順著流動方向的收縮和垂直方向的收縮會不一樣,這叫異向收縮,是造成翹曲的主因之一。 所以澆口最好是開在產品最厚的地方,從厚的地方往薄的地方推,壓力傳遞才會順。
  • 保壓是雙面刃:保壓是為了補充塑膠冷卻收縮的體積,防止縮水。 壓力夠、時間長,縮水痕就會不明顯。但就像我前面說的,過度的保壓會把應力鎖在產品裡,像個不定時炸彈。 所以,與其靠超高保壓硬塞,不如回頭去檢查,是不是肉厚不均或澆口位置不對,導致壓力傳遞不順?

階段二:冷卻與固化——決定最終形狀的關鍵

塑膠在模具裡冷卻的過程,就像在做「定型」。這邊冷得快、那邊冷得慢,產品就會被拉扯,最後就變形了。

  • 冷卻水路要公平:模具的冷卻水路設計,講求的是「公平」。 產品的每一區都要盡可能用同樣的速度冷卻下來。如果有一邊的水路離產品很遠,或是被機構擋到,那邊就會變成熱點,冷得慢、收縮就多,最後整個產品就會往那個方向彎過去。 我看過一個國外的案例,他們甚至會在熱點區域鑲嵌導熱性更好的銅合金,就是為了讓溫度均勻。 這在台灣比較少見,成本考量嘛,但這個思路是絕對正確的。
  • 材料特性決定一切:不同的材料,天性就不一樣。非結晶性的材料,像ABS、PC,收縮率比較低也比較均勻,問題相對單純。 但如果是結晶性的材料,像是PP、PA(尼龍),它們的收縮率就很高,而且結晶過程很敏感,冷太快或太慢,結晶程度不同,收縮量也不同,變形就很難搞。 特別是加了玻璃纖維的PA,纖維排向跟結晶收縮兩個因素加在一起,預測變形會變得很複雜。
實務檢測:工程師正在用卡尺量測翹曲的塑膠件
實務檢測:工程師正在用卡尺量測翹曲的塑膠件

階段三:成品頂出——臨門一腳的藝術

產品在模具裡都好好的,結果一頂出來就壞了,這真的會讓人吐血。脫模問題通常跟變形綁在一起。

  • 拔模角是救命符:不要跟拔模角過不去。很多ID設計師為了美觀,喜歡做垂直的牆面,但在模具廠眼中這就是災難。 塑膠冷卻時會收縮,緊緊地抱住模具的公模仁,沒有足夠的拔模角,頂出時的摩擦力會非常大,輕則在表面留下刮痕、拉白(應力痕),重則直接把產品頂到變形,甚至頂不出來卡死在模具裡。 一般來說,光面的最少最少要0.5度,有咬花(紋理)的表面,根據紋路的深度,至少要2到5度才安全。
  • 頂針不是亂插的:頂出機構的設計也是一門學問。頂針要頂在哪裡?要用多大的頂針?這都要看產品的結構。原則是,頂在結構剛性最強的地方,像是肋、柱子的正下方。 千萬不要頂在一大片平坦的薄肉區,那很容易會留下一個白白的頂針印,甚至直接把產品頂穿一個洞。如果產品是一個薄殼盒子,最好的方式其實不是用頂針,而是用「剝料板」或「推板」整圈去推,受力均勻,產品就不容易變形。

一個假想案例:設計一個簡單的塑膠收納盒

我們來想像一下,今天你要設計一個長方形的ABS收納盒,尺寸大概是20x10x8公分,肉厚2.5mm。聽起來很簡單吧?但我們用剛剛的思路來跑一次。

很多新手可能會直接畫出一個方方正正的盒子。但這樣問題就來了:

  1. 縮水:底部是一個大平面,中心區域離澆口最遠,也最慢冷卻,非常容易產生縮水痕。
  2. 變形:四個又高又直的側壁,在冷卻收縮時會向內拉,很可能會變成一個…嗯…內凹的梯形。
  3. 脫模:四個垂直的壁面,抱緊力超大,頂出時很容易在內側底部留下白白的頂針印。

那要怎麼優化?

  • 設計面:首先,底部的大平面,我會在反面(內部)做一些井字形的補強肋,大概1.2mm厚(差不多是主肉厚的一半)。 這樣既能增加強度,又能把底部的大肉厚打散,減少縮水的機會。再來,四個側壁,內外都給它1.5度的拔模角。 所有的轉角,不管是內R還是外R,都至少給個R1.0,不要做成銳角,銳角超級容易累積應力。
  • 模具面:澆口,我會選擇用三個點澆口,平均打在長邊的側壁上,而不是從底部中間進膠。這樣流動比較平衡,也能避免在底部的外觀面留下疤痕。冷卻水路要盡量貼近盒子的四個側壁,並且確保公模仁(盒子內部)跟母模(盒子外部)的模溫不要差太多,溫差超過5-10度就容易翹。 頂出機構,我會放棄傳統的頂針,改用一整圈的剝料板去推盒子的邊緣,這樣脫模最穩,外觀也最漂亮。

你看,這樣思考一輪,我們根本還沒碰到什麼射出壓力、保壓時間這些參數,就已經把大部分潛在的問題給排除了。這才是設計的價值所在。

結果對照:左邊是理想的成品,右邊則有明顯的縮水痕
結果對照:左邊是理想的成品,右邊則有明顯的縮水痕

問題排解的思考矩陣

好,雖然我說預防勝於治療,但有時候問題還是會發生。這裡我整理一個簡單的比較表,但它不是標準答案,比較像是一個思考方向,讓你看到這幾個問題是怎麼互相影響的。

問題現象 可能原因(設計觀點) 常見的「治標」手法 可能會引發的「新問題」
變形/翹曲 (Warpage) 肉厚差異太大、冷卻不均勻、纖維排向不對稱。 調整模溫、延長冷卻時間。 週期時間拉長,成本增加。模溫降太多,可能會流動不順,產生結合線。
縮水/凹陷 (Sink Mark) 產品局部肉太厚、澆口太小或離太遠、補料壓力不足。 提高保壓壓力跟時間。 內應力變大,更容易變形。 如果鎖模力不夠,還可能產生毛邊。
脫模不良/拉傷 (Sticking/Drag Marks) 拔模角不足、模具表面太粗糙(特別是咬花面)、頂出系統設計不良。 噴離型劑、降低射速讓產品收縮小一點。 離型劑可能會污染產品,影響後續印刷或組裝。降低射速又可能造成短射或縮水更嚴重。

結論:別當一個只會畫圖的設計師

總結一下,嗯…我覺得,射出成型是一個充滿妥協的藝術。你不可能得到一個十全十美的產品,總是要在成本、外觀、尺寸精度和生產效率之間做取捨。變形、縮水和脫模這三兄弟,就是逼你做出選擇的考驗。

所以,對產品設計師或機構工程師來說,最重要的能力,真的不是CAD畫得多快多漂亮,而是你對「製造」的理解有多深。 你要能預見到你畫的這條線、這個面倒下去工廠會發生什麼事。多跟模具廠的師傅聊聊,多去射出現場看看,你會學到比書本上多太多的東西。當你腦中有了一整個製造流程的畫面,你設計出來的東西,自然就能避開大部分的坑。這也是一個好的設計師,跟一個只是會操作軟體的繪圖員,最大的差別。

🎁 解鎖本篇限定Google外掛

專業級射出成型問題追蹤儀:標準化紀錄、統計與對策自動建議

射出成型現場常被幾個麻煩鬼纏上:變形、縮水、脫模不良。很多同事喜歡把問題寫在便條紙或白板,結果過幾天就找不到記錄,導致重複犯錯。有一次我在協助生產線查良率問題,發現上次修正過的縮水參數,早被新來的人「誤調」回去,問也沒人記得。沒紀錄、沒系統,靠人腦很快就失守。

請複製下方 Apps Script:自動化紀錄每次射出成型問題,統計缺陷類型、提供預設對策

這個工具可讓使用者快速登記問題,並自動統計缺陷類型分布,同時根據選擇自動建議處理對策。


// === 射出成型問題追蹤儀 ===

function doGet(e) {
  var html = [];
  html.push('<html><head><meta charset="UTF-8">');
  html.push('<title>射出成型問題追蹤儀</title>');
  html.push('<style>body{font-family:sans-serif;max-width:460px;'
    + 'margin:32px auto;background:#f7f7f7;padding:32px;}'
    + 'label{display:block;margin:8px 0 2px;}'
    + '.btn{margin-top:10px;background:#1155cc;color:#fff;'
    + 'border:none;padding:8px 18px;font-size:16px;border-radius:4px;}'
    + '.sec{background:#fff;padding:16px;margin:16px 0;'
    + 'border-radius:8px;}'
    + '.err{color:#c00;font-size:13px;}</style></head><body>');

  html.push('<h2>射出成型問題追蹤儀</h2>');
  html.push('<form id="f1" onsubmit="return send()">');
  html.push('<div class="sec">');
  html.push('<label>日期:</label>');
  html.push('<input type="date" id="dt" required>');
  html.push('<label>模具編號/名稱:</label>');
  html.push('<input type="text" id="mold" maxlength="20" required>');
  html.push('<label>缺陷類型:</label>');
  html.push('<select id="defect" onchange="showHint()">'
    + '<option value="變形">變形</option>'
    + '<option value="縮水">縮水</option>'
    + '<option value="脫模不良">脫模不良</option>'
    + '<option value="其他">其他</option>'
    + '</select>');
  html.push('<label>現象說明:</label>');
  html.push('<textarea id="desc" rows="2" cols="36" maxlength="60"></textarea>');
  html.push('<label>處理對策:</label>');
  html.push('<textarea id="sol" rows="2" cols="36" maxlength="60"></textarea>');
  html.push('<div id="hint" style="color:#117777;font-size:13px;margin:4px 0 0 0;"></div>');
  html.push('<br><button class="btn">登記問題</button>');
  html.push('<span id="msg"></span>');
  html.push('</div>');
  html.push('</form>');
  
  html.push('<div class="sec"><h4>本月缺陷統計</h4>');
  html.push('<div id="stat">讀取中...</div>');
  html.push('<button class="btn" onclick="reloadStat()" '
    + 'type="button">手動刷新</button></div>');
  
  html.push('<div class="sec"><h4>歷史登記紀錄(最近10筆)</h4>');
  html.push('<div id="rec">讀取中...</div></div>');
  
  html.push('<script>');
  
  html.push('function send(){'
    + 'var d=document;'
    + 'var dt=d.getElementById("dt").value;'
    + 'var m=d.getElementById("mold").value.trim();'
    + 'var de=d.getElementById("defect").value;'
    + 'var ds=d.getElementById("desc").value.trim();'
    + 'var so=d.getElementById("sol").value.trim();'
    + 'if(!dt||!m||!de){alert("必填欄位請填!");return false;}'
    + 'd.getElementById("msg").textContent="傳送中...";'
    + 'google.script.run.withSuccessHandler(function(r){'
    + 'd.getElementById("msg").textContent=r;reloadStat();getRec();'
    + 'd.getElementById("f1").reset();showHint();'
    + '}).addRecord(dt,m,de,ds,so);return false;}');

  html.push('function showHint(){'
    + 'var v=document.getElementById("defect").value;'
    + 'var hint="";'
    + 'if(v=="變形") hint="建議檢查冷卻、脫模角度與射出壓力";'
    + 'else if(v=="縮水") hint="可試著調降保壓時間或提升料溫";'
    + 'else if(v=="脫模不良") hint="建議檢查模具表面/加大脫模斜度";'
    + 'document.getElementById("hint").textContent=hint;}');

  html.push('function reloadStat(){'
    + 'google.script.run.withSuccessHandler(function(res){'
    + 'document.getElementById("stat").innerHTML=res;}).getStat();}');
  
  html.push('function getRec(){'
    + 'google.script.run.withSuccessHandler(function(res){'
    + 'document.getElementById("rec").innerHTML=res;}).getRecent();}');
  
  html.push('showHint();reloadStat();getRec();');
  html.push('</script></body></html>');
  return HtmlService.createHtmlOutput(html.join(""));
}

// 寫入紀錄
function addRecord(dt, mold, defect, desc, sol) {
  var sh = getSheet();
  sh.appendRow([new Date(dt), mold, defect, desc, sol]);
  return "登記完成";
}

// 統計本月缺陷類型分布
function getStat() {
  var sh = getSheet();
  var now = new Date();
  var m = now.getMonth(), y = now.getFullYear();
  var vals = sh.getDataRange().getValues();
  var cnt = {變形:0,縮水:0,脫模不良:0,其他:0};
  for(var i=1;i<vals.length;i++){
    var d = new Date(vals[i][0]);
    if(d.getMonth()==m && d.getFullYear()==y){
      cnt[vals[i][2]] = (cnt[vals[i][2]]||0)+1;
    }
  }
  var html = [];
  html.push('變形:'+cnt['變形']+' 筆<br>');
  html.push('縮水:'+cnt['縮水']+' 筆<br>');
  html.push('脫模不良:'+cnt['脫模不良']+' 筆<br>');
  html.push('其他:'+cnt['其他']+' 筆');
  return html.join('');
}

// 取得最新10筆資料
function getRecent() {
  var sh = getSheet();
  var vals = sh.getDataRange().getValues();
  if(vals.length<2) return '(尚無資料)';
  var html = [];
  for(var i=vals.length-1;i>0 && i>vals.length-11;i--){
    var v = vals[i];
    html.push(v[0].toString().slice(5,10)+'|'+v[1]+'|'+v[2]
      +'|'+(v[3]||'')+'<br>');
  }
  return html.join('');
}

// 檢查並建立表單
function getSheet(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheetByName('射出缺陷紀錄');
  if(!sh){
    sh = ss.insertSheet('射出缺陷紀錄');
    sh.appendRow(['日期','模具編號/名稱','缺陷類型','現象說明','處理對策']);
  }
  return sh;
}

標準化部署流程:從空白 Sheet 到專業級工具

照著一步步做,一定能成功上線!

  1. 開啟 Apps Script 編輯器
    動作:在 Google 試算表點選「擴充功能」→「Apps Script」
    位置:「擴充功能」在最上方選單,約右側第三個
    結果:會跳到新的分頁,進入 Apps Script 編輯器畫面
    ⚠️ 有同事之前用公司帳號,一直卡在這,結果發現權限被管 IT 鎖住;有些人瀏覽器攔截彈窗也進不去,記得檢查!
  2. 清空並貼上程式碼
    動作:全選(Ctrl+A),刪掉,再貼上上面程式碼(Ctrl+V)
    位置:編輯器中間的白色區域
    結果:畫面只剩這份專案內容,不要留舊的
    ⚠️ 之前遇過新手只貼在檔尾,結果有兩個 function 名稱打架,根本跑不動,一定要先刪乾淨。
  3. 儲存專案
    動作:點「儲存」磁碟片,或 Ctrl+S
    位置:編輯畫面上方,左側有個小磁碟片圖案
    結果:第一次會跳出視窗要你取個專案名字,取什麼都無所謂
    ⚠️ 有人忘了按存檔就去部署,結果新程式根本沒上,等於白忙。
  4. 部署為網頁應用程式
    動作:點右上角藍色「部署」→「新增部署作業」
    位置:「部署」鈕就在右上很明顯
    結果:會跳出設定視窗
    子步驟:
    1. 點齒輪選「網頁應用程式」
    2. 「執行身分」選「我」
    3. 「誰可以存取」一定要選「任何人」
    4. 再點下方「部署」
    ⚠️ 有一次現場技術員問我說網頁打不開,結果存取權限只給自己,公司內網的人都進不去,一定要選「任何人」。
  5. 處理授權警告
    動作:跟著畫面流程授權
    結果:會跳出紅色警告「Google 尚未驗證這個應用程式」
    處理:先點「進階」,再點「前往(不安全)」最後按「允許」
    ⚠️ 剛用的人每次看到紅色警告都會問我是不是中毒,其實這只是自己寫的程式沒送 Google 審核,專業圈子都習慣這樣操作,請安心。
  6. 取得網址,開始使用
    動作:複製跳出來的網頁應用程式網址
    位置:授權完畫面會秀出一條 https://script.google.com/ 開頭的網址
    結果:貼到瀏覽器就能用,任何有網址的人都可操作
    ⚠️ 常見誤區:每次有更新程式一定要重新部署,不然網址內容不會變,會一直卡舊版。
⚠️ 關於紅色授權畫面:「尚未驗證」不是病毒警告
這個畫面只會出現在你用自己的 Apps Script 第一次部署時,因為 Google 不知道你是不是壞人,沒送審都會跳警告。只要你自己寫、自己用(或只給熟識團隊用),按「進階」→「前往...」→「允許」就好。多數業界工具都會遇到這步,正常情況,程式不會有安全風險。

射出現場標準化問題處理的最佳場景

有一次現場開早會,主管追問「上禮拜縮水是哪個模?怎麼調解決?」如果大家都用這工具登記過,只要打開網頁一查,馬上秀出完整歷史記錄,不用再翻報表、查群組。另一種情境是:新手技術員遇到「脫模不良」,系統會自動建議基本處理方式,至少不會一上來就亂調參數。這些都幫助現場快速回溯原因,也能減少重複犯同樣錯誤。專業現場就該這麼穩。

Related to this topic:

Comments

  1. profile
    Guest 2025-10-21 Reply
    射出成型模具設計,唉,這個我真的挺有經驗的。亞洲跟歐洲廠那個風格有時還蠻不一樣,尤其講到變形、縮水,每個人都有他們獨家的做法。之前在德國跟台灣的工程師一起,比數據、秀模流分析、然後再看實際成品會不會翹,大家拿著測量報表討論半天,感覺只靠肉眼,根本搞不定,比較精準還是得信賴那些正式量測資料才行。 防止變形的部分,我遇過比較有效的是直接動手去調進澆口的位置,那次算很明顯,調了馬上就好轉一些。至於脫模瑕疵,一開始真的蠻讓人抓狂,偏偏頂出速度只要設定得剛剛好,有時整個瑕疵率就掉下來了。這種小招,其實都得靠多花點心思去試,願意慢慢調,主管看到數字變漂亮,都會忍不住讚一下,超有成就感的。