Lập Trình CNC

G code là gì ? Hướng dẫn lập trình CNC cơ bản

Nếu công việc hoặc sở thích của bạn liên quan đến máy CNC hoặc máy in 3D, thì việc hiểu G code là gì và nó hoạt động như thế nào là điều cần thiết đối với bạn. Vì vậy, trong hướng dẫn này, chúng ta sẽ tìm hiểu những điều cơ bản về ngôn ngữ lập trình G code, các lệnh G-code quan trọng hoặc phổ biến nhất là gì và CDK sẽ giải thích cách chúng hoạt động ở bên dưới đây nhé !

G-code là gì ? Hướng dẫn lập trình CNC cơ bản
G-code là gì ? Hướng dẫn lập trình CNC cơ bản

G-code là gì?

G-code là ngôn ngữ lập trình cho máy CNC (Computer Numerical Control). G-code là viết tắt của “Code hình học”. Chúng ta sử dụng ngôn ngữ này để cho máy biết phải làm gì hoặc làm như thế nào. Các lệnh G Code hướng dẫn máy di chuyển ở đâu, tốc độ di chuyển như thế nào và đi theo con đường nào.

G-code là gì?
G-code là gì?

Trong trường hợp của một máy công cụ như máy tiện hoặc máy phay, công cụ cắt được điều khiển bởi các lệnh này theo một đường chạy dao cụ thể, cắt bỏ vật liệu để có được hình dạng mong muốn.

Tương tự, trong trường hợp sản xuất gia công hoặc máy in 3D, các lệnh G-code hướng dẫn máy tạo vật liệu, từng lớp, tạo thành một hình dạng hình học chính xác.

Nếu bạn chưa biết về máy CNC là gì hãy cùng tham khảo bài đọc trước !

Làm thế nào để đọc lệnh G-code?

Thoạt nhìn, khi bạn nhìn thấy một tệp G-code, nó có thể trông khá phức tạp nhưng thực ra nó không khó hiểu đến vậy.

Làm thế nào để đọc lệnh G-code?
Làm thế nào để đọc lệnh G-code?

Nếu chúng ta xem xét kỹ hơn đoạn Code, chúng ta có thể nhận thấy rằng hầu hết các dòng đều có cấu trúc giống nhau. Có vẻ như phần “phức tạp” của G Code là tất cả những con số mà chúng ta thấy, chúng chỉ là tọa độ Descartes.

Chúng ta hãy xem xét một dòng duy nhất và giải thích nó hoạt động như thế nào.

G01 X247.951560 Y11.817060 Z-1.000000 F400.000000

Dòng có cấu trúc sau:

G ## X ## Y ## Z ## F ##

  • Đầu tiên là lệnh G-code và trong trường hợp này là lệnh G01  có nghĩa là “di chuyển theo đường thẳng đến một vị trí cụ thể”.
  • Chúng tôi khai báo vị trí hoặc tọa độ với các giá trị X , và Z.
  • Cuối cùng, với giá trị F , chúng tôi đặt tốc độ nạp hoặc tốc độ di chuyển sẽ được thực hiện.

Để kết thúc, dòng G01 X247.951560 Y11.817060 Z-1.000000  F400  yêu cầu máy CNC di chuyển theo đường thẳng từ vị trí hiện tại của nó đến tọa độ X247.951560, Y11.817060 và Z-1.000000 với tốc độ 400 mm / phút. Đơn vị là mm / phút bởi vì nếu chúng ta nhìn lại hình ảnh ví dụ G Code, chúng ta có thể thấy rằng chúng ta đã sử dụng lệnh G21 đặt đơn vị thành milimit. Nếu chúng ta muốn các đơn vị tính bằng inch, chúng ta sử dụng lệnh G20 để thay thế.

Các lệnh G code phay cnc cơ bản

chúng ta có thể xem qua các lệnh G Code quan trọng hoặc được sử dụng phổ biến nhất. Chúng ta sẽ tìm hiểu cách thức hoạt động của mỗi chúng thông qua một số ví dụ và đến cuối hướng dẫn này, chúng ta sẽ có thể hiểu đầy đủ về cách G-code hoạt động, cách đọc, cách sửa đổi và thậm chí là cách viết G-code của riêng chúng ta.

G00 – Định vị nhanh

