poor Probe

poor Probe

เป็น auto bed leveling probe ที่ผมออกแบบเอง เพราะแบบที่มีอยู่แล้วมันไม่ เท่ โดนใจ ผมทำเองดีกว่าสนอง need ตัวเองล้วนๆ

สิ่งที่ผมอยากได้จาก probe คือ

  • ใช้กับเครื่อง Ender 3 ได้
  • ไม่ต้องบัดกรี
  • ใช้ได้กับฐานทุกประเภท
  • ชื้นส่วนน้อยหาง่าย
  • ราคาจับต้องได้

probe ผมเลยใช้ micro switch เป็น ตัววัดแทนที่จะใช้ induction sensor เพราะหาง่ายและใช้ได้กับฐานทุกประเภท ข้อดีที่ตามมาคือ ตัว probe/sensor ไม่ได้อยู่บนชุดหัวพิมพ์ตลอดเวลาลดน้ำหนักได้นิดหน่อย (ไม่รู้ถึง 20g มั้ย55555) แต่หลักๆเลยที่ผมชอบคือมัน เท่ เวลาไปรับกับไปเก็บ probe

Download links

Klipper config + macros

เอาใส่ printer.cfg
#####################################################################
# poor PROBE config
#####################################################################

[probe]
pin: #ใส่เอง
z_offset: 7 #default value is for Ender3 #ค่านี้ของ Ender3 เครื่องอื่นวัดเอง
x_offset: 7.5 #default value is for Ender3 #ค่านี้ของ Ender3 เครื่องอื่นวัดเอง
y_offset: 18 #default value is for Ender3 #ค่านี้ของ Ender3 เครื่องอื่นวัดเอง
speed: 5.0
lift_speed: 20.0
sample_retract_dist: 2
samples: 3
samples_tolerance_retries: 6

[bed_mesh]
speed: 300
horizontal_move_z: 10
mesh_min: 20,20 #default value is for Ender3 #ค่านี้ของ Ender3 เครื่องอื่นวัดเอง
mesh_max: 215,215 #default value is for Ender3 #ค่านี้ของ Ender3 เครื่องอื่นวัดเอง
probe_count: 5,5
relative_reference_index: 12
algorithm: bicubic
fade_start: 1
fade_end: 10
split_delta_z: 0.01
move_check_distance: 3
mesh_pps: 3,3

#####################################################################
# poor PROBE Macros
#####################################################################

[gcode_macro PROBE_GET] #macro รับ probe
gcode:
G90
G1 Zใส่เอง F8000 #lift toolhead to clear probe #ยกชุดหัวให้พ้น probe ใส่ค่า z เอง
G1 X234 F10000 #move x to dock position #เลื่อน x ไปรับ probe ใส่ค่า x เอง
G1 Zใส่เอง F8000 #move z down to mount probe #เลื่อน z ลงไปรับ probe ใส่ค่า z เอง
G4 P300
G1 Zใส่เอง F8000 #lift toolhead to clear probe #ยกชุดหัวให้พ้น probe ใส่ค่า z เอง
G1 X0 F10000

[gcode_macro PROBE_PARK] #macro เก็บ probe
gcode:
G90
G1 Zใส่เอง F8000 #lift toolhead to clear probe #ยกชุดหัวให้พ้น probe ใส่ค่า z เอง
G1 X234 F10000 #move x to dock position #เลื่อน x ไปรับ probe ใส่ค่า x เอง
G1 Zใส่เอง F8000 #move z down to dock probe #เลื่อน z ลงไปเก็บ probe ใส่ค่า z เอง
G4 P300
G1 X0 F10000

[gcode_macro AUTO_BED_MESH] #macro ตั้งฐาน
gcode:
PROBE_GET
BED_MESH_CALIBRATE
G1 Y0 F10000
PROBE_PARK

[gcode_macro G29]
gcode:
PROBE_GET
BED_MESH_CALIBRATE
G1 Y0 F10000
PROBE_PARK

#####################################################################
# poor PROBE – menu ในจอใส้ก็ได้ไม่ใส่ก็ได้ [optional]
#####################################################################

[menu __main]
type: list
name: Main

[menu __main __PROBE]
type: list
enable: True
name: PROBE

[menu __main __PROBE __ProbeGet]
type: command
name: Get Probe
gcode:
PROBE_GET

[menu __main __PROBE __ProbePark]
type: command
name: Park Probe
gcode:
PROBE_PARK

[menu __main __PROBE __AutoBedMesh]
type: command
name: Auto Bed Mesh
gcode:
G28
AUTO_BED_MESH

วิธีประกอบ

BOM

  • micro switch x1
  • แม่เหล็ก neodymium ขนาด 6x4mm  x4
  • สายไฟ x2
  • สกรู m3x15 x2 (ผมแกะจาก hotend ender 3)
  • m3 hex nut x2
  • m5 tnut x1 (ผมแกะจาก spool holder ender 3)
  • สกรู m5 x1 (ผมแกะจาก spool holder ender 3)

