double pid loop ?

More
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.

More
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.
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.

More
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.

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

More
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
Last edit: 28 Jul 2016 15:55 by PCW.

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

More
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% ?

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

Moderators: PCWjmelson
Time to create page: 0.134 seconds
Powered by Kunena Forum