- Posts: 16
- Thank you received: 0
Coordinating more than 9 axes possible?
- BartyBorris
- Topic Author
- Offline
- New Member
-
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 to join the conversation.
- BartyBorris
- Topic Author
- Offline
- New Member
-
- Posts: 16
- Thank you received: 0
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.
Please Log in to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
-
- Posts: 4739
- Thank you received: 2
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.
Please Log in to join the conversation.
BartyBorris wrote: 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
Please Log in to join the conversation.
- BartyBorris
- Topic Author
- Offline
- New Member
-
- Posts: 16
- Thank you received: 0
Please Log in to join the conversation.
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 to join the conversation.
Karempudi wrote: 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.
Please Log in to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
-
- Posts: 4739
- Thank you received: 2
Karempudi wrote: 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.
Please Log in to join the conversation.
It would be interesting to confirm what does and doesn't assume this.
Please Log in to join the conversation.
