G30
I'm using the 0.92.9 firmware
I would like to calibrate a custom Delta Kossel with this tool:
I do not want to use the manual procedure but the z-probe.
I created a gcode file with the six recommended points and for each point I added the G30 command.
I noticed an abnormal behavior.
I move the hot-end to G1 X0 Y135 Z 35 (Tower C).
I run the G30 command.
Hot-End does not reposition at z-level before the G30 command.
Hot-end stays lower, closer to the bed.
Output of the G30 command is not the distance of the hot-end distance from the bed?
Thank you
Comments
One thing is if z probe bed distance is lower then start height it might not go up all the way. G32 enforces this even.
And no, you can not calculate endstop offsets with z-probe. Here we assume we do not know if bed is tilted, which is why we position them with same offsets using a bar at same distance and then check the height differences. Doing this just with z-probe would assume bed is leveled and geometry is perfect. So just that what try to fix with the calibration of delta updating the software parameter.
Now I would like to calculate the distortion of the plan with the G32 command.
G32 measures rotation and you can define in config tool to do it using a grid. But that will not give you a bump map.
For a bump map you need to enable distortion correction and measure it with G33, see also repetier.ino in firmware sources for command definition.
For deltas you should stay with your 3 points for G32 and only use a grid for distortion correction with extrapolation of corners. It measures a rectangle and that is always smaller the bed anyway, but the extrapolate allow it to get a bit bigger.
Why should we use only 3 points for Deltas ?
Thank you
G29 and G32 use this parameters :
It is correct ?
It is correct ?
But to repetier.ino is write :
G29 it is correct ?
Thank you.
#define DISTORTION_CORRECTION 1
#define DISTORTION_CORRECTION_POINTS 9
/ * For delta printers you simply define the measured radius around origin * /
#define DISTORTION_CORRECTION_R 135
/ ** If your corners are not measurable with given radius, you can
set this to 1. It then omits the outer measurement points
#define DISTORTION_EXTRAPOLATE_CORNERS 1
Z-probe also controls the points outside the established radius.
Only the 4 most external points are excluded and not all those outside the indicated radius.
It only excludes:
P1 X + 135 Y-135 * --------- * P2 X + 135 Y + 135
| |
| + |
| |
P3 X-135 Y-135 * --------- * P4 X + 135 Y-135
Am I making a mistake?
Is it possible to exclude all points outside the indicated radius?
You can also correct oute rpoints manually later with G33 Xpos Ypos Zcorrection. G33 L0 will list all set corrections.
In V2 we will have per shape classes so maybe I can then add a better solution there.
Will not add this in V1 as I want no new features here, but it is a potential feature for V2 where it should also be easier to integrate. But at the moment we are mit of refactoring to make V2 usable at all.
It is a bit like homing from the "wrong" side meaning homing towards xmax to find xmin. I understand the concept.
usually you have a 3D probe or edge finder instead of probing with the flute for this procedure.
If we then have a real probe or this simple solution should have no influence on the result I think. Here the z probe offset is just 0,0 while a probe might have a distance.
Remaining question is, if this can always be covered by a single probe or if we need a z probe and a xy probe which could have same pin. What I mean is if you change tool with having a separate tool you need to relevel the end as it could stick out more or less.
Order in memory is like this yes, but if you omit other points you also need to extrapolate these points or it would correct against 0 if you go over the measurement point. But then you have a bigger correction area.
I can set to zero all points outside to the circle ?
Or I do calculate the medium value of the points neighboring ?
Thank You
Let me know if you have a good solution that we can copy. Guess many others would also like such an improvement.