Dimensional calibration in Deltabot 3D Printer

The formula for dimensional calibration is

new_diagonal_rod = measured_length / target_length * current_diagonal_rod

Current diagonal rod is 232.26 in Bulbul Junior.

I printed a test model whose dimension is 40.00×28.00×18.00 (mm).

Actual measurement of the printed model was 40.80×28.85×18.20 (mm). It printed the model little bigger so I would increase diagonal rod length.

x_factor = 40.80 / 40.00 = 1.02

y_factor = 28.85 / 28.00 = 1.02

z_factor = 18.20 / 18.00 = 1.01

average_factor = (x_factor + y_factor + z_factor) / 3

In Deltabot 3D Printer, using one factor is sufficient because a position in 3D space is converted into spherical coordinate by inverse kinematics.

new_diagonal_rod = 1.02 * 232.26 = 236.91

In my case, the Marlin firmware supports data retrieval in EEPROM of the controller board. Below is the EEPROM content of Bulbul Junior 3D Printer.

Printer is now online.
echo: External Reset
Marlin 1.0.0
echo: Last Updated: Mar 22 2016 03:35:52 | Author: (RichCattell v1.0, Bulbul Junior v0.99, No LCD)
Compiled: Mar 22 2016
echo: Free Memory: 3059 PlannerBufferBytes: 1232
echo:Stored settings retrieved
echo:Steps per unit:
echo: M92 X100.00 Y100.00 Z100.00 E450.67
echo:Maximum feedrates (mm/s):
echo: M203 X200.00 Y200.00 Z200.00 E200.00
echo:Maximum Acceleration (mm/s2):
echo: M201 X5000 Y5000 Z5000 E9000
echo:Acceleration: S=acceleration, T=retract acceleration
echo: M204 S3000.00 T5000.00
echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
echo: M205 S0.00 T0.00 B20000 X20.00 Z20.00 E20.00
echo:Home offset (mm):
echo: M206 X0.00 Y0.00 Z0.00
echo:Endstop adjustment (mm):
echo: M666 X-6.80 Y-6.30 Z-6.95
echo:Delta Geometry adjustment:
echo: M666 A0.00 B0.00 C0.00 E0.00 F0.00 G0.00 R92.50 D232.26 H172.77 P0.00
echo:PID settings:
echo: M301 P18.13 I1.06 D77.84
echo:SD init fail

To set new diagonal rod length, I run:
M666 D236.91

This is typical way of dimensional calibration of Deltabot 3D Printer.  You repeat above calibration cycle until it reaches consistent accuracy range you desire.

One tricky part of Deltabot 3D Printer is dimensional accuracy gets off as the model’s dimension moves away from the calibration size. Suppose you plan to print mating parts whose size is 100.00 mm, do quick dimensional calibration and check the accuracy.

Some serious 3D Printer users exclusively run Cartesian 3D Printers due to this subtle variation of accuracy of Deltabot 3D Printer. I haven’t spend time to investigate why does it yet.

Adjusting flatness of the virtual plane

If the center height is lower than the three tower positions, the virtual plane formed by effector’s movement is concave. Increasing Delta Radius lowers the edges till center and the three tower positions are at the same plane.

Here is the example. Bulbul Junior’s Delta Radius was 92.50 mm.

Lowering the effector to the center on xy plane, Z height of (0, 0) should be zero as the nozzle touches the print bed. Well, the nozzle touches the print bed 0.2 mm down. Z was -0.20 mm.

Three tower positions’ Z height are 0.20 mm, 0.20 mm, and 0.10 mm as the nozzle touches the print bed.

How can we adjust end stops so that four points form one virtual plane, which means exact parallel plane to print bed?

I increased Delta Radius to 93.00 mm. And the measurement of four points were
0.10 mm in X tower, 0.05 mm in Y tower, and 0.05 mm in Z tower. At the center nozzle barely touches the print bed.

I increased Delta Radius to 93.50 mm.
X tower was -0.15 mm, Y tower was -0.1 mm, Z tower was -0.1 mm. And adjustment three endstops made center and three tower positions exactly touches the print bed, Z was 0.00 mm.

About janpenguin

Email: janpenguin [at] riseup [dot] net Every content on the blog is made by Free and Open Source Software in GNU/Linux.
This entry was posted in Reprap 3D Printer and tagged , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s