Print 3D

Edit:11 févr. 2017, Cre:19 oct. 2015

Duet delta calibration

The automatic calibration for delta is done in the DC42 fork of the RepRap firmware. It shall be noted that this fork have been adopted by Think3DPrint3D for the Duet 0.8.5 and by RepRapPro for the Fisher delta, however the development is done at fast pace and the fork is always ahead of the 'official' release of RRP and T3P3, particularly regarding the calibration. So, some comments and parameters below only apply to the original DC42 fork version. (development branch). As 19 October 2015, the last version of this fork is 1.09k.
Useful information about the duet and RepRap firmware could be found here

If using the Fisher, for good calibration, the calibration macros delivered with the Fisher shall
be modified. For other printers, you shall also adapt. It shall be noted that to configure the D-Box, I started from the Fisher image.
See also on reprap wiki duet delta calibration

Number of parameters (Sn)

The calibration use defined test positions and adjust parameters according the
measured points.
The number of adjusted parameters commonly used is:
4 parameters: adjust the 3 switches offset and the radius
6 parameters: adjust the 3 switches offset, the radius and the 3 columns angles (vs an equilateral triangle)
7 parameters: this is in the RRP macros, but gives wrong results: DO NOT USE

 (according David Crocker)

Six parameters calibration

The 6 parameters add to the 4 parameters test the angular position of the X and Y columns (they search if the triangle is not equilateral), as this is a current default on "Kossel type" printers. This is why there is only X and Y angle, the Z angle being the reference angle.
For a construction like the Fisher, these defaults are nearly inexistant, however there are others defaults not researched by the algorithm:

  • Balls not in a plane - common default on Fisher due to construction
  • Balls not having the same space on effector and on carriage. Again, common default on Fisher (and other deltas)
  • Top and bottom twisted. May occur if the construction is not good.
  • Tilted bed. in principle limited on a new Fisher, but not adjustable and not quite measurable. Will evolve in time. Check standoff tigthening from time to time.

The problem is that the calibration algorithm attempt to transform all these defaults in angular position fault. Generally speaking, the algorithm find a solution with angles which minimize the hotend/bed delta, hence helps to have a nice first layer. These found angles may be way off the reality.
The problem is that it may drive to significant faults in dimensions and perpendicularity of the printed parts.
So, if you want to print a statue, vase or something not needing accuracy, using 6 parameters calibration is ok.
But if you want accurate parts, you shall NOT USE the 6 parameters calibration.

On the Fisher, it is reasonnable to consider there is no angular fault.
If the algorithm found large deviation, you may try to rebuild carriage and effectors more accurately. For the Beta, RRP told that they will publish new printed parts similar to the Fisher 1.0 to help improve accuracy.

For other printers, you shall print delta calibration part or this part to research your angular faults, then enter the corrected angles in the M665 command in the configuration file (or in the G-code windows, but this is lost at restart). After enter of the corrected angles, reprint a new delta part till finding the good angle.

Then use 4 parameters calibration. There will be a larger delta between the hotend and the bed, but your parts dimensions will be more accurate.

Number of measured points

Accurate results are only obtained if you have at least 3 or 4 measured points more
than the number of parameters adjusted, say for 4 parameters, use 7 or 8 points and
for 6 parameters, use 10 points. Beware to properly number your added points (Pn)
while adding new points in a macro.

Measurement Z-offset

On the Fisher, the measure of the bed position need force and create a measurement offset because
of the deflexion of mechanical parts. As the force varies depending the position
(push 1 to 3 springs), the measurement offset depends from the test position, and
shall be defined for each test point. This is the same for printers using FSR as sensor.
On the Fisher, the problem is this measurement offset is highly variable among different machines.
The original Fisher beta have some stability problems and its belts cannot be properly
tightened, hence high measurement offset variability. Belt tensioning was improved on Fisher 1.
Proper reinforcment and belt tension reduce significantly this offset.
After modifying the test macros and having made calibration, the measurement offset
shall be controlled with the 'paper' method (modify web interface to use
0.05mm Z moves).
On the D-Box, the force is constant whatever the sensing point, but the deflexion under same force may vary if the belts have not similar tension. So, you shall take care having comparable tension on all belts.

