Servo tuning issues (Velocity mode driven from 7i77)

More
7 years 6 months ago #131347 by fungus
Hmm. I still have nothing under commanded velocity in halscope. I'm using the <axis>-output signal to trigger off of currently.

I have significant oscillation if I set kP high enough to tightly control the axis, the same way I would usually expect to see before I increase kD. Is this an indication that I should revisit the velocity controller's tuning?

After scaling as mentioned above, I ended up with the following as a rough tune:
kP: 32
kI: 0
kD: 4
FF0: 0
FF1: 0.27
FF2: 0.065

A FF1=1 was WAY too high and caused massive overshoot.
I'll probably start from scratch and re-tune just to see if I can make it better, but this is huge progress. Thank you Peter for your help!

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

More
7 years 6 months ago #131349 by PCW
Sounds like your drives are not really running in velocity mode
(D should never really be needed for velocity mode drives)

Do the drives resist any attempt to turn them when the analog velocity command is 0?

They should be very stiff if truly in velocity mode (though may drift slowly)

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

More
7 years 6 months ago #131356 by tommylight
That sure looks like your encoder_scale is set 4 times lower, FF1=0.27 ! Try 0.25. :)

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

More
7 years 6 months ago #131437 by fungus
PCW, these DYN4 drives have 3 modes: Position, Speed and Torque. I currently have "speed" selected. They "assert the shaft" when tuned, keeping a solid grip. I actually notice no drift as well. They bury many of the parameters, so it is entirely likely that they are not true "Velocity" drives, but rather some kind of hybrid. One thing I noticed while in the manual this time is that they list the "Speed Control Range" as 0:5000, so at 10V I'll get 5000RPM rather than 3000RPM. I'll need to revisit the output scaling due to this. It is likely part of the reason why the FF1 is so low.

Tommylight, if my encoder_scale was set incorrectly, wouldn't I get the wrong output for a commanded distance? For example, right now if I command 1", I get 1". If it was set 4x too low, for a 1" command, wouldn't I expect to get 0.25" of axis motion?

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

More
7 years 6 months ago #131444 by tommylight

fungus wrote: Tommylight, if my encoder_scale was set incorrectly, wouldn't I get the wrong output for a commanded distance? For example, right now if I command 1", I get 1". If it was set 4x too low, for a 1" command, wouldn't I expect to get 0.25" of axis motion?

Yup that is correct. Just wanted to be sure. Thank you.

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

More
7 years 6 months ago #132143 by fungus
No sir, thank you :)

Something occurred to me this week; the DMMDRV configuration software only allows you to tune the drive while it is in "positioning" mode. It may be that the drive is capable of true "velocity" mode, but is tuned in a funky way. I'm going to dig back into the drive's settings and maybe try to use LinuxCNC to drive it during the tuning process.

My f-error plot is not symmetrical in the over/undershoot plots as I'm tinkering with FF1 & FF2. A lot of my issues smell like a velocity loop problem.

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

Time to create page: 0.498 seconds
Powered by Kunena Forum