Help with auto tool changer
- jonch919
- Offline
- Senior Member
Less
More
- Posts: 42
- Thank you received: 0
22 Oct 2019 14:47 #148544
by jonch919
Help with auto tool changer was created by jonch919
Hello,
Im looking for some help and advice on how to incorporate my ATC.
Below is a diagram from the machine manual, plus a video of the tool changing sequence on an identical machine that I found on YouTube.
I'm new to LinuxCNC so I don't have experience on what to use for what.
I've found topics where a Carousel script is used, and others where Classic Ladder is used. I don't know much about any of those yet, but I'd appreciate advice on where to start and how you would do it.
Later I'd also like to have tool touch-off as in the YouTube-video. So the solution I chose can be integrated with that as well later on.
SW = switch
P = proximity sensor
EV = pneumatic solenoid valve
M1 is a stepper motor
Im looking for some help and advice on how to incorporate my ATC.
Below is a diagram from the machine manual, plus a video of the tool changing sequence on an identical machine that I found on YouTube.
I'm new to LinuxCNC so I don't have experience on what to use for what.
I've found topics where a Carousel script is used, and others where Classic Ladder is used. I don't know much about any of those yet, but I'd appreciate advice on where to start and how you would do it.
Later I'd also like to have tool touch-off as in the YouTube-video. So the solution I chose can be integrated with that as well later on.
SW = switch
P = proximity sensor
EV = pneumatic solenoid valve
M1 is a stepper motor
Attachments:
Please Log in or Create an account to join the conversation.
- pl7i92
- Offline
- Platinum Member
Less
More
- Posts: 1890
- Thank you received: 356
23 Oct 2019 05:44 #148583
by pl7i92
Replied by pl7i92 on topic Help with auto tool changer
hi
lots of switches to be controlled
so What is your hardware
you need to get every switch to the control Linuxcnc
do you got a Mesa Board on the mashine 7i76?
then it is no problem to connect via a simple Remap M6
you just right a ngc Gcode file that got the logic and makes the moves
lots of switches to be controlled
so What is your hardware
you need to get every switch to the control Linuxcnc
do you got a Mesa Board on the mashine 7i76?
then it is no problem to connect via a simple Remap M6
you just right a ngc Gcode file that got the logic and makes the moves
Please Log in or Create an account to join the conversation.
- jonch919
- Offline
- Senior Member
Less
More
- Posts: 42
- Thank you received: 0
23 Oct 2019 07:16 #148590
by jonch919
Replied by jonch919 on topic Help with auto tool changer
Yes I have the 7i92 plus 7i76.hi
lots of switches to be controlled
so What is your hardware
you need to get every switch to the control Linuxcnc
do you got a Mesa Board on the mashine 7i76?
then it is no problem to connect via a simple Remap M6
you just right a ngc Gcode file that got the logic and makes the moves
Please Log in or Create an account to join the conversation.
- jonch919
- Offline
- Senior Member
Less
More
- Posts: 42
- Thank you received: 0
23 Oct 2019 11:20 - 23 Oct 2019 11:21 #148594
by jonch919
So I can use that script as a template?
Replied by jonch919 on topic Help with auto tool changer
And that is basically what the Carousel script does?hi
lots of switches to be controlled
so What is your hardware
you need to get every switch to the control Linuxcnc
do you got a Mesa Board on the mashine 7i76?
then it is no problem to connect via a simple Remap M6
you just right a ngc Gcode file that got the logic and makes the moves
So I can use that script as a template?
Last edit: 23 Oct 2019 11:21 by jonch919.
Please Log in or Create an account to join the conversation.
- pl7i92
- Offline
- Platinum Member
Less
More
- Posts: 1890
- Thank you received: 356
23 Oct 2019 16:06 #148608
by pl7i92
Replied by pl7i92 on topic Help with auto tool changer
Yes the carousell makes this things
from the image it is not clear as it is a real carousell that is driven by M1
as you got a real mashine can you provide a side view to the toolsystem
also there is a graycode like switch system to encode the position of the carousell
but you got a pneumatic system as well behind to insert the tool
you might be forced to go you own way IT is offen as in your system better to go for a simple IF...Then ngc
linuxcnc.org/docs/html/man/man9/carousel.9.html
from the image it is not clear as it is a real carousell that is driven by M1
as you got a real mashine can you provide a side view to the toolsystem
also there is a graycode like switch system to encode the position of the carousell
but you got a pneumatic system as well behind to insert the tool
you might be forced to go you own way IT is offen as in your system better to go for a simple IF...Then ngc
linuxcnc.org/docs/html/man/man9/carousel.9.html
Please Log in or Create an account to join the conversation.
- jonch919
- Offline
- Senior Member
Less
More
- Posts: 42
- Thank you received: 0
25 Oct 2019 15:14 - 25 Oct 2019 15:18 #148798
by jonch919
Replied by jonch919 on topic Help with auto tool changer
The only moving parts are the arm and its hand.
Solenoid valve EV3 to EV6 control the arm moving up/down and the hand in/out pneumatically. Proximity sensors P1-P2 tell when the arm is up/down. Switch SW12-SW13 tell the positions in/out for the hand/hook.
EV1 releases the tool holder from the spindle hydraulically. Not sure what EV2 does yet.
"Utensili" 1-6 show the position of the tool slots. Each slot has got a switch to indicate if the is a tool present, SW6-SW11.
SW1-SW5 tell the position of the tool slots when the arm is rotating.
P3 tells if there is a tool in the spindle.
A couple of photos attached. In the photos the arm is in the up position , and the arm in the in position
Solenoid valve EV3 to EV6 control the arm moving up/down and the hand in/out pneumatically. Proximity sensors P1-P2 tell when the arm is up/down. Switch SW12-SW13 tell the positions in/out for the hand/hook.
EV1 releases the tool holder from the spindle hydraulically. Not sure what EV2 does yet.
"Utensili" 1-6 show the position of the tool slots. Each slot has got a switch to indicate if the is a tool present, SW6-SW11.
SW1-SW5 tell the position of the tool slots when the arm is rotating.
P3 tells if there is a tool in the spindle.
A couple of photos attached. In the photos the arm is in the up position , and the arm in the in position
Last edit: 25 Oct 2019 15:18 by jonch919.
Please Log in or Create an account to join the conversation.
- Reinhard
- Offline
- Platinum Member
Less
More
- Posts: 508
- Thank you received: 94
26 Oct 2019 04:01 #148812
by Reinhard
Replied by Reinhard on topic Help with auto tool changer
Hi,
your ATC looks like one that needs active locking of tools in the slots (sw6 - sw11). As the arm takes only one tool at time, tool preloading information from linuxcnc is useless for your atc.
But as a tool does not change its parameters as long as it is inside a tool holder, you better look for a bigger picture.
If I had such an atc I would organize my tools and the atc like this:
Suppose you have about 100 tool holders.
So you need a database with the tool parameters, no matter whether the tool is in your cabinet or your atc.
Your atc can hold 6 tools, so you need to tell the database, whether a tool is in the atc or not.
At work we measure the tool parameters optically outside the machine - so no need for a tool touch-off ...
I would create a kind of blackbox for the atc with tool-number and tool-change-signal as hal input and tool-changed as hal-output.
I suppose, sw12 and sw1 is default position for the arm.
So when linuxcnc requests a tool-change for given tool, the atc must find the matching slot for the tool number.
The arm needs to position the slot (by controlling M1?).
The arm grabs the tool (sw13) and the atc needs to release the tool of the selected slot (sw6 - sw11).
The arm moves down (sw5).
The arm moves the tool away from the slot (sw12).
Now M1 changes the arm rotation to match spindle position.
The arm moves toward the spindle (sw13).
Spindle needs to unlock (EV2)
The arm pulls the tool into the spindle (sw1) and the spindle needs to lock the tool (EV1).
The arm then retires (sw12) and hal-signal "tool-changed" could reflect end of tool changing sequence.
Same sequence backwards for moving the tool from spindle into atc with the difference, that the atc locks the tool when selected switch (sw6-sw11) triggers.
I guess neither database, nor carussel does already provide what you need. So little work is required.
Its possible to solve all with linuxcnc tools, but you have to do it on yourself.
Control of M1 depends on whether you have switches or sensors for the arm rotation or if you have to program rotation based on step-calculations.
Pneumatic activation could be realized by relais and/or electrical valves - both can be controlled by hal pins.
Read hal-intro and manual of hal-compile - that should give you a good starting point.
hal_manualtoolchange is a good source too.
your ATC looks like one that needs active locking of tools in the slots (sw6 - sw11). As the arm takes only one tool at time, tool preloading information from linuxcnc is useless for your atc.
But as a tool does not change its parameters as long as it is inside a tool holder, you better look for a bigger picture.
If I had such an atc I would organize my tools and the atc like this:
Suppose you have about 100 tool holders.
So you need a database with the tool parameters, no matter whether the tool is in your cabinet or your atc.
Your atc can hold 6 tools, so you need to tell the database, whether a tool is in the atc or not.
At work we measure the tool parameters optically outside the machine - so no need for a tool touch-off ...
I would create a kind of blackbox for the atc with tool-number and tool-change-signal as hal input and tool-changed as hal-output.
I suppose, sw12 and sw1 is default position for the arm.
So when linuxcnc requests a tool-change for given tool, the atc must find the matching slot for the tool number.
The arm needs to position the slot (by controlling M1?).
The arm grabs the tool (sw13) and the atc needs to release the tool of the selected slot (sw6 - sw11).
The arm moves down (sw5).
The arm moves the tool away from the slot (sw12).
Now M1 changes the arm rotation to match spindle position.
The arm moves toward the spindle (sw13).
Spindle needs to unlock (EV2)
The arm pulls the tool into the spindle (sw1) and the spindle needs to lock the tool (EV1).
The arm then retires (sw12) and hal-signal "tool-changed" could reflect end of tool changing sequence.
Same sequence backwards for moving the tool from spindle into atc with the difference, that the atc locks the tool when selected switch (sw6-sw11) triggers.
I guess neither database, nor carussel does already provide what you need. So little work is required.
Its possible to solve all with linuxcnc tools, but you have to do it on yourself.
Control of M1 depends on whether you have switches or sensors for the arm rotation or if you have to program rotation based on step-calculations.
Pneumatic activation could be realized by relais and/or electrical valves - both can be controlled by hal pins.
Read hal-intro and manual of hal-compile - that should give you a good starting point.
hal_manualtoolchange is a good source too.
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23310
- Thank you received: 4858
28 Oct 2019 00:12 #148944
by andypugh
Replied by andypugh on topic Help with auto tool changer
I think that the carousel component might be useful for moving the tool selector and reading the position feedback (that is really all it does on any toolchanger)
But most of the sequencing would be done with G-code or classic ladder.
As the tool change does not appear to require axis mvovement, either approach will work, and it comes down to how well you understand G-code or Ladder.
But most of the sequencing would be done with G-code or classic ladder.
As the tool change does not appear to require axis mvovement, either approach will work, and it comes down to how well you understand G-code or Ladder.
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- akg1904
- Offline
- Premium Member
Less
More
- Posts: 99
- Thank you received: 3
14 Dec 2022 10:54 #259443
by akg1904
Replied by akg1904 on topic Help with auto tool changer and Homing
Hi,
Newbie here, I have a custom program for homing and Tool Change in C/C++.
I want to replace the existing homing and Tool change to integrate my homing and tool change program with LinuxCNC .
I don't know how to approach this problem so need some help to figure it out.
Thanks and Regards
Abhishek
Newbie here, I have a custom program for homing and Tool Change in C/C++.
I want to replace the existing homing and Tool change to integrate my homing and tool change program with LinuxCNC .
I don't know how to approach this problem so need some help to figure it out.
Thanks and Regards
Abhishek
Please Log in or Create an account to join the conversation.
- markkram
- Offline
- New Member
Less
More
- Posts: 9
- Thank you received: 2
14 Dec 2022 11:18 - 14 Dec 2022 11:20 #259445
by markkram
Replied by markkram on topic Help with auto tool changer and Homing
Hello Abhishek,
I'm pretty new here myself but you can look on my latest answer in this thread:
forum.linuxcnc.org/40-subroutines-and-ng...tx-remap-with-o-code
for a starting point on how to do a toolchange in linuxcnc. If you know how to do a remap, it's all a question of writing o- g- and m-codes and you are pretty much done.
Regards
Mark
I'm pretty new here myself but you can look on my latest answer in this thread:
forum.linuxcnc.org/40-subroutines-and-ng...tx-remap-with-o-code
for a starting point on how to do a toolchange in linuxcnc. If you know how to do a remap, it's all a question of writing o- g- and m-codes and you are pretty much done.
Regards
Mark
Last edit: 14 Dec 2022 11:20 by markkram. Reason: Missing link
The following user(s) said Thank You: besriworld, akg1904
Please Log in or Create an account to join the conversation.
Time to create page: 0.083 seconds