double pid loop ?
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
28 Jul 2016 03:46 #78090
by Todd Zuercher
Replied by Todd Zuercher on topic double pid loop ?
You might be able to improve the following error spikes at the acceleration changes by adding a very small amount of FF2.
Please Log in or Create an account to join the conversation.
28 Jul 2016 06:20 - 28 Jul 2016 06:37 #78091
by vre
Replied by vre on topic double pid loop ?
No help from FF2 i have tried.
But i get better ferror (less spikes) if i reduce the acceleration.
I will try and another servo from the same manufacturer 600w with has lower inertia.
Why STEPGEN_MAXVEL / STEPGEN_MAXACCEL must be 25% larger than MAX_VELOCITY / MAX_ACCELERATION ?
If apply this rule i can have rough max 2500rpm in servo not 3000rpm witch is named.
But i get better ferror (less spikes) if i reduce the acceleration.
I will try and another servo from the same manufacturer 600w with has lower inertia.
Why STEPGEN_MAXVEL / STEPGEN_MAXACCEL must be 25% larger than MAX_VELOCITY / MAX_ACCELERATION ?
If apply this rule i can have rough max 2500rpm in servo not 3000rpm witch is named.
MAX_VELOCITY
MAX_ACCELERATION
# 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
STEPGEN_MAXACCEL
Last edit: 28 Jul 2016 06:37 by vre.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
28 Jul 2016 12:55 #78097
by Todd Zuercher
Replied by Todd Zuercher on topic double pid loop ?
Just curious, what numbers did you try for FF2? And what were the results? FF2 is very sensitive and it usually need to be less than 0.001 (and that is on an inch machine, might be a lot less for metric).
Actually your following error is a little better than I have on my wood router, but you have about 15x higher encoder scale. So you should be able to do about that much better.
If the drive has any kind of Jerk limiting features, you may need to reduce or turn them off.
Actually your following error is a little better than I have on my wood router, but you have about 15x higher encoder scale. So you should be able to do about that much better.
If the drive has any kind of Jerk limiting features, you may need to reduce or turn them off.
Please Log in or Create an account to join the conversation.
28 Jul 2016 15:54 - 28 Jul 2016 15:55 #78098
by PCW
Replied by PCW on topic double pid loop ?
The hardware acceleration and velocity limits must be greater than the trajectory planners limits
for this reason:
Assume the trajectory planner is doing a full speed or full acceleration move, if the hardware limits
matched the trajectory planner limits there is no way the control loop could catch up if it gets behind for
any reason (dir setup or hold delay times, mismatched clocks between software and hardware,
finite time after reading position that velocity is written etc etc)
This is the same for any servo system: the control loop always needs some overhead room to work in.
As soon as you hit the limits you no longer have a linear feedback system and control falls apart
for this reason:
Assume the trajectory planner is doing a full speed or full acceleration move, if the hardware limits
matched the trajectory planner limits there is no way the control loop could catch up if it gets behind for
any reason (dir setup or hold delay times, mismatched clocks between software and hardware,
finite time after reading position that velocity is written etc etc)
This is the same for any servo system: the control loop always needs some overhead room to work in.
As soon as you hit the limits you no longer have a linear feedback system and control falls apart
Last edit: 28 Jul 2016 15:55 by PCW.
Please Log in or Create an account to join the conversation.
01 Aug 2016 19:04 #78248
by vre
Replied by vre on topic double pid loop ?
I got a 7i33 and tried speed mode with similar results.
In speed mode how can i set MAX_VELOCITY ? Must be 75% of motor max velocity or can be 100% ?
In speed mode how can i set MAX_VELOCITY ? Must be 75% of motor max velocity or can be 100% ?
Please Log in or Create an account to join the conversation.
Time to create page: 0.138 seconds