CNC mini với thư viện GRBL

17/09/2017

Phần cứng để sử dụng có thể vào đây để xem trước đó : DIY CNC phay mạch (P2)

Phần mềm:

link FW: GRBLhex


Ở bài này sẽ chỉ hướng dẫn các  bạn nạp FW GRBL, 1 open-soure được đón nhận và phát triển, nên tạo điều kiện hơn cho các bạn tiếp cận CNC mini.

tải file ở trên

sẽ có 3 file như hình (khá dễ không nè) 

b1. Mở Xloader (chạy phần mềm Xloader.exe)

Chọn file grbl_v0_9j_atmega328p_16mhz_115200.hex
Cài thông số như hình, chọn cổng com của arduino nhấn Upload và chờ 1 lát. (Khi thấy ....kb uploaded thì ok- thường thì chỉ mất chưa tới 3s) -nếu không được thì kiểm tra kĩ lại cổng com và làm lại đến khi dc 

Mở tiếp GRBL và chọn mở  Universal Gcode Sender -> chọn com (cổng usb kết nối arduino) baud: 115200 như hình và có thể nhấn open để kết nối

Vào settings -> firmware settings -> GRBL (Tinh chỉnh thông số máy)
Các giá trị có ý nghĩa sau:

------------------Tới khúc này các newbie chỉ cần quan tâm vài thông số chính (100-101-102,...)------

  • $0: thời gian mỗi xung cấp tới động cơ bước, tính bằng micro giây. Mỗi một động cơ có đặc tính thông số thời gian kéo dài của xung điện áp khác nhau. Quy tắc điều chỉnh là giảm thời gian mỗi xung xuống càng thấp càng tốt miễn là động cơ chạy ổn định. Giá trị mặc định là 10 us.
  • $1: thời gian đợi để tắt động cơ, tính bằng mili giây. Sau khi động cơ hoàn thành xong một chuyển động hoặc dừng hẳn, mạch điều khiển vẫn tiếp tục cấp điện cho động cơ trong thời gian ứng với giá trị $1. Nếu muốn để mạch điều khiển luôn luôn cấp nguồn cho động cơ (động cơ luôn ở chế độ được cấp điện), đặt giá trị $1 = 255. Thông thường với những máy sử dụng đai GT2, có thể đặt giá trị $1 = 255, tuy nhiên khi đó động cơ có thể nóng hơn bình thường một chút.
  • $2: thiết lập đảo mức điện áp tín hiệu điều khiển động cơ bước. Chức năng này sử dụng để đảo ngược mức tín hiệu (5V <-> 0V) của tín hiệu điều khiển động cơ. Thông thường thiết lập này không cần sử dụng tới trừ trường hợp với một vài driver đặc biệt.

Ảnh: mme.vn
Cách sử dụng $2 như bảng trên: ví dụ khi muốn đảo mức tín hiệu điều khiển động cơ bước của trục Z, các trục X và Y không thay đổi, ta thiết lập: $2 = 4.

  • $3: thiết lập đảo mức tín hiệu điều khiển hướng động cơ của mỗi trục. Thiết lập này tương đương với đảo thứ tự toàn bộ chân các dây điều khiển của động cơ bước và dùng để đảo chiều chuyển động ( âm hoặc dương) của động cơ. Cách thiết lập trục nào sẽ bị đảo hướng chuyển động cũng giống như đối với $2. Ví dụ muốn đảo hướng chuyển động của trục Y, ta sửa giá trị $3 = 2.
  • $4: thiết lập dảo ngược tín hiệu kích hoạt động cơ cho tất cả các trục. Thông thường thiết lập này không cần sử dụng và có thể để mặc định $4 = 0.
  • $5: thiết lập đảo ngược tín hiệu kích hoạt Endstop (cảm biến giới hạn hành trình máy) cho tất cả các trục. Nếu $5 = 0, mạch điều khiển sẽ xem tín hiệu kích hoạt Endstop là mức 0 (0V). Nếu $5 = 1, mạch điều khiển sẽ xem tín hiệu kích hoạt Endstop là mức 1 (+5V).
  • $6: thiết lập đảo ngược tín hiệu kích hoạt cảm biến dò bề mặt phôi. Khi sử dụng chức năng dò bề mặt phôi (kiểm tra độ cao các điểm trên bề mặt phôi để bù lại khi gia công), nếu $6 = 0 mạch điều khiển sẽ xem tín hiệu kích hoạt đầu dò là mức 0 (0V). Nếu $6 = 1 mạch điều khiển sẽ xem tín hiệu kích hoạt đầu dò là mức 1 (+5V). Lưu ý, khi đặt $6 = 1, cần phải bổ sung thêm một trở nối đất cho chân tín hiệu đầu dò.
  • $10: thiết lập phản hồi trạng thái của máy khi đang chạy:

Ảnh: mme.vn
Mục đích của thiết lập là cho phép người dùng chọn lựa/loại bỏ một số thông tin trạng thái của máy cần theo dõi. Thông thường càng ít thông số cần theo dõi càng tiết kiệm được tài nguyên của mạch điều khiển. Các thông số có thể chọn/loại bỏ trình bày như trong hình trên gồm có: Machine Position (vị trí máy); Work Position (vị trí gia công); Planner Buffer (bộ nhớ đệm lưu các bước gia công tiếp theo); RX Buffer (bộ nhớ đệm nhận tín hiệu); Limit Pins (trạng thái các chân tín hiệu Endstop).

