Close

Calibration

A project log for Theta Printer

A 3D printer with 4 extruders that can move independently and simultaneously

tyler-andersonTyler Anderson 09/27/2014 at 09:371 Comment

Now that I know that the firmware works, its time to dial in the machine. As you can see in the test prints from the last log, the extruders are horribly out of alignment with each other.

I wrote a G-Code script to generate a test pattern for calibration. It has each extruder draw a large circle and two arcs. The circle is for calibrating the position of the endstops and the arcs are for calibrating the position of each extruder along the arm. The distance from the pivot point to the nozzle needs to be exactly 160 mm. Ideally, the patterns from each extruder should be directly on top of each other and the arcs should intersect at exactly the center of the platter. Here is the code:

G94			; Set to native coordinates
G28 Z0			; Home Z axis
G1 Z10 F60		; and move up 10 mm

; Home each extruder
T0
G28 Y0
T1
G28 Y0

; Print test pattern with first extruder
T0
G92 X0 E0
G1 E10 F100		; Prime extruder
G1 X5
G1 Y35 F1000
G1 Z0 F60		; Move down to surface
G92 X0 E0
; r = 2 * 160 mm * sin( 35 deg / 2) = 96.226 mm
; C = 2 * pi * r = 604.605 mm
; A_nozzle = pi * (0.35/2)^2 = 0.0962 mm^2
; V = A * C = 58.170 mm^3
; A_filament = pi * (3.0/2)^2 = 7.069 mm^2
; l = V / A = 8.23 mm
G1 X180 E4.11 F1000	; Draw semicircle
G92 E0
; 1/8 * full circle = 1.03 mm
G1 Y40
G1 Y-5 E1.03		; Draw arc
G1 Y35
G92 E0
G1 X360 E4.11		; Finish circle
G92 E0
G1 Y40
G1 Y-5 E1.03		; Draw second arc
G1 Z1.5 F60		; Lift
G1 Y45 F1000		; Retract arm

; Second Extruder
T1 F1000
G92 E0
G1 E10 F100
G1 Y35 F1000
G1 Z0.2 F60
G92 X0 E0
G1 X180 E4.11 F1000
G92 E0
G1 Y40
G1 Y-5 E1.03		; Draw arc
G1 Y35
G92 E0
G1 X360 E4.11
G92 E0
G1 Y40
G1 Y-5 E1.03
G1 Z10 F60
G1 Y45 F1000

G93			; Switch back to cartesian emulation
M18			; Disable motors
And here is the resulting pattern:

Its hard to tell from the picture, but the circles are way off and the arcs are lined up pretty well. I adjusted the position of the endstops in firmware by measuring the radius of each circle with calipers and comparing it with the expected value (96.226mm).

Another problem is that the extruders ooze a lot when idle. The ooze gets carried over and stuck onto the print and it eventually builds up into big globs of plastic that the extruders crash into, causing them to skip steps. I tied some string so that the nozzles wipe across it when the arms retract, knocking off the excess plastic.

I'm having a lot of trouble getting the nozzles level with each other and the build surface. Its like their vertical position keeps changing.

Here's the latest test squares along with a couple failed tries at the Jolly Wrencher, which I put up on Thingiverse.

Discussions

TTN wrote 12/31/2014 at 20:18 point

Had any success getting that ooze under control?

On my delta bot is set to retract 10mm, which stops ooze, or maybe you could do something like in the below video at 1:28?

  Are you sure? yes | no