รู้จักส่วนประกอบเครื่องพิมพ์ FDM: hotend, extruder, heatbed, เซนเซอร์, G-code
ไล่ดูเครื่อง FDM ทีละชิ้น หัวฉีดกับ hotend ทำงานยังไง direct drive ต่างจาก Bowden ตรงไหน แกน XYZ เซนเซอร์แต่ละตัวมีไว้ทำอะไร และอ่าน G-code บรรทัดแรก ๆ ให้เป็น
- hotend คือชุดที่หลอมเส้น ประกอบด้วย nozzle, heater block (มีฮีตเตอร์กับเทอร์มิสเตอร์), heatbreak และ heatsink ที่กันความร้อนไม่ให้ลามขึ้นไป
- direct drive วางมอเตอร์บนหัวพิมพ์ เส้นเดินทางสั้น (ราว 30–50 mm) ใช้ retraction 0.5–2 mm พิมพ์ TPU ได้ Bowden ดันเส้นผ่านท่อยาว ใช้ retraction 4–8 mm
- slicer แปลงโมเดลเป็น G-code: บรรทัดคำสั่งเช่น M104 ตั้งอุณหภูมิ, G28 กลับตำแหน่งบ้าน, G1 เดินเส้นพร้อมฉีด
- thermal runaway คือระบบตัดไฟเมื่อเทอร์มิสเตอร์เพี้ยน (เช่น อุณหภูมิตก 15 °C นานกว่า 45 วินาที) ห้ามปิด
บทที่แล้วช่วยให้เลือกเครื่องพิมพ์ 3 มิติ เครื่องแรกได้ บทนี้เปิดกล่องแล้วไล่ดูว่าแต่ละชิ้นเรียกว่าอะไร ทำหน้าที่อะไร เพราะคำเหล่านี้จะโผล่ในทุกบทต่อจากนี้ ทั้งในเมนู slicer ในคู่มือ และตอนถามปัญหาในกลุ่มผู้ใช้ รู้ชื่อชิ้นส่วนถูก = หาคำตอบได้เร็วขึ้นสิบเท่า
เส้นทางของพลาสติกในเครื่อง FDM สั้น ๆ คือ ม้วนเส้น → extruder ดัน → hotend หลอม → nozzle ฉีดลงบน heatbed โดยหัวพิมพ์ขยับตามแกน X Y Z ตามคำสั่งในไฟล์ G-code มาดูทีละส่วน
hotend: ชุดหลอมเส้น
hotend คือท่อโลหะที่ปลายล่างร้อนและปลายบนเย็น เส้นพลาสติกต้องเข้าไปแบบแข็งแล้วหลอมเฉพาะช่วงสุดท้าย ส่วนประกอบจากล่างขึ้นบน
- nozzle (หัวฉีด) รูปลายทางของพลาสติก ขนาดที่พบมากที่สุดคือ 0.4 mm กำหนดความกว้างเส้นและความละเอียด บทที่ 3 จะว่าด้วยขนาดและวัสดุหัวฉีดโดยเฉพาะ
- heater block บล็อกอะลูมิเนียมที่ยึด nozzle ไว้ ฝัง heater cartridge (แท่งฮีตเตอร์ ตัวอย่างเช่น 24 V 40 W) และ thermistor (เซนเซอร์อุณหภูมิ) ไว้ด้วยกัน
- heatbreak ท่อผนังบางที่ต่อ heater block กับ heatsink ทำหน้าที่ขวางความร้อนไม่ให้เดินขึ้นบน จุดเปลี่ยนจากเส้นแข็งเป็นเส้นหลอมอยู่ตรงนี้ เป็นชิ้นที่หักง่ายเวลาเปลี่ยนหัวฉีดแรง ๆ
- heatsink + พัดลม hotend ครีบระบายความร้อนด้านบน พัดลมตัวนี้ต้องหมุนตลอดเวลาที่หัวร้อน ถ้าพัดลมเสียหรือตู้ร้อนเกิน ความร้อนจะลามขึ้น เส้นนิ่มก่อนถึงหัวฉีด เรียกว่า heat creep อาการคืออุดตันกลางงาน
พัดลมอีกตัวที่อยู่ข้างหัวคือ part cooling fan เป่าชิ้นงานให้พลาสติกแข็งทันที ใช้แรงกับ PLA ใช้เบาหรือปิดกับ ABS/ASA คนละหน้าที่กับพัดลม heatsink
extruder: direct drive หรือ Bowden
extruder คือมอเตอร์สเต็ปเปอร์กับเฟืองที่กัดเส้นแล้วดันเข้า hotend มีสองแบบตามตำแหน่งที่วางมอเตอร์
| หัวข้อ | direct drive | Bowden |
|---|---|---|
| มอเตอร์อยู่ที่ | บนหัวพิมพ์ เหนือ hotend | ติดโครงเครื่อง ดันเส้นผ่านท่อ PTFE |
| ระยะเส้นจากเฟืองถึงจุดหลอม | ราว 30–50 mm | ราว 300–800 mm |
| retraction (ถอยเส้นกันยืดใย) | 0.5–2 mm | 4–8 mm |
| เส้นยืดหยุ่น (TPU) | พิมพ์ได้ ลงถึงราว 85A | ยาก ต้องช้ากว่า 20 mm/s และนิ่มกว่า 95A แทบไม่ไหว |
| มวลหัวพิมพ์ | หนักกว่า (เพิ่มราว 200–400 g) | เบา เร่งได้มากกว่า |
| ของสิ้นเปลือง | เฟืองต้องทำความสะอาด | ท่อ PTFE เสื่อม ควรเปลี่ยนทุก 6–12 เดือน |
เครื่องรุ่นใหม่ส่วนใหญ่กลับมาเป็น direct drive เพราะมอเตอร์ตัวเล็กลงจนน้ำหนักไม่ใช่ปัญหาเท่าเดิม ถ้าเครื่องเป็น Bowden ให้จำสองเรื่อง ตัดท่อ PTFE ให้ตั้งฉากและดันให้สุดถึงหัวฉีด (ช่องว่างตรงนั้นคือต้นเหตุอุดตันอันดับต้น) และตั้ง retraction ยาวกว่า direct drive
heatbed และแผ่นพิมพ์
heatbed คือแผ่นที่มีขดลวดความร้อนอยู่ใต้ มี thermistor ของตัวเองแยกจาก hotend อุณหภูมิเตียงทำให้ชั้นแรกเกาะและกันชิ้นงานหดตัวจนยกขอบ ค่าแนะนำจาก Prusa Knowledge Base: PLA 50–60 °C, PETG 85–90 °C, ABS 80–110 °C, ASA 105–110 °C
บนเตียงมี แผ่นพิมพ์ (build plate) ที่ถอดได้ ผิวที่พบบ่อยคือ PEI เรียบ (smooth), PEI เนื้อทราย (textured/powder-coated) และกระจก แต่ละผิวเกาะวัสดุไม่เท่ากัน เช่น PETG เกาะ PEI เรียบแน่นเกินจนแกะแล้วแผ่นเสีย Prusa แนะนำใช้ผิว textured กับ PETG
แกน X Y Z และของที่ทำให้มันขยับ
- X ซ้าย-ขวา Y หน้า-หลัง Z ขึ้น-ลง เครื่อง bed-slinger ให้เตียงวิ่งแกน Y ส่วน CoreXY ให้เตียงวิ่งแค่ Z
- สายพาน (belt) ขับ X และ Y สายพานหย่อน = ชิ้นงานเบี้ยว มีรอยคลื่น (ringing) หรือชั้นเลื่อน (layer shift)
- lead screw เกลียวขับแกน Z ตรง หมุนช้าแต่แม่น ต้องสะอาดและหล่อลื่น
- ราง (rod/linear rail) รับน้ำหนักและนำทางหัวพิมพ์
- stepper motor ทุกแกนขยับเป็นก้าว ๆ ไม่มีตัววัดตำแหน่งย้อนกลับ เครื่องจึงต้อง “หาบ้าน” ก่อนพิมพ์ทุกครั้ง (คำสั่ง G28)
เซนเซอร์: เครื่องรู้อะไรบ้าง
| เซนเซอร์ | อยู่ที่ | มีไว้ |
|---|---|---|
| thermistor hotend | ใน heater block | วัดอุณหภูมิหัว ให้เฟิร์มแวร์คุมฮีตเตอร์ |
| thermistor เตียง | ใต้ heatbed | วัดอุณหภูมิเตียง |
| endstop | ปลายแกน X Y (Z บางรุ่น) | สวิตช์บอกตำแหน่งศูนย์ตอน G28 |
| bed probe | ข้างหัวพิมพ์ หรือใช้หัวฉีดเองแตะ | วัดระยะหัวถึงเตียงหลายจุด ชดเชยเตียงเอียง (auto bed leveling) |
| filament runout | ทางเข้า extruder | เส้นหมดแล้วหยุดรอ ไม่พิมพ์ลมต่อ |
bed probe มีหลายชนิด แบบเข็มแตะ (BLTouch) แบบ inductive ที่ใช้ได้กับเตียงโลหะเท่านั้น แบบ load cell/strain gauge ที่ใช้หัวฉีดแตะเตียงโดยตรง และแบบ eddy current ที่สแกนเร็วมากแต่ต้องชดเชยอุณหภูมิ บทที่ 9 จะลงลึกเรื่องปรับระดับเตียง
เซนเซอร์อุณหภูมิเป็นตัวที่เกี่ยวกับความปลอดภัยตรงที่สุด ถ้า thermistor หลุดออกจาก heater block เฟิร์มแวร์จะอ่านค่าต่ำกว่าจริงแล้วเร่งไฟใส่ฮีตเตอร์ไม่หยุด ระบบ thermal runaway protection คอยจับความผิดปกตินี้ Prusa ระบุว่าถ้าอุณหภูมิตกจากเป้าเกิน 15 °C นานกว่า 45 วินาที เครื่องจะตัดไฟฮีตเตอร์และหยุดพร้อมแสดง error สาเหตุที่เจอบ่อยคือ thermistor เสียบไม่สุด สายขาดใน และพัดลมเป่าโดน heater block ตรง ๆ
ห้ามปิด thermal runaway protection เพื่อ “ให้พิมพ์ผ่าน” มันคือด่านสุดท้ายกันไฟไหม้ ถ้า error ขึ้น ให้หาสาเหตุทางกายภาพ
G-code: ภาษาที่เครื่องอ่าน
slicer (เช่น PrusaSlicer, OrcaSlicer, Bambu Studio, Cura) รับโมเดล 3 มิติ (STL/3MF) หั่นเป็นชั้น แล้วเขียนออกมาเป็นไฟล์ข้อความ G-code บรรทัดละคำสั่ง เครื่องอ่านทีละบรรทัด ตัวอย่างต้นไฟล์ที่พบบ่อย (ชุดคำสั่งมาตรฐานของ Marlin ซึ่งเฟิร์มแวร์ส่วนใหญ่ใช้ร่วมกัน)
M140 S60 ; ตั้งเตียง 60 °C แล้วไปต่อ ไม่รอ
M104 S210 ; ตั้งหัว 210 °C แล้วไปต่อ ไม่รอ
G28 ; หาบ้านทุกแกน (ชนสวิตช์ endstop)
M190 S60 ; รอจนเตียงถึง 60 °C
M109 S210 ; รอจนหัวถึง 210 °C
G90 ; ใช้พิกัดสัมบูรณ์
G1 Z0.2 F600 ; ยกหัวมาที่ความสูงชั้นแรก 0.2 mm ด้วยความเร็ว 600 mm/นาที
G1 X120 Y20 E3.74 F1500 ; เดินไป X=120 Y=20 พร้อมดันเส้น 3.74 mm ที่ 1500 mm/นาที
สังเกตคู่ M104/M109 และ M140/M190 ตัวเลขน้อยคือ “ตั้งแล้วไปต่อ” ตัวเลขมากคือ “ตั้งแล้วรอ” ลำดับข้างบนให้เตียงกับหัวร้อนพร้อมกันระหว่างหาบ้าน ประหยัดเวลาและไม่ให้หัวร้อนจ่อเตียงนานจนเส้นไหลออกมาเอง
ตัวอย่าง: ตัวเลข E มาจากไหน
ค่า E3.74 คือความยาวเส้นที่ต้องดัน ลองคำนวณกลับจากเส้นที่พิมพ์ยาว 100 mm ชั้นสูง 0.2 mm กว้าง 0.45 mm (หัว 0.4 mm) เส้นขนาด 1.75 mm
- ปริมาตรพลาสติกที่ต้องวาง = 100 × 0.2 × 0.45 = 9.0 mm³
- พื้นที่หน้าตัดเส้น 1.75 mm = π × (1.75 ÷ 2)² = π × 0.875² = 2.405 mm²
- ความยาวเส้นที่ต้องดัน = 9.0 ÷ 2.405 = 3.74 mm
slicer ทำแบบนี้ให้ทุกบรรทัด ถ้าเส้นจริงหนา 1.72 mm (วัดด้วยเวอร์เนีย) หน้าตัดเล็กกว่า ค่า E เท่าเดิมจะวางพลาสติกน้อยไปราว 3% นี่คือที่มาของการตั้งเส้นผ่านศูนย์กลางเส้นและ flow ในบทที่ 7
ความปลอดภัย
- heater block และ nozzle ร้อน 190–260 °C heatbed 60–110 °C อย่าเอามือเข้าใกล้ตอนเครื่องทำงาน และรอให้เย็นก่อนแกะชิ้นงานหรือเปลี่ยนหัว
- สายฮีตเตอร์และ thermistor เป็นจุดที่ขาดในบ่อยเพราะขยับตามหัวพิมพ์ตลอด ถ้าอุณหภูมิบนจอกระโดดขึ้นลงตอนหัวเคลื่อน ให้หยุดพิมพ์แล้วตรวจสาย
- เครื่องใช้ไฟ 24 V ที่ฮีตเตอร์ แต่ตัวจ่ายไฟรับ 220 V เสียบปลั๊กที่มีสายดิน และไม่วางเครื่องบนพรมหรือใกล้ม่าน
ข้อผิดพลาดที่เจอบ่อย
- เรียก extruder กับ hotend สลับกัน แล้วซื้ออะไหล่ผิดชิ้น
- ท่อ PTFE ของ Bowden ไม่สุดถึงหัวฉีด เหลือช่องว่างเล็ก ๆ ให้พลาสติกสะสม อุดตันซ้ำ ๆ
- ปิดพัดลม heatsink เพราะเสียงดัง ผลคือ heat creep อุดตันกลางงาน
- ตั้ง part cooling fan เต็มกับ ABS ชั้นแยกและขอบยก
- ปิด thermal runaway หรือข้าม error แทนการหา thermistor ที่หลวม
- ใช้ค่า retraction ของ direct drive กับเครื่อง Bowden (หรือกลับกัน) แล้วสงสัยว่าทำไมใยพลาสติกเต็มชิ้นงาน
บทถัดไปจะลงที่ชิ้นส่วนที่เล็กที่สุดแต่กำหนดคุณภาพมากที่สุด: หัวฉีด ขนาดและวัสดุ
แหล่งข้อมูล
- Heater block และ Thermal runaway — Prusa Knowledge Base
- PLA, PETG, ABS, ASA — Prusa Knowledge Base
- Direct Extrusion vs. Bowden Extrusion — QIDI
- G28 Auto Home, G0/G1 Linear Move, M104, M140 — Marlin G-code docs
คำถามที่พบบ่อย
hotend กับ extruder คืออะไร ต่างกันยังไง
extruder คือชุดมอเตอร์กับเฟืองที่จับและดันเส้นพลาสติก hotend คือส่วนที่หลอมเส้นแล้วฉีดออกทางหัวฉีด บางคนเรียกรวมกันว่าหัวพิมพ์ แต่เวลาซื้ออะไหล่ต้องแยกให้ถูก
ทำไมต้องมี heatsink กับพัดลมเป่าตลอดเวลาที่หัวร้อน
เพื่อให้เส้นแข็งอยู่จนถึง heatbreak แล้วค่อยหลอมในระยะสั้น ๆ ถ้าความร้อนลามขึ้นไป เส้นจะนิ่มก่อนถึงหัวฉีด เฟืองดันไม่ไป เกิดอุดตันที่เรียกว่า heat creep
ต้องเขียน G-code เองไหม
ไม่ต้อง slicer สร้างให้ทั้งหมด แต่อ่านออกช่วยได้มาก เช่น เปิดไฟล์ดูว่าอุณหภูมิที่ส่งไปเครื่องตรงกับที่ตั้งไหม หรือแก้ start G-code ให้เครื่องรอเตียงร้อนก่อนค่อยอุ่นหัว
วงจรและโค้ดในบทความทดสอบกับบอร์ดตัวอย่าง บอร์ดต่างรุ่นอาจใช้ขาต่างกัน ตรวจ pinout ของบอร์ดที่ใช้ก่อนต่อไฟเสมอ