Lệnh G00 di chuyển máy với tốc độ di chuyển tối đa từ vị trí hiện tại đến một điểm xác định hoặc tọa độ được chỉ định bởi lệnh. Máy sẽ di chuyển tất cả các trục cùng một lúc để chúng hoàn thành việc di chuyển đồng thời. Điều này dẫn đến một chuyển động đường thẳng đến điểm vị trí mới.

G00 - Định vị nhanh
G00 – Định vị nhanh

G00 là một chuyển động không cắt và mục đích của nó là chỉ nhanh chóng di chuyển máy đến vị trí mong muốn để bắt đầu một số loại công việc, chẳng hạn như cắt hoặc in.

G01 – Nội suy tuyến tính

Lệnh G-code G01 hướng dẫn máy di chuyển theo đường thẳng với tốc độ hoặc tốc độ tiến dao đã đặt. Chúng tôi chỉ định vị trí kết thúc với các giá trị X , Y và Z , và tốc độ với giá trị F. Bộ điều khiển máy tính toán (nội suy) các điểm trung gian cần đi qua để có đường thẳng đó. Mặc dù các lệnh G Code này đơn giản và khá trực quan để hiểu, đằng sau chúng, bộ điều khiển máy thực hiện hàng nghìn phép tính mỗi giây để thực hiện các chuyển động này.

G01 - Nội suy tuyến tính
G01 – Nội suy tuyến tính

Không giống như lệnh G00 chỉ được sử dụng để định vị, lệnh G01 được sử dụng khi máy đang thực hiện công việc chính của nó. Trong trường hợp máy tiện hoặc máy nghiền, cắt vật liệu theo đường thẳng và trong trường hợp máy in 3D, đùn vật liệu theo đường thẳng.

G02 – Nội suy vòng tròn theo chiều kim đồng hồ

Lệnh G02 yêu cầu máy di chuyển theo chiều kim đồng hồ theo hình tròn. Đây là khái niệm tương tự như lệnh G01 và nó được sử dụng khi thực hiện quy trình gia công thích hợp. Ngoài các thông số về điểm cuối, ở đây chúng ta cũng cần xác định tâm quay, hay khoảng cách của điểm bắt đầu cung tròn tính từ điểm chính giữa của cung tròn. Điểm bắt đầu thực sự là điểm kết thúc từ lệnh trước đó hoặc điểm hiện tại.

Để hiểu rõ hơn, chúng ta sẽ thêm lệnh G02 sau lệnh G01 từ ví dụ trước.

G02 - Nội suy vòng tròn theo chiều kim đồng hồ
G02 – Nội suy vòng tròn theo chiều kim đồng hồ

Vì vậy, trong ví dụ đầu tiên, chúng ta có lệnh G01 di chuyển máy đến điểm X5, Y12. Bây giờ đây sẽ là điểm bắt đầu cho lệnh G02. Với các tham số X và Y của lệnh G02, chúng tôi thiết lập điểm kết thúc. Bây giờ để đi đến điểm cuối này bằng cách sử dụng chuyển động tròn hoặc sử dụng một cung tròn, chúng ta cần xác định điểm trung tâm của nó. Chúng tôi làm điều đó bằng cách sử dụng các tham số I và J. Giá trị của I và J có liên quan đến điểm bắt đầu hoặc điểm kết thúc của lệnh trước đó. Vì vậy, để có được điểm trung tâm của X5 và Y7, chúng ta cần tạo độ lệch 0 dọc theo trục X và bù -5 dọc theo trục Y.

Tất nhiên, chúng ta có thể đặt điểm trung tâm ở bất kỳ nơi nào khác, do đó chúng ta sẽ nhận được một cung khác kết thúc tại cùng một điểm cuối. Đây là một ví dụ về điều đó:

Vì vậy, ở đây chúng ta vẫn có cùng điểm cuối như ví dụ trước (X10, Y7), nhưng điểm trung tâm bây giờ ở vị trí khác (X0, Y2). Với cái này, chúng ta có vòng cung rộng hơn so với cái trước.

Ví dụ G00, G01, G02 – Lập trình G Code thủ công

Chúng ta hãy xem một ví dụ phay CNC đơn giản bằng cách sử dụng ba lệnh G Code chính là G00, G01 và G02.

Ví dụ G00, G01, G02 - Lập trình G Code thủ công
Ví dụ G00, G01, G02 – Lập trình G Code thủ công

Để có được đường chạy dao cho hình dạng được hiển thị trong hình trên, chúng ta cần làm theo các lệnh G-code:

