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: 1872
 - Thank you received: 358
 
			
	
						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: 1872
 - Thank you received: 358
 
			
	
						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: 19678
 - Thank you received: 4559
 
			
	
						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: 102
 - Thank you received: 4
 
			
	
						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.188 seconds