ข้ามไปที่เนื้อหาหลัก

Basic CNC

ทำความรู้จักกับเครื่อง CNC ขนาดเล็ก



CNC ย่อมาจากคำว่า Computer Numerical Control หมายถึง การควบคุมการทำงานของเครื่องจักรด้วยคำสั่งเชิงตัวเลขด้วยคอมพิวเตอร์  
ระบบคอมพิวเตอร์ และ ระบบอิเลคทรอนิกส์ จะทำการประมวลผล และสั่งการ ให้เครื่องจักรทำงาน หรือ เกิดการเคลื่อนที่จากชุดคำสั่งต่าง ๆ
Mini CNC เป็นเครื่องจักรขนาดเล็ก ที่ถูกควบคุมการทำงานด้วยโปรแกรม CNC Controller เพื่อควบคุมการทำงานของมอเตอร์ในการขับแกนต่าง ๆ ให้เคลื่อนที่ได้ตามทิศทางที่ต้องการ
เครื่อง Mini CNC สามารถนำไปประยุกต์การใช้งานได้หลากหลาย เช่น กัด ,แกะสลัก,เจาะ, ตัดแก๊ส, ตัดพลาสมา,LASER, เครื่อง 3D printer,Pick and Place Robot ,เครื่อง Insert Electronics Component เป็นต้น


วัสดุที่นำมาใช้กับ Mini CNC เพื่อสร้างชิ้นงาน เช่น ไม้ , แผ่น Acrylic, พลาสติก, พลาสติกวิศวกรรม ,ทองเหลือง และ อลูมิเนียม เป็นต้น ซึ่งชิ้นงานที่ได้จะเป็นงานในลักษณะ 2 มิติ หรือ 3 มิติ แล้วแต่กำหนด.



ตัวอย่าง เครื่อง Minicnc


หลักการทำงาน ของ CNC

การผลิตชิ้นงานจะถูกควบคุมการสั่งการด้วย Computer ประกอบด้วย ระยะของการเคลื่อนที่ต่างๆ หรือ อุปกรณ์อื่น ๆ เช่น หัวกัด Print head ใน 3d Printer ซึ่งจะถูกคำนวณ และ สั่งการจากชุดคอมพิวเตอร์ ตั้งแต่ขั้นต้นจนสิ้นสุดการทำงาน  โดยชุดควบคุมจะได้รับข้อมูลขั้นตอนการทำงาน และ การสั่งการ จากโปรแกรม ที่เราเรียกว่า NC Code หรือ G code (Link) ที่เรารู้จักกัน ซึ่งต้องวางแผน
ทุกขั้นตอนก่อนทุกครั้ง และ สร้างเป็นโปรแกรม เพื่อให้ชุดควบคุมทำงานได้สำเร็จ
สำหรับแกนหมุนจะมีตั้งแต่  2 แกน – 12แกน สามารถทำงานได้ 2 มิติ ,และ 3มิติ  โดยทั่วไปจะ สร้างโปรแกรมด้วยคอมพิวเตอร์ และ นำข้อมูลผ่าน Post processor จึงจะได้ NC-CODE มาใช้งาน

ตัวอย่าง G code สำหรับ CNC
%
G90
G49
M3 S100
G0 X-13.986 Y-0.077 Z3.847
G1   Z-2.015 F700
G1 X-13.924 Y-0.060 Z-1.994
X-13.674 Y0.009 Z-1.899
X-13.611 Y0.026
X-13.231 Y0.105 Z-1.729
X-13.166 Y0.114
X-12.565 Y0.187 Z-1.413
X-12.353 Y0.176 Z-1.291

Block Diagram แสดงโครงสร้างของ XYZ Machine

 CNC Controller มีหน้าที่ตีความ NC code ให้เป็นสัญญาณ ไฟฟ้าเพื่อควบคุมการหมุนของ Motor ที่มีทั้งตำแหน่ง ( Clock) ทิศทาง( Direction ) และ ความเร็วของในแต่ละแกน



แผนภาพแสดงขั้นตอนการทำงานด้วยเครื่อง Mini CNC



at3.jpg