G00 X5 Y5              ; point B
G01 X0 Y20 F200         ; point C
G01 X20 Y0             ; point D
G02 X10 Y-10 I0 J-10     ; point E
G02 X-4 Y-8 I-10 J0    ; point F
G01 X-26 Y-2             ; point B

Ngôn ngữ Code:  Arduino  ( arduino )

Với lệnh G00 đầu tiên , chúng tôi nhanh chóng đưa máy từ vị trí ban đầu hoặc vị trí ban đầu của nó đến điểm B (5,5). Từ đây, chúng ta bắt đầu với việc “cắt” ở tốc độ tiến dao 200 bằng lệnh G01 . Chúng ta có thể lưu ý ở đây rằng để đi từ điểm B (5,5) đến điểm C (5,25), chúng ta sử dụng các giá trị cho X và Y so với điểm B bắt đầu. Vì vậy, +20 đơn vị theo hướng Y sẽ đưa chúng ta đến điểm C (5,25). Trên thực tế, điều này phụ thuộc vào việc chúng ta đã chọn máy để diễn giải tọa độ là tuyệt đối hay tương đối. Chúng tôi sẽ giải thích điều này trong phần sau.

Khi chúng ta đến điểm C (5,25), chúng ta có một lệnh G01 khác để đến điểm D (25,25). Sau đó, chúng tôi sử dụng lệnh G02, một chuyển động tròn, để đến điểm E (35,15), với điểm trung tâm (25,15). Chúng ta thực sự có cùng một điểm trung tâm (25,15) cho lệnh G02 tiếp theo, để đến điểm F (31,7). Tuy nhiên, chúng ta nên lưu ý rằng các tham số I và J khác với lệnh trước đó, bởi vì chúng ta bù đắp tâm từ điểm cuối cuối cùng hoặc điểm E. Chúng ta kết thúc đường chạy dao bằng một lệnh G01 khác đưa chúng ta đến từ điểm F (31, 7) trở lại điểm B (5,5).

Vì vậy, đó là cách chúng ta có thể lập trình thủ công G Code để tạo hình dạng này. Mặc dù vậy, chúng ta cần lưu ý rằng đây không phải là G Code hoàn chỉnh, vì chúng ta còn thiếu một số lệnh cơ bản. Chúng ta sẽ tạo G Code hoàn chỉnh trong một ví dụ sau vì trước tiên chúng ta cần giải thích các lệnh G-code đó.

G03 – Nội suy cung tròn ngược chiều kim đồng hồ

Cũng giống như G02, lệnh G-code G03 xác định máy di chuyển theo hình tròn. Sự khác biệt duy nhất ở đây là chuyển động là ngược chiều kim đồng hồ. Tất cả các tính năng và quy tắc khác giống như lệnh G02.

G03 - Nội suy cung tròn ngược chiều kim đồng hồ
G03 – Nội suy cung tròn ngược chiều kim đồng hồ

Vì vậy, với ba lệnh G Code chính này, G01 , G02 và G03 , chúng ta có thể tạo một đường chạy dao, theo nghĩa đen, bất kỳ hình dạng nào chúng ta muốn. Bây giờ bạn có thể tự hỏi làm thế nào điều đó có thể thực hiện được, nhưng đó thực sự là một nhiệm vụ dễ dàng đối với máy tính và phần mềm CAM. Đúng là đôi khi chúng ta có thể tạo chương trình G Code theo cách thủ công, nhưng hầu hết thời gian chúng ta làm điều đó bằng phần mềm thích hợp, dễ dàng hơn và an toàn hơn nhiều.

Tuy nhiên, bây giờ hãy giải thích một số lệnh quan trọng và được sử dụng phổ biến hơn và cuối cùng tạo một ví dụ G Code thực tế.

G20 / G21 – Lựa chọn đơn vị

Các lệnh G20 và G21 xác định các đơn vị G Code, inch hoặc milimét.

  • G20 = inch
  • G21 = milimit

Chúng ta cần lưu ý rằng các đơn vị phải được đặt ở đầu chương trình. Nếu chúng ta không chỉ định đơn vị, máy sẽ coi là cài đặt mặc định của chương trình trước đó.

G17 / G18 / G18 – Lựa chọn mặt phẳng G Code

Với các lệnh G Code này, chúng ta chọn mặt phẳng làm việc của máy.

  • G17 – Máy bay XY
  • G18 – Máy bay XZ
  • G19 – máy bay YZ

G17 / G18 / G18 - Lựa chọn mặt phẳng G Code
G17 / G18 / G18 – Lựa chọn mặt phẳng G Code

