Following error - Rotary Axis
- tommylight
-
- Away
- Moderator
-
Less
More
- Posts: 20450
- Thank you received: 6964
12 May 2022 23:25 #242826
by tommylight
Replied by tommylight on topic Following error - Rotary Axis
Please Log in or Create an account to join the conversation.
- vre
- Away
- Platinum Member
-
Less
More
- Posts: 660
- Thank you received: 19
27 Jan 2025 07:57 #319934
by vre
Replied by vre on topic Following error - Rotary Axis
Why STEPGEN_MAXACCEL not allowed to be more than 1500?
Please Log in or Create an account to join the conversation.
- Aciera
-
- Offline
- Administrator
-
Less
More
- Posts: 4434
- Thank you received: 1976
27 Jan 2025 09:44 #319939
by Aciera
Can you give some context as to why you think STEPGEN_MAXACCEL cannot be more than 1500?
Replied by Aciera on topic Following error - Rotary Axis
Why STEPGEN_MAXACCEL not allowed to be more than 1500?
Can you give some context as to why you think STEPGEN_MAXACCEL cannot be more than 1500?
Please Log in or Create an account to join the conversation.
- vre
- Away
- Platinum Member
-
Less
More
- Posts: 660
- Thank you received: 19
29 Jan 2025 10:41 #320066
by vre
Replied by vre on topic Following error - Rotary Axis
With this config for rotary axis everything more than 30000 for max acceleration and 37500 for stepgen max acceleration gives following error.
Configuration is done by pncconf stepgen A rotary axis
Servo motor driver for 1 turn needs 2500x4=10000 pulses
and has 2500rpm limit
Configuration is done by pncconf stepgen A rotary axis
Servo motor driver for 1 turn needs 2500x4=10000 pulses
and has 2500rpm limit
[AXIS_A]
MAX_VELOCITY = 12000.0
MAX_ACCELERATION = 30000.0
MIN_LIMIT = -9999.9
MAX_LIMIT = 9999.9
[JOINT_3]
TYPE = ANGULAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 12000.0
MAX_ACCELERATION = 30000.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 15000.00
STEPGEN_MAXACCEL = 37500.00
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 27.7778
MIN_LIMIT = -9999.9
MAX_LIMIT = 9999.9
HOME_OFFSET = 0.0
HOME_SEQUENCE = 4
#******************************************
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18888
- Thank you received: 5213
29 Jan 2025 12:40 #320077
by PCW
Replied by PCW on topic Following error - Rotary Axis
Plotting the following error vs joint velocity in halscope may give a clue.
Do you have the DPLL enabled?
Have you tried a longer DPLL setting (say -100 instead of pncconfs default -50)
(following errors due to host jitter will show up mainly during acceleration)
Do you have the DPLL enabled?
Have you tried a longer DPLL setting (say -100 instead of pncconfs default -50)
(following errors due to host jitter will show up mainly during acceleration)
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18888
- Thank you received: 5213
29 Jan 2025 20:04 #320109
by PCW
Replied by PCW on topic Following error - Rotary Axis
I played around a bit with this and learned that with such
extreme acceleration, the stepgen PID loop must be tuned
(with added FF2 and I term)
_BUT_ I wonder why you need such high acceleration.
30000 degrees/S^2 means you get to full speed (10000 degrees/sec)
= 1666.7 RPM in 1/3 of a second!
extreme acceleration, the stepgen PID loop must be tuned
(with added FF2 and I term)
_BUT_ I wonder why you need such high acceleration.
30000 degrees/S^2 means you get to full speed (10000 degrees/sec)
= 1666.7 RPM in 1/3 of a second!
Please Log in or Create an account to join the conversation.
- vre
- Away
- Platinum Member
-
Less
More
- Posts: 660
- Thank you received: 19
30 Jan 2025 14:17 - 30 Jan 2025 14:21 #320150
by vre
Replied by vre on topic Following error - Rotary Axis
testing servo motor... with 30000 is good acceleration
but i feel that can go 3 times faster mechanically (has low inertia).
I have got a 7i48 if drive it with analog -10+10V can go faster ?
How much FF2 & I needs for 60000 ?
What is better in general for driving servo that supports step-dir analog speed and analog torque ?
but i feel that can go 3 times faster mechanically (has low inertia).
I have got a 7i48 if drive it with analog -10+10V can go faster ?
How much FF2 & I needs for 60000 ?
What is better in general for driving servo that supports step-dir analog speed and analog torque ?
Last edit: 30 Jan 2025 14:21 by vre.
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18888
- Thank you received: 5213
30 Jan 2025 16:14 - 30 Jan 2025 16:45 #320155
by PCW
Replied by PCW on topic Following error - Rotary Axis
Is the axis actually driving a chuck?
Analog will not change anything.
Why do you require such extreme acceleration?
It will lead to inaccuracies when cutting.
This is multiple Gs of acceleration at any significant
part radius (if this really is a normal rotary axis)
If you want to tune the axis, you need to setup halscope
with commanded joint velocity and following error, then tune
FF2 and I (FF2 will be in the 0.0002 region) Too little FF2
will cause a positive following error for acceleration in the
positive direction. Too high FF2 will cause a negative error
for acceleration in the positive direction.
'I' probably in the 50000 to 100000 region.
You will likely need to increase the following error limits
for tuning.
Here is a tuned A axis with 40000 degrees/S^2 accel and
10000 degrees/S velocity:
Note that the peak errors are about 1/10 of a step.
Analog will not change anything.
Why do you require such extreme acceleration?
It will lead to inaccuracies when cutting.
This is multiple Gs of acceleration at any significant
part radius (if this really is a normal rotary axis)
If you want to tune the axis, you need to setup halscope
with commanded joint velocity and following error, then tune
FF2 and I (FF2 will be in the 0.0002 region) Too little FF2
will cause a positive following error for acceleration in the
positive direction. Too high FF2 will cause a negative error
for acceleration in the positive direction.
'I' probably in the 50000 to 100000 region.
You will likely need to increase the following error limits
for tuning.
Here is a tuned A axis with 40000 degrees/S^2 accel and
10000 degrees/S velocity:
Note that the peak errors are about 1/10 of a step.
Attachments:
Last edit: 30 Jan 2025 16:45 by PCW.
The following user(s) said Thank You: vre
Please Log in or Create an account to join the conversation.
Time to create page: 0.079 seconds