User Defined Program for Homing and Auto tool changer

More
06 Jan 2021 21:21 - 06 Jan 2021 21:26 #194287 by marq_torque
Hello People,

I have Rack type tool changer i want to add some safety interlocks with it

1) Tool pocket & tool number identification in Linuxcnc i can add different sensor for each tool pocket, please suggest if any sample configuration or anyone have already did it My searching skills are not at par i guess.

2) Tool release confirmation when tool is dropped in pocket, so spindle tool pocket and collet doesn't get damaged if tool is failed to drop in pocket and will e stop/halt with warning message before it moves to pick new tool.

3) Tool pickup confirmation from tool pocket sensor with corresponding tool numbers in Linuxcnc, that commanded tool picked successfully and didn't broke during change, it will help if someone put broken tool in pocket by mistake and if collet didn't clamp tool because of some mechanical malfunctioning




I want to add gui button & tool number input box which will hold the on going program,

Machine goes to tool change position and drops existing tool

Machine picks commanded tool

and continues remaining program.

Entire Program will have 2-3 tool change from cam but i want to interrupt roughing or finishing if i find tool is blunt and so on .... sometimes program is short in that case i dont need to change tools in between manually cam tool change codes will do job in small program, and some programs are huge so it takes few tool changes to finish that particular roughing or finishing Operation

Am i asking too much ? Is it possible ??


Marq
Last edit: 06 Jan 2021 21:26 by marq_torque.

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

More
07 Jan 2021 14:56 #194362 by Todd Zuercher
I'm sure it is all possible. But I don't think most of it is prebuilt and programed for you. There is a lot of logic you have to figure out and program into your tool change routine yourself.

There are a number of threads on the forum where people are working/have worked through setting up tool changers, read them.

I have not set up an auto tool changer machine in Linuxcnc my self yet, but I would like to do one someday. I almost got a chance earlier this year. The control on one of our large machines at work took a dump, but the repair cost estimate came in right at the cut off the managers set, so we fixed it instead of letting me refit with Linuxcnc. I was bummed, because I don't really care for that machine's control.

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

More
07 Jan 2021 16:04 - 07 Jan 2021 16:04 #194369 by andypugh

1) Tool pocket & tool number identification in Linuxcnc i can add different sensor for each tool pocket, please suggest if any sample configuration or anyone have already did it My searching skills are not at par i guess.



Skunkworks has a machine where the tools have a mechanical barcode. But it doesn't work entirely as you would like.
In his case the "Tn" command simply starts the tool chain moving, and then the toolchanger logic stops the chain when the detected tool matches the requested tool. This isn't really applicable to a rack changer.
RFID seems like it ought to be the way to go. I guess you could set up a routine to pick up each tool in turn and see what it was, rather than have a reader for each tool parking position.
What type of holder does your machine use? Is there anywhere obvious to put an RFID chip?

2) Tool release confirmation when tool is dropped in pocket, so spindle tool pocket and collet doesn't get damaged if tool is failed to drop in pocket and will e stop/halt with warning message before it moves to pick new tool.

I think this can be done fairly easily with tool slots that spring up when unloaded. Alternatively perhaps a force sensor in each slot and a stage in the sequence that makes a small upwards move and errors if the tool weight is seen to decrease.
Force sensing resistors are quite cheap: learn.adafruit.com/force-sensitive-resistor-fsr though strain gauges are not terribly expensive: uk.rs-online.com/web/p/strain-gauges/0632180/ and require less design modification to the parking slots, they can just be bonded on to the surface of metal. You don't need precision amplifiers in this application, a single op-amp would do.
As strain gauges are typically wired in 4-element bridge you might want to consider some form of multiplexer to keep the element count down. Or it might be possible to wire 4 slots in a bridge and simply look for changes in the overall reading during the tool change.

3) Tool pickup confirmation from tool pocket sensor with corresponding tool numbers in Linuxcnc, that commanded tool picked successfully and didn't broke during change, it will help if someone put broken tool in pocket by mistake and if collet didn't clamp tool because of some mechanical malfunctioning



Tool breakage detection feels harder. I could imagine that it would be possible to do something clever with machine vision.
Last edit: 07 Jan 2021 16:04 by andypugh.

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

More
07 Jan 2021 17:45 - 07 Jan 2021 17:46 #194380 by marq_torque
Alright Todd, Andy

I did set my rack type tool changer with tool touch sensor and it's working okayish ... not bulletproof .... sometimes spindle doesnt release tool easily because of debris and so it is getting damaged. and it will continue to pick the tool even if there is no tool present in requested tool pocket :dry:

SO i m thinking of clearing these issues with addition of proximity/ laser beam sensors and conditional sub programs. I'm black where to start from ? I have already Remaped M6 in existing setup.
Last edit: 07 Jan 2021 17:46 by marq_torque.

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

More
07 Jan 2021 17:48 #194382 by marq_torque
I understood what you suggested.

Sir, i have different question for you ... Can i change tool via on screen input in middle of the program ?

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

More
07 Jan 2021 17:51 #194385 by andypugh

SO i m thinking of clearing these issues with addition of proximity/ laser beam sensors and conditional sub programs. I'm black where to start from ? I have already Remaped M6 in existing setup.


The checks would be additional steps in the remapped tool change routine.

Is that G-code or Python?

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

More
07 Jan 2021 18:50 #194390 by marq_torque
Sir Its Modified G-code from sample remap, as I'm learning python and Linux.

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

More
07 Jan 2021 18:54 #194391 by marq_torque
This is Modified tool change G-Code

File Attachment:

File Name: rack_chang...1-07.ngc
File Size:3 KB
Attachments:

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

More
07 Jan 2021 19:32 #194397 by andypugh
OK, so you just need to add some other steps to that sequence.

The feedback would be via HAL pins and the M65 (etc) commands.

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

More
07 Jan 2021 19:51 #194401 by marq_torque
I am not aware how to do conditional G-code

What I'm trying to achieve is

1) If there is already T2 in spindle, Machine will be knowing it no matter how much times i restart EMC, is it possible ? i guess yes with input of Empty tool pocket ??

2) If i call T3 then machine will drop T2, Lifts Z, T2 Pocket sensor will monitor T2 Tool is placed in T2 Pocket, if tool is not released from spindle collet then it will Halt and display Error, if tool is placed in T2 pocket normally then it will continue to pick T3

3) If Spindle moved to T3 pocket tried to clamp T3 then lifts Up, if tool sensor in T3 pocket is still ON then it will throw error "Tool Pickup Failed" otherwise spindle will move to tool length sensor and continue program.


Now main question ... how to apply these condition in Remap GCode ? and I have 14Tools in pocket, so is there any method there i can use PLC or Arduino ? My current setup is on Parallel Port, can it be achieved by adding additional PCI parallel port ?

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

Time to create page: 0.094 seconds
Powered by Kunena Forum