3-in-one (Mill/Drill/Lathe) Machine Configuration

More
15 Jan 2017 21:56 #85861 by Sparky961
I didn't realize I was quoting older documentation, as it was just a quick Google search (I'll have to be more careful in the future). However, this text in the docs for 2.7 is unchanged. It even elaborates a little on the subject. It _does_ say that "Typically (but not always)" regarding the axis name/number mapping but doesn't say anything more about when it does not hold true.

linuxcnc.org/docs/2.7/html/config/ini-co...tml#sec:traj-section

What was your method to swap things - for example to have Z be axis/joint 0 instead of 2?

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

More
16 Jan 2017 01:22 - 16 Jan 2017 01:23 #85865 by Sparky961
Well, I've been trying out a few things throughout the day and I'm not convinced yet that you can just swap axis names.

Attached are two files that contain the configs for "mill" and "lathe". The "mill" version works quite well, though still some things to work out. The "lathe" version is what I've been testing with and does not currently work.

In the "lathe" config, everything loads up just fine and jogging using my MPG matches Z and X to the correct axes. However, when moving Z (lathe coordinates), the AXIS GUI shows that I'm moving R/D. When I move X (lathe coordinates), the display does not show anything. When I try to home X, Z homes just fine.

So, in conclusion the system still believes that JOINT/AXIS 0 is X. I have so far been unable to convince it otherwise.

My next try is going to be to modify only the control signals and feedback, as I asked about in -this post- .
Attachments:
Last edit: 16 Jan 2017 01:23 by Sparky961.

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

More
16 Jan 2017 02:16 #85866 by rodw
It is my understanding that the Joint Axis JA14 code was merged into the master branch and part of that made the joints independent of the axes. Your post has made me realise the significance of the changes re independence.

I've been running master to get the JA code for my gantry. Someone will need to confirm but I think it will be easier for you in the master thread. I thought there was a conversion program that converted your setup. I can't really help further as I've be on master for the duration of my build.
The following user(s) said Thank You: Sparky961

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

More
16 Jan 2017 02:33 #85868 by Sparky961
It could be that I'm slightly out of date, as I'm wary of being on the bleeding edge of software updates. Nice to know there might be a good reason for the suggestion not to work though.

I just about have something that works. I plan on posting it here when I'm done. I did it the "hard" way and it isn't pretty because it loses correspondence between axis numbers and I/O numbers on the Mesa board. It also might not work if someone has different settings on different servo drives. Mine are all the same and use the same physical settings, so I can swap them around at will.

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

More
16 Jan 2017 02:49 #85869 by rodw
Seeing you have a Mesa card. On my Mesa board, each stepgen is wired up by an independent connector so changing the physical wiring might be just a matter of swapping the plugs around...

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

More
16 Jan 2017 03:16 #85870 by bevins
Changing the coordinates and changing the joint number for the axis is the only way i know to do it. It works i did it.

If your using the new stuff for a gantry, they might have changed it, but i doubt it.

I am on 2.8

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

More
16 Jan 2017 04:01 - 16 Jan 2017 04:09 #85871 by Sparky961
I double checked and I'm running version 2.7.0 on this system. I installed it about a year ago so it shouldn't be that out of date!

I'm guessing that you both have access to features that aren't implemented on 2.7 because I don't see a way to specify a joint number for an axis.... yup, just confirmed it. -The docs- for the development version show a [JOINT_<num>] section in the INI file. There is no such thing in 2.7.

Ironically enough, the example given in the above link is for an X Z configuration using joints 0 and 1.

Also, the following text is added to the [COORDINATES] section in the above document:
"For trivkins kinematics, joint numbers are assigned in sequence according to the trivkins parameter coordinates=. So, for trivkins coordinates=xz, joint0 corresponds to X and joint1 corresponds to Z."

I have no clue at which version the change takes place, but may consider updating when the next release is available. For now I have a solution that's a bit confusing to read but works perfectly.

Swapping plugs and such is not an option. The whole point of this is to be able to use the machine in both modes with the correct polarity of the axes and directions of travel. Also to display and enable only those axes that are valid for the current mode. This is for convenience and safety.

Attached are the two working configurations for anyone following this thread or stumbling upon it in the future.

** NOTE that these are still a work in progress. You would not be wise to use these files without your own verification.
Attachments:
Last edit: 16 Jan 2017 04:09 by Sparky961. Reason: Insert added COORDINATES text

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

More
16 Jan 2017 04:37 - 16 Jan 2017 04:39 #85872 by bevins

I double checked and I'm running version 2.7.0 on this system. I installed it about a year ago so it shouldn't be that out of date!

I'm guessing that you both have access to features that aren't implemented on 2.7 because I don't see a way to specify a joint number for an axis.... yup, just confirmed it. -The docs- for the development version show a [JOINT_<num>] section in the INI file. There is no such thing in 2.7.

Ironically enough, the example given in the above link is for an X Z configuration using joints 0 and 1.

Also, the following text is added to the [COORDINATES] section in the above document:
"For trivkins kinematics, joint numbers are assigned in sequence according to the trivkins parameter coordinates=. So, for trivkins coordinates=xz, joint0 corresponds to X and joint1 corresponds to Z."


I have no clue at which version the change takes place, but may consider updating when the next release is available. For now I have a solution that's a bit confusing to read but works perfectly.

Swapping plugs and such is not an option. The whole point of this is to be able to use the machine in both modes with the correct polarity of the axes and directions of travel. Also to display and enable only those axes that are valid for the current mode. This is for convenience and safety.

Attached are the two working configurations for anyone following this thread or stumbling upon it in the future.

** NOTE that these are still a work in progress. You would not be wise to use these files without your own verification.




It changed when they merged JA, which was in 2.8 i think. This is where you can assigna different joint to an axis.

In 2.7. You can change coordinates to ZYX, then change your outputs no?
I remember trying to get a gantry working in 2.7 and was able to swap from xyza to zyyz.
Last edit: 16 Jan 2017 04:39 by bevins.

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

More
16 Jan 2017 04:50 #85873 by Sparky961
From all of the attempts I made today, I quite agree with what the documentation states regarding axis letters and joint numbers being fixed together. If it was otherwise, why would anyone bother with the changes to separate them in 2.8?

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

More
16 Jan 2017 05:36 #85876 by rodw

From all of the attempts I made today, I quite agree with what the documentation states regarding axis letters and joint numbers being fixed together. If it was otherwise, why would anyone bother with the changes to separate them in 2.8?


I think the driving force was to support other more sophisticated coordinate systems for robots etc and to support Automatic Gantry squaring during homing. eg. The first side to hit the home switch stops until the other side catches up. Then the homing offsets at the joint level let you square the axis quite simply. Well I hope that is the way It works given the effort I've put into my build using master but I won't really know until I get my table and gantry joined up in the next few weeks! Apparently squaring a gantry took days of tweaking pre 2.8.

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

Time to create page: 0.381 seconds
Powered by Kunena Forum