Notifications
Clear all

Skewed XY-Plane (Z Rods, Heatbed)  

Page 3 / 4
  RSS
Raaz
 Raaz
(@raaz-2)
Estimable Member
RE:

This assumes that the pitch remains constant for a given lead screw across its length.

Should work, no ?

To give us all an overview about what the layers look like for tall objects:

The leadscrews all move synchronised at all times, since they are bundled to a single connector on the board.
There's no way to correct this via software. You move the bed up, it's perfectly horizontal. You move the bed down, it's tilted.
When you manually calibrate the bed at the 3 leadscrews with a credit card or similar (or shims at the bottom), the print head will always see a perfectly horizontal plane to print on, so apart from lifting and layer changing (and small ups/downs from the multi-point MBL), the leadscrews will never turn.

If you could turn the 3 leadscrews independently, you could tell it the pitch and always keep the bed perfectly horizontal at all times.
But the electronics can't handle that, so it's a dead end.

 

Posted : 23/06/2025 7:04 pm
1 people liked
Yoyo
 Yoyo
(@yoyo-3)
Active Member
RE:

I agree there is no way to correct if the bed leveling is done at a single Z height.

But if you manage to do it at another Z height, I think you can perform a linear interpolation and correct for the different pitches of the lead screws.

This post was modified 3 weeks ago 2 times by Yoyo
Posted : 23/06/2025 7:07 pm
Raaz
 Raaz
(@raaz-2)
Estimable Member
RE:

But if you manage to do it at another Z height, I think you can perform a linear interpolation and correct for the different pitches of the lead screws.

You mean something like an algorithm in the firmware, that takes the height for each object and then prints each layer tilted differently, so that they will be perfectly horizontal at the end of the object?
That would mean a different live-bed-tilting for each object, if you're printing multiple in one job.

I agree though, that would be doable. But I guess Prusa should/will fix the headbanging and loadcell related issues first..

Posted : 23/06/2025 7:20 pm
1 people liked
CJD
 CJD
(@cjd)
Eminent Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

That's what I wanted to test. It calibrates z-axis by bottoming out, then tests bed leveling at the top. I havent seen the code nor tested to verify what it's actually doing, but it could as it would have the data if the assembly were known/trusted equal distance. There's certainly risk that's not true also given the snug rod fit...

Posted by: @shushuda

That's not how bed leveling works. It measures the bed at the top and keeps the same adjustment for the entirety of the print. It doesn't know the bed is skewing or getting straighter as it moves down. It doesn't probe in that lower position, the extruder doesn't move down.

 

Posted : 23/06/2025 7:27 pm
Yoyo
 Yoyo
(@yoyo-3)
Active Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

The idea after the fix is to have a different matrix for each layer to perform MBL.

It will indeed require some changes on the firmware 😛

Posted : 23/06/2025 7:30 pm
1 people liked
Pavel Brych
(@pavel-brych)
Active Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

Yes, if you would measure the error for each lead screw (manually or as you suggest somehow using automated probing at different Z heights), you could interpolate needed correction for each layer. Problem is, the angle between printed surface and the plane in which hotend is moving would grow with object height, which would have some consequences:

- You could not use the whole print area, straight tall print would lean outside of the hotend reach, so some 1-2 mm buffer around the build area would be needed?
- Could it have effect on surface finish of top layer if the flat tip of the hotend would not move parallel to the printed surface but at slight angle?
- Could it have effect on surface quality of the straight walls (90° to the build plate) when after correction each layer would be slightly shifted on X/Y axes?

I know those corrections would be quite small, so it's possible it would not result in visible artifacts, but personally I don't thing a software correction of this problem is the way to go.

 

Posted : 23/06/2025 7:39 pm
neutronned
(@neutronned)
Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

Interesting thread and it made me think of a simple experiment.

  1. Set the bed at Z=10mm (almost to the top)
  2. Place a caliper between the bottom case and the bottom of the bed frame next to each stepper motor.  Zero out the caliper (see picture).
  3. Drop the bed to Z=40mm (a reduction of 30mm).  Watch your fingers!!!!  The caliper should read -30.00mm

