Delta G28 or G30 Before G29
I have a delta that uses endstop switches to home the carriages and fsr’s for bed probing. I have always used G32’s for bed calibration and thats worked fine. My pei on one of my mag sheets has been sanded so much that its sort of uneven so I took to using G29. So I first do G28, then several G32’s until before and after converge to .020.
Then comes the question. Should I do a G30 before doing the G29?
If I go straight to G29 after my G32’s converge, I often get a message about the mean difference being large and to rezero then redo G29.
What is the proper sequence when z=0 is really determined by a bed probe using fsr’s?
Thx in advance.
Should I do a G30 before doing the G29?
Yes. You need to establish Z0 before you generate the heightmap. The heightmap is a collection of offsets from Z0. How can it do that if it's using an arbitrary position for Z0?
G28 homes the towers at the high end, and bases the positon of Z0 on the assumption that the distance from the bed is correct. G30 uses a probe to define exactly where the bed surface is physically.
I do a g28 then usually 3 or 4 g32’s until they converge so it does have a z=0 ref point although now modified by the g32 adjustments to the bed plane. I didn't think I should use g28 Before the g29 as that would reintroduce endstop switch slop. I wasn’t sure whether doing the straight g30 Before the g29 would mess with the g32 calibration in some way or whether to go straight from g32’s to g29.
But you are saying
Is definitely the sequence?
I do a g28 then usually 3 or 4 g32’s until they converge
What do you have in bed.g?
I didn't think I should use g28 Before the g29 as that would reintroduce endstop switch slop.
you are correct on that. G28 only sets the height of the towers based on the assumed distance on the endstops from the bed. It's not as accurate as doing a G30 with the probe to actually touch the bed.
Post your bed.g so we can see what calibration you're actually doing. Doing a G30 at bed center won't mess with your calibration. It's just getting the actual Z0 position. The heightmap needs to be generated with the correct Z0 already known, and it must be loaded after the Z0 position is known as well.
Here’s the bed.g
M561 ; clear any bed transform
; bed.g file for RepRapFirmware, generated by Escher3D calculator
; 10 points, 6 factors, probing radius: 80, probe offset (0, 0)
G30 P0 X0.00 Y80.00 Z-99999 H0
G30 P1 X69.28 Y40.00 Z-99999 H0
G30 P2 X69.28 Y-40.00 Z-99999 H0
G30 P3 X0.00 Y-80.00 Z-99999 H0
G30 P4 X-69.28 Y-40.00 Z-99999 H0
G30 P5 X-69.28 Y40.00 Z-99999 H0
G30 P6 X0.00 Y40.00 Z-99999 H0
G30 P7 X34.64 Y-20.00 Z-99999 H0
G30 P8 X-34.64 Y-20.00 Z-99999 H0
G30 P9 X0 Y0 Z-99999 S6
G1 X0 Y0 Z150 F6000 ; get the head out of the way of the bed