Filament change
Hello,
When my filament sensor triggers, the printer starts filament change procedure.
But when I press the button to continue printing, the extruder rushes right into my model.
I guess, X and Y axes gets to right position, but Z axis tries to home.
Looks like here is similar problem: https://forum.repetier.com/discussion/comment/42146 .
I tried to confugure the firmware as "No homing"; "Home only x and y"; "Home all possible axis".
Jam method "Signal gets low"; Jam action "Show jam/out of filament dialog and block communication (requires LCD)".
What do I do wrong?
My filament sensor connects to Zmax; the motherboard is MSK Gen_L V1.0; firmware version is 1.0.4.
When my filament sensor triggers, the printer starts filament change procedure.
But when I press the button to continue printing, the extruder rushes right into my model.
I guess, X and Y axes gets to right position, but Z axis tries to home.
Looks like here is similar problem: https://forum.repetier.com/discussion/comment/42146 .
I tried to confugure the firmware as "No homing"; "Home only x and y"; "Home all possible axis".
Jam method "Signal gets low"; Jam action "Show jam/out of filament dialog and block communication (requires LCD)".
What do I do wrong?
My filament sensor connects to Zmax; the motherboard is MSK Gen_L V1.0; firmware version is 1.0.4.
Comments
With action 1 it should store position go to park position you change filament and then it heats up and continues where it stopped. Here the code of continue:
So only home is when FILAMENTCHANGE_REHOME is not 0 and there z can only be homed if homeing dir is up which means no crash normally. This would also only happen if motors were disabled due to long delay until change.
Do you do z max homing (z home dir = 1). If so set FILAMENTCHANGE_REHOME to 1 insteda of 2 than there should be no z homing.
I do not use Repetier-Host software, I print my models via SD card and smart controller from RepRapDiscount (20 Character x 4 Line LCD display) — that's quite enough for me.
Looks like I have the very settings you recommend. Well, it works, but not properly.
Here are my settings:
FILAMENTCHANGE_REHOME 0
JAM_METHOD 2
JAM_ACTION 1
Z_HOME_DIR -1
Full Configuration.h file I put here: https://pastebin.com/LqZnqgs2
Please point me which settings I should set to make filament change work correctly.
Do you have HOST_RESCUE 0 ? That is the proper settings for sd printing. I ask because it could move also on pauses.
With these settings it might home xy if it was disabled a longer time. There is no z homing. Then it will move xy to last position and then adjust z, then deretract. You need to find out if a setting gets wrong or move gets executed wrong. So here a debug code to write some infos to host (you need it connected for testing to see what exactly is wrong).
Com::printFLN(PSTR("ActZ:"), Printer::lastCmdPos[Z_AXIS],3);
Com::printFLN(PSTR("MemZ:"), Printer::memoryZ,3);
Put the code in ui.cpp around line 2815 replacing the existing code to look like this:
Com::printFLN(PSTR("MemZ:"), Printer::memoryZ,3);
Com::printFLN(PSTR("ActZ2:"), Printer::lastCmdPos[Z_AXIS],3);
Com::printFLN(PSTR("MemZ2:"), Printer::memoryZ,3);
Then we know if the target Z makes sense or if the current Z is wrong. You might also comment
//Printer::GoToMemoryPosition(false, false, true, false, Printer::homingFeedrate[Z_AXIS]);
so that the only z move that should happen is removed.
Also can you tell exactly at which point it goes wrong? I mean does it move z before xy move for example. I see no real reason in config for that behaviour.
First I put HOST_RESCUE to 0 — same result. The extruder rushes into the cube till Z-axis endstop and the printer continues printing.
Then I updated the firmware to V1.0.5 with the very configs — same result.
I changed ui.cpp as you told and installed Repetier-Host v0.85b from Debian repo and started printing XYZcube from SD card. Same result.
Here is the part of the log that may be interesting:
The full log I put here: https://pastebin.com/89Qr3LAm
Then I loaded gcode via Repetier-Host software. The result is same as well.
Here is the part of the log that may be interesting:
The full log I put here: https://pastebin.com/45pDBd12
Any, any ideas are welcome.
And a stupid error in file uilang.h at string 3996.
But you are sure to know about it.
Not sure if I like the result or not. Coordinates in log show that target z is same as current z so there is no need to move Z at all. That was to be expected of course, but if we are at target position where comes the move from.
Did you also put a comment before
Printer::GoToMemoryPosition(false, false, true, false, Printer::homingFeedrate[Z_AXIS]);
to see if that removes z move.
If that does not help also put a comment before this line:
Printer::homeAxis(true, true, false);
Also it should only home x and y it might do more for some reason I don't see at the moment.
Since z move is not needed the idea is to put comments before possible moves to exclude these commands until it is clear in which command the z move gets triggered. It is also possible that all is ok and following gcode moves z also there is no reason to do so. Next z I saw was 5.3 so just 0.2mm higher.
I hope you are not testing with filament here. In dry run mode (host expert mode at bottom of manual control) would allow printing without filament, which is nice for testing to net get 100 cubes in the end. Just not sure if filament change can be triggered in dry run mode, but I think you can.
Yes. The printer begins alighning to Xmax.
The log says it's OK, but it is not!
Same result.
Yes, I sliced the XYZcube to 0.2 mm.
Correct. It's a nice feature but it ignores my filasensor triggering.
When I start filament change procedure from my LCD, it works correctly.
Pause also works fine.
I wonder if I am an only loser who tries to use filament sensor feature?
Is there any way (but installing Marlin) to run custom gcode via a button?
You see a extra button can be bound to the UI_ACTION_FAN_SUSPEND. You can add own actions that execute a command if you add the code and the wanted action does not exist. If it is a menu entry it should already exist.
Same shit again.
I've installed Marlin.