Khám phá bí mật ẩn bên trong chiếc máy in
3D.
Hẳn các bạn đều biết dòng máy in 3D reprap là 1 dự án mã nguồn mở vậy ai cũng có thể có được mã nguồn của phần mềm điều khiển hay còn gọi là firmware, và vì nó là mã mở nên bất kỳ ai am hiểu về mã nguồn cũng có thể chỉnh sửa và tạo ra phiên bản phần mềm firmware của riêng mình.
Hôm nay chúng ta sẽ thử cùng tìm hiểu xem có bao nhiêu phiên bản firmware như thế được phổ biến trong thế giới in 3D nhé.
Dưới đây mình xin liệt kê một số firmware mà mình biết và sưu tầm trên mạng.
1. Marlin
Tên : Marlin
Tác giả : Erik van der Zalm
Ngày phát hành: tháng 11 năm 2011
Tính năng tiêu biểu:
- Hỗ trợ tốc độ cao trên mỗi trục
- Bảo vệ quá nhiệt tự động ngắt
- Hỗ trợ endstop[ công tắc hành trình]
- Hỗ trợ giao tiếp thẻ nhớ SD
- Hỗ trợ màn hình LCD [20×4 và 16×4]
- Hỗ trợ giao diện LCD xử lý in độc lập không cần kết nối máy tính
- Lưu trữ các thiết đặt trên EEPROM
- Hiển thị nhiệt độ, tọa độ theo thời gian thực
Bo mạch tương thích
- RAMPS
- RAMBo
- RUMBA
- Sanguinololu
- Ultimaker’s Electronics version 1.0-1.5
- Generation_6_Electronics
- Generation 7 Electronics
- Duemilanove 328P
- Melzi and Melzi v2.0
- Azteeg X1, Azteeg X3, and Azteeg X3 Pro
- Megatronics [Megatronics 1.0, Megatronics 2.0, and Megatronics 3.0]
Đường dẫn tải firmware :
//github.com/MarlinFirmware/Marlin
2. Sprinter
Tên : Sprinter
Tác giả : Kliment, caru, tonok, tesla893
Ngày phát hành: tháng 2 năm 2012
Tính năng tiêu biểu:
- Hỗ trợ giao tiếp thẻ nhớ SD
- Điều khiển motor bước đầu in
- Kiểm soát tốc độ các trục
- Kiểm soát nhiệt độ đầu in và bàn nhiệt
Bo mạch tương thích
- RAMPS
- Sanguinololu
- Teensylu
- Ultimaker’s Electronics phiên bản 1.0-1.5
Đường dẫn tải firmware :
//github.com/kliment/Sprinter.git
3. Sailfish
Tên : Sailfish
Tác giả : Jetty
Ngày phát hành: tháng 2 năm 2012
Tính năng tiêu biểu:
- Hỗ trợ giao tiếp thẻ nhớ SD
- Điều khiển motor bước đầu in
- Kiểm soát tốc độ các trục
- High step rate [20 KHz]
- Kiểm soát nhiệt độ đầu in và bàn nhiệt
Bo mạch tương thích
- Compatible Electronics
- Gen 3 + 5D3G shield [rrmbv12]
- Gen 4
- MightyBoard
Đường dẫn tải firmware :
//github.com/jetty840/Sailfish-G3Firmware
4. GRBL
Tên : GRBL
Tác giả : Simen Svale Skogsrud
Ngày phát hành: tháng 5 năm 2014
Tính năng tiêu biểu:
- Chỉ hỗ trợ cho các máy phay CNC với hệ lệnh Gcode
Bo mạch tương thích
- Arduino UNO
Đường dẫn tải firmware :
//github.com/simen/grbl.git
….
Updating !
Nguồn: biên tập thietbiketnoi.com
Xem thêm:
- Máy in 3D là gì ?
- Máy in 3D SLS là gì ?
- Máy in 3d SLA là gì ?
- Trang chủ
- Tin tức
Chỉnh firmware Marlin để bật chức năng cân bàn tự động [Auto Bed Leveling]
Bạn mở file configuration.h trong source code firmware marlin, sửa dòng code:
// #define ENABLE_AUTO_BED_LEVELING
thành:
#define ENABLE_AUTO_BED_LEVELING
Kiểm tra để chắc chế độ cân bàn 4 điểm được bật:
#define AUTO_BED_LEVELING_GRID
Bạn chỉnh tiếp các thông số như hình dưới:
toạ độ inductive sensor so với hotend nozzle đối với Z-probe các số trên là 0 |
X_PROBE_OFFSET_FROM_EXTRUDER là toạ độ cảm biến trừ toạ độ đầu in theo trục X, theo số liệu đo ở trên là 50mm.
Y_PROBE_OFFSET_FROM_EXTRUDER là toạ độ cảm biến trừ toạ độ đầu in theo trục Y, theo số liệu đo ở trên là -50mm.
Z_PROBE_OFFSET_FROM_EXTRUDER là độ lệch của cảm biến và đầu in, số này luôn là số âm và không lớn hơn 4mm nếu dùng cảm biến tiệm cận inductive sensor 4mm như trên. Bạn có thể nhập vào số bất kỳ chúng ta sẽ tính lại sau. Đề xuất nhập vào -1.
Các thông số còn lại không quan trọng, bạn có thể nhập như tôi.
Chỉnh các điểm cân bàn tự động
Chúng ta cần biết khổ in của máy in 3D, ở đây tôi sử dụng máy in 3D 3DMaker Starter, có khổ in là X 200mm, Y 180mm. Tôi sẽ cài đặt để cân bàn ở toạ độ như sau:
toạ độ cân bàn tự động trên máy in 3D kích thước X200mm x Y180mm |
Khi đầu phun tại vị trí X = 10mm thì cảm biến nằm ở vị trí X = 60mm. Nhập vào LEFT_PROBE_BED_POSITION 60
Khi đầu phun ở vị trí X = 150mm thì cảm biến nằm ở vi trí X = 200mm vẫn trong phạm vi in được. Nhập vào RIGHT_PROBE_BED_POSITION 200
Khi đầu phun tại vị trí Y = 60mm thì cảm biến nằm ở vị trí Y = 10mm trong phạm vị in được. Nhập vào vào FRONT_PROBE_BED_POSITION 60
Khi đầu phun tại vị trí Y = 180mm thì cảm biến nằm ở vị trí Y = 130mm trong phạm vị in được. Nhập vào vào BACK_PROBE_BED_POSITION 130
Kết quả cài đặt như sau:
Lưu ý: cân bàn Z-probe các số là 0
AUTO_BED_LEVELING_GRID_POINTS chỉ ra số điểm trên mặt bàn cần cân [2^2].
Do sử dụng cảm biến NPN kích cực dương, nên cần chỉnh Z_MIN_ENDSTOP_INVERTING là true, như sau:
const bool Z_MIN_ENDSTOP_INVERTING = true;
nếu bạn dùng cảm biến PNP thì sửa lại thành false.
Sau khi chỉnh xong, bạn nạp firmware Marlin vào board Arduino hoặc board mạch chuyên dụng cho máy in 3D.
Tinh chỉnh thông số Z Probe bằng Pronterface
Vào phần mềm pronterface và kết nối với máy in 3D của bạn.
Gõ lệnh G28 trong box command line để về home các trục X, Y, Z.
Tiếp theo gõ lệnh G29 để thực thi lệnh cân bàn tự động.
Sau khi cân bàn xong bạn cần di chuyển đầu phun tới vị trị hiện tại của cảm biến tiệm cận. Ta đã biết cảm biến tiệm cận nằm cách đầu phun theo hướng X, Y là 50mm và -50mm nên ta sẽ dịch chuyển đầu phun theo trục X, Y lần lượt là 50mm và -50mm bằng cách sử dụng giao diện trên Pronterface.
Sau khi cân bàn xong gõ tiếp dòng lệnh M114 để xem tọa độ hiện tại của đầu in, bạn sẽ nhận được kết quả tra về tương tự:
ok C: X:60.00 Y:150.00 Z:1.00 E:0.00
Bạn cần lưu ý giá trị Z:1.00 đây là giá trị mà bạn nhập vào Z_PROBE_OFFSET_FROM_EXTRUDER ở trên.
Bạn sẽ thấy đầu phun cách khá xa mặt bàn, và không phải là 1mm.
Tiếp theo ta cần tắt chế độ kiểm tra endstop để có thể di chuyển đầu phun xuống thấp hơn nữa. Gõ lệnh M120 để tắt kiểm tra endstop.
Bây giờ bạn cần sử dụng pronterface để di chuyển trục Z xuống từng 0.1mm. Đến khi nào bạn thấy đầu phun gần chạm mặt bàn và cách mặt bàn vừa đủ 1 tờ giấy A4 đi qua thì ngưng. Đánh tiếp lệnh M114 để xem toạ độ Z hiện tại.
ok C: X:60.00 Y:150.00 Z:0.20 E:0.00
chúng ta thấy giá trị Z bây giờ là 0.2. Vậy ta cần điều chỉnh lại thông số Z_PROBE_OFFSET_FROM_EXTRUDER = giá trị cũ - 0.2, tức là 1 - 0.2 = 0.8, vậy sửa lại trong file configuration.h:
#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.8
Nạp lại firmware Marlin vào board lần nữa. Sau đó bạn có thể làm lại bước trên nếu cần.
Chỉnh GCODE start và end để bật chức năng cân bàn tự động
Start Gcode
Bạn thêm đoạn gcode sau vào trong file start.gcode để thực thi trước khi bắt đầu in:
G28 ; Homing X, Y, Z to 0.
G29 ; Auto bed leveling.
M120 ; Disable endstops check
Lệnh G28 để về home cả 3 trục.
Lệnh G29 thực thi chức năng cân bàn tự động.
Lệnh M120 để tắt chức năng kiểm tra endstop, để có thể di chuyển trục Z xuống thấp hơn endstop cảm biến tiệm cận.
End Gcode
Thêm đoạn gcode sau vào end.gcode để được thực thi sau khi đã in xong:
M121 ; Enable endstops check
Lệnh M121 dùng để bật lại chức năng kiểm tra endstop, dừng khi chạm endstop