Snapmaker / Snapmaker2-Controller

Snapmaker2-Controller is the firmware for Snapmaker 2.0 3-in-1 3D Printers.
GNU General Public License v3.0
128 stars 67 forks source link

Z-axis misalignment: not fixed by homing #24

Open brvdboss opened 3 years ago

brvdboss commented 3 years ago

Hello,

I ran into a situation where a pair of axis (z-axis, but I think it could just as well happen with the y-axis) got misaligned.

While using the cnc functionality, I accidentally lowered the bit into the wasteboard. (missing between 10mm and 1mm). No real damage done, but the stepper motors started missing steps because they couldn't push through. As it was more towards one side of the bed than the other, both z-axis modules got misaligned (one was higher than the other)

When homing, it seems they stop as soon as one of them reaches the limit switch. and the misalignment persists. I noticed this during a cnc project.

Workaround: turn the power off, and pull the module completely up realigning the axes at the top. Turning the machine back on and it works again as expected.

I would have expected that when homing the alignment would have been fixed (as both axes move to the end).

proposed solutions: have the axis (z and y) both independently move to the end until they reach the limit swith. Otherwise a user might keep using the unaligned machine for a longer period of time. Putting more stress on the frame and rails and possibly cause problems like missing a layer while 3d printing.

How to reproduce: Run the head of the printer or cnc module into the bed (preferably towards the start or end of the x-axis) and watch the axis get misaligned and not being "fixed" when homing.

A description of the project I was doing is also on the forum: https://forum.snapmaker.com/t/milling-the-cnc-wasteboard-flat-or-so-i-thought-mis-aligned-z-axis-modules/12513

Cause is clearly a user error, but it would be good if homing would fix this in stead of the manual workaround. I assume I am not the only one who has had this problem

Additional suggestion: include a warning about this in the user manual/troubleshooting guide.

brent113 commented 3 years ago

You're describing "tramming", which is an important issue.

Tramming using the Z endstops would be an improvement, but since the Z axes are controlled via a splitter which evenly splits steps between the two modules, they cannot be individually be controlled.

Additionally, nothing particularly guarantees the 2 endstops are positioned such that the X axis will be parallel with the working surface.

I ended up assuming the Y linear modules are parallel to the surface of the bed (measurements show it's close enough for my purposes) and using some parallel blocks as spacers between the Y linear modules and X axis module. With the machine off, as you described, pushing the X axis so it touches the parallels.

Perhaps the 3D toolhead's probe could be used to directly measure the plane orientation, disable the stepper motors, instruct the user to raise or lower the right side by 1mm or so, re-enable the stepper motors and probe to verify. This process could be repeated until an acceptable tolerance is met.