Mirrored y axis and backward pronterface

1,153 views
Skip to first unread message

mikeo13

unread,
Feb 2, 2014, 8:00:12 PM2/2/14
to mend...@googlegroups.com
I know this has been covered over and over and I've been googling the crap out of trying to solve it myself but I've got a long time annoyance I wanted to address.

Let's ignore endstops and endstop position for the moment.

My prints are mirrored in the y direction. Ok. No big deal you say - just change the configuration.h line that says invert_y_dir from true to false. (Or reverse stepper motor wires, or flip mount bracket for y axis motor) Ok done. Now pronterface controls are wrong: arrow up brings print surface towards front of machine and arrow down brings print surface away from front. I want arrow up to move surface away and arrow down to bring surface towards. I need a way to independently flip the axis without flipping the controls. I don't think this is possible!

For now I'll have to invert my brain when manually moving the y axis in pronterface - at least my prints won't be mirrored.

Anyone have pointers on this? It's been a thorn in my side from day one. I've been living with mirrored prints thus far but now I'm printing spare parts for the printer like gregs wade extruder which then end up flipped which makes me have to invert extruder direction etc. what a pain. Not to mention texts backwards

Anyone have this problem before?
Thanks in advance
Mike

RepRap3dFactory

unread,
Feb 2, 2014, 8:09:05 PM2/2/14
to mend...@googlegroups.com
Mike,

Why do you think its wrong? If the printbed is coming towards you.. That means the nozzle is going up in Y travel.

Let's say the machine is at 0,0 (X,Y) that means the nozzle is touching the bottom left of the bed. So if you tell pronterface to move +100mm the bed should move 100mm towards you which places the nozzle at 100mm in the Y direction.

Mike
> --
> You received this message because you are subscribed to the Google Groups "MendelMax Support" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to mendelmax+...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

mikeo13

unread,
Feb 3, 2014, 1:35:30 PM2/3/14
to mend...@googlegroups.com
Mike,
Thank you for the response.
I get it now, it's strange to think of the nozzle moving on the plate rather than the plate moving but what you said makes sense - I guess its the same for everyone out there (Y+ in pronterface brings the plate towards the user right?) my intuition was wrong as I wanted the arrows to correspond to the movement of the plate.

I guess now I'll have to get into my endstop placements etc and describe a bit more about my machine:

looking top down on the machine x motor and x endstop are to the left(west), y motor and y endstop are at the bottom(south).
I just finished a long-overdue tidying and routing of my wires and I'm trying to keep the y endstop near the front of the machine because my workbench is on the thin side and I can't have the build surface crashing into the wall when it homes y - also I'm stubborn.

I've inverted the Y axis in Marlin and changed the pins.h file as well and I've got it working pretty great - when it homes y it now comes forward and hits the end stop where it is so all of that is great. what is newly strange is that it thinks the center of my build platform isn't the center anymore - it's printing (i'm dry running everything since my hotend is broken) at the very bottom (or lower edge) of the glass. So I adjusted the build dimensions in Slic3r and can shift it up (northward) but then the preview window of pronterface shifts likewise. this isn't a big deal but it is relevant to your example. I used M114 to see the positions and they are:

build platform homed (nozzle at northwest corner of plate) x=0, y =298, z=0
as i bring the plate northward away from the end stop using pronterface Y- button, the y value decreases until travel is maxed at y=0. I guess its all in your reference planes - isn't it always?!

Thanks for any input - Mike

dstevens lv

unread,
Feb 3, 2014, 2:15:34 PM2/3/14
to mend...@googlegroups.com


On Monday, February 3, 2014 10:35:30 AM UTC-8, mikeo13 wrote:
Mike,
Thank you for the response.
I get it now, it's strange to think of the nozzle moving on the plate rather than the plate moving but what you said makes sense - I guess its the same for everyone out there (Y+ in pronterface brings the plate towards the user right?) my intuition was wrong as I wanted the arrows to correspond to the movement of the plate.




It's from the machine tool world where the movement follows the tool head and not the build platform.  It's more apparent in a tool like a waterjet or plasma cutter where the tool is moving in X and Y and the bed is stationary.  It is counter intuitive for those not familiar with CNC tools.  It's a question that gets asked a great deal by Reprap builders.

Dave 

Larry Knopp

unread,
Feb 3, 2014, 6:05:33 PM2/3/14
to mend...@googlegroups.com
mikeo13...

Again, you have "caused" your own problem with your thinking and approach.
By placing your y limit switch to the front, you have essentially rotated the "world" your machine lives in.
"Home" is (0,0,0) in a Cartesian coordinate system (which your printer is).

When looking from above, with axes "Homed", the build platform should be to the rear of the machine, the hotend to the far left (Southwest corner), down on the print surface (less whatever your z-offset is).  Your "build area" then comprises the space of positive X, Y, Z values...  X-positive moves left-to-right into to space...  Y-positive moves the bed forward, the tip into the space...
By flipping the y-endstop / home position you have again swapped a direction...  Y now is moves negatively into the print space.

Your solution is to properly position your Y-endstop to the rear of the machine.

This image demonstrates the 3 dimensional Cartesian coordinate space.  For you, this would (should) be from the right-rear corner POV.

Inline image 1


--
3d_coord_system.png

RepRap3dFactory

unread,
Feb 3, 2014, 6:14:46 PM2/3/14
to mend...@googlegroups.com
Larry is 100% correct. 

If you are very stubborn about moving the endstop you can use the Y as a maxstop instead of a minstop. However it's likely to get messy with everything you will need to change in the firmware. 

Mike





On Feb 3, 2014, at 6:05 PM, Larry Knopp <lwk...@gmail.com> wrote:

mikeo13...

Again, you have "caused" your own problem with your thinking and approach.
By placing your y limit switch to the front, you have essentially rotated the "world" your machine lives in.
"Home" is (0,0,0) in a Cartesian coordinate system (which your printer is).

When looking from above, with axes "Homed", the build platform should be to the rear of the machine, the hotend to the far left (Southwest corner), down on the print surface (less whatever your z-offset is).  Your "build area" then comprises the space of positive X, Y, Z values...  X-positive moves left-to-right into to space...  Y-positive moves the bed forward, the tip into the space...
By flipping the y-endstop / home position you have again swapped a direction...  Y now is moves negatively into the print space.

Your solution is to properly position your Y-endstop to the rear of the machine.

This image demonstrates the 3 dimensional Cartesian coordinate space.  For you, this would (should) be from the right-rear corner POV.

<3d_coord_system.png>
Reply all
Reply to author
Forward
0 new messages