จากผังการทำงานข้างต้น จะเห็นได้ว่า จะต้องมีการเรียนรู้ในส่วนต่างๆ ดังนี้
              
    1. CAD (computer Aided Design) เป็นการสร้าง ข้อมูลชนิดVector ที่มีทั้งขนาด และ ตำแหน่ง โดยส่วนใหญ่ โปรแกรมออกแบบ จาก Computer มีความสามารถสร้างข้อมูล Vector เหล่านี้ได้
ตัวอย่าง ข้อมูล Vector เช่น SVG ,DXF , DWG , HPGL , Gerber  ข้อมูลเหล่านี้ จะมี Coordinate ของ ตำแหน่งงาน ที่สามารถนำไปบอกตำแหน่งด้วย CNC ได้ แต่ยังไม่สามารถนำไปใช้ได้ เนื่องจาก ยังขาดคุณสมบัติที่เหมาะสมสำหรับ การทำงานกับ CNC เช่น ความเร็วในการเดิน ลำดับการทำงาน ก่อน-หลัง  ขนาดดอกกัดที่จะนำไปกัด  ดังนั้น จึงต้องกำหนดคุณสมบัติเหล่านี้เข้าไปในโปรเเกรม CAM ก่อน


ตัวอย่าง SVG Format

  xmlns="http://www.w3.org/2000/svg" version="1.1">
  width="150" height="150" fill="rgb(0, 255, 0)" stroke-width="1" stroke="rgb(0, 0, 0)" />
ตัวอย่าง DXF Format
 0
SECTION
 2
HEADER
 9
$ACADVER
 1
AC1009
 9                                                              
$INSBASE
10
0.0
20
0.0
30
0.0
 9
$EXTMIN
  
  
2. CAM (Computer Aid Manufacturing) โปรแกรม Cam มีหน้าที่ ปรับแต่ง CAD ให้ เหมาะสมกับงาน

หน้าที่หลัก ของ CAM คือ กำหนดความเร็ว ทิศทางการกัดงาน อัตราป้อน วิธีการกัดงาน ลำดับการทำงาน ชนิดดอกกัด โดย แปลความเป็นรหัส ที่เราเรียกว่า NC Code ส่วนมากมักใช้ มาตรฐานคือ G code ที่กำหนดโดย ISO แต่ส่วนใหญ่แล้ว มาตรฐาน G Code มีหลากหลาย ให้เหมาะสมกับการใช้งาน ดังนั้นผู้ผลิต หรือ สร้าง CNC controller จะมีมาตรฐานเพิ่มเติม ซึ่งเรียนรู้ ได้จากเอกสารแนะนำ cnc controller ของแต่ละราย.


1.jpg


ฟังก์ชันมาตรฐานสำหรับงานกัดอัตโนมัติเบื้องต้นได้แก่

        1. กัดกลางเส้น     (Along)
        2. กัดนอกเส้น      (Outside)
        3. กัดในเส้น         (Inside)
        4. เจาะรู                (Dilling)
        5. การเดินปรับผิว (Area clearance)


3. CNC controller  มีหน้าที่ แปลความ NC Code ให้เป็นการเคลื่อนที่ในแนวแกน ต่าง ๆ  ส่วนมากคุ้นเคยในแนวแกน  X Y Z   CNC  controller มีให้เลือกใช้มากมาย ตามความเหมาะสม ปัจจุบันมี 2 กลุ่ม คือ

3.1 PC BASE CNC controller ประเภทนี้ จะทำการประมวลผล NC Code และทำการส่งค่าควบคุมออกทาง PORT ที่ เป็น I/O PORT ต่าง ๆ เช่น ISA bus PCI Bus หรือ Parallel Port    ตัวอย่างเช่น โปรแกรม EMC (Linux Cnc) , Mach3 , Kcam ,Turbo cnc


 

 3.2 Embedded Base Cnc controller ประเภทนี้ถูกพัฒนา มาให้เหมาะสมกับการทำงานของเครื่องจักรเนื่องจากความสะดวก และ มี Reliability ที่สูงกว่า PC Base ดังนั้น การส่งข้อมูล สำหรับการประมวลผล จำเป็นต้องใช้ ช่องสื่อสาร ต่างๆ เช่น RS232,USB,Ethernet สำหรับ การส่งข้อมูลควบคุม  เช่น โปรแกรม GRBL (AVR Base) , Tiny G (Arm Base)




