1 / 4
Voron 2.4 INDX Optical Endstops — zdjęcie 1
1 / 4

Voron 2.4 INDX Optical Endstops

Zamów wydruk tego modelu

Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.

Zapisane na tym urządzeniu.

Optical Endstops on all axes for fast and precise homing. Cartographer mounting point included.

Ocena
0 / 5
Polubienia
18
Pobrania
23
Wydruki
0
Wyświetlenia
830
Oceny
0

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Licencja
Creative Commons — Public Domain

Onshape source:

https://cad.onshape.com/documents/4c486af1df7f5a86f11f7ae4/w/4c44c90070a7e7f8eb9f25c0/e/5a168f9af66777cb0a16c78b?renderMode=0&uiState=6a68b6022e43adfb8d19335f

BOM:

  • 1x Cartographer V4 Standard

  • 1x Optotap Sensor (Z Park Sensor)

  • 2x Lerdge Optical endstop https://de.aliexpress.com/i/32817734162.html

  • 1x Tiny M3 screw (i.e. M3x4 BHCS, technically optional) for the rear toolhead endstop screw hole

  • 7x M3 Heatsets The rear toolhead endstop screw hole does not need a heatset. It is self-threading. Be careful not to strip it.

  • Standard M3 mounting hardware (I recommend against using hammerhead nuts but you do you)

Make sure you check that the bumpers actually go inside the optical endstops before you start homing.

Since the stock Bondtech carriage does not provide any way to route your cables, you might want to use a different carriage design instead, such as

Why not use the default Z endstop, and why even have one at all?

There's an optional park sensor (not an endstop!) at the top because you probably want to keep your gantry resting at the top instead of at the bottom because of the front bar blocking access. Using it as an endstop feels a bit scary to me, so instead it is used as a check in the homing routine if the gantry is parked at the top, in which case it can sprint down to a low Z value and the home its Z axis normally. I also included an additional safety check where the gantry first hops down a few millimetres and then checks if the park sensor has actually disengaged to prevent any mishaps where the park sensor is accidentally triggered and the gantry rams full speed into the bed.

You might not find it useful, in case you can just leave it out. I however want my print prepare time to be as fast as possible for printing tiny parts, and when you park your gantry at the very top homing becomes a very significant part of that time.

Example Klipper config for a Voron 300 (CHECK IF THIS ACTUALLY WORKS FOR YOU)

[cartographer]
x_offset: 0
y_offset: 35

[stepper_y] endstop_pin: ^PF3

homing_speed: 100 second_homing_speed: 10 homing_retract_dist: 10

position_endstop: 298 position_min: -9 position_max: 301

homing_positive_dir: true

[stepper_x] endstop_pin: ^indxmcu:endstop

homing_speed: 100 second_homing_speed: 10 homing_retract_dist: 10

position_endstop: 297 position_min: -1 position_max: 302

homing_positive_dir: true

[stepper_z] position_max: 302 position_min: -2

endstop_pin: probe:z_virtual_endstop homing_retract_dist: 10

[quad_gantry_level] gantry_corners: -68,-16 322,356

[gcode_button park_sensor] pin: ^!PF5 press_gcode: RESPOND MSG="Parked" release_gcode: RESPOND MSG="Unparked"

[gcode_macro _CONTINUE_Z_HOMING] gcode: {% set safe_x = 150.0 %} {% set safe_y = 150.0 %} {% if printer["gcode_button park_sensor"].state == "PRESSED" %} { action_emergency_stop("park sensor fault") } {% else %} G1 X{safe_x} Y{safe_y} Z20 F12000 G28 Z {% endif %}

[homing_override] gcode: {% set z_hop = 0.0 %} {% set safe_x = 150.0 %} {% set safe_y = 150.0 %}

{% set do_x = 'X' in params %}
{% set do_y = 'Y' in params %}
{% set do_z = 'Z' in params %}

{% set parked = printer["gcode_button park_sensor"].state == "PRESSED" %}

{% if not (do_x or do_y or do_z) %}
{% set do_x = true %}
{% set do_y = true %}
{% set do_z = true %}
    {% if not parked %}
G91
G1 Z{z_hop} F1200
G90
    {% endif %}
{% endif %}

{% if "y" not in printer.toolhead.homed_axes or do_y %} G28 Y {% endif %} {% if ("x" not in printer.toolhead.homed_axes and do_z) or do_x %} G28 X {% endif %}

{% if do_z %} PARK_TOOL ; INDX sometimes disengages the latch during power off CHANGE_TOOL TOOL=0

    G90
    {% if parked %}
    M400
    SET_KINEMATIC_POSITION SET_HOMED=Z Z=302
G1 Z295 F1200

M400 G4 P200 M400 _CONTINUE_Z_HOMING {% else %} G1 X{safe_x} Y{safe_y} F12000 G28 Z {% endif %} {% endif %} set_position_z: 0

Tagi