Help with auto tool changer

More
7 years 1 week ago #148812 by Reinhard
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.
The following user(s) said Thank You: besriworld

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

More
7 years 5 days ago #148944 by andypugh
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.
The following user(s) said Thank You: besriworld

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

More
3 years 10 months ago #259443 by akg1904
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

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

More
3 years 10 months ago - 3 years 10 months ago #259445 by markkram
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
Last edit: 3 years 10 months ago 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.373 seconds
Powered by Kunena Forum