Giới thiệu về CNC Plotter Mini

Xin chào mọi người! Hôm nay mình xin giới thiệu với các bạn về chiếc máy CNC Plotter Mini mà mình đã được nhận ở tháng 3. Ngắn gọn vậy thôi nha, vào phần chính luôn :D.

CNC là gì?

Trước hết chúng ta phải hiểu CNC là thứ gì?

CNC là viết tắt của Computer Numerical Control là thuật ngữ chỉ những hệ thống máy tạo hình (Như phay tiện, cắt lase, decal, in 3D,...) được điều khiển bằng máy tính, phát triển từ cuối thập niên 1940 - đầu 1950 ở phòng thí nghiệm Servomechanism của học viện MIT.

CNC phân loại ra nhiều loại: 3 trục, 4 trục, 5 trục, phay 5 trục, tiện 5 trục, ....Có 3 trục cơ bản là X,Y,Z (Được sắp xếp như 3 trục trong không gian), các trục còn lại được hiểu là quay quanh trục Z, trục X, trục Y...

CNC Plotter dùng để làm gì?

Plotter có nghĩa là "máy vẽ" + thêm từ "CNC" nữa, thế là CNC Plotter cõ nghĩa là "máy vẽ được điều khiển bởi máy tính" :D.

Phần cứng

Điện thoại của mình chụp hình khá mờ nên mình lấy của người khác, nhưng yên tâm nó cũng tương tự thôi.

Nó gồm các phần sau:

Ta có thể tìm 2 cái khung kèm motor bước để làm trục x và y ở những ổ đĩa DVD, nhưng cũng có những ổ đĩa DVD không có motor bước :D.

Khối điều khiển, nhìn vào hình thì chắc bạn biết chúng ta sẽ cần gì rồi:

Như vậy, bằng cách điều khiển trục x, trục y tới tọa độ thích hợp và điều khiển trục z lên xuống, ta sẽ tạo nên những nét vẽ. Đó chính là CNC Plotter :D

Như vậy ta vừa tìm hiểu xong phần cứng của nó rồi.

Phần mềm

Như mình đã nói ở trên, chúng ta sẽ cần cung cấp cho máy cnc 1 tọa độ về 3 trục x,y,z để nó di chuyển theo tọa độ đó. Vì vậy ta cần rất rất nhiều dòng lệnh về tọa độ 3 trục để có thể vẽ ra một bức tranh, do đó ta sẽ lưu tất cả dòng lệnh tọa độ đó vào 1 file có tên là gcode - có đuôi file là *.gcode.

Code cho Arduino

Đây là code cho Arduino, mình có thêm 2 dòng code vào code gốc để cho nó thích hợp :D (2 dòng để đưa trục x và y về gốc tọa độ) và bạn chỉnh các giá trị ở biến penZUp và biến penZDown (Giá trị đó là góc của servo z á) và vẽ thử (Vẽ bằng cách nào thì lát sẽ rõ :D) để xem khi nhấc bút (penZUp) bút có nhấc lên không và khi hạ bút (penZDown) để vẽ thì xem thử bút có chạm giấy không nha, chạm vừa thôi, chạm mạnh quá thì trục x, y không chạy á, chạm nhẹ quá thì vẽ mờ á.

Sau khi úp code cho arduino thì chắc bạn sẽ thắc mắc rằng vẽ bằng cách nào đúng không :D. Đây đây đây, kéo xuống tí nữa đi.

Điều khiển

Chúng ta sẽ điều khiển CNC plotter bằng một phần mềm có tên là GCTRL, phần mềm này được 1 tác giả nào đó của nước ngoài viết bằng ngôn ngữ processing.

Bạn có thể tải về tại đây

Hoặc tải mã nguồn code processing tại đây

Sau khi tải phần mềm về, bạn mở lên, bạn sẽ có một trình điều khiển như hình:

Giao diện rất đơn giản, chỉ gồm những chỉ dẫn, có khá nhiều phím lệnh, nhưng ta chỉ quan tâm, một số phím sau:

  • p: Khi nhấn vào, nó sẽ hiện ra một tab mới dùng để lựa chọn cổng COM mà máy tính kết nối với Arduino của máy CNC.
  • 1,2,3: 3 mức tốc độ vẽ, nhưng mình thấy nó cũng như nhau cả thôi :D
  • h: Đưa bút về tọa độ gốc, hình như là góc dưới bên trái
  • 0: Rết lại máy CNC.
  • x: Dừng máy CNC lại khi nó hoạt động
  • g: Chức năng quan trọng nhất <3: Nhấn vào sẽ hiện ra 1 tab chọn file để chọn file gcode cần đưa cho Arduino của máy CNC.

Bạn có thể tải về 1 file gcode ở đây

Tạo file gcode của một bức tranh

À, kích thước vẽ tối đa là 4cmX4cm nha.

Ta sẽ tạo một file gcode của một bức tranh bằng phần mềm Inkscape, tuy nhiên ta phải dùng phiên bản 0.48.5, vì sau phiên bản này, Inkscape không còn chức năng tạo gcode nữa.

Sau khi tải về và cài đặt bình thường ta mở lên và làm theo các bước sau:

