Welcome! Log In Create A New Profile

Advanced

mirrored prints

Posted by RobertMB 
mirrored prints
April 26, 2015 05:39PM
Hi all.
First i want to apologize if this question has been asked before, but i could not find any answer searching.

I have just built my Prusa i3 and it prints perfectly.
But my problem is that the prints are mirrored.
From what i could find on the web i need to invert the steppers. But when i do invert the steppers then they home in the wrong direction.
Tried to change the setting for home_dir (-1 to 1) in Marlin but the steppers wouldn't move at all. Also tried to put the end stop switches on the connectors for MAX_endstops but then the steppers wouldn't move more then a couple of mm after end stop was hit.

Any suggestions?

I have a Ramps 1.4.
Marlin 1.0.2.
Repetier 1.0.6.

//===========================================================================
//============================= Mechanical Settings =========================
//===========================================================================

// Uncomment this option to enable CoreXY kinematics
// #define COREXY

// Enable this option for Toshiba steppers
// #define CONFIG_STEPPERS_TOSHIBA

// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
  // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
  // #define ENDSTOPPULLUP_XMAX
  // #define ENDSTOPPULLUP_YMAX
  // #define ENDSTOPPULLUP_ZMAX
  // #define ENDSTOPPULLUP_XMIN
  // #define ENDSTOPPULLUP_YMIN
  // #define ENDSTOPPULLUP_ZMIN
  // #define ENDSTOPPULLUP_ZPROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. Testa fram!
const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
// activated Z_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
// this has no effect.
//#define DISABLE_Z_PROBE_ENDSTOP

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.

// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 170 
#define Y_MAX_POS 170
#define Z_MAX_POS 125

Re: mirrored prints
April 26, 2015 07:03PM
what is the position of the endstops on your machine basically what is your home position is it front left corner?


Check my rubbish blog for my prusa i3

up and running
[3dimetech.blogspot.co.uk]
Re: mirrored prints
April 26, 2015 08:57PM
I had a mirrored Y when I built my Smartrap. Like you I changed the direction of the stepper, and home direction. Same results. Then I changed the min/Max endstop pins in pins.h.
That worked. It's been awhile and it's an older version of Marlin. It would be changed in pins_RAMPS_13.h now.

#define Y_MIN_PIN 14
#define Y_MAX_PIN 15

To

#define Y_MIN_PIN 15
#define Y_MAX_PIN 14

Like I said, it's been a while, but you can read up about what I did in my thread. Hope it helps...

Link to my Smartrap thread with configuration.h and pins.h
Re: mirrored prints
April 27, 2015 03:49AM
Been there too, did several symmetric prints, thought it had it all working.

There are three things to do to flip the axis, and you must do them all.


X_HOME_DIR should be set to 1 - max if your end stop is on the right hand side, like the standard Prusa i3

Plug you endstop into the x max header (or you can change the pin assignments as above)

Reverse the axis direction for the x axis - either firmware or reverse the stepper plug
Re: mirrored prints
April 27, 2015 01:08PM
I have tried both suggested solutions but none worked for me.
Guess i can use the mirror function in Repetier when placing my objects?

My endstops are at the back on Y and to the right on X.

Does anyone have an working Marlin firmware for a Prusa i3 Reworked? Please PM me.
Re: mirrored prints
April 27, 2015 03:34PM
Ok, first off... which direction is mirrored? X or Y?

on the axis that is mirrored, is your endstop connected to the min pins or max pins currently?

Is the configuration.h listed stock or after you modified it? If you modified it, what did you change?

We'll get this worked out...
Re: mirrored prints
April 29, 2015 08:38AM
Don't actually know which axis is mirrored, but regardless which axis i try to mirror i get the same result.

With the working code above (but mirrored) the endstops are connected to MIN connectors and when i tried Home_Dir 1 i connected the endstop to MAX pin.
I have modified the direction of X and Y so that the axis moves towards the endstop and also the MAX positions for all axis.

But i have printed several objects now and the "mirror object" button in Repetier works fine for me so don't put to much effort into my problem. smiling smiley
Re: mirrored prints
April 30, 2015 04:01AM
If you have a mirrored print, and you flip both x and y, then you will still get a mirrored print.

Let's go back to basics.

0,0,0 should be a location on the left,front of your build platform with the extruder touching the build plate. This is the origin or Min x,y,z position.

The default setup of a Prusa i3 will have both the z and y endstop said activated in this position. Z and Y should be set as endstop min, and plugged into ramps min plugs.

The X endstop is at the 200mm (nominal depending on print bed size) this should be set to max and plugged into max.

The result is that home is 200,0,0 and all printing is relative to this point.
Re: mirrored prints
April 30, 2015 03:42PM
I think i might have found the cause to my problem. If it is then it's kind of embarrassing and to my defense this is my first 3D printer build ever.
I found the setting "Home X" in Repetier "printer shape" menu and it should be set to MAX after doing the settings in Marlin and plugging the X endstop to MAX connector, right?
Re: mirrored prints
April 30, 2015 09:21PM
mirrored prints happen when you're home position isn't correct


Check my rubbish blog for my prusa i3

up and running
[3dimetech.blogspot.co.uk]
Sorry, only registered users may post in this forum.

Click here to login