• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Tool Length Sensor (TLS) for e.g. tool changing

Scheduled Pinned Locked Moved
Tuning and tweaking
tool change tool offsets
1
1
376
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    taconite
    last edited by 10 Aug 2020, 18:28

    Hey guys,

    I worked on a tool length sensor which some of you may find convenient in certain circumstances.
    e.g.

    • nozzle change
    • change of the hot-end
    • tool changing

    It is fully printable with some minor add ons which most of you have lying around. The Tool Length Senosr (TLS) can be wired in parallel to your z-probe (connecting between GND and IN), because its in fact a normally open microswitch.

    I made a macro with conditional G-Code for it, which iterates through the defined number of tools. When the probe is hit by a clean cold nozzle (hot nozzle is possible as well with a small add-on) the current z position relative to the TLS is stored in G10 Commands and stored in the EEPROM (p.s. don't forget to add the needed command to your cofig.g).

    f21e22c8-045d-43a8-b848-814f8a0d8589-image.png

    ;05.08.2020
    M291 P"Please put Tool length sensor in the middle of the build plate and hit okay when done" R"Placing tool length sensor" S2
    M291 P"ATTENTION: Machine is moving during the probing moves" R"ATTENTION" S2
    G28 ; home
    G90
    G1 X0 Y0 ; move to center
    G1 Z50
    while iterations<#tools ;run as often as number of tools
    if tools[iterations] != null ; check if tool is really asigned
    M291 P"Please put Tool" ^ iterationis ^ " into the effector and hit okay when done" R"Tool [iterations]" S2
    if sensors.gpIn[1].value=0 ; check if tool is in effector
    M291 S0 T3 P"Tool in effector"
    else {}
    M291 S0 T3 P"Tool not in effector"
    abort
    G91
    M98 P"Alarmsound.g"
    G30 Z-45 S-1
    if sensors.probes[0].value[0]>500
    G10 P{iterations} X0 Y0 Z{move.axes[2].userPosition-12.5}
    M500 P10
    G1 Z50 F500

    If you have any questions or suggestions please feel free to ask

    Custom ANET A8
    Custom Delta: D-PATCH (Delta Printer with Automatic Tool CHanging) https://forum.duet3d.com/topic/16082/d-patch?_=1596131234754

    All I do here is under this license: CC BY-NC-SA

    1 Reply Last reply Reply Quote 4
    • undefined 2500ccm referenced this topic 16 Dec 2021, 18:35
    1 out of 1
    • First post
      1/1
      Last post
    Unless otherwise noted, all forum content is licensed under CC-BY-SA