Need Help in XYZAC configuration.

More
06 Aug 2024 14:17 #307088 by amanker
I have setup 5 axis (XYZAC configuration).
Using QtDragon_HD GUI.
I have measured all offsets using 3D Probe.
And added all offsets in ini file.

When I switch to RTCP mode, Its working nice when I am using that 3D probe. All TCP movements are properly aligned.

But As soon as I change probe to other tool bit of different length. Toolpoint dont follow properly. (I think It needs same length).
I am using manual tool change. Tried measuring tool offsets, Changing tool table. Using G43 to update current tool offset. Nothing worked.

Can anyone guide me proper procedure for this. So that when I change tool, TCP dont misbehaves.
Please outline procedure with sample codes.

Here are settings for kinamatics which are working.
HALCMD = setp xyzac-trt-kins.x-rot-point -85.775
HALCMD = setp xyzac-trt-kins.y-rot-point -110.570
HALCMD = setp xyzac-trt-kins.z-rot-point -16.942
HALCMD = setp xyzac-trt-kins.y-offset 0
HALCMD = setp xyzac-trt-kins.z-offset -38.7445

This is my POSTGUI.HAL
    # load components
########################################################################

loadrt logic names=logic-and personality=0x102
addf logic-and servo-thread

# load a summing component for adding spindle lift and Z compensation
loadrt scaled_s32_sums
addf scaled-s32-sums.0 servo-thread

loadusr -Wn z_level_compensation z_level_compensation
# method parameter must be one of nearest(2), linear(1), cubic (0)
setp z_level_compensation.fade-height 0.0
setp z_level_compensation.method 1

# connect signals
########################################################################

net spindle-speed-limited  =>  spindle.0.speed-out-rps => spindle.0.speed-in

# the unlink pin commands are only used, because they are connected 
# in core_sim.hal and we use this file to simulate
unlinkp iocontrol.0.tool-change
unlinkp iocontrol.0.tool-changed
unlinkp iocontrol.0.tool-prep-number

net tool-change      hal_manualtoolchange.change   <=  iocontrol.0.tool-change 
net tool-changed     hal_manualtoolchange.changed  <=  iocontrol.0.tool-changed
net tool-prep-number hal_manualtoolchange.number   <=  iocontrol.0.tool-prep-number

net eoffset-clear    axis.z.eoffset-clear
net eoffset-counts   axis.z.eoffset-counts
setp axis.z.eoffset-scale .001
net eoffset-total          axis.z.eoffset
net eoffset-total          qtdragon.eoffset-value
setp axis.z.eoffset-enable True

## external offsets for spindle pause function
##################################################
net eoffset-clear     qtdragon.eoffset-clear
net eoffset-spindle-count   <= qtdragon.eoffset-spindle-count    
net spindle-pause     qtdragon.spindle-inhibit spindle.0.inhibit
net probe-input qtdragon.led-probe

## Z level compensation
####################################################
net eoffset-clr2            z_level_compensation.clear      => logic-and.in-01
net xpos-cmd                z_level_compensation.x-pos      <= joint.0.motor-pos-cmd
net ypos-cmd                z_level_compensation.y-pos      <= joint.1.pos-cmd
net zpos-cmd                z_level_compensation.z-pos      <= joint.2.pos-cmd
net z_compensation_on       z_level_compensation.enable-in  <= qtdragon.comp-on
net eoffset-zlevel-count    z_level_compensation.counts     => qtdragon.eoffset-zlevel-count

net eoffset-spindle-count   scaled-s32-sums.0.in0
net eoffset-zlevel-count    scaled-s32-sums.0.in1
setp scaled-s32-sums.0.scale0 1000
net eoffset-counts          scaled-s32-sums.0.out-s

    #loadrt scale names=spindle_amp_scale
    #addf scale.1 servo-thread
    #setp scale.1.gain 9.6 # PWM per RPM, calculated over full scale. Example: 0-100 PWM, 12000 rpm: (100/12000)  = 0.008333
    #net spindle-amp-in spindle.0.speed-out => scale.1.in
    net spindle-amp-scaled scale.1.out => qtdragon.spindle-amps
    setp qtdragon.spindle-volts 48

What I am missing? 

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

More
06 Aug 2024 14:29 - 06 Aug 2024 14:32 #307090 by Aciera
If things work with the 3d probe but not with other tools then there is likely a problem with your tool table.

What tool z offset have you set your 3 probe to?

May be you can show us your tool table?

[edit]
Also I notice that you use external offsets for the z axis, are those deactivated when you test things?
Last edit: 06 Aug 2024 14:32 by Aciera.

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

More
06 Aug 2024 19:09 #307117 by amanker
I can see tool table is good. I changes on g43 g-code. And also adjusts g54 offsets. But there is no change in machine coordinates.
So do I have change xyzac-trt-kins.z-rot-point pin value to according to tool I am using, everytime I change tool. But I think that should not be the case.
"I notice that work coordinate changes according to tool.
But kinamatics is taking machine coordinates so there is problem in RTCP on every tool change.

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

More
07 Aug 2024 06:29 #307145 by Aciera
The kinematic compensates for tool length.

Are you sure you have connected the required pins:
HALCMD = net  :tool-offset  motion.tooloffset.z
HALCMD = net  :tool-offset  xyzac-trt-kins.tool-offset 

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

More
07 Aug 2024 14:54 #307183 by amanker
Thanks for pointing out. Yes I have not set these.

Just Added these in ini file. And it worked.
Thanks a lot. I was struggling for this for so long.

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

Time to create page: 0.066 seconds
Powered by Kunena Forum