Tuning Velocity Loop

More
31 Oct 2014 20:16 #52619 by Todd Zuercher
I am trying to set up a dual loop PID for controlling some torque mode servos, using a Mesa 5i25 and 7i77.

I've set up a floating point base at 200000us (5kHz) and a normal 1kHz servo thread. I put the read/write for the Mesa stuff, and the velocity loop PID in the base thread, every thing else is in the servo thread.

Just for a little basic testing and tuning I coonected the axis.joint.0.vel-cmd directly to the velocity loop command input. and this is what I achieved.



I probably should connect a siggen signal to get a good proper tune, but I haven't the time to set that up right now.

My real questions are, since I am new to this. How good should I be able to get this to look? How good is good enough? How large and fast of an input signal should I use for testing with siggen?

I am surprised at how different the results have been from using only a single position loop on the same system (using only a 425000 servo thread). I no longer am getting real time delay errors as well using this faster base thread. (plus the velocity loop is running more than twice as fast, but maybe with more jitter??? I should probably check that)

If I ever get the time to finish tuning this. I want to document it as a bit of a tutorial for tuning torque mode servos in LinuxCNC. (something that I've found little info on)
Attachments:

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

More
31 Oct 2014 21:07 #52621 by Todd Zuercher
Replied by Todd Zuercher on topic Tuning Velocity Loop
I was able to improve it (FF1 was way to high maybe I shouldn't have it at all)


Attachments:

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

Time to create page: 0.150 seconds
Powered by Kunena Forum