LCD 'Change Filament' doesn't return to correct position

I'm running 92.9 on a RADDS\Due setup :  
When I access the "Change Filament" option via the LCD, this is what happens:
* Print pauses
* Print homes
* Allows me to use knob to remove\extrude filament.  I just twist it back and forth a couple times to test:  Never touch the toolhead.
* When I press the knob to 'start' it re-homes.
* It travels back to the last spot of printing, looking correct.
THEN:
* It completely offsets itself on Y, towards me, the same distance as the depth of the print, and continues the print, in the air.

So close, but so far.  what could be causing this weird offset at the very end?  I've done nothing to muck with the code.

Comments

  • Figured it out: The 're-homing' step, after the filament was loaded, was bugging me.  So I went back into the configuration tool:  In the features tab under the "Filament Change" section, I set the "Homing after Filament Change" to "No Homing".  Or just set this in Configuration.h:
    #define FILAMENTCHANGE_REHOME 0

    That did the trick.  Filament reloading from the LCD now behaves properly, and restarts the print exactly where it should.
  • What kind of printer do you have? Delta or Cartesian?

    The rehoming logic itself looks good but homing procedure is quite complex and differs for the printer types.

    Also it is not possible that it moves y the "depth of the print". I guess you mean y dimension, but that is unknown. It is more likely that it misses a extruder offset or some other variable that accidentially matches that distance. Can you say if your extruder has an x or y offset? 

    Other thing might be if you used G92 to change coordinate system (except E)- that gets lost with homing. Would that be a reason for your prints to get an offset?

















  • edited May 2016
    Yep, I think it's the G92 like you thought:  After you suggested that I went looking...
    But to answer your question, it's a custom-built core-xy bot, called a "C-Bot":

    When the machine starts a print, it (among many other things):
    * Homes the nozzle to the front left corner of the machine.
    * Offsets the nozzle some amount to move it to the corner of the build plate.
    * Zero's itself there, and then starts the gcode.

    Here's a few lines of my 'start gcode' script illustrating this:

    G28 ; Safe Homing of All Axes.

    G1 X0 Y21 ; Move nozzle to left front corner of build platform.

    G92 X0 Y0 ; Zero X & Y here to start the build.


    So it goes from machine home, to 0 on X (since the left side of the build plate happens to be lined up with machine home) but Y 21, since the head needs to travel 21mm forward to get to the corner of the plate.  It then zeroes it at that location, and starts the print.


    When I reload filament via the LCD, or insert a M600, (I'm guessing) a bunch of stuff happens behind the scene.  But one of the last things it does (unless you disable it, like I did above) is re-home the system:  But by rehoming, it's now completely lost my offset set via G1/G92 above:  and thus, when printing continues, it's 21mm forward on Y, which is about what I was guessing that offset in space I was seeing was when the print restarted.

  • Ok, so I'm pretty sure thats the problem.

    Now I can also say your

    G1 X0 Y21 ; Move nozzle to left front corner of build platform.

    G92 X0 Y0 ; Zero X & Y here to start the build.


    is not necessary if you set y back on home to 21mm. Then homing would go back 21mm after endstop is hit and assign that y=0, so no tricks required.

    Anyhow I will try to keep offsets intact for filament change, as that is not really a illegal solution you have.
  • Thanks for the feedback, but I'm not sure what you mean by this:
    "is not necessary if you set y back on home to 21mm. Then homing would go back 21mm after endstop is hit and assign that y=0, so no tricks required."

    If you mind, can you explain what you're talking about in more detail?  Are you suggesting some sort of change to my start gcode?  Thanks!
Sign In or Register to comment.