Using bed leveling screws with independent z motors
-
The optimum configuration for leadscrews is 3 in a triangle configuration, a triangle being the optimum shape for stability which is why it is used, anything else is sub-optimal.
As long a the bed plate is flat (and any frame it is mounted to) are both assembled parallel to each other then no further manual levelling is required, the 3 independently operated lead screws will do the rest, as long as the mounting points between the leadscrews and bed/bed frame are not too constrained.
end of story.My bed and frame on my most recent core-xy printer is rose jointed and has short linear rails to allow full articulation for a degree of non-planer printing
-
There's no reason you can't use both methods right now, though it's a bit redundant.
You'd need to modify your M671 depending on which you wanted to do at the time.
For the manual way you'd need to include the P parameter to define the thread pitch of the screws.
-
@Gerrard This is basically what i was going for indeed, an initial setup and a fallback procedure if something goes wrong (in shipping for example). The bed of this printer will be 800x500 so it is quite large.
-
@engikeneer That is my concern, i do also have independent z sensors so i know where every Z-motor is before probing. I think there is something to be said that with a good construction it is most likely redundant but the printer isn't build yet so im just speculating about the best approach to take to make sure it goes well anyways. Thanks for the feedback!
-
@Phaedrux That's how i figured it worked too however i have 3 Z motors defined in my M584. When i add the P parameter it still automatically adjusts the leadscrew instead of giving feedback on how much to turn the screws. Maybe it has to do with my S parameter?
-
@Piet said in Using bed leveling screws with independent z motors:
@engikeneer That is my concern, i do also have independent z sensors so i know where every Z-motor is before probing. I think there is something to be said that with a good construction it is most likely redundant but the printer isn't build yet so im just speculating about the best approach to take to make sure it goes well anyways. Thanks for the feedback!
The best approach is to build/design the printer properly and allow the printer to do everything else automatically, as you admit this is a machine for resale, one less step for the end user to have to carry out is a plus point, this makes it easy for the customer to set things up and achieve the end goal of getting printing and not spending time carrying out unnecessary adjustment put in place due to paranoia.
-
@CaLviNx "Best approach" is subject to perspective. I agree with @Piet here - you build the most light weight frame that you can (because it's cheaper) and you let the software/hardware smarts take care of the rest for you - because it can. It's very normal for machines to require commissioning before being ready for use.
Remember that 3 points is the most stable, only if you assume a rigid body. In real life "rigid" doesn't exist. All bodies are elastic to some extent.
-
You might build with the most lightweight/cheapest but not everyone does.....
Some of us build using quality components for as high a quality & rigidity as is possible.
And I dont "assume" a rigid body, If you build in rigidity using quality components then it will be as close to rigid as possible, so it DOES exist, also you design the elasticity to be in the place YOU decide it to be.
If designed & built properly the printer should self align and then the only "commissioning" required is to run the leveling sequence
An awful lot of over thinking in the wrong place is going on.
-
@Piet said in Using bed leveling screws with independent z motors:
@Phaedrux That's how i figured it worked too however i have 3 Z motors defined in my M584. When i add the P parameter it still automatically adjusts the leadscrew instead of giving feedback on how much to turn the screws. Maybe it has to do with my S parameter?
That's a complication then. I wonder if you split the Z axis into separate letters if it would allow you to use the manual adjustment.
Though at that point since you have the motors why not just let them adjust?
Look at it this way, if you're adjusting the plate on the frame to be level, the carriages carrying the frame will still be out of sync and eventually may bind. It just doesn't make sense to stack adjustment points like that.
-
@Phaedrux Thanks for the help. This thread has got me thinking and for the production run I'll most likely use a different solution (less constrained so motors can do its thing). For the prototype I will see if it is helpfull if necessary at all.
Right now I have it working with 4 adjustment points using the following script:
M561 ; clear any bed transform
M98 P"homexyu.g" ; home the x, y and u axis
T0 P0 ; select tool 0
G1 X51.3 Y75 F5000 ; move to first probe coordinates
G91 ; relative positioning
G30 K0 Z-9999 ; probe bed with tool 0 and set Z=0G90 ; absolute positioning
T1 P0 ; select tool 1
G1 X51.3 Y75 Z12.5 U-7.5 F2000; ; move the bed 7.5mm, and the U axis 15mm down
G91 ; relative positioning
G38.2 Z-9999 P1 ; probe bed with tool 1 and stay at Z=0
M400
G10 L1 P1 X0 Y0 Z{-move.axes[2].machinePosition} ; set Z-offset
M500 P10 ; save offset
M400
G1 Z5 ; move the bed 5mm down
G90 ; absolute positioning
M400
M117 "Z offset for tool 1 is set and saved"T0 ; select tool 0
G30 P0 K0 X51.3 Y75 Z-9999 ; probe above leadscrew
G30 P1 K0 X400 Y448.7 Z-9999 ; probe above leadscrew
G30 P2 K0 X748.7 Y75 Z-9999 S3 ; probe above leadscrew and run compensation