poor Probe
เป็น auto bed leveling probe ที่ผมออกแบบเอง เพราะแบบที่มีอยู่แล้วมันไม่ เท่ โดนใจ ผมทำเองดีกว่าสนอง need ตัวเองล้วนๆ
สิ่งที่ผมอยากได้จาก probe คือ
- ใช้กับเครื่อง Ender 3 ได้
- ไม่ต้องบัดกรี
- ใช้ได้กับฐานทุกประเภท
- ชื้นส่วนน้อยหาง่าย
- ราคาจับต้องได้
probe ผมเลยใช้ micro switch เป็น ตัววัดแทนที่จะใช้ induction sensor เพราะหาง่ายและใช้ได้กับฐานทุกประเภท ข้อดีที่ตามมาคือ ตัว probe/sensor ไม่ได้อยู่บนชุดหัวพิมพ์ตลอดเวลาลดน้ำหนักได้นิดหน่อย (ไม่รู้ถึง 20g มั้ย55555) แต่หลักๆเลยที่ผมชอบคือมัน เท่ เวลาไปรับกับไปเก็บ probe
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
ไม่งั้น โชคดี ก็หัวห่างเกินพิมพ์ไม่ติดฐาน โชคร้าย ก็หัวจิ้มฐานพัง