Tuning Velocity Loop
- Todd Zuercher
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
31 Oct 2014 20:16 #52619
by Todd Zuercher
Tuning Velocity Loop was created 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)
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)
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
31 Oct 2014 21:07 #52621
by Todd Zuercher
Replied by Todd Zuercher on topic Tuning Velocity Loop
Please Log in or Create an account to join the conversation.
Time to create page: 0.150 seconds