I did this five times per each of the three Z-axis stepper motors and here is the results:

  • Right front: -30.06, -30.05, -30.07, -30.06, -30.05 Average = -30.06  (+0.2%)
  • Left front: -29.99, -29.97, -29.98, -29.98, -29.98 Average = -29.98 (-0.067%)
  • Rear: -30.09. -30.10, -30.10, -30.09, -30.10 Average = 30.10 (+0.33%)

I'm not sure what the lead screw accuracy should be, but over 250mm, it's going to be off 0.5 to 0.8mm from flat.

 

Posted : 23/06/2025 8:30 pm
1 people liked
Jürgen
(@jurgen-7)
Prominent Member
RE: Skewed XY-Plane (Z Rods, Heatbed)
Posted by: @yoyo-3

I agree there is no way to correct if the bed leveling is done at a single Z height.

But if you manage to do it at another Z height, I think you can perform a linear interpolation and correct for the different pitches of the lead screws.

Yes, that should work in principle. There is just no convenient and precise way to do the bed leveling at a different height than the topmost position of the heatbed.

For a lower bed position, you can either measure some distances "offline" with a ruler or caliper, with less accuracy, and you would have to manually enter them somewhere. Or you could use a "reference rod" of fixed length, say 20 cm, and insert it between heatbed and nozzle at each probing point: Probe very slowly, giving the user enough time to shift the reference rod to the right position before the heatbed pushes it up against the nozzle. Not very practical, I'm afraid... 

Posted : 23/06/2025 8:50 pm
2 people liked
Anthony Coombes
(@anthony-coombes)
Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