G17 là mặc định cho hầu hết các máy CNC, nhưng hai loại còn lại cũng có thể được sử dụng để đạt được các chuyển động cụ thể.

G28 – Trở về cị trí gốc

Lệnh G28 yêu cầu máy di chuyển công cụ đến điểm tham chiếu hoặc vị trí chính của nó. Để tránh va chạm, chúng ta có thể đưa vào một điểm trung gian với các tham số X, Y và Z. Công cụ sẽ đi qua điểm đó trước khi đi đến điểm tham chiếu. G28 X## Y## Z## 

G28 - Trở về cị trí gốc
G28 – Trở về cị trí gốc

Vị trí nhà có thể được xác định bằng lệnh G28.1 X## Y## Z##.

G90 / G91 – Định vị các lệnh G Code

Với các lệnh G90 và G91, chúng tôi cho máy biết cách diễn giải tọa độ. G90 dành cho chế độ tuyệt đối và G91 dành cho chế độ tương đối .

Ở chế độ tuyệt đối, vị trí của dụng cụ luôn luôn từ điểm tuyệt đối hoặc điểm không. Vì vậy, lệnh G01 X10 Y5sẽ đưa công cụ đến điểm chính xác đó (10,5), bất kể vị trí trước đó.

Mặt khác, ở chế độ tương đối, vị trí của dụng cụ là tương đối với điểm cuối cùng. Vì vậy, nếu máy hiện đang ở điểm (10,10), lệnh G01 X10 Y5sẽ đưa dao đến điểm (20,15). Chế độ này còn được gọi là “chế độ tăng dần”.

Các lệnh và quy tắc khác

Vì vậy, các lệnh G Code mà chúng tôi đã giải thích ở trên là những lệnh phổ biến nhất nhưng còn nhiều lệnh khác nữa. Có các lệnh như bù dao, chia tỷ lệ, hệ thống tọa độ làm việc, dwell, v.v.

Ngoài G Code, còn có các lệnh Code M được sử dụng khi tạo một chương trình G Code chính thức thực sự. Dưới đây là một số lệnh Code M phổ biến:

  • M00 – Chương trình dừng
  • M02 – Kết thúc chương trình
  • M03 – BẬT trục chính – theo chiều kim đồng hồ
  • M04 – BẬT trục chính – ngược chiều kim đồng hồ
  • M05 – Dừng trục chính
  • M06 – Thay đổi công cụ
  • M08 – BẬT màu lũ lụt
  • M09 – TẮT màu lũ lụt
  • M30 – Kết thúc chương trình

Trong trường hợp máy in 3D:

  • M104 – Bắt đầu gia nhiệt máy đùn
  • M109 – Chờ cho đến khi máy đùn đạt T0
  • M140 – Khởi động hệ thống sưởi giường
  • M190 – Chờ cho đến khi giường đến T0
  • M106 – Đặt tốc độ quạt

Một số lệnh này cần tham số thích hợp. Ví dụ, khi bật trục chính với M03, chúng ta có thể cài đặt tốc độ trục chính bằng tham số S. Vì vậy, đường dây M30 S1000sẽ quay trục chính với tốc độ 1000 vòng / phút.

Chúng tôi cũng có thể lưu ý rằng nhiều Code là phương thức , có nghĩa là chúng vẫn có hiệu lực cho đến khi bị hủy hoặc thay thế bằng Code khác. Ví dụ, giả sử chúng ta có Code cho chuyển động cắt tuyến tính G01 X5 Y7 F200. Nếu chuyển động tiếp theo lại là một đường cắt tuyến tính, chúng ta có thể chỉ cần nhập tọa độ X và Y mà không cần viết G01 ở phía trước.

G01 X5 Y7 F200
X10 Y15
X12 Y20
G02 X5 Y5 I0 J-5
X3 Y6 I-2 J0

Ngôn ngữ Code:  Arduino  ( arduino )

Điều tương tự cũng áp dụng cho thông số tốc độ nguồn cấp dữ liệu F. Chúng ta không phải bao gồm nó trong mọi dòng trừ khi chúng ta muốn thay đổi giá trị của nó.

Trong một số tệp G Code, bạn cũng có thể thấy “ N ## ” ở phía trước các lệnh. Từ N rất đơn giản để đánh số dòng hoặc khối Code. Điều đó có thể hữu ích cho việc xác định một dòng cụ thể trong trường hợp có lỗi trong một chương trình lớn.

