Multiple Independant Z and C Axis Control Possible?
- my1987toyota
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 821
- Thank you received: 334
13 Mar 2022 23:17 #237159
by my1987toyota
Multiple Independant Z and C Axis Control Possible? was created by my1987toyota
Most Pick and Place machines have multiple placing heads so a new question is can you control multiple Z and C axis?
I know LinuxCnC can control 9 simultaneous axis but am I stuck with X, Y, Z, A, B, C, W, U, and V ?
Or can I rename them X, Y, Z1, Z2, Z3 C1, C2, and C3 or more?
I could see numbering them could cause a problem and confusion in the system so I figured I would ask first.
I know LinuxCnC can control 9 simultaneous axis but am I stuck with X, Y, Z, A, B, C, W, U, and V ?
Or can I rename them X, Y, Z1, Z2, Z3 C1, C2, and C3 or more?
I could see numbering them could cause a problem and confusion in the system so I figured I would ask first.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19430
- Thank you received: 6517
13 Mar 2022 23:49 #237168
by tommylight
Replied by tommylight on topic Multiple Independant Z and C Axis Control Possible?
Pretty sure Todd has a machine with 2 Z axis in use, so he is much better at answering this.
The following user(s) said Thank You: my1987toyota
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5009
- Thank you received: 1443
14 Mar 2022 16:55 - 14 Mar 2022 17:02 #237218
by Todd Zuercher
Replied by Todd Zuercher on topic Multiple Independant Z and C Axis Control Possible?
If you want to control them independently and simultaneously in g-code you will need to have a axis letter assigned for each degree of freedom you intend to control in g-code. Possibilities would be XYZABCUVW and you would be limited to those 9 in g-code. So if you are wanting to have your multiple Z and C axis do different things at the same time you are going to have to use the drive letters. Where things get grey are if you don't need simultaneous independent control. Then you can do things with changing which joints are slaved to what axis letters, but this will add an order of magnitude of complexity to your machine configuration. So if your multiple Z and C axis are either doing the same thing together (slaved) or not simultaneously, then you could possibly use Z1, Z2... and be changing which joint is obeying the axis command using M-codes. Not sure what is the current practical limit for joints in Linuxcnc, last I checked I thought maybe it was 16. Another possibility is to set joint position commands directly for joints unpaired with axis letters using M-code commands. This could make synchronized motion difficult or impossible for those joints, but that might not be an issue for your machine design.
The machines I have two Z axis on, are configured as Z and W, and I have a set of custom M-codes that can slave/unslave the W axis to the Z axis and when slaved they move together with the Z commands. This lets me have different offsets for the Z and W. For example the start of the g-code file will move both Z and W so the tools in each are the same height above the material, then the axis slaving M-code slaves them together, the milling g-code is ran (with Z and W moving together with only Z commands), then the unslaving M-code is issued, the Z and W are sent to their machine zero positions and the g-code file ends.
The machines I have two Z axis on, are configured as Z and W, and I have a set of custom M-codes that can slave/unslave the W axis to the Z axis and when slaved they move together with the Z commands. This lets me have different offsets for the Z and W. For example the start of the g-code file will move both Z and W so the tools in each are the same height above the material, then the axis slaving M-code slaves them together, the milling g-code is ran (with Z and W moving together with only Z commands), then the unslaving M-code is issued, the Z and W are sent to their machine zero positions and the g-code file ends.
Last edit: 14 Mar 2022 17:02 by Todd Zuercher.
The following user(s) said Thank You: tommylight, my1987toyota
Please Log in or Create an account to join the conversation.
- my1987toyota
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 821
- Thank you received: 334
14 Mar 2022 21:23 #237239
by my1987toyota
Replied by my1987toyota on topic Multiple Independant Z and C Axis Control Possible?
I guess independent was a bit misleading on my part. On any PnP that I have seen even multi headed ones, they still
put down one part at a time, but with multi heads you don't have to go back to a feeder every time a part is placed.
So M-codes to slave and un-slave would probably work best . Fortunately the machine I am currently working on
doesn't have true multi-heads. Just 1 placing head and one air actuated glue dot or solder paste dispensing head.
However if I build another PnP in the future I would go the true multi-headed route.
put down one part at a time, but with multi heads you don't have to go back to a feeder every time a part is placed.
So M-codes to slave and un-slave would probably work best . Fortunately the machine I am currently working on
doesn't have true multi-heads. Just 1 placing head and one air actuated glue dot or solder paste dispensing head.
However if I build another PnP in the future I would go the true multi-headed route.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19430
- Thank you received: 6517
14 Mar 2022 22:27 #237251
by tommylight
Replied by tommylight on topic Multiple Independant Z and C Axis Control Possible?
I might be off here, but bare with me ... later you can kick me out!
Most PnP machines use multiple heads, some have the possibility of turning one or more of those heads by 90 or 180 degrees, so i would think that they do not have to be axis, or joints, should probably be controlled by simple outputs. Even turning can be done something like RC servos, no signal=0*, with signal=90*.
Waiting for the wrath of internet to be bestowed upon me !
Most PnP machines use multiple heads, some have the possibility of turning one or more of those heads by 90 or 180 degrees, so i would think that they do not have to be axis, or joints, should probably be controlled by simple outputs. Even turning can be done something like RC servos, no signal=0*, with signal=90*.
Waiting for the wrath of internet to be bestowed upon me !
The following user(s) said Thank You: my1987toyota
Please Log in or Create an account to join the conversation.
- my1987toyota
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 821
- Thank you received: 334
14 Mar 2022 23:10 #237258
by my1987toyota
I am still wrapping my brain around using Linuxcnc to my will.
I have seen some I believe called a turret head where they have mutiple nozzles mounted
on a rotor set at a 45 degree angle and it just rotates the appropriate nozzle into place to
deposit the part. Very complex obviously. A lot of th Charm High machines use a dual head and
a rack and pinion Z control so full + makes the one head place the part or full - make the other
head place the part.
Replied by my1987toyota on topic Multiple Independant Z and C Axis Control Possible?
tommylight you don't have to worry about me ever kicking you out .tommylight post=237251 userid=17274 later you can kick me out!
Waiting for the wrath of internet to be bestowed upon me !
I am still wrapping my brain around using Linuxcnc to my will.
I have seen some I believe called a turret head where they have mutiple nozzles mounted
on a rotor set at a 45 degree angle and it just rotates the appropriate nozzle into place to
deposit the part. Very complex obviously. A lot of th Charm High machines use a dual head and
a rack and pinion Z control so full + makes the one head place the part or full - make the other
head place the part.
Please Log in or Create an account to join the conversation.
- my1987toyota
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 821
- Thank you received: 334
14 Mar 2022 23:14 #237260
by my1987toyota
Replied by my1987toyota on topic Multiple Independant Z and C Axis Control Possible?
a turret head style PnP
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19430
- Thank you received: 6517
14 Mar 2022 23:58 #237266
by tommylight
Replied by tommylight on topic Multiple Independant Z and C Axis Control Possible?
That is fasttttt !
Also, reminds me, i never checked what is the fastest servo period LinuxCNC can run at without bringing a modern PC to it's knees ? I did test base period and the lowest i could go reliably and without latency errors was 12000, i think i have a video on youtube driving two servo motors with 200PPR encoders at 2 or more KRPM from a parallel port! Mind you, that was a Fujitsu-Siememns Workstation with 2X4 core Xeons.
The thought derived from thinking how fast can LinuxCNC do a tool change as that is a carousel, but if it has to involve Python anywhere it will not be real time anymore. Or would it?
Still, i do believe it might be able to run pretty fast with Python, and very fast without it.
So, anyone tested the servo period ?
I know i will tomorrow.
Also, reminds me, i never checked what is the fastest servo period LinuxCNC can run at without bringing a modern PC to it's knees ? I did test base period and the lowest i could go reliably and without latency errors was 12000, i think i have a video on youtube driving two servo motors with 200PPR encoders at 2 or more KRPM from a parallel port! Mind you, that was a Fujitsu-Siememns Workstation with 2X4 core Xeons.
The thought derived from thinking how fast can LinuxCNC do a tool change as that is a carousel, but if it has to involve Python anywhere it will not be real time anymore. Or would it?
Still, i do believe it might be able to run pretty fast with Python, and very fast without it.
So, anyone tested the servo period ?
I know i will tomorrow.
The following user(s) said Thank You: my1987toyota
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5009
- Thank you received: 1443
15 Mar 2022 14:05 #237327
by Todd Zuercher
Replied by Todd Zuercher on topic Multiple Independant Z and C Axis Control Possible?
Often the com with peripherals such as Smartserial on a Mesa Card is going to be the bottleneck with about 4 or 5khz being the practical limit. (At least that is what I found with my 5i25 hardware trying to run torque mode servos.)
Holy crap, that was fast. (I don't see that working with Linuxcnc)
But back to reality, on a more normal pick and place with a half dozen pneumatic placer "heads" (is that really the right term?) I would not use them as axis or joints. Simply tool numbers, each with their own XYZ offsets, Calling each individual tool number lowers it and raises the others and changes the position offset. easy peasy, no wonky joint or axis magic required.
Holy crap, that was fast. (I don't see that working with Linuxcnc)
But back to reality, on a more normal pick and place with a half dozen pneumatic placer "heads" (is that really the right term?) I would not use them as axis or joints. Simply tool numbers, each with their own XYZ offsets, Calling each individual tool number lowers it and raises the others and changes the position offset. easy peasy, no wonky joint or axis magic required.
The following user(s) said Thank You: tommylight, my1987toyota
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19430
- Thank you received: 6517
15 Mar 2022 14:28 #237331
by tommylight
Replied by tommylight on topic Multiple Independant Z and C Axis Control Possible?
Oh good, Todd is here, and he has plenty of experience with similar things, most wood machines have 20 or more drills on the same Z axis.
Thank you Todd.
Thank you Todd.
The following user(s) said Thank You: my1987toyota
Please Log in or Create an account to join the conversation.
Time to create page: 0.074 seconds