tool table values, vs manual tool length offset

More
22 Apr 2019 23:06 #131568 by travis036
in a few of my test runs, routing a simple design into a hunk of plywood, the height seems to be cut lower than set in Fusion 360. as i have not yet received shipment of my plate of aluminum for my Z touch plate, i have been manually "probing" with the paper method. i set the offset to 0, and run the G code. it then proceeds to cut deeper than expected. the only thing i can think of is if something is overriding the TLO. Fusion 360 does issue a manual tool change (M6 to tool 1). does this erase my TLO? really, i could do without the M6 at start, as i load the tool bit before starting the code anyway, and then probe manually, and set the TLO.
I would rather do without the tool tables anyway, as every time i load a tool manually, the TLO needs to be set as it is doubtful to match up with any tool table.
so am i doing something wrong, or am i configuring LinuxCNC or Fusion 360 wrong? as i am learning as i go, i suspect i may be doing something wrong somewhere, but i have to learn somehow. ;)

now, eventually, i plan to have a manual tool change go to the preset location, as it does, and pause. once i change the tool, and click the OK on the dialog, have it then probe the tool at the current location (i plan to install a permanent TLO touch plate there), and return to the G code program. i can do this manually, but it would be great if eventually the machine was programmed to do it automatically. :)

Thanks in advance for any help!

~Travis

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

More
22 Apr 2019 23:27 #131571 by travis036
perhaps i have been setting the TLO wrong. i found a reference to G43.
if i do "G43 H1" followed by a G38.2 probe, will that be more correct?

~Travis

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

More
23 Apr 2019 06:54 #131606 by pl7i92
with your code you can touch off the part with any tool to zero
as tool length G43 Hx takes effect emedatly after initating

BUT best practice is to zero with a given tool that never changes on a given length
so for me it is 100mm exect lenth almost zero tolerance
then i is mutch easyer to bring in more toolst without length messurment

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

More
23 Apr 2019 08:17 #131612 by travis036
ok, so if i understand correctly, i should establish a tool for zeroing to the workpiece, and it's length should be inserted to the same depth, every time. perhaps i could attach a stop collar to it to keep it fairly accurate.
after i have the workpiece offset zeroed in, then i issue "G43 H1" for tool one, and follow that with, for example, "G38.2 Z-10 f2". and the endpoint established from the straight probe will be entered as the tool length offset for tool 1.

it has occurred to me that if i have to change tools in the middle of a G code run, the G code has an M6 line from Fusion 360 to select the next tool. LinuxCNC will pause, and display the manual tool change dialog, and when i clear the dialog, it immediately returns to the G code run, without probing for the new tool length offset. so my question here is should i install stop collars to every tool to ensure it is inserted to the same depth every time i use it? or should i probe for a new tool length offset after every tool change?

i am not sure i like the idea of running a tool bit at high RPM with a stop collar, as i worry it will be out of balance.

~Travis

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

More
27 Apr 2019 10:36 #132079 by travis036
i have remaped M6 as "REMAP=M6 modalgroup=6 prolog=change_prolog ngc=toolchange epilog=change_epilog".
and the contents of toolchange.ngc are :
o<toolchange> sub
(print, o<toolchange>)
( Set mm )
G21

( Z up for clearance )
G53 Z #<_ini[change_position]z>

( X and Y to predefined change position from my-mill.ini )
G53 G0 X #<_ini[change_position]x> Y #<_ini[change_position]y>

(MSG, Please insert tool)
( Z is already up, move X and Y to tool sensor position defined in my-mill.ini )
G53 g0 X #<_ini[toolsensor]x> Y #<_ini[toolsensor]y>

( move Z down to probe start position, as defined in my-mill.ini )
G53 g0 Z #<_ini[toolsensor]z>

( set tool length offset )
G43 H1

( the probe endpoint will be stored as the TLO )
G38.2 Z#<_ini[toolsensor]maxprobe> F #<_ini[toolsensor]probefeed>

( move Z back up to probe position to clear sensor )
G53 Z #<_ini[toolsensor]z>
o<toolchange> endsub [1]

the referenced parts of the my-mill.ini:
[TOOLSENSOR]
X = 0
Y = 0
Z = 0
MAXPROBE=-100   # abort change if no toolsensor contact after this probe distance
PROBEFEED=2

[CHANGE_POSITION]
X = 0
Y = 0
Z = 0

my question is, how is the TLO calculated? the idea i have is to locate the TLO probe plate permanently in a specific spot on my router table. but if the TLO probe plate is not sitting on the top of the workpiece, how is the offset calculated?

~Travis

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

