塑膠射出模具製造常見應用:電子零件、汽機車與工業產品

Published on: | Last updated:

先說結論

OK,直接講重點。你身邊看到的大部分塑膠製品,尤其是數量很多、長得一模一樣的,八九不離十都是「塑膠射出」做的。從你手上的滑鼠、鍵盤,到路邊汽車的保險桿,都是。這技術的核心就是「大量複製、壓低成本」。所以,想做一個東西,而且要做個幾千幾萬個,那大概率就要靠射出成型。

所以,到底都用在哪?

這東西的應用範圍真的太廣了,幾乎可以說是無所不在。我們今天主要看三個領域:電子、汽機車、還有一些工業用的東西。

電子零件:求的是又小又準

想想看筆電外殼、手機的SIM卡托盤、各種充電器的接頭... 這些東西的特點就是,精密度要求很高,而且常常有很複雜的卡榫或散熱孔。 射出成型剛好可以滿足這點。模具只要開得夠精準,就能一直複製出一模一樣、公差極小的零件。

材料方面也很講究。例如,筆電外殼常用PC+ABS塑膠,而不是單純的ABS。 為什麼?因為ABS雖然耐衝擊,但沒那麼耐熱;PC(聚碳酸酯)剛好相反,耐熱但比較脆。 兩個混在一起,就變成了又耐撞又耐熱的「合金塑膠」,完美符合筆電的需求。還有像是各種連接器,會用到PA(尼龍)這種材料,因為它的摩擦係數低、有絕緣性,而且很耐磨。

各種微型電子連接器與齒輪的特寫
各種微型電子連接器與齒輪的特寫

汽機車零件:耐操、耐候是基本

汽車就更有趣了,一輛車上面有超多塑膠零件。 最明顯的就是保險桿,現在幾乎都是塑膠做的,材質大多是PP(聚丙烯)。 為什麼用PP?因為它有彈性、耐衝擊,發生小擦撞時能吸收能量,不像金屬會直接凹進去,而且成本也比較低。

車內的儀表板、門板也是塑膠大戶。 這些地方除了要耐用,還要考慮到耐曬、耐高溫。你想想,車子夏天停在外面,車內溫度高得嚇人,如果儀表板不耐熱,很快就會變形、脆化。所以這邊常用改性的PP或是ABS。 還有車燈的透明燈殼,常用的是PC或PMMA(壓克力),因為它們的透光性超好,而且PC的耐衝擊性強,不怕路上被小石頭噴到。

自動化機械手臂從射出機中取出成型的汽車保險桿
自動化機械手臂從射出機中取出成型的汽車保險桿

工業產品:功能決定一切

這個範圍就更廣了。像是電動工具的外殼、各種機械設備上的齒輪、水管閥門的把手等等。 這裡的考量就非常「功能導向」。比如電動工具外殼,需要非常好的衝擊韌性(不然摔到就裂了),所以常用加了玻璃纖維的PA尼龍。POM(聚甲醛,俗稱塑鋼)也很常見,它的特性是剛性好、摩擦力小、不易疲勞,很適合做一些需要重複運動的齒輪或扣具。

這技術是怎麼回事?

簡單講,就像是做果凍。先把塑膠粒(原料)加熱融化成液體,然後用超高壓力把它「射」進一個金屬模具裡。 等它在模具裡冷卻、變回固體後,把模具打開,一個成品就出來了。這個過程可以一直重複,速度很快,所以能大量生產。 關鍵就在那個模具,模具開得好不好,直接決定了產品的品質。

不同產品,玩法也不同

雖然原理一樣,但針對不同產品,眉角差很多。拿電子零件和汽車零件比就知道。

}
電子零件 vs. 汽車零件的模具需求差異
考量點 電子零件 (如:筆電外殼) 汽車零件 (如:保險桿)
尺寸精度 極高。要跟螢幕、鍵盤完美密合,差0.1mm都不行。 相對寬鬆。主要是跟車身的安裝點要對上,外觀線條流暢就好。
外觀要求 非常高。不能有刮痕、亮點、色差。常常還要做咬花、噴漆等二次加工。 重點在耐候性和表面平整度,準備後續噴漆。對微小瑕疵的容忍度比電子品高。
材料選擇 PC/ABS、PA+GF(加纖尼龍)。重點是輕薄、強度、散熱和電氣性能。 PP、TPO。重點是耐衝擊、耐候(抗UV、高低溫)、成本。
模具壽命 中到高。消費性電子產品生命週期短,模具可能打個幾十萬模就換代了。 非常高。一個車款可能賣好幾年,模具要能撐百萬模以上,所以模具鋼材要用很好的。
從塑膠原料到成品的概念圖
從塑膠原料到成品的概念圖

