Friday, 4 July 2014

Calibration, Setup and runaway axis

posted 26 Jan 2014 22:57 by David Taylor

I have finally been able to get my Delta 3D printer moving the way it should even while printing an actual file.

The Problem

My printer could move around correctly except when I loaded a file and tried to print, it would go crazy and simply try to move the x tower down forever.
I eventually figured out that I could replicate tis by moving the head myself by moving the head 100mm in any one of the directions and then move the head more than 60 mm in any other direction without centring the first axis again.
This would be moving the head outside the delta radius which obviously confuses the math and makes strange things happen in the 4th dimension ;-)
Opening the GCode showed that the first move of printing my 10mm x 10mm x 10mm cube sent the head to G1 X90.310 Y90.310 which would be outside the safe area. I then realised that it was starting to print somewhere which was not the centre of the heat bed.

Marlin

In Marlin the DELTA_RADIUS is calculated as follows:
// Effective horizontal distance bridged by diagonal push rods.
#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
Then later on we set the print surface limits as follows:
// Travel limits after homing
#define X_MAX_POS 100
#define X_MIN_POS -100
#define Y_MAX_POS 100
#define Y_MIN_POS -100
#define Z_MAX_POS MANUAL_Z_HOME_POS
#define Z_MIN_POS 0
While this is strictly correct, you could never really move to the corner of the print bed anyway as this would be outside the Delta Radius so I updated it to be:
// Travel limits after homing
#define X_MAX_POS DELTA_RADIUS
#define X_MIN_POS DELTA_RADIUS*-1
#define Y_MAX_POS DELTA_RADIUS
#define Y_MIN_POS DELTA_RADIUS*-1
#define Z_MAX_POS MANUAL_Z_HOME_POS
#define Z_MIN_POS 0
This step wasn't really required, but Slic3r should keep everything nicely inside limits of the actual bed.

Slic3r

Under the Printer Settings tab in Slicer you once again set the print bed limits which I had set as follows because of the "mm" after "Print centre"
Turns out the Print centre is a coordinate and not a measurement. So it should be 0, 0.
This probably just shows that I am new to this, and since I couldn't find any help on the net about this problem, I guess I might also be the only person to misunderstand the Slic3r setting. The gcode now actually starts of near the centre, so lets open Pronterface...

Pronterface

With Pronterface Printer Settings set as follows everything plays nice and works well.

Next steps

Get extruder, hopefully on Tuesday, and then I should be good to go as soon as I get the glass cut for the printer bed.



No comments:

Post a Comment