It would be very helpful if you actually said what you had found and provided a link to it.

From the comments in the code, I can tell that it is one I wrote some time ago and posted here
http://www.machinekit.io/docs/developing/toolchangers/
amongst other places, including on the Linuxcnc contributed components wiki.

There are several problems with this type of ATC, that need to be overcome.

First is that it is extremely unlikely that your tool tips will be a perfect '360 / number_of_tools' apart.
I found I had to move different amounts depending upon whether it was a conventional cutting tool
or a VDI 20 mounted tool or drill.

Next there is how rotary axes are dealt with.
Unless care is taken, and incremental moves only are programmed, the interpreter will try to take the shortest path to the required
position, which may entail running in reverse.
eg. if you are at 30 deg and program in 330 deg, it will attempt to move 60 deg in reverse. You need to program for instance G90 A300
to avoid ramming back against the pawl and stalling.

The only sure way to determine the movement amounts is to experiment using MDI commands until you have consistent results.
Every ATC will be different, the one this was written for had 8 tools, not 6. (4 cutting 4 boring)

On my current lathe I abandoned degrees altogether and calculated the number of steps required to move the distance, programmed A as a linear axis
and just moved by outputting incremental position_cmd.  Far simpler to account for any differences in move between tool numbers.

To answer your second email

There is no provision for a ATC home switch, because the one it was originally written for did not have one.

The code tells you how to home

                    // axis does not remember the current tool number, so prompt for it when A axis homed.
                    if(ishomed && !currenttoolnumber && !bWarn)
                        {
                        bWarn = true;  // just warn once, its not an error as such but INFO won't display unless debugging is set 3+
                        rtapi_print_msg(RTAPI_MSG_ERR, "No tool selected. Use M6Tx to set current tool");
                        break;..
                        }

You simply home axis A, and if no tool number is set, you are prompted to do a M6TN to set the tool number.

If you want an automatic rotation until the home switch is found etc, you need to use elements of the carousel toolchanger in the same page.

I think that one uses an amended iocontrol component however, which I have no intention of publishing or supporting, so I would just use the method outlined above
unless your programming is up to doing similar.

regards

On 02/03/18 22:39, Aurelien wrote:
Hi

Now i have found good config for moving the turret but i like to report 2 issue.

First :
When you move from tool 1 to 6 with actual setting the past to pawl move too less compared to real amount moved 5x63° = .315     fudge factor is 14 so 315-14 = 301° !!!

If i'm not wrong :

pin io float odd_move = 64      "distance from odd tool station to even one";
pin io float even_move = 64     "distance from even tool station to odd one";
pin io float divisor = 2        "used in calculating reverse move to lock";
pin io float fudge_factor = 24      "additional move to ensure locking";  
// fudge factor need to be selected higher than "additional angle" x( nTool-1)
// so 4°x(6-1) = 20  i have add +4 for make really sure.

In this way 5x64° = 320° - 24 = 296° so i'm sure the final position is 300° on the pawl with 4° more for locking

Please are you agree with this ?


Second :
Is not a real issue but need to be potnted for noob like me 

 if(!fjog  && (delay_index < (delay * 30)) )  
if your stepper is too slow the past to pawl not append so you need to increase this delay.


Br



--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to