Carousel tool charger, best approach?

More
08 Aug 2016 23:43 #78506 by backtime
Hi, I'm going to realize the routine to control my tool charger, a carousel with 12 positions.
The tool changer is controlled by a stepper motor + encoder and configured as an axis.

For changing tool i need some phases,
- rotate the carousel to the correct position
- send signal to spindle lock
- send a signal to activate an air actuator
- others...

What is the best choice? an hal module or remap M6?
Thanks

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

More
09 Aug 2016 22:35 #78547 by Jake
wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadderExamples

wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolChange

I was using the two above links as a guide on doing mine. I have a 24 pocket rotary tool changer.

2.1 shows the tool changer with the stepper and its a hal component.

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

More
09 Aug 2016 23:52 #78551 by backtime
Thanks for reply,

I know the sequence of events of M6 command, I was unsure of what was the best way to control the tool changers,
but I think I will use a custom HAL component in combination with the component "orient" to control the spindle orientation.

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

More
17 Aug 2016 12:46 #78926 by andypugh

Hi, I'm going to realize the routine to control my tool charger, a carousel with 12 positions.
The tool changer is controlled by a stepper motor + encoder and configured as an axis.


If the carousel is configured as an axis then the only way to move it will be through a G-code subroutine as part of a remapped M6.

(Actually, in general, I think this is the best way anyway).

There is the carousel HAL component , but I don't think it is any help in your case

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

More
17 Aug 2016 20:13 #78958 by backtime
Hi Andy.

I agree with you, after breaking my head on rt and userspace component i realized that there's no easy way to move axis controlled by linuxcnc, the best option is remap, I had chosen the components way because, during tool change, I have to control a pneumatic piston to move carousel and using components is easy to define some pin to control pneumatic valve and others to read switch limit to verify that carousel is in correct position. With remap i have to use motion.digital-in/out controlled by M-Code.

The alternative of an rt component like the carousel HAL component would force me to control all aspect of carousel motion, including an homing procedure, managing position and feedback entirely in code, it would be the way I would prefer but also the most complex.

So I'll give a chance to remap and try to write an O-word procedure to control tool changer... and this is the third attempt to write some code for my tool changer. We learn by our mistakes... :)

Thanks PG

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

More
17 Aug 2016 23:15 #78963 by andypugh

So I'll give a chance to remap and try to write an O-word procedure to control tool changer... and this is the third attempt to write some code for my tool changer. We learn by our mistakes... :)


Have you seen the sim/axis/vismach/vmc-toolchange sample config? That has a remapped g-code sub for the sequencing combined with the carousel HAL component.

The G-code part is here: github.com/LinuxCNC/linuxcnc/blob/master...hange/toolchange.ngc
The following user(s) said Thank You: backtime

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

More
17 Aug 2016 23:35 #78965 by backtime
Wow! Very close to what I need, l'll save a lot of time writing subroutine, I only need to adapt minor part an try.

Many tanks Andy.

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

More
10 Sep 2016 09:15 #80287 by backtime
Just as report, i finally terminate to write my tool change procedure using M6 remapping and everything works correctly.
Now I have some question on spindle orient but I'll open a new thread for this.

Thanks to all for your support.

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

Time to create page: 0.150 seconds
Powered by Kunena Forum