Cách sử dụng: ví dụ nếu muốn mạch điều khiển chỉ gửi về thông số Machine Position và Work Position, đặt giá trị: $10 = 1+2 = 3.

  • $11: thiết lập giá trị gia tốc của dao khi di chuyển qua các điểm nối giữa các cạnh cần gia công. Giá trị gia tốc này càng cao, máy chạy càng nhanh nhưng khả năng xảy ra sai lệch kích thước càng lớn và ngược lại.
  • $12: thiết lập độ chính xác gia công các cung tròn/đoạn cong, tính theo milimét. Thông thường giá trị này không cần phải thay đổi trừ khi cần giá trị khác. Nếu muốn gia công các cung tròn nhanh hơn, có thể tăng giá trị $12 lên một chút.
  • $13: thiết lập thông báo trạng thái làm việc của máy theo đơn vị Inch hay không. Nếu $13 = 0, máy sẽ báo trạng thái làm việc theo đơn vị mm. Nếu $13 = 1, máy sẽ báo trạng thái làm việc theo đơn vị inch.
  • $20: thiết lập chức năng giới hạn hành trình bằng phần mềm. Khi kích hoạt tính năng này (bằng cách đặt giá trị $20 = 1), mạch điều khiển sẽ chỉ cho phép dao di chuyển trong giới hạn cho phép (xem $130; $131; $132) tính từ gốc tọa độ. Khi muốn dùng tính năng này bắt buộc phải bật tính năng về gốc tọa độ ($22) trước.
  • $21: thiết lập chức năng giới hạn hành trình bằng Endstop. Khi kích hoạt tính năng này (bằng cách đặt giá trị $21 = 1), mạch điều khiển sẽ tự động dừng toàn bộ máy khi có bất kỳ Endstop nào kích hoạt. Thông thường tính năng này không cần dùng đến, trừ một số trường hợp đặc biệt.
  • $22: thiết lập chức năng về gốc tọa độ. Khi kích hoạt tính năng này (bằng cách đặt giá trị $22 = 1), mỗi lần khởi động máy, dao sẽ được tự động di chuyển về gốc tọa độ (được xác định bằng 3 Endstop ứng với trục X; Y; Z). Trong quá trình di chuyển về gốc tọa độ, mạch điều khiển sẽ không thực hiện bất cứ một lệnh nào khác cho tới khi về tới vị trí của 3 Endstop.
  • $23: thiết lập hướng di chuyển về gốc tọa độ (sử dụng khi đảo ngược hướnglắp Endstop trên trục). Cách sử dụng giống như với $2.
  • $24: tốc độ về gốc tọa độ chậm (mm/phút). Khi về gốc tọa độ, đầu tiên dao sẽ di chuyển nhanh (tốc độ về gốc tọa độ nhanh $25) từ vị tri hiện tại. Khi gặp Endstop, dao sẽ được di chuyển ngược lại và sau đó di chuyển chậm (tốc độ về gốc tọa độ chậm $24) để đảm bảo độ chính xác. Giá trị $24 càng nhỏ thì vị trí xác định khi gặp Endstop càng chính xác, tuy nhiên càng mất thời gian hơn.
  • $25: tốc độ về gốc tọa độ nhanh (mm/phút). Xem giải thích tại $24.
  • $26: thiết lập độ trễ (delay, mili giây) khi kiểm tra tín hiệu Endstop khi về gốc tọa độ. Để giảm ảnh hưởng do nhiễu tín hiệu điện, mạch điều khiển sẽ tạo một thời gian trễ khi nhận được tín hiệu kích hoạt từ Endstop. Thông thường giá trị này nằm trong khoảng 5 - 25 ms.
  • $27: thiết lập di chuyển sau khi đã về gốc tọa độ (mm). Sau khi đã về gốc tọa độ, dao sẽ được di chuyển theo chiều ngược lại một quãng bằng giá trị $27 theo tất cả các trục.
  • $100; $101; $102: thiết lập số bước của động cơ ứng với 1mm theo các trục X; Y; Z tương ứng.
  • $110; $111; $112: thiết lập tốc độ di chuyển cực đại của dao theo mỗi trục X; Y; Z tương ứng (mm/phút). Khi kiểm tra máy, ban đầu có thể đặt giá trị này thật thấp, sau đó tăng dần tới khi động cơ hoạt động mượt nhất.
  • $120; $121; $122: thiết lập gia tốc di chuyển dao ứng với mỗi trục X; Y; Z tương đương (mm/s2). Nếu đặt giá trị gia tốc quá thấp, dao có thể không bao giờ tăng tới vận tốc cao nhất được. Tuy nhiên nếu để gia tốc quá cao, động cơ có thể bị mất mốt số bước khi hoạt động.
  • $130; $131; $132: thiết lập hành trình tối đa (kích thước gia công tối đa) theo các trục X; Y; Z tương ứng (mm). Các thiết lập này chỉ cần thiết khi đã kích hoạt tính năng $20.

--------------Nếu không hiểu sâu như trên thì cũng đừng lo lắng, sẽ ngâm cứu sâu hơn dịp khác khi đã đủ trình ^^ _--------------------------------

Trên phần mềm UniversalGcodeSender:
Tab: Commands dùng để gõ lệnh.
Tab: File Mode dùng để đưa file Gcode vào phần mềm, phần Visualize để xem mô phỏng.
Tab: Machine control dùng để điều khiển các trục.
-Reset zero: chuyển vị trí hiện tại tất cả các trục bằng 0.
-Return to zero: di chuyển các trục về vị trí 0
-Reset X - Y - Z: chuyển vị trí hiện tại của trục tương ứng bằng 0.

Vậy là xong phần phần mềm. 



Thành Nhân

Bạn có thể thêm thông tin của mình ở phần CONTACT ở menu ;) .