不過,要注意的坑也不少

做射出產品,尤其如果要外銷,現在有一個大魔王要特別注意,就是「環保法規」。特別是歐盟的 REACH 法規。

最近歐盟搞了一個大動作,在 REACH 法規底下新增了對「塑膠微粒」的限制。 從2023年9月開始,他們禁止在產品中「刻意添加」合成聚合物微粒。 雖然這主要是針對化妝品、亮粉之類會直接釋放到環境的東西,但這個趨勢很明顯:歐盟對塑膠的態度越來越嚴格。 如果你的產品在製程中會用到某些助劑,或表面塗層有可能被歸類到微塑膠的範疇,那就要非常小心了。

反過來看台灣,我們的法規目前比較聚焦在「源頭減量」。環保署從2018年(民國107年)就開始禁止製造、輸入和販賣含有塑膠微粒的洗面乳、牙膏等個人清潔用品。 這個管制範圍跟歐盟現在全面性的做法比起來,還是有差。台灣的管制主要針對的是會直接沖入下水道的「柔珠」類產品。 對於工業產品本身,目前還沒有像歐盟那樣明確的規範。所以,如果你的客戶在歐洲,千萬要去了解一下最新的 REACH Annex XVII,這點跟只在台灣本地銷售的思維很不一樣。有需要的話,可以去問問「財團法人塑膠工業技術發展中心」,他們是台灣這方面的專家。

常見錯誤與修正

最後,整理幾個新手常踩的雷:

1. 選錯材料:只看價格,不看物性。結果做出來的東西要嘛太脆,要嘛不耐熱。修正:乖乖看規格書(TDS),或者直接找材料商討論你的使用環境。

2. 忘了做「脫模角」:以為垂直的側面可以順利脫模。結果產品卡在模具裡出不來,表面都是刮痕。修正:所有跟開模方向平行的面,都要給個至少0.5到1度的斜度。

3. 肉厚不均:產品有的地方超厚,有的地方超薄。結果厚的地方冷卻太慢,表面就凹下去了(縮水)。修正:盡量讓產品的厚度保持一致,如果不行,就在厚的地方背面做「減肉」處理。

總之,塑膠射出是個很成熟但也很多細節的技術。從設計、選料到開模,每個環節都得想清楚才行。


互動一下: 在你的工作中,你接觸過最有趣或最挑戰的塑膠射出產品是什麼?歡迎在下面留言分享!

🎁 解鎖本篇限定Google外掛

專業級塑膠射出生產履歷紀錄工具:模具應用全流程標準化

塑膠射出工廠最怕什麼?不外乎是現場數據混亂、產品追溯困難,尤其電子零件、汽機車零組件這種「一出錯就大條」的產業,只靠紙本紀錄根本撐不住。一個現場主管跟我反應,他常常搞不清楚哪批料用了哪顆模、哪個機台、誰負責生產。就算有 Excel,也很難標準化流程,漏登、筆誤、歷史紀錄查詢超崩潰。這類痛點,靠 Google Apps Script 打造「現場輸入→自動彙整→歷史追溯」的專業級工具,效果出乎意料地穩。

立即複製:塑膠射出製程履歷紀錄工具完整腳本

這份工具結合資料輸入、Google Sheet寫入與動態紀錄查詢,現場人員與主管都能快速掌握模具生產資訊。


// === 塑膠射出製程履歷紀錄工具 ===

