Configuring Marlin Bed Dimensions

From RepRapWiki
Jump to: navigation, search

Writing this as an amateur RepRapper who initially struggled with getting prints on the center of the bed.

There are at least 3 different ways to *accurately* get your bed dimensions configured so that your prints wind up centered on the build-plate, all solutions require at least *some* agreement between the Slicer and the Marlin Configuration.

Method 1

Configure proper bed offsets in Firmware, configure slicer with actual bed printable area. (Most correct)

// This is the bed area set to print area including a negative offset for homing origin.
// Does not require M206 and indeed required M206 to be clear.
#define X_MAX_POS 200
#define X_MIN_POS -45
#define Y_MAX_POS 170
#define Y_MIN_POS -20
#define Z_MAX_POS 130
#define Z_MIN_POS 0

Slicer has correct bed *area* configured as 200,170 (I lose some Y travel because of my binder-clips)

Method 2

Configure correct bed *area* in firmware, compensate with M206 EEPROM. (Mostly correct)

// This is the bed area set to actual print area, relying on M206 to set the offset from homing origin.
// Set this way, you MUST set M206 to your desired negative X,Y offset from homing origin.
// Example: M206 X-45 Y-30
#define X_MAX_POS 200
#define X_MIN_POS 0
#define Y_MAX_POS 175
#define Y_MIN_POS 0
#define Z_MAX_POS 130
#define Z_MIN_POS 0

In this configuration you issue an M206 x-45 Y-30, then save it to EEPROM with M500. You can later retrieve this value with M503, but I don't like that the value isn't a "hard coded fact" in the firmware configuration.h.

Method 3

Configure correct bed *area* in firmware, compensate with origin offset in Slicer. (Less correct)

Same Configuration.h as Method 2, however the slicer bed shape is configured with a Bed Size of 200,170 and an Origin of -45,-35.

I don't like this solution as the printer itself doesn't "know" where it's own printable area is, and relies on the slicer to sort things out.