z-motor hits end position when unloading filament
 

z-motor hits end position when unloading filament  

  RSS
Robert
(@robert)
Active Member

When unloading a filament after printing a high object, the z-axes always moves up before filament unload and hits the physical end position. As a result the z-motor squeezes for a couple of seconds due to missing space for the movement.

This only happens when switching off and on the printer before fillament unload, however quite often in my case.

Understand the z axes can be lowered down manually before unloading the filament, but many times I simply forget to do it.

@Prusa Research: Can you please consider the possibility of e.g. using pinda to check the height before filament unload, or any other idea which can prevent the z motor from damage in this case? I believe there is enough time for the printer for such check e.g. at the time of waiting for nozzle temperature.

Thank you.

Posted : 05/05/2021 5:26 pm
--
 --
(@)
Illustrious Member

The axis hammering against the stops is how the axis gets calibrated. So its really doing no harm. But head over to github and post a feature request or bug report; the guys there can take a look when they get time.

Posted : 05/05/2021 8:18 pm
Robee Shepherd
(@robee-shepherd)
Estimable Member

I don't think this can be helped easily, when you turn the printer off it has no idea what it's Z position is anymore. It is just following GCODE for unloading, and part of that is move up. But since it doesn't know how far up it is, it will go up too far and hit the top.

All you can really do is get into the habit of homing the printer before you unload the filament if you've turned it off and printed something tall.

Posted : 06/05/2021 7:22 pm
Lupin
(@lupin)
Trusted Member

Use the homing (Auto Home in "Calibration") before you try to fiddle with the filament as suggested above. The printer will recognize that it has hit the very end of the possible travel, albeit in this case it happens indirectly via overload protection (my guess only based on the printers observed behavior).

This same thing has been discussed before on the forum. 3D-printers and other CNC-like machines usually rely on relative positioning. That means that after power loss, printer must home itself to know where it is. Using absolute positioning system is possible (I have met such a beast somewhere at the 80's), but the cost of absolute positioning systems is high, so the relative one is chosen.

Mini uses motor pulse count and rotation direction to know how far it is from home and to which direction. It would be possible to add e.g. limit switches to the extreme positions on each axis so the printer would "know" when it has reached the limit without loading the motors against stops. But again, Mini's price would rise substantially.

This post was modified 1 month ago by Lupin
Posted : 06/05/2021 8:17 pm
Robert
(@robert)
Active Member

When the motor can survive mentioned behaviour with zero damage then no issue at all (didn't know that), I however always feel guilty hearing the sound again and again :). Not counting myself as expert in 3d printing, but believe some ideas can still be considered - e.g.

-  writing the z position into sdcard (internal flash) every 10 sec and use the stored z position after each reset. When too high before unloading filament, do not move up.
or
- when printer was just started, move down before unloading filament + find the ground level by finda and then continue the current procedure
or
...

Hope am not missing something important and believe firmware programmers will even have more ideas for an easy fix in future.

This post was modified 1 month ago by Robert
Posted : 06/05/2021 10:03 pm
--
 --
(@)
Illustrious Member

The "save to memory" idea works until someone comes along and moves the platter, the extruder, or pushes the printer. Then you are back to square one but now risk running the nozzle into the print sheet (why you can only move the extruder UP after a power cycle).

Stalling the motor by hammering upwards is well within the design constraints of the motor, electronics, and firmware.  If the hammering is annoying, just do an Autohome from the menus before you change filament. Better yet - you can add a pause to your custom gcode so that after a print is done, you get a notice to remove the part and then press the knob to perform an autohome automatically before you power things down.

 

Posted : 06/05/2021 10:10 pm
Robee Shepherd
(@robee-shepherd)
Estimable Member
Posted by: @robert

When the motor can survive mentioned behaviour with zero damage then no issue at all (didn't know that), I however always feel guilty hearing the sound again and again :). Not counting myself as expert in 3d printing, but believe some ideas can still be considered - e.g.

-  writing the z position into sdcard (internal flash) every 10 sec and use the stored z position after each reset. When too high before unloading filament, do not move up.
or
- when printer was just started, move down before unloading filament + find the ground level by finda and then continue the current procedure
or
...

Hope am not missing something important and believe firmware programmers will even have more ideas for an easy fix in future.

These are nice ideas, but constantly writing to internal flash will wear out the flash memory. And moving down before unloading filament means you now need an additional thing to test whenever you change the code for unloading filament, and you also need additional code to maintain. Which is okay, but when the worst that happens currently is you hear a horrible noise and feel guilty, the firmware devs are going to weigh this up as a "nice to have but far from essential, more people want other things first".

It does make me feel guilty too though 😂, but I've just got used to homing it if I have just turned it on and need to change the filament. It took me about 10-15 times to get into that habit though. 🥶

Posted : 06/05/2021 10:18 pm
Lupin
(@lupin)
Trusted Member

Mini design has its limitations, we just have to learn to cope with them. Printer is really in the dark after power loss. We cannot suggest even automating the "auto home" before filament unload/load. There might be something on the bed, like the previously printed thingy, which will be marred if the printer suddenly dives for home. So we really need to adjust our own behavior, or be prepared to come up with some serious money for a printer which has it all: absolute positioning and obstacle avoidance (camera?) out of the box.

Posted : 07/05/2021 6:56 am
Share:

Please Login or Register