Jump to content
  • 0

What cause purge_bucket macro to retract instead of purge?


Pradit

Question

[gcode_macro PURGE_BUCKET]
gcode:
    SAVE_GCODE_STATE NAME=PURGE
    G90                    ; absolute
    G0 X75 Y350 F5000      ; go to purge bucket
    G0 Z2 
    G1 X25 E10 F500        ; purge some filament into bucket
    G1 X75 E3 F500         ; purge some filament into bucket
    G0 X120 Y350 F750      ; move across purge brush
    G1 E-0.5 F100            ; Retract a little
    G1 Z3                  ; Raise and return
    RESTORE_GCODE_STATE NAME=PURGE

I've been using this for a while.

After I did my wiring clean up and put some skirt.

It did not purge instead it retract all out.

I didn't unplug anything while clean up the wire.

I tried prime it work. Also extrude also work.

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 1

Could it be that use of "G90" absolute addressing? As I understand it, if you use E10, rather than extruding 10 more mm of filament it'll actually retract back to position 10 (assuming it's already extruded some difference). How far it might retact will depend on how far it thinks it's gone; if you'd reset the extruder count (G92 E0) then it would be fine and simple push out 10mm of filament, but if it'd already been sitting at, say, 50mm of extruded plastic thenit would retract backto position 10 as it were.

Guess what I'm saying is try adding a G92 E0 after the G90 to zeroise the extruder count.

 

  • Like 1
Link to comment
Share on other sites

  • 0
53 minutes ago, Pradit said:

However, why it had never happened before today?

That's harder to say, it depends on what state the machine is in before it gets to the call of the purge bucket. You've perhaps been "lucky" that something (gcode cleanup/end-print) has either reset the extruder count already or the extruder naturally thought it was "before" the 10mm mark.

To be honest, it's just good practice (in your macros, startup routines, or whatever) to make sure the machine is in a defined and well known state for the things that rely on that state.. A good example of this, in practice, is how we always home all axes before printing (G28) and switch to absolute mode (G90), as a minimum, at the start of every print. That way the print head is guaranteed to be at a known position,  rather than relying on the printer happening to know (or remember) where it was especially if the motors have been turned off and the axes have drifted.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...