ประกอบ probe

ตัดขาตรงกลาง micro switch ออก

เอา micro switch ใส่ใน probe ดันเข้าไปให้สุดเลย

เอาแม่เหล็ก 2 อันใส่ในรู อีกรูก็ใส่เหมือนกันแต่คนละขั่ว (สำคัญขาของ micro switch ต้องชืดกับแม่เหล็กไม่งั้นใช้ไม่ได้)

ประกอบ mount

เอาสายไฟใส่เข้าไปในรูต้อง mount ขั่วกับสีไม่สำคัญ ให้สายไฟเกินออกมาเลยเวลาใส่แม่เหล็กมันจะได้แน่น

เอาแม่เหล็กใส่ (ให้ขั่วตรงกับของ probe)

สายที่เกินออกมาก็ตัดทิ้ง

เสร็จแล้วจะได้แบบนี้

ประกอบ dock

ใส่สกรู m3 กับน็อต เข้าไปในรูอแล้วขันให้แน่น ถ้ารูแน่นเกินก็ขันเรื่อยๆเดี๋ยวมันเข้าเอง สองแท่งนี้ควรขึ้นมาตรงๆ 90° เวลาหัวมารับ probe จะได้ลื่นๆไม่ติด

เอา tnut ใส่อันนี้ไว้ยีดกับเสาแกน z

ประกอบใส่เครื่อง

แกะชุดหัวพิมพ์ออกมาแล้วเอา mount ใส่เข้ากับแผ่นเหล็ก x carriage ดันเข้าไปให้มันเรียบกับแผ่นเหล็กเลย เสร็จแล้วก็ปนะกอบคืน

เอา dock ใส่กับเสาแกน z เช็คด้วยว่าชุดหัวพิมพ์ไปถึงมั้ย ความสูงถ้าให้ดีให้อยู่ ต่ำกว่า หรือ พอดี กับฐาน

เปิดฝากล่องอิเล็กทรอนิกส์ให้เห็นบอร์ด แล้วเลือกเสียบ pin ไหนก็ได้แต่ว่าง ต้องเป็น pin signal กับ gnd ถ้าไม่รูเวลาช่องไหนคืออะไรให้หา pinout diagram ใน google เพราะบอร์ดแต่ละรุ่นใหม่เหมือนกัน ในรูปผมเสียบช่อง E0-STOP เสร็จแล้วปิดฝาเตรียมเปิดเครื่อง

Setup Klipper config + macros

เปิดเครื่องแล้วสั่งยกหัวขึ้นให้พ้น dock + probe (ตัวอย่างของผม Z40) แล้วสั่งขยับแกน X มาให้ mount อยู่บน probe พอดี (ตัวอย่างของผม X234) 

สั่งลด Z ลงมาจน probe โดนดูดขึ้นไป (ตัวอย่างของผม Z25) เสร็จแล้วจดค่าทั้งหมด

เปิด printer.cfg แล้วก็อป config probe + macros ของผมใส่เลย

ใน printer.cfg ใส่ signal pin ที่เราเสียบสายเข้าไป ถ้าไม่รู้หา pinout diagram ของบอร์ดใน google (ตัวอย่างของผมเสียบ E0-STOP คือ pin PC15)

เอาค่าที่เราจดไว้ก่อนหน้านี้มาใส่ใน macros PROBE_OUT กับ PROBE_IN (ตัวอย่าง ของผม Z1 = Z40 X = X234 Z=25) เปลี่ยนค่าทั้ง 3 ตัวแล้ว SAVE&RESTART Klipper

Macros มีทั้งหมด 4 ตัว

PROBE_OUT คือ probe อยู่ outside ให้ไปรับ probe มา

PROBE_IN คือ probe อยู่ inside ให้เอา probe ไปเก็บ

AUTO_BED_MESH คือ ไปรับ probe > level bed > เอา probe ไปเก็บ

G29 คือ เปลี่ยนค่า default ของ klipper ให้มีไปรับ probe เก็บ probe ในการสั่ง level bed เฉยๆ

Testing

สั่ง Home แล้วเลือก macros PROBE_OUT เพื่อเทสว่าไปรับ probe ได้ปกติมั้ยถ้ามีปัญหา ชน หรือ ดูดไม่ขึ้น ให้วัดค่า Z และ X ใหม่แล้วเปลี่ยนค่าใน printer.cfg

PROBE_OUT รับ probe ได้ปกติให้เทส PROBE_IN ต่อหลังจากนั้น สั่ง AUTO_BED_MESH เพื่อสร้าง bed mesh

ก่อนพิมพ์อย่าลืม calibrate probe กับตั้ง Z offset

ไม่งั้น โชคดี ก็หัวห่างเกินพิมพ์ไม่ติดฐาน โชคร้าย ก็หัวจิ้มฐานพัง

ใส่ความเห็น