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

    Aborting tool change possible?

    Scheduled Pinned Locked Moved
    General Discussion
    3
    5
    201
    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.
    • herrtschaeferundefined
      herrtschaefer
      last edited by

      Is it possible to abort a tool change when the pickup fails? Currently i run a tool locking macro that checks wether or not the tool is locked, if not it should put the printer into a safe state so i can manually do the things needed to manually dock the tool or sort the stuff out. But right now the duet thinks the tool is attached even if the macro detects the failure i have no idea how to abort the tool change and e.g pause the print. Is there or will there be an option for that? i think it can be very helpful.

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        What firmware version are you using? What do you have in your macros now?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • rjenkinsgbundefined
          rjenkinsgb
          last edited by

          Can you check the lock then use an M291 message and/or M01 program stop, in the tpost.g for each tool?

          This is an example of checking inputs directly & stopping with a message if conditions are not correct, for the E3D toolchanger if you use tool docked switches; it shows reading hardware inputs and a conditional message:

          if sensors.gpIn[0].value = 0 || sensors.gpIn[1].value = 0 || sensors.gpIn[2].value = 0 || sensors.gpIn[3].value = 0
          	M291 S1 T5 P"Please return tool to dock before homing coupler" R"Can't home coupler"
          	abort
          

          Robert J.

          Printers: Overlord pro, Kossel XL+ with Duet 6HC and "Frankentron", TronXY X5SA Pro converted to E3D toolchange with Duet 6HC and 1LC toolboards.

          1 Reply Last reply Reply Quote 0
          • herrtschaeferundefined
            herrtschaefer
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • herrtschaeferundefined
              herrtschaefer
              last edited by herrtschaefer

              I am using RRF 3.3 and the macro:

              ; Engage the toolchanger lock. RepRap Firmware V3.3RC3 version. 
              G91                  ; Set relative mode
              G1 U10 F5000 H0      ; Back off the limit switch with a small move
              
              G1 U200  F5000 H3    ; Perform up to one rotation looking for the torque limit switch Y0.5 
              					 ; H3 will modify axis limits they must be reset with M208 see below (use your axis limits)
              
              ;Pickup success detection | Aborts if no Tool picked up
              
              M400                    ; Make sure moves are complete
              
              if {abs(move.axes[3].machinePosition) > 90 || abs(move.axes[3].machinePosition) < 20}  ;if tool is not picked up | (Change 20 (half pickup) and 90 (no Pick up) to the value you need)
              	echo move.axes[3].machinePosition ;debug output of the reached position 
              	M208 U0:201         ;restore axis limits (see above H3)
              	set global.tool_change_Aborted = true ;send error condition
              	M98 P"/macros/tool_change/tool_unlock.g" ; Unlock the tool
              	G1 Y-20				;back off 
              	M291 P"Werkzeug nicht richtig geladen. Ursache gefunden und behoben? Erneut versuchen!" R"Warnung Werkzeug nicht aufgenommen" S3 T-1 x1 Y1 U1
              	set global.tool_change_Aborted = false
              	T{state.currentTool}
              	if{job.duration != null}
              		M25 ;pause job
              		echo "Paused"
              	else 
              		abort "Aborted"
              
              ;Behaviour after successful pick up
              echo "Picked up Tool",{state.currentTool} ;success message
              set global.tool_change_Aborted = false ;reset error condition
              M208 U0:201         ;restore axis limits (see above H3)
              G90                 ; Set absolute mode
              
              

              I will look into using M0 /M1 .

              1 Reply Last reply Reply Quote 1
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA