Coordinating more than 9 axes possible?

More
11 May 2016 23:35 #74538 by BartyBorris
Coordinating more than 9 axes

I have an application that will require coordinating more than 9 stepper motors and would like to know if I could use LinuxCNC. I am currently using LinuxCNC and a 5I22 to coordinate 6 axes in the typical way (X, Y, Z, A, B, C), however I need to expand this to at least 10 "axes". The MESA 5I22 has plenty of capability for the step generation, however I am not sure what to do to configure LinuxCNC beyond the 9th axis. The good news is that the 10th "axis" does not need to be precisely timed with the other axes (for example I can interleave custom M codes with the G1/G0 commands). I can do without homing, etc. If anyone can point me to a solution, or with some ideas to try I would be very grateful.

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

More
12 May 2016 10:16 - 12 May 2016 10:17 #74543 by BartyBorris
After thinking a bit more, the best I have come up with is to use M67 to externally (physically) switch the step and direction signal between stepper drivers (this can happen very quickly using transistors). Hence, if I break up the move for each G1 fine enough, I could do something like the following to drive 10 axes. Wish there was a more elegant solution I could come up with.

example:
M67 E1 Q0 ; set to drive 9 steppers (switches on the 9 step/dir signals and off for the step/dir signal for the 10th motor)
G1 X1 Y1 Z1 A1 B1 C1 U1 V1 W1 F100
M67 E1 Q1; set to drive 10th stepper only (switches off the 9 step/dir signals and connects the step/dir signal for the 10th motor)
G1 X1
M67 E1 Q0; set to drive 9 steppers
G1 X2 Y2 Z2 A2 B2 C2 U2 V2 W2 F100
etc.
Last edit: 12 May 2016 10:17 by BartyBorris.

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

More
12 May 2016 12:47 - 12 May 2016 12:49 #74545 by Todd Zuercher
The G-code and the interpreter only supports 9 axis names, but the number of stepgens available I think is more. I'm not sure just how many your 5i22 can support, but I do know that the software stepgen component can do up to 16.

Are all of the joints you want to control independent, or are some of them going to be slaved to another like in a gantry?

M67/M68 could have up to 16 analog output pins (default is 4) that could be used to send commands directly to the stepgens no need to swap anything.
Last edit: 12 May 2016 12:49 by Todd Zuercher.
The following user(s) said Thank You: BartyBorris

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

More
12 May 2016 18:35 #74564 by andypugh

I have an application that will require coordinating more than 9 stepper motors and would like to know if I could use LinuxCNC.


The 9-axis limit is a consequence of G-code limitations. No letters are available other than XYZABCUVW.
However, if you are prepared to say use:
M68 E0 Q60 ; set stepper 10 feed rate
M67 E1 Q212 ; set stepper 10 target position
G1 F60 X100 Y200 Z100.....

Then the extra axis will move a the specified rate, with the start of the move (but almost certainly not the end) synchronised with the other axis moves.

You would need to have
net motion.analogout-00 => hm2_5i22.0.stepgen.10.maxvel
net motion.analogout-01 => hm2_5i22.0.stepgen.10.position-cmd
For it to work, of course.

You can increase the number of analogout pins, it is a parameter to the motion module: num_aio and can be as high as 64.
linuxcnc.org/docs/2.7/html/man/man9/motion.9.html
The following user(s) said Thank You: BartyBorris

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

More
14 May 2016 01:56 #74634 by BartyBorris
That makes perfect sense. The more I become familiar with LinuxCNC the more I like it. Thanks so much guys!

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

More
30 Sep 2020 08:23 #184366 by Karempudi
Being new in this Forum, My questions may be very basic.

What about Gantry Axes, Is it considered a single axis or a two axes. Suppose there is a CNC machine with each axis run on two motors ( Gantry style), is it possible now to control 10axes?

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

More
30 Sep 2020 09:50 #184370 by andypugh

What about Gantry Axes, Is it considered a single axis or a two axes. Suppose there is a CNC machine with each axis run on two motors ( Gantry style), is it possible now to control 10axes?


Note that this thread was very old, and things have changed since my previous reply.

linuxcnc.org/docs/devel/html/man/man9/motion.9.html

Indicates that up to 16 joints can be declared in the motion module.

Also see section 13.3.3 here: linuxcnc.org/docs/devel/html/getting-sta...dating-linuxcnc.html

I don't fully understand how it all fits together now, but looking at the trivkins code (which is the bit that matters)
github.com/LinuxCNC/linuxcnc/blob/master...inematics/trivkins.c
it clearly does handle EMC_MAX_JOINTS joints, so you should be able to handle 16 joints, so potentially 8 dual-motor gantries.
The following user(s) said Thank You: Karempudi

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

More
30 Sep 2020 20:00 - 30 Sep 2020 20:08 #184408 by Todd Zuercher

Being new in this Forum, My questions may be very basic.

What about Gantry Axes, Is it considered a single axis or a two axes. Suppose there is a CNC machine with each axis run on two motors ( Gantry style), is it possible now to control 10axes?


In a nutshell it would be 1 axis with two joints. The whole gantry is the "axis" and the two motors are the "joints".

You can only have 9 axis, but you can have more joints (up to 16). And the joints don't necessarily have to have any direct coorilation to do with Cartesian axis movements. For example imagine a serial robot arm composed of a number of rotary joints.
Last edit: 30 Sep 2020 20:08 by Todd Zuercher.

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

More
30 Sep 2020 21:30 #184425 by cmorley
IIRC axes A,B and C are assumed rotary in most code.
It would be interesting to confirm what does and doesn't assume this.

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

More
01 Oct 2020 02:31 #184446 by Karempudi
Thank You. That was helpful.

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

Time to create page: 0.253 seconds
Powered by Kunena Forum