Index Homing odd offset
- OT-CNC
- Offline
- Platinum Member
- Posts: 622
- Thank you received: 75
In closed loop, if I don't power up the drives and I jog an axis I would expect an immediate joint following error since no encoder info is being received. I don't get an error. Why? Open loop?
Also, I have a short video of the homing signals. I'll see if I can attach.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23178
- Thank you received: 4860
So I'm currently in closed loop?
In closed loop, if I don't power up the drives and I jog an axis I would expect an immediate joint following error since no encoder info is being received. I don't get an error. Why? Open loop?
Also, I have a short video of the homing signals. I'll see if I can attach.
As PCW noticed and I didn't, a pid.N.maxoutput of zero means that there is no limit applied. I have lost track of what your hardware is, ef you ever said, but it is possible that you don't want to have no limit on the PID.
LinuxCNC does not track following error when the machine is not enabled. So the answer to your question rather depends on how you are turning off the drives.
Please Log in or Create an account to join the conversation.
- OT-CNC
- Offline
- Platinum Member
- Posts: 622
- Thank you received: 75
I would cycle software estop (x) and the enable button next on the upper left corner of the axis gui. The enable signal and estop is tied into contactors for the drives. The contactors are manually switched for now.
Please Log in or Create an account to join the conversation.
- OT-CNC
- Offline
- Platinum Member
- Posts: 622
- Thank you received: 75
I have lost track of what your hardware is, ef you ever said, but it is possible that you don't want to have no limit on the PID.
I don't know
Is the limit to prevent any outputs greater than the max speed on the axis? the previous value (1.25) reflects the point where I was getting joint following error if i tried to go beyond 75 ipm.
Should I set it to 5 ? (300ipm)
Hardware is DMM servo drives running in step/dir mode with encoder feedback for hybrid closed loop.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23178
- Thank you received: 4860
I don't know
Is the limit to prevent any outputs greater than the max speed on the axis? the previous value (1.25) reflects the point where I was getting joint following error if i tried to go beyond 75 ipm. .
The limit is just a number, what it means is different from config to config. On my milling machine the PID output maps directly to a motor current, I limit it to stop the motors overheating.
In your case you probably want to set it fractionally higher than the max velocity. This is to prevent the I-term of the PID "winding up" which is a problem that will tend to lead to overshooots when the machine slows down after a rapid. en.wikipedia.org/wiki/Integral_windup
Please Log in or Create an account to join the conversation.
- OT-CNC
- Offline
- Platinum Member
- Posts: 622
- Thank you received: 75
The index is in red.
Please Log in or Create an account to join the conversation.
- OT-CNC
- Offline
- Platinum Member
- Posts: 622
- Thank you received: 75
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
- Posts: 17982
- Thank you received: 4834
if:
1. The jog is > than the following error setting
2. The HAL file is "wired" properly for closed loop
open loop needs this:
net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
closed loop needs this:
net x-pos-fb <= hm2_5i25.0.encoder.00.position
both open and closed need this:
net x-pos-fb => axis.0.motor-pos-fb
Please Log in or Create an account to join the conversation.
- OT-CNC
- Offline
- Platinum Member
- Posts: 622
- Thank you received: 75
I would expect a following error in a closed loop situation if you disable the drives and jog
if:
1. The jog is > than the following error setting
2. The HAL file is "wired" properly for closed loop
open loop needs this:
net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
closed loop needs this:
net x-pos-fb <= hm2_5i25.0.encoder.00.position
both open and closed need this:
net x-pos-fb => axis.0.motor-pos-fb
I know some things got # out as it didn't load as initially configured by pncconfig.
If I change the # below, it will not load.
net x-pos-cmd <= axis.0.motor-pos-cmd
net x-vel-cmd <= axis.0.joint-vel-cmd
net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
#net x-pos-fb => axis.0.motor-pos-fb
net x-enable <= axis.0.amp-enable-out
net x-enable => hm2_5i25.0.stepgen.00.enable
Changing to this:
net x-pos-cmd <= axis.0.motor-pos-cmd
net x-vel-cmd <= axis.0.joint-vel-cmd
net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd
#net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
net x-pos-fb <= hm2_5i25.0.encoder.00.position
net x-pos-fb => axis.0.motor-pos-fb
net x-enable <= axis.0.amp-enable-out
net x-enable => hm2_5i25.0.stepgen.00.enable
Does that look correct?
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
- Posts: 17982
- Thank you received: 4834
if you have closed loop working and of course the homing options are set properly
Note that you should not expect to see the index signal as it is typically too short to be
seen reliably by the servo loops 1 KHz sample interval. You can see the index enable is set
by linuxcnc and then cleared by the physical index signal which is correct
Please Log in or Create an account to join the conversation.