โปรแกรม CNC Controller จะถูกออกแบบ ฟังก์ชันการทำงานต่างๆได้ดังนี้


   เครื่อง Mini CNCทำงาน โดยจะมีการทำงานของโปรแกรมมี 3 Mode ให้เลือกใช้งานได้ตามความต้องการ มีดังนี้

    AUTO MODE  คือ การเรียกไฟล์มา run ตามต้องการ   
    MANUAL MODE หรือ JOG MODE   สั่งเครื่องเดินโดย Key board หรือ Hand wheel
    MDI Mode (Manual Data Input Mode) เป็น  MODE ที่สั่งให้เครื่องเดินตามที่ต้องการ โดยกำหนดระยะการเคลื่อนที่ของแกน X.Y และ Z เครื่องเดินทีละแกนตามแกนที่ป้อนข้อมูลให้


จากข้างต้น จะเห็นว่าการทำงานของโปรแกรมกล่าวเป็นขั้นตอนได้ดังนี้



1.  INPUT เป็นการสร้างข้อมูลในFormatไฟล์ต่างๆ  
2. Processing  ไฟล์จะอยู่ใน Format ที่สามารถแปลงข้อมูล ผ่านโปรแกรม CAM โดย CAM Software แปลงข้อมูลให้อยู่ในรูปของรหัส G-Code ซึ่งใน CAM Software จะมีโปรแกรมส่วนที่เป็นPost Processor ทำการแปลงแบบ หรือ ทางเดินเป็นรหัส G Code เป็นรหัสคำสั่งควบคุมการทำงานของเครื่องจักร
3. OUTPUT  จาก G Code ใช้ โปรแกรม CNC Controller สั่งให้เครื่องจักรกลทำงานตามทิศทางและตำแหน่งที่ต้องการ



โปรแกรมรหัสที่ใช้ในการควบคุมการทำงานของเครื่อง CNC



