Y-Axis Mirrored Problem on converted CNC Router

More
07 Oct 2013 08:02 #39608 by markgeigel
I've converted a 15 year old Techno/Isel CNC router to LinuxCNC using G540 and Mesa 6i25. The machine already had home switches and the way it is setup when facing the machine the home point is in the back left corner of the machine. So the X axis gantry goes to the right when I press + which is fine. The Z goes down when I press - which is also fine. But I was building a case for my SuperPID using the gcode files from Here and it runs fine but the resulting part has the Y axis mirrored from what I want. In my case due to the location of the home switches the Y axis moves towards me when I press + since that is the direction where the available table space for milling is on the Techno. I can't change the location of the home position easily since the home switches are built into the machine table.

I'm sure I can use something like grecode to fixup the files for this particular part but is cambam (which is what I am going to use) also going to generate things that are mirrored from what I want. Not sure what is the best way to solve this since I'm new to LinuxCNC.

Any help would be most welcome.
Thanks!!!!!

Mark

Please Log in or Create an account to join the conversation.

More
07 Oct 2013 10:26 #39609 by cmorley
You need to invert the Y axis and tell linuxcnc your home switch is in a different place and probably to search in the opposite direction.

Linuxcnc can have the home switches anywhere.

www.linuxcnc.org/docs/2.5/html/config/ini_homing.html
How did you build the original config?

Chris M

Please Log in or Create an account to join the conversation.

More
08 Oct 2013 20:57 #39652 by markgeigel
Thanks for the reply. Attached are my configs for my current setup (including the mirrored Y problem). I did them manually but from the examples for Mesa.

I know I can change the Y Axis scale to a negative number and then also fix the home direction but I guess what confuses me is how will LinuxCNC know that my Y-Axis can only move towards the operator (i.e. only negative Y values are allowed) My table has 1/2" high by 3 inch long steel bars at the home position for both the x and y axis that the stock is placed against and those are at the back, left corner of the table. So if I "fix" the config for the y-axis what will keep LinuxCNC from trying to move in a positive y direction from home during actual machining?

Not sure if I am explaining my question well enough. I really appreciate the help this is so close to working.
Attachments:

Please Log in or Create an account to join the conversation.

More
08 Oct 2013 21:24 #39653 by andypugh

how will LinuxCNC know that my Y-Axis can only move towards the operator (i.e. only negative Y values are allowed).


The axis limits (set in [AXIS_1] give maximum and minimum limits. If you set Max limit to 0, min limit to a negative number, home to zero and home-search in the positive directionit should work.

What you describe is a fairly standard configuration for a Z axis.

Please Log in or Create an account to join the conversation.

More
08 Oct 2013 22:37 - 08 Oct 2013 22:38 #39654 by Rick G

[quoteSo if I "fix" the config for the y-axis what will keep LinuxCNC from trying to move in a positive y direction from home during actual machining?]


Once you "touch-off" in a coordinate system linuxcnc will move in reference to that position, not the machine position unless you issue a G53.
wiki.linuxcnc.org/cgi-bin/wiki.pl?CoordinateSystems

Rick G
Last edit: 08 Oct 2013 22:38 by Rick G.

Please Log in or Create an account to join the conversation.

More
09 Oct 2013 09:27 #39663 by markgeigel
Andy/Rick:

I changed the Scale for the Y Axis to a negative number, fixed the home search to be positive and adjusted the max and min limits per your suggestion. The machine homes to the correct position and when jogging a negative y moves the Y axis gantry towards me instead of away. So far so good.

However when I try to run the attached gcode (updated configs also attached) it does not work because the NGC file has positive extents for the Y from like 0 to 7 inches but the config file only allows negative Y values due to the new max limit setting. So Linuxcnc says the file is outside the allowable extents of the table due to this whole positive/negative Y issue. This is the same gcode file that I ran initially and like I said before it worked but the y-Axis was mirror imaged from what I wanted.

I don't really understand how to use touch-off here to fix this since the only "known" corner of the stock is at the home position which is all the way at the back, left corner of the table.

So I'm still confused.
Attachments:

Please Log in or Create an account to join the conversation.

More
09 Oct 2013 14:04 - 09 Oct 2013 17:24 #39672 by Rick G
This may help...
www.linuxcnc.org/docs/2.4/html/config_ini_homing.html

Take a look at home offset. From your config it looks like 0 to 15" travel on the Y Have you tried setting home offset at 15?

Having said that I do not normally have a work piece that takes up the entire table of the machine.
So I first home the machine.
Then jog to where I want the part to start.
Then touch off there.

In your case you could jog where you want the lower left corner of your part to be and touch off there setting the touch off as x0 then y0 then z0.
or
You could jog where you want the upper left corner of your part to be and touch off there setting the touch off as x0 then y7 then z0.



Rick G
Last edit: 09 Oct 2013 17:24 by Rick G.

Please Log in or Create an account to join the conversation.

More
09 Oct 2013 18:00 #39683 by andypugh

However when I try to run the attached gcode (updated configs also attached) it does not work because the NGC file has positive extents for the Y from like 0 to 7


That's fine. The G-code axes need to run in the same directions as the machine axes, but they can have different units and they can be offset by any distance.

So, either position the tool at the bottom left corner of the workpiece and touch that off as (0,0), or if the workpiece is 15" in the Y then position the tool at the top left corner and touch that off as (0,15)

Note that where the G-code origin is on the workpiece is entirely up to the whim of the G-code writer. I will often use the centre of an existing bore somewhere on the workpiece as the G-code origin.

It is also entirely your choice whether you use the workpiece surface or the table surface as your Z zero (or, for that matter, anywhere else in space, you could write your G-code so that the origin was in Timbuktu, though I can't see that that would be helpful.

Please Log in or Create an account to join the conversation.

Time to create page: 0.083 seconds
Powered by Kunena Forum