Current turning capabilities status
Most hardware now arrived.
We were able to move the large AC motors in both X and Z axis - that was quite a long work - and we started to work on the A axis for the tool change. We can also use the hydraulic pump to clamp and unclamp the turret. Also most limit switches are working.
Max speed is conservative as the servo drives are underrated to the servos, but we can still use the lathe at 6 m/min (236 inches/min).
We must now figure out to home the axis using the index, but we will use the available documentation.
Thank you all that helped reaching here.
Please Log in or Create an account to join the conversation.
HOME_USE_INDEX = NO - If the encoder used for this axis has an index pulse, and the motion card has provision for this signal you may set it to yes. When it is yes, it will affect the kind of home pattern used.
www.linuxcnc.org/docs/html/config/ini_co...d_sub_axis_section_a
www.linuxcnc.org/docs/html/config/ini_homing.html
JT
Please Log in or Create an account to join the conversation.
www.linuxcnc.org/docs/html/config/ini_co...d_sub_axis_section_aHOME_USE_INDEX = NO - If the encoder used for this axis has an index pulse, and the motion card has provision for this signal you may set it to yes. When it is yes, it will affect the kind of home pattern used.
www.linuxcnc.org/docs/html/config/ini_homing.htmlT
I got a bit confused by index-homing on my milling machine.
The behaviour was that after the initial search move the Z was moving up to index, then a rapid back down onto the limit switch, and tripping an error.
I set the home offset to 0 and that worked a lot better. I suspect that you always want the HOME_OFFSET to be zero if you are index homing and the latch is in the opposite direction to search. (and having search and latch in the same direction when homing to index doesn't really seem to make mush sense)
Please Log in or Create an account to join the conversation.
I got a bit confused by index-homing on my milling machine.
The behavior was that after the initial search move the Z was moving up to index, then a rapid back down onto the limit switch, and tripping an error.
I set the home offset to 0 and that worked a lot better. I suspect that you always want the HOME_OFFSET to be zero if you are index homing and the latch is in the opposite direction to search. (and having search and latch in the same direction when homing to index doesn't really seem to make much sense)
I have latch and search in the same direction on my Hardinge with no ill effects. Home offset is 0 and home use index is yes.
JT
Please Log in or Create an account to join the conversation.
the tool change component is almost done, but I have a problem. sometimes when I start linuxcnc the a-pos-feedback starts with the value of -89.9 and the turret goes 1/4 turn. what can cause this problem? this value is an input on the toolchange component so I suppose that is nothing on the programming side. this is the code how it is connected:
#*******************
# AXIS A
#*******************
setp pid.a.Pgain [AXIS_3]P
setp pid.a.Igain [AXIS_3]I
setp pid.a.Dgain [AXIS_3]D
setp pid.a.bias [AXIS_3]BIAS
setp pid.a.FF0 [AXIS_3]FF0
setp pid.a.FF1 [AXIS_3]FF1
setp pid.a.FF2 [AXIS_3]FF2
setp pid.a.deadband [AXIS_3]DEADBAND
setp pid.a.maxoutput [AXIS_3]MAX_OUTPUT
net a-index-enable <=> pid.a.index-enable
net x-enable => pid.a.enable
net a-output => pid.a.output
net a-vel-fb => pid.a.command-deriv
net a-pos-fb => pid.a.feedback
# ---PWM Generator signals/setup---
setp hm2_5i20.0.pwmgen.00.output-type 3
setp hm2_5i20.0.pwmgen.00.scale [AXIS_3]OUTPUT_SCALE
net a-output => hm2_5i20.0.pwmgen.00.value
#net a-pos-cmd axis.1.motor-pos-cmd
setp hm2_5i20.0.pwmgen.00.enable true
# ---Encoder feedback signals/setup---
setp hm2_5i20.0.encoder.00.counter-mode 0
setp hm2_5i20.0.encoder.00.filter 1
setp hm2_5i20.0.encoder.00.index-invert 0
setp hm2_5i20.0.encoder.00.index-mask 0
setp hm2_5i20.0.encoder.00.index-mask-invert 0
setp hm2_5i20.0.encoder.00.scale [AXIS_3]ENCODER_SCALE
net a-pos-fb <= hm2_5i20.0.encoder.00.position
net a-vel-fb <= hm2_5i20.0.encoder.00.velocity
########net a-pos-fb => axis.1.motor-pos-fb
########net a-index-enable axis.1.index-enable <=> hm2_5i20.0.encoder.00.index-enable
net a-pos-rawcounts <= hm2_5i20.0.encoder.00.rawcounts
##################################################################################################
##################################################################################################
##################### TOOL CHANGE ###########################
loadrt tc
addf tc servo-thread
net tool-change iocontrol.0.tool-change => tc.toolchange
net tool-changed iocontrol.0.tool-changed <= tc.toolchanged
net tool-number iocontrol.0.tool-prep-number => tc.toolnumber
#net tool-oldnumber iocontrol.0.tool-number => tc.currenttoolnumber
net a-pos-fb => tc.position-fb
net a-pos-cmd tc.position-cmd => pid.a.command
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net ToolSensor1 hm2_5i20.0.gpio.033.in => tc.sensor1
net ToolSensor2 hm2_5i20.0.gpio.035.in => tc.sensor2
net ToolSensor3 hm2_5i20.0.gpio.037.in => tc.sensor3
net ToolSensor4 hm2_5i20.0.gpio.039.in => tc.sensor4
############################################################
other problem that I have is that I cant reduce the speed of the A axis. I tried change parameters on the ini file but has no effect on the speed.
#********************
# Axis A
#********************
[AXIS_3]
TYPE = angular
HOME = 0.0
FERROR = 30
MIN_FERROR = 30
#MAX_VELOCITY = 104.167
MAX_VELOCITY =0
#MAX_ACCELERATION = 1562.5
MAX_ACCELERATION =0
P = 1
I = 0
D = 0.0
FF0 = 0.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 10.0
ENCODER_SCALE = 728.177777778
OUTPUT_SCALE = 10.0
MIN_LIMIT = -1500
MAX_LIMIT = 300
HOME_OFFSET = 0.0
velocity and acceleration are 0, but it don't change the speed.
tnks,
João
Please Log in or Create an account to join the conversation.
There do seem to be cases where the initial encoder count is not cleared prior to homing the axis
I would try removing this (unused) line:
net a-pos-rawcounts <= hm2_5i20.0.encoder.00.rawcounts
to see if the problems is resolved
Please Log in or Create an account to join the conversation.
Does the -89.9 degree initial offset happen with initial linuxcnc launch or when switching machine-off/machine-on?
There do seem to be cases where the initial encoder count is not cleared prior to homing the axis
I would try removing this (unused) line:
net a-pos-rawcounts <= hm2_5i20.0.encoder.00.rawcounts
to see if the problems is resolved
It happens when launch linuxcnc. I did what you told it looks fine now. initial value is 0 like it should to be.
now only have the velocity problem on the A axis. I don't have any idea how to resolve this.
tnks
João
Please Log in or Create an account to join the conversation.
now only have the velocity problem on the A axis. I don't have any idea how to resolve this.
The axis velocity settings are used by the motion planner for G-code moves etc. What you are calling an A-axis isn't really an Axis at all, it is a separate motor controlled by your toolchanger component.
The A-position commands come direct from the tc component. You either need to add some rate-limiting inside the component or pass the output of the component through the limit3 HAL component:
www.linuxcnc.org/docs/html/man/man9/limit3.9.html
Please Log in or Create an account to join the conversation.
So, the current status of the machine is: we have almost the hardware needed to complete the machine and at this point we have to start testing seriously linuxcnc capabilities.
for now there are 2 problems. in the axis gui, the plans is to invert the X axis, not inverted by geometry (already make this in Z axis), but on the screen itself. now the X axis is below then the centrer line(Z axis), but we want that in the upper part, just above Z axis.
the second problem, for example, we have a holder that use more than one tip, like this:
is this possible? how can it be defined in the tool table? can have more that one tip per pocket?
Tnks,
João
Please Log in or Create an account to join the conversation.
In this thread: www.linuxcnc.org/emc2/index.php/english/...tools?start=10#24959 it was discovered that using coordinate-system rotation works well.for now there are 2 problems. in the axis gui, the plans is to invert the X axis, not inverted by geometry (already make this in Z axis), but on the screen itself. now the X axis is below then the centrer line(Z axis), but we want that in the upper part, just above Z axis.
Unfortunately not. Which is rather irritating. The next version of the tool table will support this. (If my changes are accepted). But this is likely to take quite a long time.can have more that one tip per pocket?
A workaround may be to configure your toolchanger in such a way that pockets (or tools) 001, 101, 201, 301 etc are all interpreted as being in the same place on the tool carousel.
I have a feeling that, contrary to what the docs say, the "Pocket number" in the current tool table can not be > 56. However I _think_ that it is possible to configure a tool-changer to act on the value on the tool-number request rather than the pocket number request.
Please Log in or Create an account to join the conversation.