Mở File>Documents Properties hoặc nhấn tổ hợp Shift+Ctrl+D

1

Chỉnh lại đơn vị và kích thước như hình:

Tại sao kích thước khung vẽ lại là 80mmX80mm hay 8cmX8cm?

Vì gốc tọa độ của khung vẽ trong phần mềm là ở chính giữa, trong khi gốc tọa độ khung vẽ của máy CNC là góc dưới bên trái và kích thước khung vẽ là 4cmX4cm nên ta cần vẽ trong khung màu đen như hình dưới (Hãy thiết kế khung hình chữ nhật màu đen đó trước nha để giới hạn kích thước vẽ và lưu lại với đuôi là svg để lần sau ta kích vào file svg đó để thiết kế cho nhanh nhoa)

Cách sử dụng các công cụ trong phần mềm bạn có thể tìm tham khảo trên mạng với từ khóa "hướng dẫn sử dụng phần mềm Inkscape"

Sau đó bạn chọn File>Import, tìm đến file ảnh cần vẽ và kích đúp, sau đó chỉnh kích thước cho phù hợp bằng cách kéo các mũi tên như trong hình.

Chọn ảnh đó, sau đó kích vào biểu tượng cái khóa để khóa lại và chọn Trace Bitmap... như hình

Hiện ra 1 tab mới, chọn Grays, chỉnh con số ở ô Scans, con số đó có nghĩa là số lần quét ảnh gốc, quét càng nhiều thì ảnh vẽ càng chính xác và tất nhiên là vẽ càng lâu :)). Vì vậy ta cần điều chỉnh cho thích hợp. Sau đó nhấn Ok.

Đợi nó xuất hiện ảnh mới màu xám thì tắt tab đó đi.

Kéo ảnh mới ra một tí, ta sẽ thấy ảnh cũ, kích vào ảnh cũ và nhấn nút Delete trên bàn phím để xóa ảnh cũ đó.

Kéo ảnh mới về chỗ cũ

Kích vào biểu tượng như hình

Nhấn vào nền trắng của ảnh mới, nhấn phải chuột vào nút bao quanh hình đó, chọn Delete

Kích vào biểu tượng như hình, kéo chọn tất cả

Chọn Path > Qbject To Path, hoặc nhấn tổ hợp Ctrl + Shift + C

Chọn File > Save As, hoặc Ctrl + Shift + S

Hiện 1 tab mới, nhập tên, chọn kiểu file là gcode, nhấn Save

Hiện 1 tab khác, đây là tab cài đặt file gcode, chuyển qua mục Copies, thông số ta thấy là số lần lặp lại hình vẽ (Giống kiểu đồ đậm), điều chỉnh cho thích hợp và nhấn Ok

Bật phần mềm GCTRL lên, nhấn  phím p và chọn cổng COM kết nối với CNC

Chờ tới khi CNC về tọa độ gốc (Khi nào về gốc tọa độ thì đèn Tx hay Rx của board Arduino sẽ nháy lên), sau đó nhấn phím g, tìm đến file gcode ta vừa tạo, nhấn chọn file đó, kích Open và cảm nhận thành quả :D.

Kết luận

Như vậy là ta vừa tìm hiểu xong chiếc máy CNC Plotter mini rồi! Qua đây mình nghĩ rằng chắc bạn đã có thể tự làm cho mình 1 chiếc rồi nhỉ ! Nếu bạn muốn bỏ từ "mini" đi :D thì bạn có thể tham khảo cách làm trục x, trục y to hơn qua từ khóa "Tự làm máy cắt laser" trong mục tìm kiếm của cộng động, còn trục z thì giống cái mini. Ngoài ra bạn có thể thay cái bút đó bằng một mắt lase công suất nhỏ để thay thay từ Plotter thành Laser :D. Cảm ơn các bạn đã theo dõi.

Đây là video Demo:

Youtube: 
lên
25 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Lập trình Arduino không cần viết code - Phần 2: Fade led

Đây là phần 2 của chuỗi bài viết "Lập trình Arduino không cần code" - Chuỗi bài giúp các bạn newbie tiếp cận với arduino theo một hướng mới và thú vị.

Xem lại phần 1 tại đây.

Ở phần 1, mình đã giới thiệu với các bạn phần mềm miniBloq - một môi trường lập trình arduino mới mẻ và thú vị. Đồng thởi mình cũng đã viết 1 ví dụ. Hôm nay sẽ là ví dụ thứ 2. Chúng ta sẽ điều khiển độ sáng của 1 bóng đèn led bằng 1 biến trở. Ok

lên
26 thành viên đã đánh giá bài viết này hữu ích.

Tổng quan về cảm biến

Chúng ta đã quá quen thuộc với các con cảm biến, tuy nhiên mình thấy trong cộng đồng ta chưa có bài viết nào đưa ra cái nhìn tổng quan về cảm biến. Vì vậy hôm nay mình sẽ viết bài này để giúp các bạn cóa cái nhìn tổng quan về cảm biến. Không vòng vo tam quốc nữa.

lên
24 thành viên đã đánh giá bài viết này hữu ích.