function doGet(e) {
  var html = [];
  html.push('<html><head>');
  html.push('<meta name="viewport" content="width=device-width, initial-scale=1">');
  html.push('<style>body{font-family:sans-serif;}');
  html.push('.box{background:#f7f7f7;padding:28px;max-width:460px;');
  html.push('margin:36px auto;border-radius:6px;}');
  html.push('label{display:block;margin-top:12px;}');
  html.push('input,select{width:98%;margin:6px 0 0 0;padding:8px;}');
  html.push('button{margin:18px 6px 0 0;padding:8px 20px;font-size:15px;}');
  html.push('table{margin-top:25px;border-collapse:collapse;width:100%;}');
  html.push('th,td{border:1px solid #bbb;padding:6px 7px;font-size:13px;}');
  html.push('</style></head><body>');
  html.push('<div class="box">');
  html.push('<h2>射出生產履歷登錄</h2>');
  html.push('<form id="entryForm">');
  html.push('<label>產品類別:');
  html.push('<select name="type">');
  html.push('<option value="電子零件">電子零件</option>');
  html.push('<option value="汽機車">汽機車</option>');
  html.push('<option value="工業品">工業品</option>');
  html.push('</select></label>');
  html.push('<label>產品名稱:<input name="prod" required></label>');
  html.push('<label>模具編號:<input name="mold" required></label>');
  html.push('<label>生產人員:<input name="staff" required></label>');
  html.push('<label>數量(pcs):<input type="number" name="qty" min="1" required></label>');
  html.push('<button type="button" onclick="submitData()">存檔</button>');
  html.push('<button type="button" onclick="loadLog()">刷新歷史紀錄</button>');
  html.push('</form>');
  html.push('<div id="result" style="margin:18px 0 0 0;color:#117a65"></div>');
  html.push('<div id="history"></div>');
  html.push('</div>');

  html.push('<script>');
  html.push('function submitData(){');
  html.push('  var f = document.getElementById("entryForm");');
  html.push('  var fd = new FormData(f);');
  html.push('  var data = {};');
  html.push('  fd.forEach((v,k)=>{data[k]=v});');
  html.push('  document.getElementById("result").innerHTML="資料送出中...";');
  html.push('  fetch("?action=add",{method:"POST",body:JSON.stringify(data)})');
  html.push('  .then(r=>r.json())');
  html.push('  .then(x=>{');
  html.push('    document.getElementById("result").innerHTML=x.msg;');
  html.push('    loadLog();');
  html.push('    f.reset();');
  html.push('  })');
  html.push('}');
  html.push('function loadLog(){');
  html.push('  document.getElementById("history").innerHTML="讀取中...";');
  html.push('  fetch("?action=log").then(r=>r.json())');
  html.push('  .then(arr=>{');
  html.push('    var h = "<table><tr>";');
  html.push('    h += "<th>時間</th><th>產品類別</th>";');
  html.push('    h += "<th>產品名稱</th><th>模具編號</th>";');
  html.push('    h += "<th>數量</th><th>人員</th></tr>";');
  html.push('    for(var i=0;i<arr.length;i++){');
  html.push('      var r=arr[i];');
  html.push('      h+="<tr><td>"+r[0]+"</td>";');
  html.push('      h+="<td>"+r[1]+"</td><td>"+r[2]+"</td>";');
  html.push('      h+="<td>"+r[3]+"</td><td>"+r[4]+"</td>";');
  html.push('      h+="<td>"+r[5]+"</td></tr>";');
  html.push('    }');
  html.push('    h+="</table>";');
  html.push('    document.getElementById("history").innerHTML=h;');
  html.push('  })');
  html.push('}');
  html.push('window.onload=loadLog;');
  html.push('</script>');
  html.push('</body></html>');
  return HtmlService.createHtmlOutput(html.join(""));
}

// 處理前端 AJAX 來的資料
function doPost(e) {
  var action = (e.parameter.action || "");
  var content = {};
  try {
    content = JSON.parse(e.postData.contents);
  } catch (err) {
    // 格式錯誤
  }
  if(action=="add"){
    var sheet = getSheet_();
    var now = Utilities.formatDate(new Date(),"GMT+8","yyyy/MM/dd HH:mm:ss");
    var row = [
      now,
      content.type || "",
      content.prod || "",
      content.mold || "",
      content.qty || "",
      content.staff || ""
    ];
    sheet.appendRow(row);
    return ContentService.createTextOutput(
      JSON.stringify({msg:"✅ 已存檔!"}))
      .setMimeType(ContentService.MimeType.JSON);
  }
  return ContentService.createTextOutput(
    JSON.stringify({msg:"未知 action"}))
    .setMimeType(ContentService.MimeType.JSON);
}