More
27 Apr 2019 15:22 #132092 by travis036
i guess what i am trying to ask, is if the fixed location tool length offset sensor is mounted on the router table surface, how do i get it to calculate the tool offset?
if i was to do it myself, i would first locate my tool offset sensor trigger depth, under HOME. i would make a note of the depth under HOME from the DRO. then, i think i would have to locate my workpiece Z origin depth under HOME, using a 3D probe (that i don't have yet).

i think i have to 3D probe my table height, and the exact tool sensor trigger height with the 3D probe, and use the length of the 3D probe as my reference tool. so, somehow i have to take that information, and figure out some offset numbers. then, i probe down with the tool to be measured, then move the Z-axis up to the workpiece height, with the previously figured offset numbers, and store this position as the TLO.
so, if i am correct with all this, how do i calculate it? my mind is fried at the moment, and i can bairly figure out 2 + 2 right now. ;)

Thanks in advance, if anybody can help me out of my stuck mind... :S

~Travis

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

More
27 Apr 2019 16:40 #132099 by pl7i92
you will be quite fast in good shape if you do it for testing on a real mashine
then you know within minutes how the system workes

only the lenth is interesting eighter on Toolchanger or with a Fix toolholder changer and manuell tool change
the rest is not relevant as a Fix point is always your zero
therfor most in Europ USE top as Workpice zero
but no problem to Bottem as the table is always larger and represents the tool zero point
or a ofset as Clamp bars under the part

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

More
27 Apr 2019 19:39 #132118 by travis036
well, i tested it on my machine, and after much editing, i got the machine running again (took quite a bit of debugging).
i honestly have no idea if it works correctly or not. i had to make quite a bit of changes so it stopped spitting out errors, that i lost all hope of remembering how it should have worked. i managed to break a bit, but i have more anyway.
this is what i ended up with:
toolchange.ngc
o<toolchange> sub
(print, o<toolchange>)
( Set mm )
G21
#1=#<_z>

( Z up for clearance )
G53 Z0

( X and Y to predefined change position )
G53 G0 X0 Y0

( it displays the message, but how do i get it to PAUSE for user command here? )
(MSG, Please insert tool)
( Z is already up, move X and Y to tool sensor position. set to origin for now, but will change to move to sensor location later. )
G53 g0 X0 Y0

( move Z down to probe start position. this will be set to the max length tool bit to sensor height. )
G53 g0 Z-15

( the probe endpoint will be stored as the TLO )
G38.2 Z-50 F20

( calculate offset. this, i think is all wrong... what i want it to do is take the Z height from the workpiece zero (#1) )
( then subtract the sum of the tool Z, and the offset. the offset is hypothetical right now. )
#2=[ #1 - [#<_z> + 50]]


( set tool length offset )
G43 H#<_current_tool>
( move up by calculated offset, and store as TLO )
G53 g0 Z#2


( move Z back up to HOME position to clear sensor, and exit subroutine )
G53 Z0
o<toolchange> endsub [1]

i have no idea what is correct or wrong at this point, as my mind crashed. i will do some more work on it tomorrow, and see if i can make headway.

~Travis

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

More
28 Apr 2019 20:24 #132191 by travis036
i think i may have it! for me to calculate the tool length offset, i simply probe down, subtract the electronic tool setter height, and then add the material height. set my tool offset to this value.
If i am wrong, please help. i can't fully test as my electronic tool setter has not arrived yet (been using a plate of aluminum).

toolchange.ngc
o<toolchange> sub
(print, o<toolchange>)
( Set mm )
G21
( grab machine location on top of work )
G53 G0
#1=#<_z>

( Z up for clearance )
G53 Z0

( X and Y to predefined change position )
( Machine origin, for now )
G53 G0 X0 Y0

(MSG, Please insert tool, and then press Resume button )
M0

( Z is already up, move X and Y to tool sensor position )
G53 G0 X50 Y50

( move Z down to probe start position )
G53 G0 Z-15

( probe the tool )
G38.2 Z-50 F20

G91
G0 Z10
G90

( probe the tool, slowly )
G38.2 Z-15 F10
#2=#<_Z>

( tool sensor height, currently hypothetical )
#3=50

( table height from machine zero. should remain the same if good HOME, hypothetical )
#4=800

( calculate offset )
( [[[probed_Z - table_height] - tool_sensor_height] + [table_height - material_height]] )
#5=[[[#2 - #4] - #3] + [#4 - #1]]
(MSG, #5)

( move away from the sensor )
G53 G0 Z0
G53 G0 X0 Y0

( set tool length offset )
G43 H#<_current_tool>
( move to work zero height, with tool length offset )
G53 G0 Z #5

( move Z back up to HOME position for clearance )
G53 Z0
o<toolchange> endsub [1]

~Travis

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

Time to create page: 0.088 seconds
Powered by Kunena Forum