Ví dụ về chương trình G Code đơn giản

Tuy nhiên, sau khi đọc tất cả những điều này, bây giờ chúng ta có thể tự tạo một Code thực, thực tế. Đây là một ví dụ:

Ví dụ về chương trình G Code đơn giản
Ví dụ về chương trình G Code đơn giản

%
G21 G17 G90 F100
M03 S1000
G00 X5 Y5                 ; point B
G01 X5 Y5 Z-1             ; point B
G01 X5 Y15 Z-1            ; point C
G02 X9 Y19 Z-1 I4 J0    ; point D
G01 X23 Y19 Z-1          ; point E
G01 X32 Y5 Z-1            ; point F
G01 X21 Y5 Z-1            ; point G
G01 X21 Y8 Z-1            ; point H
G03 X19 Y10 Z-1 I-2 J0    ; point I
G01 X13 Y10 Z-1           ; point J
G03 X11 Y8 Z-1 I0 J-2     ; point K
G01 X11 Y5 Z-1            ; point L
G01 X5 Y5 Z-1             ; point B
G01 X5 Y5 Z0
G28  X0 Y0
M05
M30
%

Ngôn ngữ Code:  Arduino  ( arduino )

Mô tả chương trình G Code:

  1. Khởi tạo Code. Ký tự (%) này luôn có ở đầu và cuối chương trình.
  2. Đường an toàn: Đặt lập trình trong hệ mét (tất cả các kích thước tính bằng mm), mặt phẳng XY, định vị tuyệt đối và tốc độ tiến dao là 100 inch / phút.
  3. Trục quay theo chiều kim đồng hồ với tốc độ 1000 vòng / phút.
  4. Định vị nhanh đến B (5,5).
  5. Điều khiển chuyển động trên cùng một vị trí, nhưng hạ dao xuống -1.
  6. Chuyển động cắt tuyến tính đến vị trí C (5,15).
  7. Chuyển động tròn đều theo chiều kim đồng hồ tới điểm D (9,19), có tâm tại (9,15).
  8. Cắt tuyến tính đến điểm E (23,19).
  9. Cắt tuyến tính đến điểm F (32,5).
  10. Cùng một đoạn thẳng cắt đến điểm G (21,5).
  11. Thêm một lần cắt thẳng đến điểm H (21,8).
  12. Nội suy vòng tròn ngược chiều kim đồng hồ đến vị trí I (19,10), với tâm điểm tại (19,8).
  13. Cắt tuyến tính đến điểm J (13,10).
  14. Cắt hình tròn ngược chiều kim đồng hồ đến vị trí K (11,8), với tâm điểm tại (13,8).
  15. Cắt tuyến tính đến vị trí L (11,5).
  16. Chuyển động cắt tuyến tính cuối cùng đến vị trí B (5,5).
  17. Nâng cao công cụ.
  18. Về vị trí nhà.
  19. Trục chính tắt.
  20. Chương trình chính kết thúc.

Đây là cách Code này đã sẵn sàng để được gửi đến máy CNC của chúng tôi thông qua phần mềm Universal G-code Sender:

Universal G-code Sender
Universal G-code Sender

Vì vậy, bằng cách sử dụng các lệnh G Code chính được giải thích ở trên, chúng tôi đã quản lý để viết G Code chính thức của riêng mình. Tất nhiên, ví dụ này khá đơn giản và đối với các hình phức tạp hơn, chúng ta chắc chắn cần sử dụng phần mềm CAM . Dưới đây là một ví dụ về G Code phức tạp của hình Ngựa:

CAM 
CAM

Để so sánh, Code này có khoảng 700 dòng, nhưng tất cả đều được tạo tự động. G Code được tạo bằng Inkscape làm ví dụ cho Máy cắt bọt CNC Arduino . Đây là cách hình dạng xuất hiện:

Máy cắt bọt CNC Arduino
Máy cắt bọt CNC Arduino

Bạn có thể kiểm tra hướng dẫn cụ thể của tôi để biết thêm chi tiết về máy này.

CDK - CĐ Văn Hóa Nghệ Thuật Và Du Lịch Nha Trang

Trường Cao đẳng Văn hóa Nghệ thuật & Du lịch Nha Trang CDK chính thức được thành lập. Năm 2005, nhà trường được vinh dự đón nhận phần thưởng cao quý của Nhà nước : Huân chương Lao động Hạng Ba.

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button