การใช้งานเครื่องจักรกล CNC จะอ่านรหัส หรือ ภาษาเช่นเดียวกับภาษาที่ใช้ในการควบคุมการทำงานของเครื่องคอมพิวเตอร์ รหัสที่นิยมใช้คือ รหัส-จี หรือ G-code ซึ่งเครื่องจักรกลประเภท CNC ส่วนใหญ่จะใช้ภาษาหรือรหัส-จีเป็นมาตรฐานในการควบคุมการทำงาน
รูปแบบคำสั่งของ รหัส G ประกอบด้วยชุดคำสั่งในแต่ละบรรทัด ซึ่งเรียกว่าชุดคำสั่ง หรือ Command
ในชุดคำสั่งนี้จะประกอบด้วยคำสั่งย่อยที่เรียกว่า Word คำสั่งย่อยนี้จะขึ้นต้นด้วยตัวอักษร เช่น
N (คำสั่งเลขที่),   G (คำสั่งรหัส-จี, M (คำสั่งรหัสเอ็ม), H(การชดเชยความยาวของหัวกัด), F (อัตราป้อน),  S (ความเร็วในการหมุนของหัวกัด) เป็นต้น  


รหัส G

รหัส G เป็นฟังก์ชันที่ใช้ในการเปลี่ยนแปลงการทำงานควบคุมเครื่องจักรให้เปลี่ยนจากความเร็วการป้อนปกติเป็นความเร็วสูง หรือควบคุมการทำงานจากการหมุนตามเข็มให้หมุนกลับทางคือทวนเข็มและอื่น ๆ
รหัส G ใช้เพื่อควบคุมชนิดการทำงานต่าง ๆ ของเครื่องจักร สังเกตว่ารหัส G มี 2 ชนิดก็คือ Modal และ Non Modal รหัส Modal G เป็นรหัสที่ค้างอยู่ในหน่วยความจำจนกระทั่งรหัส G ของกลุ่มเดียวกันไปสั่งยกเลิกการทำงานของมัน ส่วนรหัส Non Modal G เป็นรหัสอันเดียวกันที่ใช้เฉพาะบรรทัดเดียวที่มีรหัสนี้อยู่ รหัส G จะอธิบายตามรายการที่มีอยู่ในตาราง ซึ่งจะใช้มากเวลาโปรแกรม


ตัวอย่าง รหัส G และความหมาย



รหัส        ฟังก์ชันเตรียมการทำงาน

G00       การเคลื่อนที่ไปยังตำแหน่งด้วยความเร็วสูงสุดของเครื่อง
G01       การเคลื่อนในแนวตรงโดยมีอัตราป้อน
G02       การเคลื่อนที่เป็นแนวโค้งและมีการป้อนตามเข็มนาฬิกา
G03       การเคลื่อนที่เป็นแนวโค้งและมีการป้อนทวนนาฬิกา
G17       การเลือกระนาบ XY  
G18       การเลือกระนาบ ZX
G19       การเลือกระนาบ YZ
G76-79 ไม่มีการกำหนดไว้
G80       ยกเลิกการทำไซเกิล
G81       เจาะไซเกิล
G82       เจาะไซเกิลมีดเวลล์ (เจาะลงแล้วมีการค้างตามเวลาที่กำหนด)
G83       เจาะไซเกิลรูลึก
G84       การต๊าปเกลียวแบบไซเกิล
G86       การคว้านรูแบบไซเกิล (feed down, spindle stop) ป้อนเจาะลง , หัวจับหยุด
G89       การคว้านรู : ป้อนเข้า , ค้าง , ป้อนออก (feed in, dwell, feed out)  
G90       การให้ตำแหน่งในแบบสัมบูรณ์
G91       การให้ตำแหน่งแบบอินครีเมนทอลหรือเเบบต่อเนื่อง  
G92       การตั้งค่ารีจีสเตอร์หรือตั้งค่าซีโร่ชิฟต์  


รหัส X, Y และ Z
รหัส X, Y และ Z เป็นการเคลื่อนที่เชิงเส้น เพื่อควบคุมเครื่องจักรให้เคลื่อนที่ในเชิงเส้น ตัวอย่างเช่น เคลื่อนไปทางขวาหรือมาทางซ้าย เวลาโปรแกรมก็เป็นการโปรแกรมลงในค่าของแกน X ส่วนการโปรแกรมให้เคลื่อนที่ไปด้านหน้าและด้านหลังนั้นเป็นการโปรแกรมในค่าของแกน Y  ส่วนการเคลื่อนที่ของหัวจับแกนขึ้นหรือลงก็จะใช้ค่าในแนวแกน Z
ในการควบคุมการเคลื่อนที่ในแต่ละแกนจะมีทั้งค่าบวกและลบ ขึ้นอยู่กับทิศทางของการเคลื่อนที่ โดยเครื่องหมายบวกไม่ต้องพิมพ์สามารถตัดออกได้


a1.jpg

รหัส I, J และ K

รหัส I, J และ K เป็นรหัสที่กำหนดการอินเตอร์โพเลชันเมื่อ X, Y และ Z กำหนดไว้แล้วค่า I, J และ K ก็จะโปรแกรมลงไปตามหลัง โดยที่ค่า X, Y และ Z จะถูกป้อน เมื่อมีการใช้ค่ารัศมีในการโปรแกรม


รหัส S

รหัส S เป็นรหัสที่ใช้เมื่อมีการกำหนดความเร็วของหัวกัด
มีหน่วยเป็นรอบ/นาที (r.p.m)
           ตัวอย่างเช่น  
          N1   M3 S800


รหัส F

รหัส F ใช้ในการควบคุมอัตราป้อน (feed) มีหน่วยเป็น mm/min
ตัวอย่างเช่น
N2  G01  X-5  Y30  Z-5  F500

รหัส M

รหัสอักษร M คือคำสั่งการทำงานเสริมหรือคำสั่งช่วยงานโดยจะทำงานควบคู่กับรหัสคำสั่ง G
       ยกตัวอย่างเช่น
N3  M3  S800


ตารางแสดงรหัสบางส่วนที่มีการใช้กันมาก


รหัส ฟังก์ชันเบ็ตเตล็ด


M00    หยุดโปรแกรม
M01    ออปชันเนลสต็อป
M02    จบโปรแกรม
M03   เปิด spindle
M05    ปิด spindle
M06    เปลี่ยนเครื่องมือ
M07    เปิดน้ำหล่อเย็น (เปิดมาก)
M08    เปิดน้ำหล่อเย็น (เปิดน้อย)
M09    ปิดน้ำหล่อเย็น


รหัส D และ H

รหัส D และ H เป็นรหัสที่ใช้เพื่อทำการตั้งความยาวของเครื่องมือ ทำให้ผู้โปรแกรม ใช้เครื่องมือ ทุกตัวโดยคิดว่าเครื่องมือยาวเท่ากันทั้งหมด เมื่อโปรแกรมใช้เครื่องมือใหม่ ก็จะใช้ค่าในระนาบของแกน Z สำหรับตั้งค่าความยาวของเครื่องมือ


ตัวอย่าง อธิบายการทำงาน


G00 : หมายถึง การเคลื่อนที่แนวเส้นตรงแบบเคลื่อนที่เร็ว
( Positioning ) เป็นการเคลื่อนที่ของหัวกัดโดยไม่มีการกัดเกิดขึ้น ดอกกัด  ไม่สัมผัสกับชิ้นงาน  การทำงานจะมีการปรับค่าตำแหน่ง
แกน X แกนY แกน Z โดยความเร็วในการเคลื่อนที่จะใช้ความเร็วสูงสุดที่โปแกรมสามารถสั่งชุดขับเคลื่อนได้ โดยไม่ต้องใส่ค่าอัตราป้อน ( Feed Rate )


ตัวอย่างการป้อนคำสั่ง G00
N5 :  G0  X0  Y0  Z0


G01 : หมายถึงการเคลื่อนที่แนวเส้นตรง ( Linear Interpolation ) โดย จะมีการปรับค่าตำแหน่ง แกน X แกน Y แกน Z และค่าอัตราป้อนเสมอ


ตัวอย่างการป้อนคำสั่ง G01
N10: G01  X10  Y50  Z-2  F500


G02 : หมายถึงการเคลื่อนที่แนวส่วนเส้นโค้งตามเข็มนาฬิกา ( Circular Interpolation CW
( clockwise) )


ยกตัวอย่างเช่น
N30 :  X15  Y30  Z-2  R5


G03 : หมายถึงการเคลื่อนที่เป็นเส้นโค้งทวนเข็มนาฬิกา (Circular Interpolation CCW (counterclockwise) รับข้อมูลและทำงานเหมือน G02 แต่เคลื่อนที่ในทิศทางตรงกันข้ามกับ G02


G90 : หมายถึงการกำหนดขนาดแบบสัมบูรณ์ (Absolute Programming Selected) เป็นการเปลี่ยนโหมดการทำงานให้กำหนดการเคลื่อนที่โดยอ้างอิงจากจุดอ้างอิงเพียงจุดเดียวตลอด สามารถเปลี่ยนโหมดกลับไปมาระหว่าง G90 และ G91 ได้ใน 1 โปรแกรม


G91 : หมายถึง การเคลื่อนที่แบบต่อเนื่อง (Incremental Programming Selected) เป็นการเปลี่ยนโหมดการทำงานให้กำหนดการเคลื่อนที่แบบต่อเนื่องโดยเปลี่ยนจุดเริ่มต้นไปเรื่อยๆ


M30 : สิ้นสุดการทำงาน (End of Program) ใช้ในการจบโปรแกรมการทำงาน


image006.jpg                


เครื่องกัด Mini CNC  ทำอะไรได้บ้าง
  1. กัดป้ายชื่อ, กัดงาน Acrylic
       index.jpg            p1.jpg    
2.กัดงานไม้  2D และ 3D


m1.jpg


3. กัดงานอลูมิเนียม,งานทองเหลือง


e1.jpg


l1.gif

4. งานกัดเหล็กสำหรับเครื่องกัด Mini CNC ที่มีโครงสร้างเครื่องที่เเข็งเเรง

r1.jpg


r5.jpg


เเละนอกจากนี้แล้ว ยังสามารถนำไปประยุกต์ใช้กับงานเลเซอร์   พลาสมา เเละ อื่นๆอีกมาก


สรุปขั้นตอนการทำงานของเครื่องกัด Mini CNC


1. ออกแบบงานด้วยโปรแกรมออกแบบ (CAD) เช่น Inkscape , Free CAD , EDA (Electronics Design Age) Autocad , หรือ โปรแกรมอื่น ๆ ซึ่งคุณสามารถเรียนรู้ เพิ่มเติมได้จากที่นี่


2. กำหนดการกัดงาน และ ขั้นตอนการกัดงาน รวมถึงวิธีการกัดงาน รูปแบบการกัดงาน ลำดับการกัดงาน การกำหนดชนิดของดอกกัด ความเร็วที่เหมาะสมในการกัดงาน ด้วยโปรแกรม CAM เช่น PYCAM ,Cambam, Artcam , Mastercam ,VisualMill สำหรับงานกัด


3. สร้าง รหัสการกัดงาน ที่เรามักจะเรียกกันว่า G Code หรือ NC Code เพื่อนำไปใช้กัดงานโดย โปรแกรมตัวควบคุมเครื่อง CNC เช่น Linuxcnc , Kcam , Mach3 , PCCNC , หรือ ตัวควบคุมอื่น ซึ่งปัจจุบันมีให้เลือกเป็นจำนวนมาก

4.ใช้ ระหัส G ที่ได้ไปใช้งานกับเครื่อง CNC ต่อไป


5.jpg

ความรู้เรื่อง mini CNC เบื้องต้น


โดย


บจก.บ้านพันธ์มณี
นักศึกษาฝึกงานระบบทวิภาคี วิทยาลัยการอาชีพเลิงนกทา
นักศึกษาฝึกงาน คณะครุศาสตร์ มหาวิทยาลัยเทคโนโลยีราชมงคลขอนแก่น
http://www.thairobot.com


REV 1.1
July  2016


ไม่สงวนสิทธิ สำหรับการศึกษาเท่านั้น




ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การติดตั้งโปรแกรม GRBL CONTROL สำหรับ MINICNC แบบ USB

สิ่งที่ต้องเตรียมการ 1.  ชุด CNC Controller GRBL Control   ซึ่งทำการ Download ได้จาก Link นี้ 2.   ชุด CNC Controller ที่มี GRBL Firmware  Software GRBL Control  หากท่านที่ต้องการทราบ ขั้นตอนการติดตั้ง GRBL Firmware สามารถศึกษาได้จาก Link นี้ครับ 3.  Drivers USB To Serial  ที่มาพร้อมกับ CNC Controller  ชุดควบคุม Minicnc แบบ Grbl ที่ต้องใช้การควบคุมผ่าน Serial Port ซึ่งหลายคนอาจเข้าใจว่าเป็นการควบคุมผ่าน USB เป็นความเข้าใจที่คลาดเคลื่อน เนื่องจาก โปรแกรมควบคุม CNC GRBL จะใช้การควบคุมผ่าน Serial Port ของ Micro controller (Arduino)  แต่ในการสื่อสารปัจจุบัน ช่อง Serial Port ของ PC Commuter แทบจะหาไม่ได้เลย จึงจะต้องใช้ อุปกรณ์ Interface ดัดแปลงผ่านช่อง USB ของ PC Computer จึงต้องมี Software Driver ควบคุม ผู้ผลิต Chip USB Converter มีหลายราย ดังนั้นในการใช้ USB To Serial Port ต้องทราบข้อมูลของ Software USB Drivers และ เลือกใช้ให้ตรงกัน จึงจะทำให้ช่องสื่อสารนี้ใช้งานได้ และ ผู้ผลิต Arduino ได้นำ Chip ที่มี USB To Serial port มาประกอบใว้เพื่อให้ความสะดวกกับผู้ใช้ แต่เนื่องจากผู

GRBL Error List

Code Message Description 1 Expected command letter G-code words consist of a letter and a value. Letter was not found. 2 Bad number format Missing the expected G-code word value or numeric value format is not valid. 3 Invalid statement Grbl '$' system command was not recognized or supported. 4 Value < 0 Negative value received for an expected positive value. 5 Setting disabled Homing cycle failure. Homing is not enabled via settings. 6 Value < 3 usec Minimum step pulse time must be greater than 3usec. 7 EEPROM read fail. Using defaults An EEPROM read failed. Auto-restoring affected EEPROM to default values. 8 Not idle Grbl '$' command cannot be used unless Grbl is IDLE. Ensures smooth operation during a job. 9 G-code lock G-code commands are locked out during alarm or jog state. 10 Homing not enabled Soft limits cannot be enabled without homing also enabled. 11 Line overflow Max characters per line exceeded. Received command line was not executed. 12 Step rate &

Info graphic สำหรับ GRBL