SmartEffector DeltaCalibration: Z probe readings not consistent
-
When I do G32 Delta Calibration (Anycubic Predator + Duet 2 Wifi + Smarteffector) on COLD conditions (bed and hotend at ambient temperature) it performs successfully at the first attempt. Just 2 or 3 probings on each point wthout never going back.
But when I try to do it with the bed at 100ºC and the hotend at 150ºC, it starts to doo a lot of probings on each point sometimes going back and probing again on previously probed points and I start to get messages of "Error: Z probe readings not consistent". Sometimes it is stil lable to succesfully end Delta Calibration but most of the times it quits with the message "Too many Calibration attempts". What can I do?
My Probe Settings are:
M558 P8 R0.4 C"zprobe.in+zprobe.mod" H5 F800:400 T9000 ;
G31 K0 P500 X0.0 Y0.0 Z-0.152 ;
M557 R170 S25My bed.g reads:
; bed.g
; called to perform automatic delta calibration via G32
;
; Auto calibration routine for large delta printer
M561 ; clear any bed transform; If the printer hasn't been homed, home it and don´t go down
if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
M290 R0 S0 ; Reset baby-stepping to 0
M913 X100 Y100 Z100 ; Set motors to 100%
G91 ; Use relative positioning. This activates Individual Motor Mode with G1 X Y Z H1 and H2.
G1 X750 Y750 Z750 F3000 H1 ; Move all towers to the high end stopping at the endstops (first pass). On a Delta axis letters refer to individual towers. H1 means sense endstops while moving
G1 X-5 Y-5 Z-5 F500 H2 ; Go down a few mm. On a Delta axis letters refer to individual towers. H2 means ignore endstops while moving.
G1 X10 Y10 Z10 F500 H1 ; Move all towers up once more (second pass). On a Delta axis letters refer to individual towers. H1 means sense endstops while moving.
G90
; Probe the bed and do auto calibration
; IMC: Probing Radius = 169.9
; IMC: Number of peripheral points = 6
; IMC: Number of halfway points = 6
; IMC: Number of calibration factors = 6
; IMC: See http://www.escher3d.com/pages/wizards/wizardbed.phpM558 F300 A5 S0.003
G1 X0 Y169.9 Z10 F5000
while true
if iterations > 5
abort "Too many auto calibration attempts"
G30 P0 X0 Y169.9 H0 Z-99999 ; Peripheral Point P0
if result != 0
continue
G30 P1 X147.14 Y84.95 H0 Z-99999 ; Peripheral Point P1
if result != 0
continue
G30 P2 X147.14 Y-84.95 H0 Z-99999 ; Peripheral Point P2
if result != 0
continue
G30 P3 X0 Y-169.9 H0 Z-99999 ; Peripheral Point P3
if result != 0
continue
G30 P4 X-147.14 Y-84.95 H0 Z-99999 ; Peripheral Point P4
if result != 0
continue
G30 P5 X-147.14 Y84.95 H0 Z-99999 ; Peripheral Point P5
if result != 0
continue
G30 P6 X0 Y84.9 H0 Z-99999 ; Halfway Point P6
if result != 0
continue
G30 P7 X73.53 Y42.45 H0 Z-99999 ; Halfway Point P7
if result != 0
continue
G30 P8 X73.53 Y-42.45 H0 Z-99999 ; Halfway Point P8
if result != 0
continue
G30 P9 X0 Y-84.9 H0 Z-99999 ; Halfway Point P9
if result != 0
continue
G30 P10 X-73.53 Y-42.45 H0 Z-99999 ; Halfway Point P10
if result != 0
continue
G30 P11 X-73.53 Y42.45 H0 Z-99999 ; Halfway Point P11
if result != 0
continue
G30 P12 X0 Y0 H0 Z-99999 S6 ; Halfway Point P12 (LAST). 6-Factor Calibration
if result != 0
continue
if move.calibration.final.deviation <= 0.03
break
echo "Repeating 'cause dev too high (" ^ move.calibration.final.deviation ^ " mm)"
; end loop
echo "Auto calibration successful, deviation "^ move.calibration.final.deviation ^ "mm"
G1 X0 Y0 Z150 F5000 ; get the head out of the way -
@ignacmc
you can increase this valueif iterations > 5
to greater than 5
or
you can increase this valueif move.calibration.final.deviation <= 0.03
to greater than 0.03 -
@jay_s_uk But I f I increase deviation to higher than 0.03 will it still be reliable? I am unable to have a decent 1st layer squished against the ultrabase bed....most of the times I am printing on air
-
@ignacmc And If I do it in cold conditions....it succeeds in a breeze. Can it be so diferent while hot?
-
@ignacmc the bed is probably slightly warped. I had the same issue with my predator.
It's something you have to live with or try and tighten the mechanical slop. Difficult with vslots though -
@jay_s_uk Could you explain me a bit more how to tighten the Mechanical Slop?
-
@ignacmc what sort of rods do you have? have you got the belt tightness correct? are the wheels running smooth with no mechanical play in the carriages? do you have painted rails or anodised rails? how flat does the bed look at 100 degrees (use the height map).
-
@jay_s_uk Update: I got my config files from a spanish Duet users group on Telegram. The expert from the group (Kkapa) was very kind to send me those...
Seems that he had the following line on bed.g:
M558 F300 A5 S0.003
The default value for S is 0.03, so this is 10 times more strict. Changing it to 0.02 seems to have solved the problem. Now it succeds on the first run while hot!
Regarding your questions:
1 I have a custom rods 440mm long made by me one by one on the same jig. I used MPJET ball links which I can tell you that have absolutely no play: https://mpjet.com/shop/gb/ball-7-mm-dia/1295-ball-link-v1-type-7-mm-dia-m43-short.html.
2. How to know the correct tightness of the belts? I have tightened the thumbnut by hand as much as I could
3. I have checked and as of today there is no play on the wheel...I adjusted them some days ago
4. I would say that they are painted...some day i would like to put some lineal rails there
5. To use height map i would have to use G29....there is a lot of G32 vs G29 controversy (https://hennerley.wordpress.com/2018/01/29/g29-vs-g33/) where some people says that you should't need to use G29 on a delta unless the build or the bed is a complete disaster...I am restraining from that by now...what is you opinion? -
@ignacmc is the nozzle clean when you probe hot? I usually see a little filament oozing from the nozzle after preheating, so I remove it using tweezers before running auto calibration. Sometimes it probes the first point three or four times, buf after that is generally probes each point twice.
You have your tolerance set to 0.003 in M558, which is very tight and almost certainly less than one microstep. So the slightest change will cause multiple probing. If you are using a glass bed, after the indicated temperature is stable it will take several minutes for the glass to stop expanding and the top surface to reach a steady temperature. So consider increasing the tolerance in your M558 command, perhaps to 0.010.
EDIT: I see that you have already increased the tolerance to 0.02, which is also what I use.
-
@dc42 Yes, Now I don't have any problem with G32. the sensivity was probably a typo of the guy who send me the config.g. Changed to 0.02 and now it runs perfect
-
@ignacmc indeed it was a typo!!!
-
@apak Thanks Guru!