Welcome! Log In Create A New Profile

Advanced

Marin version Graphic LCD change filament

Posted by DaveOB 
Marin version Graphic LCD change filament
July 12, 2015 04:22PM
Not wanting to 'fix' something that isn't broken, but would like to understand this :

question 1 : how do I identify what version of the Marlin firmware I have. I do have the arduino sketch that is loaded on my Arduino at the moment, but do not know if it is the latest version of the Marlin firmware that is available online. How would I check ? Is there a version number in the code somewhere ?

question 2 : am trying to understand what happens when I use the 'change filament' menu item on the Graphic LCD. I googled and found lots of instructions on how to change the filament before starting a print job, and some about adding g-code into the file to make the printer pause at a certain point for a pre-planned filament change.

But what happens if I see a problem and need to stop and clean the head, or replace the filament.

I see discussions about problems with moving the extruder head while changing filament mid-way through a print, about re-homing the X and Y axis after replacing filament, etc, but there doesn't seem to be any clear info that I have seen.

So here's a few specific questions, based on how I think it would be logical to behave :

1. when the 'Pause Print' on the LCD is pressed, does the extruder move away from the print by a preset distance ?
2. if this is optional, is it a setting in config ?
3. if it does not, will it move away when the 'change filament' is clicked ?
4. if 'yes' then to what position - x0 y0 z+10 ?
5. does the 'change filment' introduce a 'press to resume' type command ?
6. if so, does the code handle the fact that the head would have been moved manually while the filament was replaced ? Does it first 'home' the X and Y axis before resuming print ?
Re: Marin version Graphic LCD change filament
July 13, 2015 01:36AM
The marlin version is reported everytime you connet the controller to your PC.host ( repetier/ pronterface etc. )
Connecting...
start
Printer is now online.
echo:Marlin1.0.0
echo: Last Updated: Jul 13 2015 07:26:49 | Author: (none, default config)
Compiled: Jul 13 2015
echo: Free Memory: 3693  PlannerBufferBytes: 1232


1. when the 'Pause Print' on the LCD is pressed, does the extruder move away from the print by a preset distance ?
No

2. if this is optional, is it a setting in config ?
Not without programming it yourself

3. if it does not, will it move away when the 'change filament' is clicked ?
4. if 'yes' then to what position - x0 y0 z+10 ?
Yes, change filament moves the head to 0,0, +25

5. does the 'change filament' introduce a 'press to resume' type command ?
Yes

6. if so, does the code handle the fact that the head would have been moved manually while the filament was replaced ? Does it first 'home' the X and Y axis before resuming print ?
After pressing the encoder button, it turns back to the last position directly.
Works well, if you don´t move the extruder by hand while you change filament.


There is a third option when you use Cura you can issue a " pause@z " in the gcode, when you want to change colors and only have one extruder.
Then the head goes to 180,180 instead of 0,0. But you have to be quick with the filament change, because there is a stepper timeout. For 60sec. the head is kept at the position, but then the steppers switch off and most likely you move the head while fiddling with the filament.

All these options work with a direct drive extruder, haven´t tried it with a Bowden setup.
-Olaf
Re: Marin version Graphic LCD change filament
July 13, 2015 02:27AM
Quote
o_lampe
Works well, if you don´t move the extruder by hand while you change filament.[/color]

Thanks Olaf

OK, so because I will almost certainly move the head when changing the filament, the print is destined to fail.

As a solution, would it be safe to add code to the 'resume' function so that it activates a Home for X and Y axis before resuming the print ?

If so, have I correctly identified the position in Marlin_main.cpp, around line 3640, directly before this code :
        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move xy back
        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move z back
        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], lastpos[E_AXIS], feedrate/60, active_extruder); //final untretract

So changing to this should work to force the printer to Home the X and Y axis when the Change Filament is resumed ?

HOMEAXIS(X);
HOMEAXIS(Y);

        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move xy back
        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move z back
        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], lastpos[E_AXIS], feedrate/60, active_extruder); //final untretract

Advice really appreciated.
Re: Marin version Graphic LCD change filament
July 13, 2015 02:58AM
Quote

OK, so because I will almost certainly move the head when changing the filament, the print is destined to fail.

Don´t say that. As long as the steppers run, the holding torque is huge.

I haven´t digged that deep in the code yet. Don´t know if a homeaxis command would´t reset the internal buffer?!

I´d give it a try and change filament during a test print before I have to dive in the code that deep...
-Olaf
Sorry, only registered users may post in this forum.

Click here to login