RE: Skewed XY-Plane (Z Rods, Heatbed)
The xBuddy board has two Z-axis outputs - could the second be used to help?
RE: Skewed XY-Plane (Z Rods, Heatbed)
The xBuddy board has two Z-axis outputs - could the second be used to help?
It has two connectors (for the two Z motors in the Mk4 printers), but from what I see they are both wired in parallel to the same driver chip. The Mk4 already drove both motors in sync; independent control is not possible.
Prusa has just changed the wiring scheme in the Core One, connecting all three motors (still in parallel) to only one of the jacks and via the little splitter board under the base.
RE: Skewed XY-Plane (Z Rods, Heatbed)
I think this could be a low-cost solution that would need a slight software update of MBL procedure and a few things to print at your end. Eventually it might turn from a bug into a feature to differentiate and advertise ))
Assuming that lead screws are not completely defective and have the same pitch across their lengths this should be a linear plane interpolation from one reference point (top) to another (bottom). The problem is how to get the second reference point so firmware could recalculate adjustments needed. I initially thought of a big "calibration cube" you put on a build plate so the nozzle could actually probe the "translated" surface and get the data from the bottom position but this looks bulky.
Alternatively you could print a nozzle "probe extender" long enough to touch the bed in its lowest (close to lowest) position. This should give enough information about how print plane skewed from top-to-bottom and calculate correction needed.
So SMBL (Space Mesh Bed Leveling) procedure could look like:
1. Moves the build plate to the top and performs regular MBL
2. Moves the bed all the way down
3. Prompts user to attach the nozzle "probe extender" (there might be several of different lengths for accuracy)
4. Moves the bed upwards until hitting the nozzle and samples points required to get enough information
This seems to be one off operation until you change something that affects calibration.
What do you think ?
RE: Skewed XY-Plane (Z Rods, Heatbed)
A firmware fix may theoretically be possible, but weren’t Out Of Memory issues cited as an obstacle to the implemention of motor phase stepping? I doubt there are enough CPU resources available to also add what is essentially 3D mesh correction.
MK4S/MMU3
RE: Skewed XY-Plane (Z Rods, Heatbed)
A firmware fix may theoretically be possible, but weren’t Out Of Memory issues cited as an obstacle to the implemention of motor phase stepping? I doubt there are enough CPU resources available to also add what is essentially 3D mesh correction.
Maybe they can just add Klipper. Lol
RE: Skewed XY-Plane (Z Rods, Heatbed)
A firmware fix may theoretically be possible, but weren’t Out Of Memory issues cited as an obstacle to the implemention of motor phase stepping? I doubt there are enough CPU resources available to also add what is essentially 3D mesh correction.
Not only that, the network stack is completely dropped mid-print if the printer can't keep up with both printing and reporting status to Connect. This is why the printer can randomly report Offline in Connect despite happily printing.
That CPU is barely keeping up with what we already have, they're doing coding magic with resource juggling now. I can't see anything so intense being implemented, especially when they can just ship properly made parts in the first place to solve the issue.
RE: Skewed XY-Plane (Z Rods, Heatbed)
How about a new smart splitter board that excepts the standard Z-axis stepper signals from the xBuddy board but contains individual calibration parameters for each of the three axis? Small micro and stepper motor drivers, with memory for the parameters. A one-time calibration stays working until a stepper is changed, and then it needs to be re-run. Would need to be used in conjunction with the nozzle extension mentioned above - calibration at Z=0mm then add the extension and calibrate at Z=270mm. Calculate the individual parameters and store in the new Z axis driver board. Sounds easy when I type it out, but that's probably a $50 board plus the hassle.
Seems easier to go back to your Z axis stepper motor vendor and instill some type of quality control that assures tighter tolerance on the lead scrws.
RE:
How about a new smart splitter board that excepts the standard Z-axis stepper signals from the xBuddy board but contains individual calibration parameters for each of the three axis? Small micro and stepper motor drivers, with memory for the parameters. A one-time calibration stays working until a stepper is changed, and then it needs to be re-run. Would need to be used in conjunction with the nozzle extension mentioned above - calibration at Z=0mm then add the extension and calibrate at Z=270mm. Calculate the individual parameters and store in the new Z axis driver board. Sounds easy when I type it out, but that's probably a $50 board plus the hassle.
That sounds more like a sub-xBuddy-board for the three Z steppers, with autonomous intelligence? I am not sure what kind of calibration you envision -- a step is a step, so those drivers would need to be instructed to make different numbers of (micro-)steps as they move the different Z leadscrews. I don't see how you would do this with a daughter board that gets connected to just a single stepper driver's output.
So I don't think this is feasible, necessary, or even desirable. Mind you, you will still need to move the bed in real time, in sync with the XY movements of the print head, to compensate for curvature in the heatbed. And the CPU load for setting up these moves would actually increase if you have to control three motors instead of one.
On the other hand, I don't expect the CPU load to increase much if you add the Z-dependent interpolation to compensate for differences in leadscrew pitch. Mind you, the Z compensation is much simpler -- just linear interpolation on a single, constant slope -- compared to the XY bed leveling mesh which probably uses some kind of spline interpolation. It's just one more simple term in the already existing calculation of the real-time Z position.
Which does not mean I like the idea of a firmware compensation. I would much prefer to have three leadscrews with consistent threads. Let's see which route Prusa will take...
RE: Skewed XY-Plane (Z Rods, Heatbed)
BTW. is it possible to detach the leadscrews ,to get 3 new ones. Or is the motor and leadscrew fixed. ?
RE: Skewed XY-Plane (Z Rods, Heatbed)
ps. my conversion kit arrives tomorrow and i was happy to keep the 2 good LDO steppers on the Z from my mk4
But if one can't swap the screws, the only solution would be to get 2 new steppers for Z to have a match with the new Z unit.
hmmmm.... not satisfying
RE: Skewed XY-Plane (Z Rods, Heatbed)
This should be possible, though would require some effort. Have a look at this video
RE: Skewed XY-Plane (Z Rods, Heatbed)
I did a test yesterday evening: a 28mm cylinder 200mm tall as close to each lead screw as it would allow. I had previously calibrated for level to the print head at the top with a 1.4mm spacer - this was removed for this test and z calibrated to the screws (official procedure). Result? Only about 0.5mm shorter, just for the cylinder on the corner I had shimmed when calibrating level at the top. Granted that's still short of max capacity but I would have expected more difference (~1mm).
Need to do some measuring with more accurate tools than I currently own to figure out what else might be happening here.
RE: Skewed XY-Plane (Z Rods, Heatbed)
0.5 mm left/right is what I measured too. And about 0.2-0.3 mm front-right to rear leadscrew.
So your results might be accurate. It's not much, but it's annoying at that price point and Prusa promoting the printer especially for functional parts.
RE: Skewed XY-Plane (Z Rods, Heatbed)
It's too much imo. Not only is it inaccurate, but it can't be good for the lead screws and the lead screw nuts.
Hopefully they will figure it the issue and supply replacements where needed.
RE: Skewed XY-Plane (Z Rods, Heatbed)
What has me confused is why it's only 0.5mm and not the ~1mm I would expect based on adding 1.4mm for the bed to be parallel with the print plane when the bed is all the way up.
RE: Skewed XY-Plane (Z Rods, Heatbed)
Just measure the difference from the bottom to the bed at Z=0 and Z=250 at the three spindle locations. That should give you the easiest answer.
RE: Skewed XY-Plane (Z Rods, Heatbed)
Just measure the difference from the bottom to the bed at Z=0 and Z=250 at the three spindle locations. That should give you the easiest answer.
It's not that easy to measure, sadly. I tried with a steel ruler, analogue and digital calipers. I measured definitely more than 1 mm, but a test print, which I could measure a lot better, revealed it's just 0.5 mm.
RE: Skewed XY-Plane (Z Rods, Heatbed)
I just assembled the base of my Core One last night, converting from Mk4S. I did a quick visual comparison of the threads between the old and new Z axis screws and they look like the thread spacing is consistent. I won't be able to take "built" measurements for a few days, but I was pleased to see that it at least didn't look like the above picture where they are clearly pitched differently. I'm now thinking (hoping) that there are some bad Z-screws out there but they are an outlier, or from a bad batch perhaps. 🤞
-J
RE: Skewed XY-Plane (Z Rods, Heatbed)
Does anyone have a digital level? I am curious what the relative angle right to left at the front of the bed is between z = 0 and z = 270. Also please note whether you have measured a different pitch in your leadscrews or not
RE: Skewed XY-Plane (Z Rods, Heatbed)
I will start my build this weekend. I`m planing to finish the bottom. Prior, print a pointer and fasten it to the nut.
Than turn the nut all the way to the bottom on the first rod, fixiate the rod and turn the nut all the way to the top ( no idea, how many turns, lets say it is 20 turns) i now can mark the hight of the pointer and repeat that on the other 2 rods. That should indicate equal or different threads. (Pointer allways in the exact same position)