Examples

You will find below extract of my own Fisher calibration macros, but it is only supplied
as an example as :

  • My Buildtak area have a lot of holes and the test points have been moved, so are
    slightly irregular. This is not very critical
  • My machine is reinforced and belts are appropriately tensioned (without excess),
    so measurement offset is much lower than on most Fisher

Extract of my bed.g macro, with 7 measurement points and 4 parameters

; Probe the bed and do auto calibration
G1 X-64.95 Y-37.5 F12000
G4 P300
G31 Z-0.12
G30 P0 X-60 Y-37.5 Z-99999	; X tower
G4 P300
G30 P1 X64.95 Y-37.5 Z-99999	; Y tower
G4 P300
G30 P2 X0 Y75 Z-99999		; Z tower
G4 P300
G31 Z-0.15
G30 P3 X-32.48 Y-18.75 Z-99999	; half way to X tower
G4 P300
G30 P4 X32.48 Y-18.75 Z-99999	; half way to Y tower
G4 P300
G30 P5 X0 Y37.5 Z-99999		; half way to Z tower
G4 P300
G31 Z-0.17
G30 P6 X4 Y0 Z-99999 S4		; centre, and auto-calibrate

Extract of my main calibration routine, with 10 measurement points and 6 parameters

; Probe the bed and do auto calibration
G1 X-64.95 Y-37.5 F12000
G4 P300
G31 Z-0.15
G30 P0 X-60 Y-37.5 Z-99999	; X tower
G4 P300
G30 P1 X64.95 Y-37.5 Z-99999	; Y tower
G4 P300
G30 P2 X0 Y75 Z-99999		; Z tower
G4 P300
G31 Z-0.18
G30 P3 X-32.48 Y-18.75 Z-99999	; half way to X tower
G4 P300
G30 P4 X32.48 Y-18.75 Z-99999	; half way to Y tower
G4 P300
G30 P5 X0 Y37.5 Z-99999		; half way to Z tower
G4 P300

G31 Z-0.22
G30 P6 X-52 Y30 Z-99999     ; between X and Y towers
G4 P300
G30 P7 X52 Y30  Z-99999    	; between Y and Z towers
G4 P300
G30 P8 X0 Y-60  Z-99999    	; between Z and X towers
G4 P300

G31 Z-0.20
G30 P9 X4 Y0 Z-99999 S6		; centre, and auto-calibrate

Simpler calibration routine.

On recent versions of the DC40 firmware fork (check: present version is k), a parameter to indicate the offset for each probe point was added. That makes the routine more simple and readable.
The G31 Z parameter (to be defined in the config file) is added to the offset of each point, so fairly easy to adjust globally.

M201 X500 Y500 Z500 ; reduce acceleration
; Probe the bed and do auto calibration
G1 X-64.95 Y-37.5 F12000
G4 P300
G30 P0 X-60 Y-37.5   	H-0.12 Z-99999	; X tower
G30 P1 X64.95 Y-37.5 	H-0.12 Z-99999	; Y tower
G30 P2 X0 Y75 		H-0.12 Z-99999	; Z tower
G30 P3 X-32.48 Y-18.75	H-0.15 Z-99999	; half way to X tower
G30 P4 X32.48 Y-18.75	H-0.15 Z-99999	; half way to Y tower
G30 P5 X0 Y37.5 	H-0.15 Z-99999	; half way to Z tower
G30 P6 X4 Y0 		H-0.17 Z-99999 S4 ; centre, and auto-calibrate
M201 X8000 Y8000 Z8000 ; reset acceleration - supersede values set in config.g

Results

2 iterations of 10 points/6 parameters calibration done after a cold start and
hotend heated at 250°C (PETG)

Note:Result is not exceptional, this was the only trial done to write this web page.

1 iteration of bed.g (7 points/4 parameters) after a cold start and hotend heated
at 250°C (PETG)

(c) Pierre ROUZEAU
Éditer - Historique - Imprimable - Changements récents - Rechercher
Page mise à jour le 11/02/2017 18:55