[SOLVED] Rotary axis homin on index not working

More
21 May 2023 16:36 #271849 by PCW

So far I have not found a solution for the homing offset issue I'm having with the encoder feedback.

So you are saying you made the change so that feedback on the rotary axis is coming from the encoder
and not the stepgen and you still have an issue?

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

More
21 May 2023 18:35 #271860 by Aciera
Yes, the problem with encoder feedback is that after homing the DRO (absolute and relative ) position is not zero but a value proportional to the homing-latch-velocity. Somewhere around 1.0 for a really slow latch-velocity.
I'll recheck that tomorrow and will post the current state of affairs.

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

More
21 May 2023 18:39 #271864 by PCW
Sounds like you are not actually using encoder feedback as the encoder position
is zeroed at index

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

More
22 May 2023 08:57 - 22 May 2023 09:07 #271908 by Aciera
So, i tried with changing the pid values in the ini but the offset is unaffected. The offset value increases proportionally with the homing latch velocity. What I did notice is that the encoder position does not seem to reset to zero:

 

ini-section:
Warning: Spoiler!


Hal-section
Warning: Spoiler!


Thanks for the help.
Attachments:
Last edit: 22 May 2023 09:07 by Aciera.

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

More
22 May 2023 09:20 - 22 May 2023 09:40 #271914 by Aciera
Just to be clear, this offset does stay. If I do a G53 G0 A0 it does not go to zero. If I set the work offset to the current position the value does also not go to zero. All positional values for the rotary axis are offset by this amount. In the above example if I do G0 A100 it (the DRO) goes to 101.510.
I can see slight changes in the DRO value when I apply torque to the motor shaft, so it is indeed the encoder value.

[edit]
Another observation: Even with conservative following error setting like
FERROR = 10
MIN_FERROR = 1

I get a following error during homing as soon as the index signal is detected. Not sure if that may have something to do with this.
Last edit: 22 May 2023 09:40 by Aciera.

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

More
22 May 2023 11:54 #271925 by Aciera
Turns out that the PID settings in the ini were the key to the solution.
Following error must be minimized properly using the pid settings in linuxcnc for homing to work correctly.
Seems obvious now. Thanks for all the support!

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

More
22 May 2023 18:03 - 22 May 2023 18:57 #271954 by Aciera
A little update on this matter.
Just as a recap: The optimal P value in the ini would be 1 since we already have a pid in the servo controller that should bring the motor position to the commanded position set by the stepgen.
However, it seems that with a P value of 1 in the joint PID the overshoot of the stepgen count in the index homing process never gets corrected and just stays in the DRO. That is why the offset gets propotionally larger with higher homing latch speed. Hence a sufficiently larges P value is required to eliminate the offset. ie the larger the P value the faster the stepgen and the motor are brought back to the index position (ie encoder zero).

[edit]
Problem is that, after homing is complete this P value leads to overshoots in the position commands.
Just tried setting the p value to 1 after homing and that did not bring the solution to my following error. Not sure as to what to do here but I've got a f-error of 15 when the motor is jogging or en route to a commanded position. Controller - Servo are auto-tuned for a rigid machine. Manual tuning seems a daunting task ... 
Last edit: 22 May 2023 18:57 by Aciera.

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

Time to create page: 0.458 seconds
Powered by Kunena Forum