Placing a DTI as close to the trapezoidal nuts as I could, I was able to measure the Z distance for each mm of travel over a 20mm range (that's the limit of my DTI) for each motor. My Core One is a conversion kit so 1x Z Left and 1x Z Right motors were from my MK4S, and 1x Z Left was new with the conversion kit. I don't know which Z Left motor is the new one, but by looking at the colour and condition of the lead screw, my guess before making the measurement was that the left motor was from the MK4S and the right motor was from the conversion kit.

Measurements from the left and rear motors show a very similar results (which also suggests that these two motors were from the MK4S), but the right motor (which I thought was the new Z Left from the conversion kit) definitely travels at a different rate to the other two motors.

After 20mm of travel (Z=115 to Z=135), the Left/Rear/Right had a measured travel of 19.97/19.98/19.89mm - on the right motor, this is a 0.55% deviation from nominal and closely matches the measurements from Pavel and Jürgen - but for me, the 'faulty' motor is the right one and it travels LESS than the other two.

Given that all three Z motors are driven from the same output on the Buddy board, I can't see how anything can be done other than replacing the Z motors with ones with matched lead screw pitches.

I've not notice any issues with my prints yet, but I haven't printed anything tall - the taller your print, the worse this issue will get. If the 0.55% is consistent over the full 270mm printable height, this means the front right and left bed will have a difference in height (and hence your print) of almost 1.5mm.

Posted : 23/06/2025 8:56 pm
Jürgen
(@jurgen-7)
Prominent Member
RE: Skewed XY-Plane (Z Rods, Heatbed)
Posted by: @jurgen-7
Posted by: @yoyo-3

I agree there is no way to correct if the bed leveling is done at a single Z height.

But if you manage to do it at another Z height, I think you can perform a linear interpolation and correct for the different pitches of the lead screws.

Yes, that should work in principle. There is just no convenient and precise way to do the bed leveling at a different height than the topmost position of the heatbed.

For a lower bed position, you can either measure some distances "offline" with a ruler or caliper, with less accuracy, and you would have to manually enter them somewhere. Or you could use a "reference rod" of fixed length, say 20 cm, and insert it between heatbed and nozzle at each probing point: Probe very slowly, giving the user enough time to shift the reference rod to the right position before the heatbed pushes it up against the nozzle. Not very practical, I'm afraid... 

Come to think of it, you probably can implement something in firmware that's good enough. The bed probing needs to be very accurate for the top position, to ensure you put down a good first layer. As the bed moves further down, a reasonable estimate for the pitch deviation between the three lead screws is all you need.

You can then make the real-time Z compensation a function of XYZ instead of just XY as currently implemented, and can correct for the distortion of the prints. That correction will be as accurate as your measure of the leadscrew pitch differences; shouldn't be too hard to get it right to 1/10 or 2/10 mm over the full print height.

So that is probably what Prusa will implement, to avoid the need for expensive hardware replacements. Give it a fancy name and pitch it as a feature rather than a workaround... How about "Dynamic Bed Leveling"? 🙄  

Posted : 23/06/2025 8:59 pm
3 people liked
CJD
 CJD
(@cjd)
Eminent Member
RE:

Exactly what I've been trying to suggest with far less typing.

As long as the deviation itself is linear...

Posted : 23/06/2025 9:01 pm
Jürgen
(@jurgen-7)
Prominent Member
RE: Skewed XY-Plane (Z Rods, Heatbed)
Posted by: @cjd

Exactly what I've been trying to suggest with far less typing.

I apologize for all my typing.

Posted : 23/06/2025 9:05 pm
CJD
 CJD
(@cjd)
Eminent Member
RE:

Nono, I appreciate it! I'm on a phone and being detailed too much a pain so I feel I wasn't being clear enough. You were.

Posted by: @jurgen-7
Posted by: @cjd

Exactly what I've been trying to suggest with far less typing.

I apologize for all my typing.

 

Posted : 23/06/2025 9:10 pm
2 people liked
Brian
(@brian-12)
Prominent Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

 

Posted by: @raaz-2

But if you manage to do it at another Z height, I think you can perform a linear interpolation and correct for the different pitches of the lead screws.

You mean something like an algorithm in the firmware, that takes the height for each object and then prints each layer tilted differently, so that they will be perfectly horizontal at the end of the object?
That would mean a different live-bed-tilting for each object, if you're printing multiple in one job.

I agree though, that would be doable. But I guess Prusa should/will fix the headbanging and loadcell related issues first..

You're missing that there's only 1 motor driver.  As built you cannot individually control each motor.

Posted : 23/06/2025 9:12 pm
CJD
 CJD
(@cjd)
Eminent Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

You do not need to.

Posted by: @brian-12

 

Posted by: @raaz-2

But if you manage to do it at another Z height, I think you can perform a linear interpolation and correct for the different pitches of the lead screws.

You mean something like an algorithm in the firmware, that takes the height for each object and then prints each layer tilted differently, so that they will be perfectly horizontal at the end of the object?
That would mean a different live-bed-tilting for each object, if you're printing multiple in one job.

I agree though, that would be doable. But I guess Prusa should/will fix the headbanging and loadcell related issues first..

You're missing that there's only 1 motor driver.  As built you cannot individually control each motor.

 

Posted : 23/06/2025 9:13 pm
Brian
(@brian-12)
Prominent Member
RE:

 

Posted by: @cjd

You do not need to.

Posted by: @brian-12

 

Posted by: @raaz-2

But if you manage to do it at another Z height, I think you can perform a linear interpolation and correct for the different pitches of the lead screws.

You mean something like an algorithm in the firmware, that takes the height for each object and then prints each layer tilted differently, so that they will be perfectly horizontal at the end of the object?
That would mean a different live-bed-tilting for each object, if you're printing multiple in one job.

I agree though, that would be doable. But I guess Prusa should/will fix the headbanging and loadcell related issues first..

You're missing that there's only 1 motor driver.  As built you cannot individually control each motor.

 

If the pitches of the lead screws are not the same, nothing else suggested will work without individual control.  

You could move the bed up and down together with the print headlike crazy for every position the print head moves.  I'll pass.  Make the parts right. 

Edit:  also with as much deviation as people are measuring you'd have crooked layer lines 

This post was modified 3 weeks ago by Brian
Posted : 23/06/2025 9:19 pm
1 people liked
Jürgen
(@jurgen-7)
Prominent Member
RE: Skewed XY-Plane (Z Rods, Heatbed)
Posted by: @brian-12

You're missing that there's only 1 motor driver.  As built you cannot individually control each motor.

That's true. But you can control all three motors as a function of the current XYZ  position of the print head and bed. (Just like they are currently controlled as a function of XY during the print, to keep the bed "virtually levelled" to the CoreXY plane in the topmost position.)

That gives you the necessary degrees of freedom to correct print distortion, as long as you have the necessary input information about the bed position. I.e. the complete bed-to-nozzle leveling grid as currently measured (in the topmost bed position), and the different lead screw pitches which would cause a tilt on the way down unless compensated.

Posted : 23/06/2025 9:29 pm
2 people liked
Brian
(@brian-12)
Prominent Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

 

Posted by: @jurgen-7
Posted by: @brian-12

You're missing that there's only 1 motor driver.  As built you cannot individually control each motor.

That's true. But you can control all three motors as a function of the current XYZ  position of the print head and bed. (Just like they are currently controlled as a function of XY during the print, to keep the bed "virtually levelled" to the CoreXY plane in the topmost position.)

That gives you the necessary degrees of freedom to correct print distortion, as long as you have the necessary input information about the bed position. I.e. the complete bed-to-nozzle leveling grid as currently measured (in the topmost bed position), and the different lead screw pitches which would cause a tilt on the way down unless compensated.

Thank you for the detailed explanation.  Now I understand this possibility.  Assuming the skew is linear (it likely is) then I suppose you could have a test print and then input the skew values into the printer.  It would be like a constant first layer correction.

This still seems like a band aid.  The real fix should be the correct lead screws.  In this case Prusa should replace them imo, but we'll see what they come up with. 

Posted : 23/06/2025 9:52 pm
1 people liked
Shushuda
(@shushuda)
Estimable Member
RE: Skewed XY-Plane (Z Rods, Heatbed)

But you can control all three motors as a function of the current XYZ

Or you can just ship properly made parts with your 1k euro printer.

This entire discussion is missing the point - Prusa shipped the printer with bad parts, the issue is bad parts, it's fixed by good parts, they need to start to QC properly and send properly matched parts. End of story.

Posted : 23/06/2025 9:53 pm
3 people liked
Raaz
 Raaz
(@raaz-2)
Estimable Member
RE:

Could it have effect on surface finish of top layer if the flat tip of the hotend would not move parallel to the printed surface but at slight angle?

I doubt it. Beware, "Quick Math":
For my leadscrews, we're talking about 0.14° left/right and not even 0.1° front/rear. And that's between Z = 0 mm to Z = 270 mm.
If you break that down to a 0.20 mm layer, it's only 0.0001° or 0.00036 mm.
But still, at full 270 mm object height, it would be 0.49 mm difference in the corners.

How about "Dynamic Bed Leveling"? 🙄  

I'm already imagining the usual reviewers on YouTube showing print beds full of 270 mm tall object, which are all tilted, to then measure them and tell the world Prusa has the most accurate prints on the planet haha. "If it's stupid, but it works, it ain't stupid"...

You're missing that there's only 1 motor driver.  As built you cannot individually control each motor.

As was mentioned, it's not needed, when the bed is moving up and down with each move-command. I'd love to see the firmware code though..

You could move the bed up and down together with the print headlike crazy for every position the print head moves.  I'll pass.  Make the parts right. 

I highly doubt, that they'll do something like that. Probably there won't be enough complaints and the few that can be bothered just get new leadscrews from the support.
And I fully agree, just give us binned leadscrews matching each other.

Edit:  also with as much deviation as people are measuring you'd have crooked layer lines 

I honestly doubt the accuracy of these measurements. I also thought it would be more, after trying to measure my printer.
As calculated at the beginning of this post, the quite big 0.49 mm deviation at 270 mm only comes down to 0.00036 mm per layer (0.20 mm).
With the 0.25 mm nozzle and min. layer height (0.05 mm), that's 0.00009 mm deviation.
I had to remind myself, that the smallest step for live Z adjustment is 0.001 mm (iirc, the steps are actually 0.003?)

Posted : 23/06/2025 10:29 pm
3 people liked
Page 3 / 4
Share: