Auto level using 3 ball screw
-
@moth4017
My points are: M671 X-52.00:150.05:372.00 Y23.50:375.05:23.50 S5.0 ;leadscrew at front left, center and front right -
@R006 are they in the same order as they are in you M584?
-
@moth4017 Yes
M584 X0 Y1 Z2:3:4 E5 -
do you have a macro to do you bed leveling like the one above, i have found its better to do 4 points (each corner)
-
@moth4017 I am using 5 points 1st front left 2nd back left 3rd back middle 4th back right & 5th front right
-
@R006 maybe you should post your bed.g so we can see what you're actually doing
-
@R006 try it without 3rd back middle. and post your macro
-
-
@R006 they should all have separate P numbers for a start...
The S value is wrong if you're wanting to use 5 points.
I also suggest you look at using iteration to perform the measurements more than once -
My bed.g file as an example
; bed.g G32 echo "bed.g G32" M118 P3 S"M118 bed.g" L1 M561 ; clear any bed transform G90 ; If the printer hasn't been homed, home it if !move.axes[0].homed || !move.axes[1].homed G28 if sensors.probes[0].value[0] == 1000 ; if sensor is value other than 1000 do this, 0=probe attached echo "already homed, going to pick up probe" M98 P"/macros/ProbePickUp" ; probe pick up if sensors.probes[0].value[0] == 0 ; Probe the bed and do auto calibration G90 G1 X14 Y44 F20000 ; go to just above the first probe point while true if iterations = 5 M98 P"/macros/ProbeDropOff" ; probe drop off; end loop abort "Too many auto calibration attempts" G30 P0 X12 Y12 Z-99999 ; probe starboard bow if result != 0 continue G30 P1 X293 Y12 Z-99999 ; probe port bow if result != 0 continue G30 P2 X293 Y274 Z-99999 ; probe port stern if result != 0 continue G30 P3 X12 Y274 Z-99999 S3 ; probe starboard stern S3 = number of z axis motors if result != 0 continue if move.calibration.initial.deviation <= 0.07 break echo "Repeating calibration because deviation is too high (" ^ move.calibration.initial.deviation ^ "mm)" echo "Auto calibration successful, deviation", move.calibration.final.deviation ^ "mm" G1 F12000 X149.5 Y177.5 ; probe to center bed G30 F2000 ;Single Z-Probe M98 P"/macros/ProbeDropOff" ; probe drop off G1 Z30 F1000 ; get the head out of the way
-
@jay_s_uk
hi i thourght the s value was for number of motors as in this example from the Duet 3 documentation
G30 P2 X100 Y10 Z-99999 S3 ; probe point 2 near a leadscrew and calibrate 3 motorsi didnt read it correctly
The S parameter on the last G30 command in the sequence indicates that a complete set of points has been probed and instructs the firmware what sort of calibration to perform. -
The S parameter on the last G30 command in the sequence indicates that a complete set of points has been probed and instructs the firmware what sort of calibration to perform.
and
Cartesian/CoreXY kinematics: S-1 will report the Z offset for each probed point, but no calibration is done. S0 specifies that the number of factors to be calibrated is the same as the number of points probed. Otherwise, the value indicates the number of factors to be calibrated, which must be no greater than the number of points probed, eg S3 in the above example with 3 points probed
my understanding is its the number of points
-
@jay_s_uk ok when i set it s4 with 4 points probed i get this error
Error: Number of calibration factors (4) not equal to number of leadscrews (3) -
@moth4017 maybe you're right then
-
@jay_s_uk whick means the documentation on the Duet doc sight is incorrect
-
@moth4017 maybe @droftarts can investigate
-
@jay_s_uk yes i know it's mistake in copy paste.
Please help me
-
What does the console report after you run G32?
If you run it several times in a row, what does it say each time?
How are you homing before?Please share all your config.g and homing files. It would also be nice to know your firmware version and what type of probe.
-
@R006 i ran this code on my printer
G28
;do what you need to deploy probe
G30 P0 X30 Y30 Z-9999
G30 P1 X30 Y270 Z-9999
G30 P2 X270 Y270 Z-9999
G30 P3 X270 Y30 Z-9999 S3This is the result in the console
Leadscrew adjustments made: 1.149 -0.144 -0.766, points used 4, (mean, deviation) before (-0.119, 0.653) after (-0.000, 0.023)
you would need to run the same code again without the G28
and here are my results
Leadscrew adjustments made: 0.006 0.021 0.025, points used 4, (mean, deviation) before (0.019, 0.024) after (0.000, 0.023)you will see that the mean deviation from the first run was
(-0.119, 0.653)
second run
(0.019, 0.024)the more times you run it the deviation should become less ,
-
@moth4017 ok i will try this