// 回傳歷史紀錄
function doGetLog_() {
  var sheet = getSheet_();
  var data = sheet.getDataRange().getValues();
  data.shift(); // 去掉標題
  return data.reverse().slice(0,50);
}

// 給前端 AJAX 用
function doGet(e){
  if(e && e.parameter.action=="log") {
    return ContentService.createTextOutput(
      JSON.stringify(doGetLog_()))
      .setMimeType(ContentService.MimeType.JSON);
  }
  return doGet(e); // 回到主頁
}

// 取得工作表, 自動建立標題列
function getSheet_() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("射出紀錄");
  if(!sheet) {
    sheet = ss.insertSheet("射出紀錄");
    sheet.appendRow(
      ["時間","產品類別","產品名稱","模具編號","數量","人員"]);
  }
  return sheet;
}

標準化流程部署教學

照這流程做,很快就能讓現場人員實際上線。

  1. 開啟 Apps Script 編輯器
    動作:開啟 Google 試算表,點「擴充功能」→「Apps Script」
    位置:「擴充功能」在試算表最上方選單列中間偏右
    結果:會自動開啟新分頁,進入 Apps Script 編輯器畫面
    ⚠️ 我有一次在公司帳號打不開,原來管理員鎖權限。自己帳號通常沒問題,記得用自己有權限的 Gmail。
  2. 清空並貼上程式碼
    動作:全選(Ctrl+A)→ 刪除 → 貼上這份完整程式碼(Ctrl+V)
    位置:編輯器中央的白色程式區塊
    結果:舊的 `function myFunction()` 會被換成新的內容
    ⚠️ 我曾經沒全選,結果一堆殘留錯誤,還 debug 半天。一定要整份換掉。
  3. 儲存專案
    動作:點左上角「磁碟片」圖示或按 Ctrl+S
    位置:編輯區左上方工具列
    結果:第一次會跳視窗要你輸入名稱,亂取沒差
    ⚠️ 沒存檔直接部署,系統會報錯存不了。記得一定要先存檔。
  4. 部署為網頁應用程式
    動作:右上角藍色「部署」→「新增部署作業」
    位置:「部署」就在畫面右上角
    結果:會跳出設定視窗
    子步驟:
    1. 點齒輪選「網頁應用程式」
    2. 執行身分選「我」
    3. 誰可以存取選「任何人」
    4. 點「部署」
    ⚠️ 「誰可以存取」沒選「任何人」,現場用手機掃不到畫面,等於白做。
  5. 處理授權警告
    動作:照流程點「授權」繼續下去
    結果:系統跳紅色警告「Google 尚未驗證這個應用程式」
    處理:點左下「進階」→「前往 XXX(不安全)」→「允許」
    ⚠️ 這是你自己寫的程式才會有,不是中毒。我第一次還以為被駭…很正常,照著點到底就好。
  6. 取得網址,現場開用
    動作:複製網頁應用程式網址
    位置:授權完後螢幕上顯示的 `https://script.google.com/...`
    結果:手機、平板、電腦打開就是登錄表單和查詢歷史紀錄
    ⚠️ 程式有更新,一定要重新部署一次。沒重新部署,用舊網址也看不到新功能。
⚠️ 關於 Google 紅色授權畫面:務必瞭解來源
只要你用 Apps Script 部署網頁應用,系統都會跳出紅色警告:「Google 尚未驗證這個應用程式」。這不是駭客也不是病毒,而是 Google 預設沒經過審核的程式都給你警示。實際上,只有「自己帳號」寫的程式才會看到這個畫面。如果你確定這份腳本是你本人貼進去的,就照流程「進階」→「允許」到底,安全無虞。如果哪天是別人寄連結給你,才要多一層警覺。這個流程,我之前幫朋友部署內部工具時也都照跑,完全沒問題。

現場應用情境:讓紀錄與追溯都不再落地

曾經有汽車供應鏈現場,主管臨時要查三個月前某批次電子零件用的模具、誰生產的,結果現場單據全亂,只能土法煉鋼。這套工具上線後,每次生產即時登錄,查詢就直接手機點「刷新」,全部歷史履歷秒現。另一家工業品廠更狠,現場用平板直接填寫生產量,晚上生產日誌自動彙整到 Google Sheet,整個出貨流程比以前快兩倍。就這麼實用。

Related to this topic:

Comments