loc4atnt gửi vào
- 67323 lượt xem
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
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: