-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
with tension sensor setup MMJ_EJECT fails to eject filament #412
Comments
You are correct that with the "spring" that a sync_feedback sensor provides the All these encoder based validations are essentially just looking for movement of the encoder. I allow for a single accidental pulse, so movement is defined as > 1.5 pulses (also around 1.5mm for binky). So to get to the bottom of this:
I don't understand your last paragraph. Can you elaborate. |
thanks , last part means if the system config has bowden length of 1000mm, and we attempt to eject filament from extruder (mmu detected and confirm it was in extruder), after the MMU_EJECT operation, we can see in the log it reported unload only about 80mm, sometimes 40mm. so if compare the actual unloaded length reported VS the bowden length in config, mmu can easily tell it's not fully unloaded. I made a fix and tested it a few times, seems working. thanks |
correction , all above sensor state should be compressed, thanks. |
fail_eject_but_say_success.log thanks |
some more tests done , seems the MMU_RECOVER macro and inner function _check_filament_still_in_extruder() I think the solution would be the same, just let MMU output some filament ie 40mm to make it in compressed state. thanks |
fixed by this |
As commented in the PR I need some time to digest this and think about all the possible configs and how this might effect them. I also have a concern on the new auto-calibration work in "auto-calibrate" branch. Oh, the other limitation I have to adhere to is Python2 support. 10% of users are still on it and Klipper still supports it. |
This issue is stale because it has been open for over 30 days with no activity. It will be closed in 14 days automatically unless there is activity. |
This issue was closed because it has been inactive for 14 days since being marked as stale. |
with tension sensor setup MMU_EJECT fails to eject filament
Problem:
has been investigating this problem for a few days.
I have a very high chance of failing to run MMU_EJECT command,
after it runs , most likely it fails and ask for pliers
00:04:38 MMU issue: Unload sequence failed: It may be time to get the pliers out! Filament appears to stuck somewhere 7.014616>1.5031320000000001
or sometimes doesn't say that but claim unloaded but the whole filament is still inside extruder.
so I tried quite a few times and compare different logs fails and success,
finally narrow it down
it seems this function may not work when system has tension sensor setup
system sensor setup
print head has no sensor at all, no extruder sensor, no entry sensor
( I don't want to mess with print head since ERCF1 and the previous version ERCF-Software-V3 works really well without those print head sensors)
system has two tension sensors, expanded and compressed.
Root cause:
when system has tension sensor device, one end (belay) or two ends (compressed and expanded both ends), a tension sensor device/module should always have a slider block that can freely move for about 5mm to 20mm , it depends.
while the filament is still in extruder, the above function tries to move filament out, it can move freely for XXmm, even though the filament is still locked in extruder.
work around
maybe user can add a pre eject macro to move the filament back for certain distance, so to create a expanded state first.
then above function should work.
MMU_TEST_MOVE MOVE=-20
not ideal because it maybe already in expanded, so grinding. and sometimes it doesn't work.
Real fix
the above function should check tension sensor if defined, for expanded state, if not expanded (moving toward ERCF), move it until it's expanded.
if not defined, maybe must do a blind move for certain mm....reduce current maybe needed, to avoid grinding.
also , it's necessary to check the unloaded filament length, if it's unloaded from extruder, and if the length is too far away from the system bowden length, then should not claim it's unloaded successful and even try to cut it with EREC servo/blade.
Thanks
fail_eject.log
The text was updated successfully, but these errors were encountered: