Grbl hướng dẫn cài đặt máy laser

GRBL là một phần mềm miễn phí, mã nguồn mở và hiệu năng cao dùng để điều khiển chuyển động của máy móc, những loại máy có thể tạo ra các vật thể hoặc làm các vật thể chuyển động, chạy trên Arduino. “Nếu phong trào ‘maker’ là một ngành công nghiệp, Grbl sẽ trở thành một tiêu chuẩn công nghiệp”

Hầu hết các máy in 3D mã nguồn mở đều sử dụng Grbl. Nó thích hợp cho hàng trăm loại dự án bao gồm máy cắt laser, máy viết chữ, máy khoan lỗ, máy phun sơn và máy vẽ. Dựa vào sự hiệu quả, đơn giản và đòi hỏi phần cứng không quá cao làm cho Grbl trở thành một hiện tượng mã nguồn mở.

Vào năm 2009, SImen Slave Skogsrud (http://bengler.no/grbl) đã ủng hộ cho cộng đồng mã nguồn mở bằng việc viết và tung ra phiên bản sớm của Grbl đến mọi người. Từ nằm 2011, Grbl đang được thúc đẩy như một dự án mở hướng tới cộng đồng dưới sự dẫn dắt của TS. Sungeun “Sonny” Jeon.

Ai sẽ sử dụng Grbl

Những người người chế tạo thường sử dụng máy phay hoặc cắt laser và cần một bộ điều khiển tốt, đơn giản cho hệ thống của họ chạy được trên Arduino. Những người không muốn làm lộn xộn không gian làm việc với việc đặt thêm các máy PC cũ chỉ để sử dụng các cổng song song (parallel port). Những Tinkerer cần một bộ điều khiển được viết bằng ngôn ngữ C nhỏ gọn, làm cơ sở cho các dự án của họ

Những tính năng hấp dẫn

Grbl là một lựa chọn tốt cho những ứng dụng nhỏ gọn. Chúng ta có thể sử dụng nó cho các máy phay, điều khiển từ máy laptop hoặc Raspberry Pi, sử dụng các giao diện điều khiển để xuất G-code vào hệ thống điều khiển. Grbl được viết bằng ngôn ngữ C tối ưu hóa nhằm tận dụng hết khả năng của vi xử lý Atmega328p của Arduino để đạt được độ đồng bộ chính xác. Nó có thể đảm bảo việc truyền tải tốc độ bước đến trên 30kHz và cung cấp một luồn xung ổn định, không nhiễu loạn.

Grbl sử dụng cho các máy 3 trục. Không (chưa) có trục xoay – chỉ X, Y và Z.

Trình biên dịch G-code triển khai một tập hợp con của tiêu chuẩn LinuxCNC và được hỗ trợ bởi hầu hết các công cụ CAM một cách hoàn hảo. Để biết thêm mô tả về các mã G-Code này, bạn đọc hãy xem tài liệu của LinuxCNC để tìm hiểu thêm, (G-code Quick Reference). Lưu ý răng sẽ có một số thiếu sót so với tiêu chuẩn G-code được liệt kê dưới đây

Nếu bạn nghĩ bạn đang trong quá trình muốn tạo ra một chiếc máy CNC cho bản thân, thì điều kế tiếp mà bạn sẽ gặp đó là khai niệm về GRBL. Do đó trong bài học lần này chúng ta sẽ biết được GRBL là gì, làm sao để cài đặt và làm sao để sử dụng nó để điều khiển một máy CNC dựa vào Arduino.

Cũng như vậy, chúng ta sẽ học cách sử dụng Universal G-code Sender, một phần mềm điều khiển GRBL sử dụng mã nguồn mở phổ biến.

GRBL là gì ?

GRBL là một phần mềm mã nguồn mở hoặc chương trình có thể kích hoạt điều khiển các chuyển động của máy CNC. Chúng ta có thể cài đặt dễ dàng cài đặt chương trình GRBL cho Arduino và vì thế chúng ta có thể có ngay một bộ điều khiển CNC với giá thành rẻ và hiệu suất cao. GRBL sử dụng G-code làm tín hiệu vào, và tín hiệu ra dùng để điều khiển chuyển động thông qua Arduino.

Để hiểu rõ hơn chúng ta cần nhìn xuống sơ đồ bên dưới này.

Grbl hướng dẫn cài đặt máy laser

Từ sơ đồ , chúng ta có thể thấy từ đâu GRBL được sử dụng trong một “bức tranh lớn” về nguyên lý vận hành của máy CNC. Nó là một chương trình chúng ta cần để cài đặt hoặc tải lên cho Arduino do đó nó có thể điều khiển động cơ bước của máy CNC. Nói một cách khác thì vai trò của chương trình GRBL là chuyển đổi G-code thành chuyển động của động cơ.

Yêu cầu phần cứng

  • Arduino – như đã nêu trên, chúng ta cần có một Arduino để cài đặt GRBL. Một cách cụ thể, chúng ta cần một board Arduino dùng chip Atmega 328, nghĩa là chúng ta có thể dùng Arduino Uno hay Nano đều được.
  • Động cơ bước – Động cơ bước cung cấp các chuyển động cho máy
  • Bộ điều khiển (driver) – để điều khiển động cơ bước chúng ta cần có một bộ điều khiển và một lựa chọn phổ biến đó là A4988 hoặc DRV 8825
  • Shield Arduino CNC – để kết nối bộ điều khiển động cơ bước với Arduino, cách đơn giản nhất là sử dụng Arduino CNC shield. Chúng sử dụng tất cả chân của Arduino và cung cấp một cách đễ nhất khi kết nối với tất cả mọi thứ, động cơ bước, trục xoay, công tắc hành trình, quạt tản nhiệt

Hãy lưu ý ghi lại các thành phần điện tử cơ bản này chúng ta cần hiểu được một máy CNC vận hành như thế nào

Thật ra để biết tất cả những thứ cần được kết nối như thế nào thì chúng ta có thể nhìn vào máy cắt DIY CNC dưới đây

Grbl hướng dẫn cài đặt máy laser

Công cụ chính của máy CNC này là dây nhiệt, là thứ có thể dễ dàng bị nóng chảy hoặc bị cắt xuyên bởi Styrofoam và tạo ra bất cứ hình dạng nào mà bạn muốn. Để biết thêm chi tiết làm thế nào để làm máy CNC và làm thế nào để mọi thứ hoạt động được, bạn có thể xem kỹ lại bài học.

Tuy nhiên, chúng ta sẽ sử dụng máy CNC này như một ví dụ thông qua tiêu đề này, bởi vì nguyên lý làm việc tương tự được áp dụng cho bất cứ loại máy CNC, cho dù là nó máy khắc hoặc máy laser.

Làm cách nào để cài đặt GRBL

Đầu tiên, để có thể cài đặt hoặc tải GRBL lên Arduino thì chúng ta cần phần mềm Arduino IDE.

Sau đó chúng ta có thể tải GRBL về từ github.com

Grbl hướng dẫn cài đặt máy laser

Tải ở dạng .ZIP file và thực theo các bước sau:

Thông số GRBL Ở điểm này, chúng ta nên hiệu chỉnh GRBL theo máy của chúng ta, chúng ta có thể làm thông qua Serical Monitor của Arduino IDE. Mỗi lần mở Serdial Monitor chúng ta lại có một dòng nhắn như Grbl 1.1h [‘$’ for help]. Nếu bạn không thấy dòng nhắn này, cần phải kiểm tra lại bạn đã đổi baurate sang 115200 chưa.

Nếu chúng ta gõ $$ chúng ta sẽ nhận được một danh sách các lệnh cài đặt và đơn vị cài đặt, chúng sẽ xuất hiện giống như bên dưới:

$100=250.000 (x, step/mm) $101=250.000 (y, step/mm) $102=3200.000 (z, step/mm) $110=500.000 (x max rate, mm/min) $111=500.000 (y max rate, mm/min) $112=500.000 (z max rate, mm/min) $120=10.000 (x accel, mm/sec^2) $121=10.000 (y accel, mm/sec^2) $122=10.000 (z accel, mm/sec^2)

Tất cả những lệnh điều khiển có thể được hiệu chỉnh dựa theo máy CNC của chúng ta. Ví dụ như với lệnh điều khiển đầu tiên, $100=250.000 (x, step/mm), chúng ta có thể điều chỉnh bước theo đơn vị mm của máy, hoặc chúng ta có thể xác định rõ bao nhiêu bước để động cơ có thể di chuyển trên trục X được 1mm .

Tuy nhiên, tôi khuyên bạn nên giữ các cài đặt như đã có. Đó là cách đơn giản nhất để hiệu chỉnh chúng dựa theo máy thông qua phần mềm điều khiển

Bộ điều khiển GRBL

Mỗi khi chúng ta cài đặt phần mềm GRBL, thì Arduino của chúng ta sẽ biết đọc được G-code và làm cách nào để điều khiển máy CNC dựa theo nó. Tuy nhiên, để gửi G-code cho Arduino chúng ta cần phải có một giao diện hoặc chương trình điều khiển để Arduin biết phải làm gì. Thật ra, có cả mã nguồn mở hoặc các phần mềm thương mại để phục vụ cho vấn đề đó. Và tất nhiên, chúng ta sẽ sử dụng mã nguồn mở, và đây là ví dụ chúng ta sẽ sử dụng Univarsal G-code Sender.

Grbl hướng dẫn cài đặt máy laser

Làm cách nào để sử dụng Univarsal G-code Sender

Đối với ví dụ này, tôi sẽ sử dụng phiên bản 2.0 Platform. Mỗi khi chúng ta tải nó về, chúng ta cần phải giải nén, vào mục Bin folder và mở bất cứ “ugsplatfrom” files nào có thể thực hiện được. Đây thật ra là một phần mềm JAVA, do đó để mở đươc phần mềm này, chúng ta cần phải cài đặt JAVA Runtime Environment.

Grbl hướng dẫn cài đặt máy laser

Khi chúng ta mở Univarsal G-code Sender, đầu tiên chúng ta cần nhập thông số máy, hoặc thông số đo đạc cho GRBL. Cho mục đích đó chúng ta sẽ sử dụng UGS Setup Wizard sẽ tiện lợi hơn, kế tiếp sẽ nhập lệnh thủ công thông qua Serial Monitor của Arduino IDE.

Bước đầu tiên ở đây là chọn baurate là 115200, và cổng port được kết nối với Arduino. Khi chúng ta kết nối Universal G-code sender với Arduino , bước kế tiếp là chúng ta sẽ kiểm tra hướng chuyển động của động cơ.

Grbl hướng dẫn cài đặt máy laser

Nếu cần, chúng ta có thể đổi chiều thông qua wizard, hoặc đảo chân kết nối của động cơ với Arduino CNC shield.

Bước kế tiếp chúng ta sẽ hiệu chỉnh thông số step/mm như đã đề cập bên trên. Đến đây chúng sẽ dễ dàng hiểu được làm thế nào để điều chỉnh bởi vì cài đặt wizard sẽ tính toán và báo cho ta biết giá trị nào cần phải được cập nhật thông số.

Grbl hướng dẫn cài đặt máy laser

Giá trị mặc định là 250 steps/mm. Điều đó có nghĩa là nếu chúng ta chọn vào nút X+, thì động cơ sẽ di chuyển 250mm. Bây giờ thì tùy thuộc vào các bước cứng mà động cơ có, để lựa chọn độ phân giải về bước và kiểu phát, máy CNC sẽ di chuyển thêm một khoảng. Sử dụng thước để đo chuyển động của cơ cấu chấp hành do máy thực hiện và nhập giá trị vào ô Actual movement. Dựa vào đây, wizard sẽ tính toán và báo cho chúng ta biết giá trị nào chúng ta cần thay đổi thông số Steppers/mm.

Grbl hướng dẫn cài đặt máy laser

Trong trường hợp của tôi, máy CNC mà tôi làm đã di chuyển 3mm. Theo đó, wizard đã đề nghị để cập nhật thông số steppers/mm thành giá trị 83

Grbl hướng dẫn cài đặt máy laser

Với giá trị được cập nhật cho máy , thì máy sẽ di chuyển chính xác , 1mm trong phần mềm tương đương 1mm cho máy CNC.

Grbl hướng dẫn cài đặt máy laser

Trên bảng điều khiển UGS, như chúng ta làm mỗi tác động , chúng ta có thể nhìn thấy các lệnh điều khiển được thực hiện. Chúng ta cần lưu ý rằng cập nhật thông số steps/mm trong phần mềm UGS thật ra là gửi qua cho Arduino , hoặc chương trình điều khiển GRBL như chúng ta đã đè cập bên trên.Giá trị mặc định là : $100=250.000 (x, step/mm), và bây giờ chúng ta đã cập nhật giá trị 83 steps per mm: $100=83.

Bước kế tiếp chúng ta có thể kích hoạt công tắc hành trình và kiểm tra xem chúng có có hoạt động chính xác hay không.

Grbl hướng dẫn cài đặt máy laser

Tùy thuộc vào chúng là dạng thường mở hay thường đóng được kết nối, chúng ta cũng có thể đảo ngược chúng ở đây.

Đây là nhưng ghi chú đáng giá, đó là đôi khi chúng ta cần vô hiệu hóa công tắc hành trình trục Z. Đó là trường hợp với máy cắt CNC của tôi, vì máy của tôi không cần đến công tắc hành trình trục Z và tôi đã vô hiệu hóa nó để có thể trở về điểm home của máy. Do đó, để làm được điều này chúng ta cần điều chỉnh lại config.h file, là file trong thư viện của Arduino

Grbl hướng dẫn cài đặt máy laser

Ở đây chúng ta cần tìm dòng homing cycle và viết vào cài đặt mặc định 3 trục của máy và không viết vào phần cài đặt cho máy 2 trục. Để các thay đổi để có hiệu lực, chúng ta cần phải lưu file lại và tải lại grblUpload sketch lên Arduino.

Tuy nhiên, bước kế tiếp chúng ta có thể kích hoạt hoặc vô hiệu hóa việc về home của máy CNC.

Grbl hướng dẫn cài đặt máy laser

Sử dụng nút Try homing trên máy sẽ bắt đầu di chuyển về phía cuối của công tắc giới hạn. Trong trường hợp máy di chuyển hướng ngược lại chúng ta có thể đổi lại hướng một cách dễ dàng.

Cuối cùng , trong bước cuối của phần Setup Wizard chúng ta có thể kích hoạt các giới hạn cho máy CNC

Grbl hướng dẫn cài đặt máy laser

Các giới hạn giúp cho máy CNC không hoạt động ngoài khu vực được phép .

Kết luận

Nhờ vào chương trình GRBL và Arduino, chúng ta có thể dễ dàng cài đặt và vận hành máy DIY CNC của chúng ta. Tất nhiên, chúng tôi chỉ hỗ trợ một bài học cơ bản, nhưng tôi nghĩ nó cũng đủ để hiểu làm thế nào để một máy CNC có thể hoạt động và cài đặt chúng.

Tất nhiên còn rất nhiều chế độ cài đặt và tính năng khác, vì phần mềm điều khiển GRBL thực sự có khả năng chạy máy CNC. Tài liệu về GRBL giải thích tất cả một cách chi tiết, nên bạn có thể tìm đọc chúng trên trang wiki của github.com

Cũng như vậy, còn có nhiều phần mềm điều khiển GRBL mã nguồn mở như Universal G-code Sender, và đây là một vài trong số chúng: GRBLweb (Web Browser), GrblPanel (Windows GUI), grblControl (Windows/Linux GUI), Easel (Browser based) etc. Bạn nên tìm hiểu chúng và tìm xem đâu là thứ phù hợp cho bạn nhất.